react-markdown-table-ts 0.4.15 → 0.4.16

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/index.esm.js CHANGED
@@ -1,62 +1,5 @@
1
1
  import * as React from 'react';
2
- import React__default, { forwardRef, useContext, useRef, useMemo, useEffect } from 'react';
3
-
4
- /******************************************************************************
5
- Copyright (c) Microsoft Corporation.
6
-
7
- Permission to use, copy, modify, and/or distribute this software for any
8
- purpose with or without fee is hereby granted.
9
-
10
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
11
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
13
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16
- PERFORMANCE OF THIS SOFTWARE.
17
- ***************************************************************************** */
18
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
19
-
20
- var extendStatics = function(d, b) {
21
- extendStatics = Object.setPrototypeOf ||
22
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
23
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
24
- return extendStatics(d, b);
25
- };
26
-
27
- function __extends(d, b) {
28
- if (typeof b !== "function" && b !== null)
29
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
30
- extendStatics(d, b);
31
- function __() { this.constructor = d; }
32
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33
- }
34
-
35
- var __assign = function() {
36
- __assign = Object.assign || function __assign(t) {
37
- for (var s, i = 1, n = arguments.length; i < n; i++) {
38
- s = arguments[i];
39
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
40
- }
41
- return t;
42
- };
43
- return __assign.apply(this, arguments);
44
- };
45
-
46
- function __spreadArray(to, from, pack) {
47
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
48
- if (ar || !(i in from)) {
49
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
50
- ar[i] = from[i];
51
- }
52
- }
53
- return to.concat(ar || Array.prototype.slice.call(from));
54
- }
55
-
56
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
57
- var e = new Error(message);
58
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
59
- };
2
+ import React__default, { forwardRef, useContext, Children, isValidElement, cloneElement, useRef, useMemo, useEffect } from 'react';
60
3
 
61
4
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
62
5
 
@@ -4061,6 +4004,52 @@ var Prism$1 = /*@__PURE__*/getDefaultExportFromCjs(prismExports);
4061
4004
 
4062
4005
  }());
4063
4006
 
4007
+ /******************************************************************************
4008
+ Copyright (c) Microsoft Corporation.
4009
+
4010
+ Permission to use, copy, modify, and/or distribute this software for any
4011
+ purpose with or without fee is hereby granted.
4012
+
4013
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
4014
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
4015
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
4016
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
4017
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
4018
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4019
+ PERFORMANCE OF THIS SOFTWARE.
4020
+ ***************************************************************************** */
4021
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
4022
+
4023
+ var extendStatics = function(d, b) {
4024
+ extendStatics = Object.setPrototypeOf ||
4025
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4026
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4027
+ return extendStatics(d, b);
4028
+ };
4029
+
4030
+ function __extends(d, b) {
4031
+ if (typeof b !== "function" && b !== null)
4032
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4033
+ extendStatics(d, b);
4034
+ function __() { this.constructor = d; }
4035
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4036
+ }
4037
+
4038
+ function __spreadArray(to, from, pack) {
4039
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4040
+ if (ar || !(i in from)) {
4041
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
4042
+ ar[i] = from[i];
4043
+ }
4044
+ }
4045
+ return to.concat(ar || Array.prototype.slice.call(from));
4046
+ }
4047
+
4048
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
4049
+ var e = new Error(message);
4050
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
4051
+ };
4052
+
4064
4053
  // src/validation.ts
4065
4054
  /**
4066
4055
  * Custom error class for handling Markdown table generation errors.
@@ -4244,6 +4233,15 @@ function generateAlphabetHeaders(columnCount) {
4244
4233
  return alphabetHeaders;
4245
4234
  }
4246
4235
 
4236
+ function chainPropTypes(propType1, propType2) {
4237
+ if (process.env.NODE_ENV === 'production') {
4238
+ return () => null;
4239
+ }
4240
+ return function validate(...args) {
4241
+ return propType1(...args) || propType2(...args);
4242
+ };
4243
+ }
4244
+
4247
4245
  // https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
4248
4246
  function isPlainObject(item) {
4249
4247
  if (typeof item !== 'object' || item === null) {
@@ -4289,9 +4287,9 @@ function deepmerge(target, source, options = {
4289
4287
 
4290
4288
  var propTypes = {exports: {}};
4291
4289
 
4292
- var reactIs$1 = {exports: {}};
4290
+ var reactIs$3 = {exports: {}};
4293
4291
 
4294
- var reactIs_production_min$1 = {};
4292
+ var reactIs_production_min$2 = {};
4295
4293
 
4296
4294
  /** @license React v16.13.1
4297
4295
  * react-is.production.min.js
@@ -4302,21 +4300,21 @@ var reactIs_production_min$1 = {};
4302
4300
  * LICENSE file in the root directory of this source tree.
4303
4301
  */
4304
4302
 
4305
- var hasRequiredReactIs_production_min$1;
4303
+ var hasRequiredReactIs_production_min$2;
4306
4304
 
4307
- function requireReactIs_production_min$1 () {
4308
- if (hasRequiredReactIs_production_min$1) return reactIs_production_min$1;
4309
- hasRequiredReactIs_production_min$1 = 1;
4305
+ function requireReactIs_production_min$2 () {
4306
+ if (hasRequiredReactIs_production_min$2) return reactIs_production_min$2;
4307
+ hasRequiredReactIs_production_min$2 = 1;
4310
4308
  var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
4311
4309
  Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
4312
- function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min$1.AsyncMode=l;reactIs_production_min$1.ConcurrentMode=m;reactIs_production_min$1.ContextConsumer=k;reactIs_production_min$1.ContextProvider=h;reactIs_production_min$1.Element=c;reactIs_production_min$1.ForwardRef=n;reactIs_production_min$1.Fragment=e;reactIs_production_min$1.Lazy=t;reactIs_production_min$1.Memo=r;reactIs_production_min$1.Portal=d;
4313
- reactIs_production_min$1.Profiler=g;reactIs_production_min$1.StrictMode=f;reactIs_production_min$1.Suspense=p;reactIs_production_min$1.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min$1.isConcurrentMode=A;reactIs_production_min$1.isContextConsumer=function(a){return z(a)===k};reactIs_production_min$1.isContextProvider=function(a){return z(a)===h};reactIs_production_min$1.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min$1.isForwardRef=function(a){return z(a)===n};reactIs_production_min$1.isFragment=function(a){return z(a)===e};reactIs_production_min$1.isLazy=function(a){return z(a)===t};
4314
- reactIs_production_min$1.isMemo=function(a){return z(a)===r};reactIs_production_min$1.isPortal=function(a){return z(a)===d};reactIs_production_min$1.isProfiler=function(a){return z(a)===g};reactIs_production_min$1.isStrictMode=function(a){return z(a)===f};reactIs_production_min$1.isSuspense=function(a){return z(a)===p};
4315
- reactIs_production_min$1.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min$1.typeOf=z;
4316
- return reactIs_production_min$1;
4310
+ function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min$2.AsyncMode=l;reactIs_production_min$2.ConcurrentMode=m;reactIs_production_min$2.ContextConsumer=k;reactIs_production_min$2.ContextProvider=h;reactIs_production_min$2.Element=c;reactIs_production_min$2.ForwardRef=n;reactIs_production_min$2.Fragment=e;reactIs_production_min$2.Lazy=t;reactIs_production_min$2.Memo=r;reactIs_production_min$2.Portal=d;
4311
+ reactIs_production_min$2.Profiler=g;reactIs_production_min$2.StrictMode=f;reactIs_production_min$2.Suspense=p;reactIs_production_min$2.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min$2.isConcurrentMode=A;reactIs_production_min$2.isContextConsumer=function(a){return z(a)===k};reactIs_production_min$2.isContextProvider=function(a){return z(a)===h};reactIs_production_min$2.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min$2.isForwardRef=function(a){return z(a)===n};reactIs_production_min$2.isFragment=function(a){return z(a)===e};reactIs_production_min$2.isLazy=function(a){return z(a)===t};
4312
+ reactIs_production_min$2.isMemo=function(a){return z(a)===r};reactIs_production_min$2.isPortal=function(a){return z(a)===d};reactIs_production_min$2.isProfiler=function(a){return z(a)===g};reactIs_production_min$2.isStrictMode=function(a){return z(a)===f};reactIs_production_min$2.isSuspense=function(a){return z(a)===p};
4313
+ reactIs_production_min$2.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min$2.typeOf=z;
4314
+ return reactIs_production_min$2;
4317
4315
  }
4318
4316
 
4319
- var reactIs_development$1 = {};
4317
+ var reactIs_development$2 = {};
4320
4318
 
4321
4319
  /** @license React v16.13.1
4322
4320
  * react-is.development.js
@@ -4327,11 +4325,11 @@ var reactIs_development$1 = {};
4327
4325
  * LICENSE file in the root directory of this source tree.
4328
4326
  */
4329
4327
 
4330
- var hasRequiredReactIs_development$1;
4328
+ var hasRequiredReactIs_development$2;
4331
4329
 
4332
- function requireReactIs_development$1 () {
4333
- if (hasRequiredReactIs_development$1) return reactIs_development$1;
4334
- hasRequiredReactIs_development$1 = 1;
4330
+ function requireReactIs_development$2 () {
4331
+ if (hasRequiredReactIs_development$2) return reactIs_development$2;
4332
+ hasRequiredReactIs_development$2 = 1;
4335
4333
 
4336
4334
 
4337
4335
 
@@ -4472,51 +4470,51 @@ function requireReactIs_development$1 () {
4472
4470
  return typeOf(object) === REACT_SUSPENSE_TYPE;
4473
4471
  }
4474
4472
 
4475
- reactIs_development$1.AsyncMode = AsyncMode;
4476
- reactIs_development$1.ConcurrentMode = ConcurrentMode;
4477
- reactIs_development$1.ContextConsumer = ContextConsumer;
4478
- reactIs_development$1.ContextProvider = ContextProvider;
4479
- reactIs_development$1.Element = Element;
4480
- reactIs_development$1.ForwardRef = ForwardRef;
4481
- reactIs_development$1.Fragment = Fragment;
4482
- reactIs_development$1.Lazy = Lazy;
4483
- reactIs_development$1.Memo = Memo;
4484
- reactIs_development$1.Portal = Portal;
4485
- reactIs_development$1.Profiler = Profiler;
4486
- reactIs_development$1.StrictMode = StrictMode;
4487
- reactIs_development$1.Suspense = Suspense;
4488
- reactIs_development$1.isAsyncMode = isAsyncMode;
4489
- reactIs_development$1.isConcurrentMode = isConcurrentMode;
4490
- reactIs_development$1.isContextConsumer = isContextConsumer;
4491
- reactIs_development$1.isContextProvider = isContextProvider;
4492
- reactIs_development$1.isElement = isElement;
4493
- reactIs_development$1.isForwardRef = isForwardRef;
4494
- reactIs_development$1.isFragment = isFragment;
4495
- reactIs_development$1.isLazy = isLazy;
4496
- reactIs_development$1.isMemo = isMemo;
4497
- reactIs_development$1.isPortal = isPortal;
4498
- reactIs_development$1.isProfiler = isProfiler;
4499
- reactIs_development$1.isStrictMode = isStrictMode;
4500
- reactIs_development$1.isSuspense = isSuspense;
4501
- reactIs_development$1.isValidElementType = isValidElementType;
4502
- reactIs_development$1.typeOf = typeOf;
4473
+ reactIs_development$2.AsyncMode = AsyncMode;
4474
+ reactIs_development$2.ConcurrentMode = ConcurrentMode;
4475
+ reactIs_development$2.ContextConsumer = ContextConsumer;
4476
+ reactIs_development$2.ContextProvider = ContextProvider;
4477
+ reactIs_development$2.Element = Element;
4478
+ reactIs_development$2.ForwardRef = ForwardRef;
4479
+ reactIs_development$2.Fragment = Fragment;
4480
+ reactIs_development$2.Lazy = Lazy;
4481
+ reactIs_development$2.Memo = Memo;
4482
+ reactIs_development$2.Portal = Portal;
4483
+ reactIs_development$2.Profiler = Profiler;
4484
+ reactIs_development$2.StrictMode = StrictMode;
4485
+ reactIs_development$2.Suspense = Suspense;
4486
+ reactIs_development$2.isAsyncMode = isAsyncMode;
4487
+ reactIs_development$2.isConcurrentMode = isConcurrentMode;
4488
+ reactIs_development$2.isContextConsumer = isContextConsumer;
4489
+ reactIs_development$2.isContextProvider = isContextProvider;
4490
+ reactIs_development$2.isElement = isElement;
4491
+ reactIs_development$2.isForwardRef = isForwardRef;
4492
+ reactIs_development$2.isFragment = isFragment;
4493
+ reactIs_development$2.isLazy = isLazy;
4494
+ reactIs_development$2.isMemo = isMemo;
4495
+ reactIs_development$2.isPortal = isPortal;
4496
+ reactIs_development$2.isProfiler = isProfiler;
4497
+ reactIs_development$2.isStrictMode = isStrictMode;
4498
+ reactIs_development$2.isSuspense = isSuspense;
4499
+ reactIs_development$2.isValidElementType = isValidElementType;
4500
+ reactIs_development$2.typeOf = typeOf;
4503
4501
  })();
4504
4502
  }
4505
- return reactIs_development$1;
4503
+ return reactIs_development$2;
4506
4504
  }
4507
4505
 
4508
4506
  var hasRequiredReactIs;
4509
4507
 
4510
4508
  function requireReactIs () {
4511
- if (hasRequiredReactIs) return reactIs$1.exports;
4509
+ if (hasRequiredReactIs) return reactIs$3.exports;
4512
4510
  hasRequiredReactIs = 1;
4513
4511
 
4514
4512
  if (process.env.NODE_ENV === 'production') {
4515
- reactIs$1.exports = requireReactIs_production_min$1();
4513
+ reactIs$3.exports = requireReactIs_production_min$2();
4516
4514
  } else {
4517
- reactIs$1.exports = requireReactIs_development$1();
4515
+ reactIs$3.exports = requireReactIs_development$2();
4518
4516
  }
4519
- return reactIs$1.exports;
4517
+ return reactIs$3.exports;
4520
4518
  }
4521
4519
 
4522
4520
  /*
@@ -5470,6 +5468,45 @@ if (process.env.NODE_ENV !== 'production') {
5470
5468
  var propTypesExports = propTypes.exports;
5471
5469
  var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
5472
5470
 
5471
+ function isClassComponent(elementType) {
5472
+ // elementType.prototype?.isReactComponent
5473
+ const {
5474
+ prototype = {}
5475
+ } = elementType;
5476
+ return Boolean(prototype.isReactComponent);
5477
+ }
5478
+ function elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {
5479
+ const propValue = props[propName];
5480
+ const safePropName = propFullName || propName;
5481
+ if (propValue == null ||
5482
+ // When server-side rendering React doesn't warn either.
5483
+ // This is not an accurate check for SSR.
5484
+ // This is only in place for emotion compat.
5485
+ // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
5486
+ typeof window === 'undefined') {
5487
+ return null;
5488
+ }
5489
+ let warningHint;
5490
+
5491
+ /**
5492
+ * Blacklisting instead of whitelisting
5493
+ *
5494
+ * Blacklisting will miss some components, such as React.Fragment. Those will at least
5495
+ * trigger a warning in React.
5496
+ * We can't whitelist because there is no safe way to detect React.forwardRef
5497
+ * or class components. "Safe" means there's no public API.
5498
+ *
5499
+ */
5500
+ if (typeof propValue === 'function' && !isClassComponent(propValue)) {
5501
+ warningHint = 'Did you accidentally provide a plain function component instead?';
5502
+ }
5503
+ if (warningHint !== undefined) {
5504
+ return new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');
5505
+ }
5506
+ return null;
5507
+ }
5508
+ var elementTypeAcceptingRef$1 = chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);
5509
+
5473
5510
  /**
5474
5511
  * WARNING: Don't import this directly. It's imported by the code generated by
5475
5512
  * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`
@@ -5486,9 +5523,9 @@ function formatMuiErrorMessage(code, ...args) {
5486
5523
  return `Minified MUI error #${code}; visit ${url} for the full message.`;
5487
5524
  }
5488
5525
 
5489
- var reactIs = {exports: {}};
5526
+ var reactIs$2 = {exports: {}};
5490
5527
 
5491
- var reactIs_production_min = {};
5528
+ var reactIs_production_min$1 = {};
5492
5529
 
5493
5530
  /**
5494
5531
  * @license React
@@ -5500,20 +5537,20 @@ var reactIs_production_min = {};
5500
5537
  * LICENSE file in the root directory of this source tree.
5501
5538
  */
5502
5539
 
5503
- var hasRequiredReactIs_production_min;
5540
+ var hasRequiredReactIs_production_min$1;
5504
5541
 
5505
- function requireReactIs_production_min () {
5506
- if (hasRequiredReactIs_production_min) return reactIs_production_min;
5507
- hasRequiredReactIs_production_min = 1;
5542
+ function requireReactIs_production_min$1 () {
5543
+ if (hasRequiredReactIs_production_min$1) return reactIs_production_min$1;
5544
+ hasRequiredReactIs_production_min$1 = 1;
5508
5545
  var b=Symbol.for("react.element"),c=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),e=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),g=Symbol.for("react.provider"),h=Symbol.for("react.context"),k=Symbol.for("react.server_context"),l=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),n=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),t=Symbol.for("react.offscreen"),u;u=Symbol.for("react.module.reference");
5509
- function v(a){if("object"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;
5510
- reactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return !1};reactIs_production_min.isConcurrentMode=function(){return !1};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};
5511
- reactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};
5512
- reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||"object"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};reactIs_production_min.typeOf=v;
5513
- return reactIs_production_min;
5546
+ function v(a){if("object"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min$1.ContextConsumer=h;reactIs_production_min$1.ContextProvider=g;reactIs_production_min$1.Element=b;reactIs_production_min$1.ForwardRef=l;reactIs_production_min$1.Fragment=d;reactIs_production_min$1.Lazy=q;reactIs_production_min$1.Memo=p;reactIs_production_min$1.Portal=c;reactIs_production_min$1.Profiler=f;reactIs_production_min$1.StrictMode=e;reactIs_production_min$1.Suspense=m;
5547
+ reactIs_production_min$1.SuspenseList=n;reactIs_production_min$1.isAsyncMode=function(){return !1};reactIs_production_min$1.isConcurrentMode=function(){return !1};reactIs_production_min$1.isContextConsumer=function(a){return v(a)===h};reactIs_production_min$1.isContextProvider=function(a){return v(a)===g};reactIs_production_min$1.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min$1.isForwardRef=function(a){return v(a)===l};reactIs_production_min$1.isFragment=function(a){return v(a)===d};reactIs_production_min$1.isLazy=function(a){return v(a)===q};reactIs_production_min$1.isMemo=function(a){return v(a)===p};
5548
+ reactIs_production_min$1.isPortal=function(a){return v(a)===c};reactIs_production_min$1.isProfiler=function(a){return v(a)===f};reactIs_production_min$1.isStrictMode=function(a){return v(a)===e};reactIs_production_min$1.isSuspense=function(a){return v(a)===m};reactIs_production_min$1.isSuspenseList=function(a){return v(a)===n};
5549
+ reactIs_production_min$1.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||"object"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};reactIs_production_min$1.typeOf=v;
5550
+ return reactIs_production_min$1;
5514
5551
  }
5515
5552
 
5516
- var reactIs_development = {};
5553
+ var reactIs_development$1 = {};
5517
5554
 
5518
5555
  /**
5519
5556
  * @license React
@@ -5525,11 +5562,11 @@ var reactIs_development = {};
5525
5562
  * LICENSE file in the root directory of this source tree.
5526
5563
  */
5527
5564
 
5528
- var hasRequiredReactIs_development;
5565
+ var hasRequiredReactIs_development$1;
5529
5566
 
5530
- function requireReactIs_development () {
5531
- if (hasRequiredReactIs_development) return reactIs_development;
5532
- hasRequiredReactIs_development = 1;
5567
+ function requireReactIs_development$1 () {
5568
+ if (hasRequiredReactIs_development$1) return reactIs_development$1;
5569
+ hasRequiredReactIs_development$1 = 1;
5533
5570
 
5534
5571
  if (process.env.NODE_ENV !== "production") {
5535
5572
  (function() {
@@ -5709,46 +5746,46 @@ function requireReactIs_development () {
5709
5746
  return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
5710
5747
  }
5711
5748
 
5712
- reactIs_development.ContextConsumer = ContextConsumer;
5713
- reactIs_development.ContextProvider = ContextProvider;
5714
- reactIs_development.Element = Element;
5715
- reactIs_development.ForwardRef = ForwardRef;
5716
- reactIs_development.Fragment = Fragment;
5717
- reactIs_development.Lazy = Lazy;
5718
- reactIs_development.Memo = Memo;
5719
- reactIs_development.Portal = Portal;
5720
- reactIs_development.Profiler = Profiler;
5721
- reactIs_development.StrictMode = StrictMode;
5722
- reactIs_development.Suspense = Suspense;
5723
- reactIs_development.SuspenseList = SuspenseList;
5724
- reactIs_development.isAsyncMode = isAsyncMode;
5725
- reactIs_development.isConcurrentMode = isConcurrentMode;
5726
- reactIs_development.isContextConsumer = isContextConsumer;
5727
- reactIs_development.isContextProvider = isContextProvider;
5728
- reactIs_development.isElement = isElement;
5729
- reactIs_development.isForwardRef = isForwardRef;
5730
- reactIs_development.isFragment = isFragment;
5731
- reactIs_development.isLazy = isLazy;
5732
- reactIs_development.isMemo = isMemo;
5733
- reactIs_development.isPortal = isPortal;
5734
- reactIs_development.isProfiler = isProfiler;
5735
- reactIs_development.isStrictMode = isStrictMode;
5736
- reactIs_development.isSuspense = isSuspense;
5737
- reactIs_development.isSuspenseList = isSuspenseList;
5738
- reactIs_development.isValidElementType = isValidElementType;
5739
- reactIs_development.typeOf = typeOf;
5749
+ reactIs_development$1.ContextConsumer = ContextConsumer;
5750
+ reactIs_development$1.ContextProvider = ContextProvider;
5751
+ reactIs_development$1.Element = Element;
5752
+ reactIs_development$1.ForwardRef = ForwardRef;
5753
+ reactIs_development$1.Fragment = Fragment;
5754
+ reactIs_development$1.Lazy = Lazy;
5755
+ reactIs_development$1.Memo = Memo;
5756
+ reactIs_development$1.Portal = Portal;
5757
+ reactIs_development$1.Profiler = Profiler;
5758
+ reactIs_development$1.StrictMode = StrictMode;
5759
+ reactIs_development$1.Suspense = Suspense;
5760
+ reactIs_development$1.SuspenseList = SuspenseList;
5761
+ reactIs_development$1.isAsyncMode = isAsyncMode;
5762
+ reactIs_development$1.isConcurrentMode = isConcurrentMode;
5763
+ reactIs_development$1.isContextConsumer = isContextConsumer;
5764
+ reactIs_development$1.isContextProvider = isContextProvider;
5765
+ reactIs_development$1.isElement = isElement;
5766
+ reactIs_development$1.isForwardRef = isForwardRef;
5767
+ reactIs_development$1.isFragment = isFragment;
5768
+ reactIs_development$1.isLazy = isLazy;
5769
+ reactIs_development$1.isMemo = isMemo;
5770
+ reactIs_development$1.isPortal = isPortal;
5771
+ reactIs_development$1.isProfiler = isProfiler;
5772
+ reactIs_development$1.isStrictMode = isStrictMode;
5773
+ reactIs_development$1.isSuspense = isSuspense;
5774
+ reactIs_development$1.isSuspenseList = isSuspenseList;
5775
+ reactIs_development$1.isValidElementType = isValidElementType;
5776
+ reactIs_development$1.typeOf = typeOf;
5740
5777
  })();
5741
5778
  }
5742
- return reactIs_development;
5779
+ return reactIs_development$1;
5743
5780
  }
5744
5781
 
5745
5782
  if (process.env.NODE_ENV === 'production') {
5746
- reactIs.exports = requireReactIs_production_min();
5783
+ reactIs$2.exports = requireReactIs_production_min$1();
5747
5784
  } else {
5748
- reactIs.exports = requireReactIs_development();
5785
+ reactIs$2.exports = requireReactIs_development$1();
5749
5786
  }
5750
5787
 
5751
- var reactIsExports = reactIs.exports;
5788
+ var reactIsExports$1 = reactIs$2.exports;
5752
5789
 
5753
5790
  function getFunctionComponentName(Component, fallback = '') {
5754
5791
  return Component.displayName || Component.name || fallback;
@@ -5777,9 +5814,9 @@ function getDisplayName(Component) {
5777
5814
  // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`
5778
5815
  if (typeof Component === 'object') {
5779
5816
  switch (Component.$$typeof) {
5780
- case reactIsExports.ForwardRef:
5817
+ case reactIsExports$1.ForwardRef:
5781
5818
  return getWrappedName(Component, Component.render, 'ForwardRef');
5782
- case reactIsExports.Memo:
5819
+ case reactIsExports$1.Memo:
5783
5820
  return getWrappedName(Component, Component.type, 'memo');
5784
5821
  default:
5785
5822
  return undefined;
@@ -5788,6 +5825,9 @@ function getDisplayName(Component) {
5788
5825
  return undefined;
5789
5826
  }
5790
5827
 
5828
+ const refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);
5829
+ var refType$1 = refType;
5830
+
5791
5831
  // It should to be noted that this function isn't equivalent to `text-transform: capitalize`.
5792
5832
  //
5793
5833
  // A strict capitalization should uppercase the first letter of each word in the sentence.
@@ -5800,34 +5840,193 @@ function capitalize(string) {
5800
5840
  }
5801
5841
 
5802
5842
  /**
5803
- * Add keys, values of `defaultProps` that does not exist in `props`
5804
- * @param defaultProps
5805
- * @param props
5806
- * @returns resolved props
5843
+ * TODO v5: consider making it private
5844
+ *
5845
+ * passes {value} to {ref}
5846
+ *
5847
+ * WARNING: Be sure to only call this inside a callback that is passed as a ref.
5848
+ * Otherwise, make sure to cleanup the previous {ref} if it changes. See
5849
+ * https://github.com/mui/material-ui/issues/13539
5850
+ *
5851
+ * Useful if you want to expose the ref of an inner component to the public API
5852
+ * while still using it inside the component.
5853
+ * @param ref A ref callback or ref object. If anything falsy, this is a no-op.
5807
5854
  */
5808
- function resolveProps(defaultProps, props) {
5809
- const output = {
5810
- ...props
5811
- };
5812
- for (const key in defaultProps) {
5813
- if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {
5814
- const propName = key;
5815
- if (propName === 'components' || propName === 'slots') {
5816
- output[propName] = {
5817
- ...defaultProps[propName],
5818
- ...output[propName]
5819
- };
5820
- } else if (propName === 'componentsProps' || propName === 'slotProps') {
5821
- const defaultSlotProps = defaultProps[propName];
5822
- const slotProps = props[propName];
5823
- if (!slotProps) {
5824
- output[propName] = defaultSlotProps || {};
5825
- } else if (!defaultSlotProps) {
5826
- output[propName] = slotProps;
5827
- } else {
5828
- output[propName] = {
5829
- ...slotProps
5830
- };
5855
+ function setRef(ref, value) {
5856
+ if (typeof ref === 'function') {
5857
+ ref(value);
5858
+ } else if (ref) {
5859
+ ref.current = value;
5860
+ }
5861
+ }
5862
+
5863
+ /**
5864
+ * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.
5865
+ * This is useful for effects that are only needed for client-side rendering but not for SSR.
5866
+ *
5867
+ * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
5868
+ * and confirm it doesn't apply to your use-case.
5869
+ */
5870
+ const useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
5871
+ var useEnhancedEffect$1 = useEnhancedEffect;
5872
+
5873
+ /**
5874
+ * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892
5875
+ * See RFC in https://github.com/reactjs/rfcs/pull/220
5876
+ */
5877
+
5878
+ function useEventCallback(fn) {
5879
+ const ref = React.useRef(fn);
5880
+ useEnhancedEffect$1(() => {
5881
+ ref.current = fn;
5882
+ });
5883
+ return React.useRef((...args) =>
5884
+ // @ts-expect-error hide `this`
5885
+ (0, ref.current)(...args)).current;
5886
+ }
5887
+
5888
+ /**
5889
+ * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.
5890
+ * This is useful when you want to have the ref used in multiple places.
5891
+ *
5892
+ * ```tsx
5893
+ * const rootRef = React.useRef<Instance>(null);
5894
+ * const refFork = useForkRef(rootRef, props.ref);
5895
+ *
5896
+ * return (
5897
+ * <Root {...props} ref={refFork} />
5898
+ * );
5899
+ * ```
5900
+ *
5901
+ * @param {Array<React.Ref<Instance> | undefined>} refs The ref array.
5902
+ * @returns {React.RefCallback<Instance> | null} The new ref callback.
5903
+ */
5904
+ function useForkRef(...refs) {
5905
+ /**
5906
+ * This will create a new function if the refs passed to this hook change and are all defined.
5907
+ * This means react will call the old forkRef with `null` and the new forkRef
5908
+ * with the ref. Cleanup naturally emerges from this behavior.
5909
+ */
5910
+ return React.useMemo(() => {
5911
+ if (refs.every(ref => ref == null)) {
5912
+ return null;
5913
+ }
5914
+ return instance => {
5915
+ refs.forEach(ref => {
5916
+ setRef(ref, instance);
5917
+ });
5918
+ };
5919
+ // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal
5920
+ // eslint-disable-next-line react-hooks/exhaustive-deps
5921
+ }, refs);
5922
+ }
5923
+
5924
+ const UNINITIALIZED = {};
5925
+
5926
+ /**
5927
+ * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional
5928
+ * initialization argument, so the initialization function doesn't need to be an inline closure.
5929
+ *
5930
+ * @usage
5931
+ * const ref = useLazyRef(sortColumns, columns)
5932
+ */
5933
+ function useLazyRef(init, initArg) {
5934
+ const ref = React.useRef(UNINITIALIZED);
5935
+ if (ref.current === UNINITIALIZED) {
5936
+ ref.current = init(initArg);
5937
+ }
5938
+ return ref;
5939
+ }
5940
+
5941
+ const EMPTY = [];
5942
+
5943
+ /**
5944
+ * A React.useEffect equivalent that runs once, when the component is mounted.
5945
+ */
5946
+ function useOnMount(fn) {
5947
+ // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array
5948
+ /* eslint-disable react-hooks/exhaustive-deps */
5949
+ React.useEffect(fn, EMPTY);
5950
+ /* eslint-enable react-hooks/exhaustive-deps */
5951
+ }
5952
+
5953
+ class Timeout {
5954
+ static create() {
5955
+ return new Timeout();
5956
+ }
5957
+ currentId = null;
5958
+
5959
+ /**
5960
+ * Executes `fn` after `delay`, clearing any previously scheduled call.
5961
+ */
5962
+ start(delay, fn) {
5963
+ this.clear();
5964
+ this.currentId = setTimeout(() => {
5965
+ this.currentId = null;
5966
+ fn();
5967
+ }, delay);
5968
+ }
5969
+ clear = () => {
5970
+ if (this.currentId !== null) {
5971
+ clearTimeout(this.currentId);
5972
+ this.currentId = null;
5973
+ }
5974
+ };
5975
+ disposeEffect = () => {
5976
+ return this.clear;
5977
+ };
5978
+ }
5979
+ function useTimeout() {
5980
+ const timeout = useLazyRef(Timeout.create).current;
5981
+ useOnMount(timeout.disposeEffect);
5982
+ return timeout;
5983
+ }
5984
+
5985
+ /**
5986
+ * Returns a boolean indicating if the event's target has :focus-visible
5987
+ */
5988
+ function isFocusVisible(element) {
5989
+ try {
5990
+ return element.matches(':focus-visible');
5991
+ } catch (error) {
5992
+ // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped
5993
+ // Tests that rely on `:focus-visible` will still have to be skipped in jsdom
5994
+ if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {
5995
+ console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\n'));
5996
+ }
5997
+ }
5998
+ return false;
5999
+ }
6000
+
6001
+ /**
6002
+ * Add keys, values of `defaultProps` that does not exist in `props`
6003
+ * @param defaultProps
6004
+ * @param props
6005
+ * @returns resolved props
6006
+ */
6007
+ function resolveProps(defaultProps, props) {
6008
+ const output = {
6009
+ ...props
6010
+ };
6011
+ for (const key in defaultProps) {
6012
+ if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {
6013
+ const propName = key;
6014
+ if (propName === 'components' || propName === 'slots') {
6015
+ output[propName] = {
6016
+ ...defaultProps[propName],
6017
+ ...output[propName]
6018
+ };
6019
+ } else if (propName === 'componentsProps' || propName === 'slotProps') {
6020
+ const defaultSlotProps = defaultProps[propName];
6021
+ const slotProps = props[propName];
6022
+ if (!slotProps) {
6023
+ output[propName] = defaultSlotProps || {};
6024
+ } else if (!defaultSlotProps) {
6025
+ output[propName] = slotProps;
6026
+ } else {
6027
+ output[propName] = {
6028
+ ...slotProps
6029
+ };
5831
6030
  for (const slotKey in defaultSlotProps) {
5832
6031
  if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {
5833
6032
  const slotPropName = slotKey;
@@ -6003,7 +6202,7 @@ function cssContainerQueries(themeInput) {
6003
6202
 
6004
6203
  // The breakpoint **start** at this value.
6005
6204
  // For instance with the first breakpoint xs: [xs, sm[.
6006
- const values = {
6205
+ const values$1 = {
6007
6206
  xs: 0,
6008
6207
  // phone
6009
6208
  sm: 600,
@@ -6018,12 +6217,12 @@ const defaultBreakpoints = {
6018
6217
  // Sorted ASC by size. That's important.
6019
6218
  // It can't be configured as it's used statically for propTypes.
6020
6219
  keys: ['xs', 'sm', 'md', 'lg', 'xl'],
6021
- up: key => `@media (min-width:${values[key]}px)`
6220
+ up: key => `@media (min-width:${values$1[key]}px)`
6022
6221
  };
6023
6222
  const defaultContainerQueries = {
6024
6223
  containerQueries: containerName => ({
6025
6224
  up: key => {
6026
- let result = typeof key === 'number' ? key : values[key] || key;
6225
+ let result = typeof key === 'number' ? key : values$1[key] || key;
6027
6226
  if (typeof result === 'number') {
6028
6227
  result = `${result}px`;
6029
6228
  }
@@ -6050,7 +6249,7 @@ function handleBreakpoints(props, propValue, styleFromPropValue) {
6050
6249
  }
6051
6250
  }
6052
6251
  // key is breakpoint
6053
- else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {
6252
+ else if (Object.keys(themeBreakpoints.values || values$1).includes(breakpoint)) {
6054
6253
  const mediaKey = themeBreakpoints.up(breakpoint);
6055
6254
  acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);
6056
6255
  } else {
@@ -6483,7 +6682,7 @@ const width = style$1({
6483
6682
  const maxWidth = props => {
6484
6683
  if (props.maxWidth !== undefined && props.maxWidth !== null) {
6485
6684
  const styleFromPropValue = propValue => {
6486
- const breakpoint = props.theme?.breakpoints?.values?.[propValue] || values[propValue];
6685
+ const breakpoint = props.theme?.breakpoints?.values?.[propValue] || values$1[propValue];
6487
6686
  if (!breakpoint) {
6488
6687
  return {
6489
6688
  maxWidth: sizingTransform(propValue)
@@ -8175,117 +8374,361 @@ createCache(options
8175
8374
  return cache;
8176
8375
  };
8177
8376
 
8178
- var isBrowser = true;
8377
+ var reactIs$1 = {exports: {}};
8179
8378
 
8180
- function getRegisteredStyles(registered, registeredStyles, classNames) {
8181
- var rawClassName = '';
8182
- classNames.split(' ').forEach(function (className) {
8183
- if (registered[className] !== undefined) {
8184
- registeredStyles.push(registered[className] + ";");
8185
- } else if (className) {
8186
- rawClassName += className + " ";
8187
- }
8188
- });
8189
- return rawClassName;
8379
+ var reactIs_production_min = {};
8380
+
8381
+ /** @license React v16.13.1
8382
+ * react-is.production.min.js
8383
+ *
8384
+ * Copyright (c) Facebook, Inc. and its affiliates.
8385
+ *
8386
+ * This source code is licensed under the MIT license found in the
8387
+ * LICENSE file in the root directory of this source tree.
8388
+ */
8389
+
8390
+ var hasRequiredReactIs_production_min;
8391
+
8392
+ function requireReactIs_production_min () {
8393
+ if (hasRequiredReactIs_production_min) return reactIs_production_min;
8394
+ hasRequiredReactIs_production_min = 1;
8395
+ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
8396
+ Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
8397
+ function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r;reactIs_production_min.Portal=d;
8398
+ reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min.isConcurrentMode=A;reactIs_production_min.isContextConsumer=function(a){return z(a)===k};reactIs_production_min.isContextProvider=function(a){return z(a)===h};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min.isForwardRef=function(a){return z(a)===n};reactIs_production_min.isFragment=function(a){return z(a)===e};reactIs_production_min.isLazy=function(a){return z(a)===t};
8399
+ reactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};
8400
+ reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min.typeOf=z;
8401
+ return reactIs_production_min;
8190
8402
  }
8191
- var registerStyles = function registerStyles(cache, serialized, isStringTag) {
8192
- var className = cache.key + "-" + serialized.name;
8193
8403
 
8194
- if ( // we only need to add the styles to the registered cache if the
8195
- // class name could be used further down
8196
- // the tree but if it's a string tag, we know it won't
8197
- // so we don't have to add it to registered cache.
8198
- // this improves memory usage since we can avoid storing the whole style string
8199
- (isStringTag === false || // we need to always store it if we're in compat mode and
8200
- // in node since emotion-server relies on whether a style is in
8201
- // the registered cache to know whether a style is global or not
8202
- // also, note that this check will be dead code eliminated in the browser
8203
- isBrowser === false ) && cache.registered[className] === undefined) {
8204
- cache.registered[className] = serialized.styles;
8205
- }
8206
- };
8207
- var insertStyles = function insertStyles(cache, serialized, isStringTag) {
8208
- registerStyles(cache, serialized, isStringTag);
8209
- var className = cache.key + "-" + serialized.name;
8404
+ var reactIs_development = {};
8210
8405
 
8211
- if (cache.inserted[serialized.name] === undefined) {
8212
- var current = serialized;
8406
+ /** @license React v16.13.1
8407
+ * react-is.development.js
8408
+ *
8409
+ * Copyright (c) Facebook, Inc. and its affiliates.
8410
+ *
8411
+ * This source code is licensed under the MIT license found in the
8412
+ * LICENSE file in the root directory of this source tree.
8413
+ */
8213
8414
 
8214
- do {
8215
- cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
8415
+ var hasRequiredReactIs_development;
8216
8416
 
8217
- current = current.next;
8218
- } while (current !== undefined);
8219
- }
8220
- };
8417
+ function requireReactIs_development () {
8418
+ if (hasRequiredReactIs_development) return reactIs_development;
8419
+ hasRequiredReactIs_development = 1;
8221
8420
 
8222
- /* eslint-disable */
8223
- // Inspired by https://github.com/garycourt/murmurhash-js
8224
- // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
8225
- function murmur2(str) {
8226
- // 'm' and 'r' are mixing constants generated offline.
8227
- // They're not really 'magic', they just happen to work well.
8228
- // const m = 0x5bd1e995;
8229
- // const r = 24;
8230
- // Initialize the hash
8231
- var h = 0; // Mix 4 bytes at a time into the hash
8232
8421
 
8233
- var k,
8234
- i = 0,
8235
- len = str.length;
8236
8422
 
8237
- for (; len >= 4; ++i, len -= 4) {
8238
- k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
8239
- k =
8240
- /* Math.imul(k, m): */
8241
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
8242
- k ^=
8243
- /* k >>> r: */
8244
- k >>> 24;
8245
- h =
8246
- /* Math.imul(k, m): */
8247
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
8248
- /* Math.imul(h, m): */
8249
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8250
- } // Handle the last few bytes of the input array
8423
+ if (process.env.NODE_ENV !== "production") {
8424
+ (function() {
8251
8425
 
8426
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8427
+ // nor polyfill, then a plain number is used for performance.
8428
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8429
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8430
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8431
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8432
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8433
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8434
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8435
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8436
+ // (unstable) APIs that have been removed. Can we remove the symbols?
8252
8437
 
8253
- switch (len) {
8254
- case 3:
8255
- h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
8438
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8439
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8440
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8441
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8442
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8443
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8444
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8445
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8446
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8447
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8448
+ var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8256
8449
 
8257
- case 2:
8258
- h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
8450
+ function isValidElementType(type) {
8451
+ return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8452
+ type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
8453
+ }
8259
8454
 
8260
- case 1:
8261
- h ^= str.charCodeAt(i) & 0xff;
8262
- h =
8263
- /* Math.imul(h, m): */
8264
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8265
- } // Do a few final mixes of the hash to ensure the last few
8266
- // bytes are well-incorporated.
8455
+ function typeOf(object) {
8456
+ if (typeof object === 'object' && object !== null) {
8457
+ var $$typeof = object.$$typeof;
8267
8458
 
8459
+ switch ($$typeof) {
8460
+ case REACT_ELEMENT_TYPE:
8461
+ var type = object.type;
8268
8462
 
8269
- h ^= h >>> 13;
8270
- h =
8271
- /* Math.imul(h, m): */
8272
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8273
- return ((h ^ h >>> 15) >>> 0).toString(36);
8274
- }
8463
+ switch (type) {
8464
+ case REACT_ASYNC_MODE_TYPE:
8465
+ case REACT_CONCURRENT_MODE_TYPE:
8466
+ case REACT_FRAGMENT_TYPE:
8467
+ case REACT_PROFILER_TYPE:
8468
+ case REACT_STRICT_MODE_TYPE:
8469
+ case REACT_SUSPENSE_TYPE:
8470
+ return type;
8275
8471
 
8276
- var unitlessKeys = {
8277
- animationIterationCount: 1,
8278
- aspectRatio: 1,
8279
- borderImageOutset: 1,
8280
- borderImageSlice: 1,
8281
- borderImageWidth: 1,
8282
- boxFlex: 1,
8283
- boxFlexGroup: 1,
8284
- boxOrdinalGroup: 1,
8285
- columnCount: 1,
8286
- columns: 1,
8287
- flex: 1,
8288
- flexGrow: 1,
8472
+ default:
8473
+ var $$typeofType = type && type.$$typeof;
8474
+
8475
+ switch ($$typeofType) {
8476
+ case REACT_CONTEXT_TYPE:
8477
+ case REACT_FORWARD_REF_TYPE:
8478
+ case REACT_LAZY_TYPE:
8479
+ case REACT_MEMO_TYPE:
8480
+ case REACT_PROVIDER_TYPE:
8481
+ return $$typeofType;
8482
+
8483
+ default:
8484
+ return $$typeof;
8485
+ }
8486
+
8487
+ }
8488
+
8489
+ case REACT_PORTAL_TYPE:
8490
+ return $$typeof;
8491
+ }
8492
+ }
8493
+
8494
+ return undefined;
8495
+ } // AsyncMode is deprecated along with isAsyncMode
8496
+
8497
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
8498
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
8499
+ var ContextConsumer = REACT_CONTEXT_TYPE;
8500
+ var ContextProvider = REACT_PROVIDER_TYPE;
8501
+ var Element = REACT_ELEMENT_TYPE;
8502
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
8503
+ var Fragment = REACT_FRAGMENT_TYPE;
8504
+ var Lazy = REACT_LAZY_TYPE;
8505
+ var Memo = REACT_MEMO_TYPE;
8506
+ var Portal = REACT_PORTAL_TYPE;
8507
+ var Profiler = REACT_PROFILER_TYPE;
8508
+ var StrictMode = REACT_STRICT_MODE_TYPE;
8509
+ var Suspense = REACT_SUSPENSE_TYPE;
8510
+ var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
8511
+
8512
+ function isAsyncMode(object) {
8513
+ {
8514
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
8515
+ hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
8516
+
8517
+ console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
8518
+ }
8519
+ }
8520
+
8521
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
8522
+ }
8523
+ function isConcurrentMode(object) {
8524
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
8525
+ }
8526
+ function isContextConsumer(object) {
8527
+ return typeOf(object) === REACT_CONTEXT_TYPE;
8528
+ }
8529
+ function isContextProvider(object) {
8530
+ return typeOf(object) === REACT_PROVIDER_TYPE;
8531
+ }
8532
+ function isElement(object) {
8533
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8534
+ }
8535
+ function isForwardRef(object) {
8536
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
8537
+ }
8538
+ function isFragment(object) {
8539
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
8540
+ }
8541
+ function isLazy(object) {
8542
+ return typeOf(object) === REACT_LAZY_TYPE;
8543
+ }
8544
+ function isMemo(object) {
8545
+ return typeOf(object) === REACT_MEMO_TYPE;
8546
+ }
8547
+ function isPortal(object) {
8548
+ return typeOf(object) === REACT_PORTAL_TYPE;
8549
+ }
8550
+ function isProfiler(object) {
8551
+ return typeOf(object) === REACT_PROFILER_TYPE;
8552
+ }
8553
+ function isStrictMode(object) {
8554
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
8555
+ }
8556
+ function isSuspense(object) {
8557
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
8558
+ }
8559
+
8560
+ reactIs_development.AsyncMode = AsyncMode;
8561
+ reactIs_development.ConcurrentMode = ConcurrentMode;
8562
+ reactIs_development.ContextConsumer = ContextConsumer;
8563
+ reactIs_development.ContextProvider = ContextProvider;
8564
+ reactIs_development.Element = Element;
8565
+ reactIs_development.ForwardRef = ForwardRef;
8566
+ reactIs_development.Fragment = Fragment;
8567
+ reactIs_development.Lazy = Lazy;
8568
+ reactIs_development.Memo = Memo;
8569
+ reactIs_development.Portal = Portal;
8570
+ reactIs_development.Profiler = Profiler;
8571
+ reactIs_development.StrictMode = StrictMode;
8572
+ reactIs_development.Suspense = Suspense;
8573
+ reactIs_development.isAsyncMode = isAsyncMode;
8574
+ reactIs_development.isConcurrentMode = isConcurrentMode;
8575
+ reactIs_development.isContextConsumer = isContextConsumer;
8576
+ reactIs_development.isContextProvider = isContextProvider;
8577
+ reactIs_development.isElement = isElement;
8578
+ reactIs_development.isForwardRef = isForwardRef;
8579
+ reactIs_development.isFragment = isFragment;
8580
+ reactIs_development.isLazy = isLazy;
8581
+ reactIs_development.isMemo = isMemo;
8582
+ reactIs_development.isPortal = isPortal;
8583
+ reactIs_development.isProfiler = isProfiler;
8584
+ reactIs_development.isStrictMode = isStrictMode;
8585
+ reactIs_development.isSuspense = isSuspense;
8586
+ reactIs_development.isValidElementType = isValidElementType;
8587
+ reactIs_development.typeOf = typeOf;
8588
+ })();
8589
+ }
8590
+ return reactIs_development;
8591
+ }
8592
+
8593
+ if (process.env.NODE_ENV === 'production') {
8594
+ reactIs$1.exports = requireReactIs_production_min();
8595
+ } else {
8596
+ reactIs$1.exports = requireReactIs_development();
8597
+ }
8598
+
8599
+ var reactIsExports = reactIs$1.exports;
8600
+
8601
+ var reactIs = reactIsExports;
8602
+ var FORWARD_REF_STATICS = {
8603
+ '$$typeof': true,
8604
+ render: true,
8605
+ defaultProps: true,
8606
+ displayName: true,
8607
+ propTypes: true
8608
+ };
8609
+ var MEMO_STATICS = {
8610
+ '$$typeof': true,
8611
+ compare: true,
8612
+ defaultProps: true,
8613
+ displayName: true,
8614
+ propTypes: true,
8615
+ type: true
8616
+ };
8617
+ var TYPE_STATICS = {};
8618
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
8619
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
8620
+
8621
+ var isBrowser = true;
8622
+
8623
+ function getRegisteredStyles(registered, registeredStyles, classNames) {
8624
+ var rawClassName = '';
8625
+ classNames.split(' ').forEach(function (className) {
8626
+ if (registered[className] !== undefined) {
8627
+ registeredStyles.push(registered[className] + ";");
8628
+ } else if (className) {
8629
+ rawClassName += className + " ";
8630
+ }
8631
+ });
8632
+ return rawClassName;
8633
+ }
8634
+ var registerStyles = function registerStyles(cache, serialized, isStringTag) {
8635
+ var className = cache.key + "-" + serialized.name;
8636
+
8637
+ if ( // we only need to add the styles to the registered cache if the
8638
+ // class name could be used further down
8639
+ // the tree but if it's a string tag, we know it won't
8640
+ // so we don't have to add it to registered cache.
8641
+ // this improves memory usage since we can avoid storing the whole style string
8642
+ (isStringTag === false || // we need to always store it if we're in compat mode and
8643
+ // in node since emotion-server relies on whether a style is in
8644
+ // the registered cache to know whether a style is global or not
8645
+ // also, note that this check will be dead code eliminated in the browser
8646
+ isBrowser === false ) && cache.registered[className] === undefined) {
8647
+ cache.registered[className] = serialized.styles;
8648
+ }
8649
+ };
8650
+ var insertStyles = function insertStyles(cache, serialized, isStringTag) {
8651
+ registerStyles(cache, serialized, isStringTag);
8652
+ var className = cache.key + "-" + serialized.name;
8653
+
8654
+ if (cache.inserted[serialized.name] === undefined) {
8655
+ var current = serialized;
8656
+
8657
+ do {
8658
+ cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
8659
+
8660
+ current = current.next;
8661
+ } while (current !== undefined);
8662
+ }
8663
+ };
8664
+
8665
+ /* eslint-disable */
8666
+ // Inspired by https://github.com/garycourt/murmurhash-js
8667
+ // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
8668
+ function murmur2(str) {
8669
+ // 'm' and 'r' are mixing constants generated offline.
8670
+ // They're not really 'magic', they just happen to work well.
8671
+ // const m = 0x5bd1e995;
8672
+ // const r = 24;
8673
+ // Initialize the hash
8674
+ var h = 0; // Mix 4 bytes at a time into the hash
8675
+
8676
+ var k,
8677
+ i = 0,
8678
+ len = str.length;
8679
+
8680
+ for (; len >= 4; ++i, len -= 4) {
8681
+ k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
8682
+ k =
8683
+ /* Math.imul(k, m): */
8684
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
8685
+ k ^=
8686
+ /* k >>> r: */
8687
+ k >>> 24;
8688
+ h =
8689
+ /* Math.imul(k, m): */
8690
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
8691
+ /* Math.imul(h, m): */
8692
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8693
+ } // Handle the last few bytes of the input array
8694
+
8695
+
8696
+ switch (len) {
8697
+ case 3:
8698
+ h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
8699
+
8700
+ case 2:
8701
+ h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
8702
+
8703
+ case 1:
8704
+ h ^= str.charCodeAt(i) & 0xff;
8705
+ h =
8706
+ /* Math.imul(h, m): */
8707
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8708
+ } // Do a few final mixes of the hash to ensure the last few
8709
+ // bytes are well-incorporated.
8710
+
8711
+
8712
+ h ^= h >>> 13;
8713
+ h =
8714
+ /* Math.imul(h, m): */
8715
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
8716
+ return ((h ^ h >>> 15) >>> 0).toString(36);
8717
+ }
8718
+
8719
+ var unitlessKeys = {
8720
+ animationIterationCount: 1,
8721
+ aspectRatio: 1,
8722
+ borderImageOutset: 1,
8723
+ borderImageSlice: 1,
8724
+ borderImageWidth: 1,
8725
+ boxFlex: 1,
8726
+ boxFlexGroup: 1,
8727
+ boxOrdinalGroup: 1,
8728
+ columnCount: 1,
8729
+ columns: 1,
8730
+ flex: 1,
8731
+ flexGrow: 1,
8289
8732
  flexPositive: 1,
8290
8733
  flexShrink: 1,
8291
8734
  flexNegative: 1,
@@ -8597,6 +9040,42 @@ var withEmotionCache = function withEmotionCache
8597
9040
 
8598
9041
  var ThemeContext = /* #__PURE__ */React.createContext({});
8599
9042
 
9043
+ /* import type { Interpolation, SerializedStyles } from '@emotion/utils' */
9044
+
9045
+ function css()
9046
+ /*: SerializedStyles */
9047
+ {
9048
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9049
+ args[_key] = arguments[_key];
9050
+ }
9051
+
9052
+ return serializeStyles(args);
9053
+ }
9054
+
9055
+ /*
9056
+ type Keyframes = {|
9057
+ name: string,
9058
+ styles: string,
9059
+ anim: 1,
9060
+ toString: () => string
9061
+ |} & string
9062
+ */
9063
+
9064
+ var keyframes = function
9065
+ /*: Keyframes */
9066
+ keyframes() {
9067
+ var insertable = css.apply(void 0, arguments);
9068
+ var name = "animation-" + insertable.name;
9069
+ return {
9070
+ name: name,
9071
+ styles: "@keyframes " + name + "{" + insertable.styles + "}",
9072
+ anim: 1,
9073
+ toString: function toString() {
9074
+ return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
9075
+ }
9076
+ };
9077
+ };
9078
+
8600
9079
  /* import type {
8601
9080
  ElementType,
8602
9081
  StatelessFunctionalComponent,
@@ -11551,7 +12030,7 @@ function getSvgIconUtilityClass(slot) {
11551
12030
  }
11552
12031
  generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
11553
12032
 
11554
- const useUtilityClasses = ownerState => {
12033
+ const useUtilityClasses$2 = ownerState => {
11555
12034
  const {
11556
12035
  color,
11557
12036
  fontSize,
@@ -11681,7 +12160,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11681
12160
  if (!inheritViewBox) {
11682
12161
  more.viewBox = viewBox;
11683
12162
  }
11684
- const classes = useUtilityClasses(ownerState);
12163
+ const classes = useUtilityClasses$2(ownerState);
11685
12164
  return /*#__PURE__*/jsxRuntimeExports.jsxs(SvgIconRoot, {
11686
12165
  as: component,
11687
12166
  className: clsx(classes.root, className),
@@ -11798,27 +12277,1553 @@ var ContentCopyIcon = createSvgIcon(/*#__PURE__*/jsxRuntimeExports.jsx("path", {
11798
12277
  d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"
11799
12278
  }), 'ContentCopy');
11800
12279
 
11801
- // CSS styles
12280
+ function _objectWithoutPropertiesLoose(r, e) {
12281
+ if (null == r) return {};
12282
+ var t = {};
12283
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
12284
+ if (e.includes(n)) continue;
12285
+ t[n] = r[n];
12286
+ }
12287
+ return t;
12288
+ }
12289
+
12290
+ function _setPrototypeOf(t, e) {
12291
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
12292
+ return t.__proto__ = e, t;
12293
+ }, _setPrototypeOf(t, e);
12294
+ }
12295
+
12296
+ function _inheritsLoose(t, o) {
12297
+ t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
12298
+ }
12299
+
12300
+ var TransitionGroupContext = React__default.createContext(null);
12301
+
12302
+ function _assertThisInitialized(e) {
12303
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12304
+ return e;
12305
+ }
12306
+
12307
+ /**
12308
+ * Given `this.props.children`, return an object mapping key to child.
12309
+ *
12310
+ * @param {*} children `this.props.children`
12311
+ * @return {object} Mapping of key to child
12312
+ */
12313
+
12314
+ function getChildMapping(children, mapFn) {
12315
+ var mapper = function mapper(child) {
12316
+ return mapFn && isValidElement(child) ? mapFn(child) : child;
12317
+ };
12318
+
12319
+ var result = Object.create(null);
12320
+ if (children) Children.map(children, function (c) {
12321
+ return c;
12322
+ }).forEach(function (child) {
12323
+ // run the map function here instead so that the key is the computed one
12324
+ result[child.key] = mapper(child);
12325
+ });
12326
+ return result;
12327
+ }
12328
+ /**
12329
+ * When you're adding or removing children some may be added or removed in the
12330
+ * same render pass. We want to show *both* since we want to simultaneously
12331
+ * animate elements in and out. This function takes a previous set of keys
12332
+ * and a new set of keys and merges them with its best guess of the correct
12333
+ * ordering. In the future we may expose some of the utilities in
12334
+ * ReactMultiChild to make this easy, but for now React itself does not
12335
+ * directly have this concept of the union of prevChildren and nextChildren
12336
+ * so we implement it here.
12337
+ *
12338
+ * @param {object} prev prev children as returned from
12339
+ * `ReactTransitionChildMapping.getChildMapping()`.
12340
+ * @param {object} next next children as returned from
12341
+ * `ReactTransitionChildMapping.getChildMapping()`.
12342
+ * @return {object} a key set that contains all keys in `prev` and all keys
12343
+ * in `next` in a reasonable order.
12344
+ */
12345
+
12346
+ function mergeChildMappings(prev, next) {
12347
+ prev = prev || {};
12348
+ next = next || {};
12349
+
12350
+ function getValueForKey(key) {
12351
+ return key in next ? next[key] : prev[key];
12352
+ } // For each key of `next`, the list of keys to insert before that key in
12353
+ // the combined list
12354
+
12355
+
12356
+ var nextKeysPending = Object.create(null);
12357
+ var pendingKeys = [];
12358
+
12359
+ for (var prevKey in prev) {
12360
+ if (prevKey in next) {
12361
+ if (pendingKeys.length) {
12362
+ nextKeysPending[prevKey] = pendingKeys;
12363
+ pendingKeys = [];
12364
+ }
12365
+ } else {
12366
+ pendingKeys.push(prevKey);
12367
+ }
12368
+ }
12369
+
12370
+ var i;
12371
+ var childMapping = {};
12372
+
12373
+ for (var nextKey in next) {
12374
+ if (nextKeysPending[nextKey]) {
12375
+ for (i = 0; i < nextKeysPending[nextKey].length; i++) {
12376
+ var pendingNextKey = nextKeysPending[nextKey][i];
12377
+ childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
12378
+ }
12379
+ }
12380
+
12381
+ childMapping[nextKey] = getValueForKey(nextKey);
12382
+ } // Finally, add the keys which didn't appear before any key in `next`
12383
+
12384
+
12385
+ for (i = 0; i < pendingKeys.length; i++) {
12386
+ childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
12387
+ }
12388
+
12389
+ return childMapping;
12390
+ }
12391
+
12392
+ function getProp(child, prop, props) {
12393
+ return props[prop] != null ? props[prop] : child.props[prop];
12394
+ }
12395
+
12396
+ function getInitialChildMapping(props, onExited) {
12397
+ return getChildMapping(props.children, function (child) {
12398
+ return cloneElement(child, {
12399
+ onExited: onExited.bind(null, child),
12400
+ in: true,
12401
+ appear: getProp(child, 'appear', props),
12402
+ enter: getProp(child, 'enter', props),
12403
+ exit: getProp(child, 'exit', props)
12404
+ });
12405
+ });
12406
+ }
12407
+ function getNextChildMapping(nextProps, prevChildMapping, onExited) {
12408
+ var nextChildMapping = getChildMapping(nextProps.children);
12409
+ var children = mergeChildMappings(prevChildMapping, nextChildMapping);
12410
+ Object.keys(children).forEach(function (key) {
12411
+ var child = children[key];
12412
+ if (!isValidElement(child)) return;
12413
+ var hasPrev = (key in prevChildMapping);
12414
+ var hasNext = (key in nextChildMapping);
12415
+ var prevChild = prevChildMapping[key];
12416
+ var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)
12417
+
12418
+ if (hasNext && (!hasPrev || isLeaving)) {
12419
+ // console.log('entering', key)
12420
+ children[key] = cloneElement(child, {
12421
+ onExited: onExited.bind(null, child),
12422
+ in: true,
12423
+ exit: getProp(child, 'exit', nextProps),
12424
+ enter: getProp(child, 'enter', nextProps)
12425
+ });
12426
+ } else if (!hasNext && hasPrev && !isLeaving) {
12427
+ // item is old (exiting)
12428
+ // console.log('leaving', key)
12429
+ children[key] = cloneElement(child, {
12430
+ in: false
12431
+ });
12432
+ } else if (hasNext && hasPrev && isValidElement(prevChild)) {
12433
+ // item hasn't changed transition states
12434
+ // copy over the last transition props;
12435
+ // console.log('unchanged', key)
12436
+ children[key] = cloneElement(child, {
12437
+ onExited: onExited.bind(null, child),
12438
+ in: prevChild.props.in,
12439
+ exit: getProp(child, 'exit', nextProps),
12440
+ enter: getProp(child, 'enter', nextProps)
12441
+ });
12442
+ }
12443
+ });
12444
+ return children;
12445
+ }
12446
+
12447
+ var values = Object.values || function (obj) {
12448
+ return Object.keys(obj).map(function (k) {
12449
+ return obj[k];
12450
+ });
12451
+ };
12452
+
12453
+ var defaultProps = {
12454
+ component: 'div',
12455
+ childFactory: function childFactory(child) {
12456
+ return child;
12457
+ }
12458
+ };
12459
+ /**
12460
+ * The `<TransitionGroup>` component manages a set of transition components
12461
+ * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition
12462
+ * components, `<TransitionGroup>` is a state machine for managing the mounting
12463
+ * and unmounting of components over time.
12464
+ *
12465
+ * Consider the example below. As items are removed or added to the TodoList the
12466
+ * `in` prop is toggled automatically by the `<TransitionGroup>`.
12467
+ *
12468
+ * Note that `<TransitionGroup>` does not define any animation behavior!
12469
+ * Exactly _how_ a list item animates is up to the individual transition
12470
+ * component. This means you can mix and match animations across different list
12471
+ * items.
12472
+ */
12473
+
12474
+ var TransitionGroup = /*#__PURE__*/function (_React$Component) {
12475
+ _inheritsLoose(TransitionGroup, _React$Component);
12476
+
12477
+ function TransitionGroup(props, context) {
12478
+ var _this;
12479
+
12480
+ _this = _React$Component.call(this, props, context) || this;
12481
+
12482
+ var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear
12483
+
12484
+
12485
+ _this.state = {
12486
+ contextValue: {
12487
+ isMounting: true
12488
+ },
12489
+ handleExited: handleExited,
12490
+ firstRender: true
12491
+ };
12492
+ return _this;
12493
+ }
12494
+
12495
+ var _proto = TransitionGroup.prototype;
12496
+
12497
+ _proto.componentDidMount = function componentDidMount() {
12498
+ this.mounted = true;
12499
+ this.setState({
12500
+ contextValue: {
12501
+ isMounting: false
12502
+ }
12503
+ });
12504
+ };
12505
+
12506
+ _proto.componentWillUnmount = function componentWillUnmount() {
12507
+ this.mounted = false;
12508
+ };
12509
+
12510
+ TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
12511
+ var prevChildMapping = _ref.children,
12512
+ handleExited = _ref.handleExited,
12513
+ firstRender = _ref.firstRender;
12514
+ return {
12515
+ children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),
12516
+ firstRender: false
12517
+ };
12518
+ } // node is `undefined` when user provided `nodeRef` prop
12519
+ ;
12520
+
12521
+ _proto.handleExited = function handleExited(child, node) {
12522
+ var currentChildMapping = getChildMapping(this.props.children);
12523
+ if (child.key in currentChildMapping) return;
12524
+
12525
+ if (child.props.onExited) {
12526
+ child.props.onExited(node);
12527
+ }
12528
+
12529
+ if (this.mounted) {
12530
+ this.setState(function (state) {
12531
+ var children = _extends({}, state.children);
12532
+
12533
+ delete children[child.key];
12534
+ return {
12535
+ children: children
12536
+ };
12537
+ });
12538
+ }
12539
+ };
12540
+
12541
+ _proto.render = function render() {
12542
+ var _this$props = this.props,
12543
+ Component = _this$props.component,
12544
+ childFactory = _this$props.childFactory,
12545
+ props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
12546
+
12547
+ var contextValue = this.state.contextValue;
12548
+ var children = values(this.state.children).map(childFactory);
12549
+ delete props.appear;
12550
+ delete props.enter;
12551
+ delete props.exit;
12552
+
12553
+ if (Component === null) {
12554
+ return /*#__PURE__*/React__default.createElement(TransitionGroupContext.Provider, {
12555
+ value: contextValue
12556
+ }, children);
12557
+ }
12558
+
12559
+ return /*#__PURE__*/React__default.createElement(TransitionGroupContext.Provider, {
12560
+ value: contextValue
12561
+ }, /*#__PURE__*/React__default.createElement(Component, props, children));
12562
+ };
12563
+
12564
+ return TransitionGroup;
12565
+ }(React__default.Component);
12566
+
12567
+ TransitionGroup.propTypes = process.env.NODE_ENV !== "production" ? {
12568
+ /**
12569
+ * `<TransitionGroup>` renders a `<div>` by default. You can change this
12570
+ * behavior by providing a `component` prop.
12571
+ * If you use React v16+ and would like to avoid a wrapping `<div>` element
12572
+ * you can pass in `component={null}`. This is useful if the wrapping div
12573
+ * borks your css styles.
12574
+ */
12575
+ component: PropTypes.any,
12576
+
12577
+ /**
12578
+ * A set of `<Transition>` components, that are toggled `in` and out as they
12579
+ * leave. the `<TransitionGroup>` will inject specific transition props, so
12580
+ * remember to spread them through if you are wrapping the `<Transition>` as
12581
+ * with our `<Fade>` example.
12582
+ *
12583
+ * While this component is meant for multiple `Transition` or `CSSTransition`
12584
+ * children, sometimes you may want to have a single transition child with
12585
+ * content that you want to be transitioned out and in when you change it
12586
+ * (e.g. routes, images etc.) In that case you can change the `key` prop of
12587
+ * the transition child as you change its content, this will cause
12588
+ * `TransitionGroup` to transition the child out and back in.
12589
+ */
12590
+ children: PropTypes.node,
12591
+
12592
+ /**
12593
+ * A convenience prop that enables or disables appear animations
12594
+ * for all children. Note that specifying this will override any defaults set
12595
+ * on individual children Transitions.
12596
+ */
12597
+ appear: PropTypes.bool,
12598
+
12599
+ /**
12600
+ * A convenience prop that enables or disables enter animations
12601
+ * for all children. Note that specifying this will override any defaults set
12602
+ * on individual children Transitions.
12603
+ */
12604
+ enter: PropTypes.bool,
12605
+
12606
+ /**
12607
+ * A convenience prop that enables or disables exit animations
12608
+ * for all children. Note that specifying this will override any defaults set
12609
+ * on individual children Transitions.
12610
+ */
12611
+ exit: PropTypes.bool,
12612
+
12613
+ /**
12614
+ * You may need to apply reactive updates to a child as it is exiting.
12615
+ * This is generally done by using `cloneElement` however in the case of an exiting
12616
+ * child the element has already been removed and not accessible to the consumer.
12617
+ *
12618
+ * If you do need to update a child as it leaves you can provide a `childFactory`
12619
+ * to wrap every child, even the ones that are leaving.
12620
+ *
12621
+ * @type Function(child: ReactElement) -> ReactElement
12622
+ */
12623
+ childFactory: PropTypes.func
12624
+ } : {};
12625
+ TransitionGroup.defaultProps = defaultProps;
12626
+ var TransitionGroup$1 = TransitionGroup;
12627
+
12628
+ /**
12629
+ * Lazy initialization container for the Ripple instance. This improves
12630
+ * performance by delaying mounting the ripple until it's needed.
12631
+ */
12632
+ class LazyRipple {
12633
+ /** React ref to the ripple instance */
12634
+
12635
+ /** If the ripple component should be mounted */
12636
+
12637
+ /** Promise that resolves when the ripple component is mounted */
12638
+
12639
+ /** If the ripple component has been mounted */
12640
+
12641
+ /** React state hook setter */
12642
+
12643
+ static create() {
12644
+ return new LazyRipple();
12645
+ }
12646
+ static use() {
12647
+ /* eslint-disable */
12648
+ const ripple = useLazyRef(LazyRipple.create).current;
12649
+ const [shouldMount, setShouldMount] = React.useState(false);
12650
+ ripple.shouldMount = shouldMount;
12651
+ ripple.setShouldMount = setShouldMount;
12652
+ React.useEffect(ripple.mountEffect, [shouldMount]);
12653
+ /* eslint-enable */
12654
+
12655
+ return ripple;
12656
+ }
12657
+ constructor() {
12658
+ this.ref = {
12659
+ current: null
12660
+ };
12661
+ this.mounted = null;
12662
+ this.didMount = false;
12663
+ this.shouldMount = false;
12664
+ this.setShouldMount = null;
12665
+ }
12666
+ mount() {
12667
+ if (!this.mounted) {
12668
+ this.mounted = createControlledPromise();
12669
+ this.shouldMount = true;
12670
+ this.setShouldMount(this.shouldMount);
12671
+ }
12672
+ return this.mounted;
12673
+ }
12674
+ mountEffect = () => {
12675
+ if (this.shouldMount && !this.didMount) {
12676
+ if (this.ref.current !== null) {
12677
+ this.didMount = true;
12678
+ this.mounted.resolve();
12679
+ }
12680
+ }
12681
+ };
12682
+
12683
+ /* Ripple API */
12684
+
12685
+ start(...args) {
12686
+ this.mount().then(() => this.ref.current?.start(...args));
12687
+ }
12688
+ stop(...args) {
12689
+ this.mount().then(() => this.ref.current?.stop(...args));
12690
+ }
12691
+ pulsate(...args) {
12692
+ this.mount().then(() => this.ref.current?.pulsate(...args));
12693
+ }
12694
+ }
12695
+ function useLazyRipple() {
12696
+ return LazyRipple.use();
12697
+ }
12698
+ function createControlledPromise() {
12699
+ let resolve;
12700
+ let reject;
12701
+ const p = new Promise((resolveFn, rejectFn) => {
12702
+ resolve = resolveFn;
12703
+ reject = rejectFn;
12704
+ });
12705
+ p.resolve = resolve;
12706
+ p.reject = reject;
12707
+ return p;
12708
+ }
12709
+
12710
+ function Ripple(props) {
12711
+ const {
12712
+ className,
12713
+ classes,
12714
+ pulsate = false,
12715
+ rippleX,
12716
+ rippleY,
12717
+ rippleSize,
12718
+ in: inProp,
12719
+ onExited,
12720
+ timeout
12721
+ } = props;
12722
+ const [leaving, setLeaving] = React.useState(false);
12723
+ const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);
12724
+ const rippleStyles = {
12725
+ width: rippleSize,
12726
+ height: rippleSize,
12727
+ top: -(rippleSize / 2) + rippleY,
12728
+ left: -(rippleSize / 2) + rippleX
12729
+ };
12730
+ const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);
12731
+ if (!inProp && !leaving) {
12732
+ setLeaving(true);
12733
+ }
12734
+ React.useEffect(() => {
12735
+ if (!inProp && onExited != null) {
12736
+ // react-transition-group#onExited
12737
+ const timeoutId = setTimeout(onExited, timeout);
12738
+ return () => {
12739
+ clearTimeout(timeoutId);
12740
+ };
12741
+ }
12742
+ return undefined;
12743
+ }, [onExited, inProp, timeout]);
12744
+ return /*#__PURE__*/jsxRuntimeExports.jsx("span", {
12745
+ className: rippleClassName,
12746
+ style: rippleStyles,
12747
+ children: /*#__PURE__*/jsxRuntimeExports.jsx("span", {
12748
+ className: childClassName
12749
+ })
12750
+ });
12751
+ }
12752
+ process.env.NODE_ENV !== "production" ? Ripple.propTypes /* remove-proptypes */ = {
12753
+ /**
12754
+ * Override or extend the styles applied to the component.
12755
+ */
12756
+ classes: PropTypes.object.isRequired,
12757
+ className: PropTypes.string,
12758
+ /**
12759
+ * @ignore - injected from TransitionGroup
12760
+ */
12761
+ in: PropTypes.bool,
12762
+ /**
12763
+ * @ignore - injected from TransitionGroup
12764
+ */
12765
+ onExited: PropTypes.func,
12766
+ /**
12767
+ * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.
12768
+ */
12769
+ pulsate: PropTypes.bool,
12770
+ /**
12771
+ * Diameter of the ripple.
12772
+ */
12773
+ rippleSize: PropTypes.number,
12774
+ /**
12775
+ * Horizontal position of the ripple center.
12776
+ */
12777
+ rippleX: PropTypes.number,
12778
+ /**
12779
+ * Vertical position of the ripple center.
12780
+ */
12781
+ rippleY: PropTypes.number,
12782
+ /**
12783
+ * exit delay
12784
+ */
12785
+ timeout: PropTypes.number.isRequired
12786
+ } : void 0;
12787
+
12788
+ const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
12789
+ var touchRippleClasses$1 = touchRippleClasses;
12790
+
12791
+ const DURATION = 550;
12792
+ const DELAY_RIPPLE = 80;
12793
+ const enterKeyframe = keyframes`
12794
+ 0% {
12795
+ transform: scale(0);
12796
+ opacity: 0.1;
12797
+ }
12798
+
12799
+ 100% {
12800
+ transform: scale(1);
12801
+ opacity: 0.3;
12802
+ }
12803
+ `;
12804
+ const exitKeyframe = keyframes`
12805
+ 0% {
12806
+ opacity: 1;
12807
+ }
12808
+
12809
+ 100% {
12810
+ opacity: 0;
12811
+ }
12812
+ `;
12813
+ const pulsateKeyframe = keyframes`
12814
+ 0% {
12815
+ transform: scale(1);
12816
+ }
12817
+
12818
+ 50% {
12819
+ transform: scale(0.92);
12820
+ }
12821
+
12822
+ 100% {
12823
+ transform: scale(1);
12824
+ }
12825
+ `;
12826
+ const TouchRippleRoot = styled$1('span', {
12827
+ name: 'MuiTouchRipple',
12828
+ slot: 'Root'
12829
+ })({
12830
+ overflow: 'hidden',
12831
+ pointerEvents: 'none',
12832
+ position: 'absolute',
12833
+ zIndex: 0,
12834
+ top: 0,
12835
+ right: 0,
12836
+ bottom: 0,
12837
+ left: 0,
12838
+ borderRadius: 'inherit'
12839
+ });
12840
+
12841
+ // This `styled()` function invokes keyframes. `styled-components` only supports keyframes
12842
+ // in string templates. Do not convert these styles in JS object as it will break.
12843
+ const TouchRippleRipple = styled$1(Ripple, {
12844
+ name: 'MuiTouchRipple',
12845
+ slot: 'Ripple'
12846
+ })`
12847
+ opacity: 0;
12848
+ position: absolute;
12849
+
12850
+ &.${touchRippleClasses$1.rippleVisible} {
12851
+ opacity: 0.3;
12852
+ transform: scale(1);
12853
+ animation-name: ${enterKeyframe};
12854
+ animation-duration: ${DURATION}ms;
12855
+ animation-timing-function: ${({
12856
+ theme
12857
+ }) => theme.transitions.easing.easeInOut};
12858
+ }
12859
+
12860
+ &.${touchRippleClasses$1.ripplePulsate} {
12861
+ animation-duration: ${({
12862
+ theme
12863
+ }) => theme.transitions.duration.shorter}ms;
12864
+ }
12865
+
12866
+ & .${touchRippleClasses$1.child} {
12867
+ opacity: 1;
12868
+ display: block;
12869
+ width: 100%;
12870
+ height: 100%;
12871
+ border-radius: 50%;
12872
+ background-color: currentColor;
12873
+ }
12874
+
12875
+ & .${touchRippleClasses$1.childLeaving} {
12876
+ opacity: 0;
12877
+ animation-name: ${exitKeyframe};
12878
+ animation-duration: ${DURATION}ms;
12879
+ animation-timing-function: ${({
12880
+ theme
12881
+ }) => theme.transitions.easing.easeInOut};
12882
+ }
12883
+
12884
+ & .${touchRippleClasses$1.childPulsate} {
12885
+ position: absolute;
12886
+ /* @noflip */
12887
+ left: 0px;
12888
+ top: 0;
12889
+ animation-name: ${pulsateKeyframe};
12890
+ animation-duration: 2500ms;
12891
+ animation-timing-function: ${({
12892
+ theme
12893
+ }) => theme.transitions.easing.easeInOut};
12894
+ animation-iteration-count: infinite;
12895
+ animation-delay: 200ms;
12896
+ }
12897
+ `;
12898
+
12899
+ /**
12900
+ * @ignore - internal component.
12901
+ *
12902
+ * TODO v5: Make private
12903
+ */
12904
+ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {
12905
+ const props = useDefaultProps({
12906
+ props: inProps,
12907
+ name: 'MuiTouchRipple'
12908
+ });
12909
+ const {
12910
+ center: centerProp = false,
12911
+ classes = {},
12912
+ className,
12913
+ ...other
12914
+ } = props;
12915
+ const [ripples, setRipples] = React.useState([]);
12916
+ const nextKey = React.useRef(0);
12917
+ const rippleCallback = React.useRef(null);
12918
+ React.useEffect(() => {
12919
+ if (rippleCallback.current) {
12920
+ rippleCallback.current();
12921
+ rippleCallback.current = null;
12922
+ }
12923
+ }, [ripples]);
12924
+
12925
+ // Used to filter out mouse emulated events on mobile.
12926
+ const ignoringMouseDown = React.useRef(false);
12927
+ // We use a timer in order to only show the ripples for touch "click" like events.
12928
+ // We don't want to display the ripple for touch scroll events.
12929
+ const startTimer = useTimeout();
12930
+
12931
+ // This is the hook called once the previous timeout is ready.
12932
+ const startTimerCommit = React.useRef(null);
12933
+ const container = React.useRef(null);
12934
+ const startCommit = React.useCallback(params => {
12935
+ const {
12936
+ pulsate,
12937
+ rippleX,
12938
+ rippleY,
12939
+ rippleSize,
12940
+ cb
12941
+ } = params;
12942
+ setRipples(oldRipples => [...oldRipples, /*#__PURE__*/jsxRuntimeExports.jsx(TouchRippleRipple, {
12943
+ classes: {
12944
+ ripple: clsx(classes.ripple, touchRippleClasses$1.ripple),
12945
+ rippleVisible: clsx(classes.rippleVisible, touchRippleClasses$1.rippleVisible),
12946
+ ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses$1.ripplePulsate),
12947
+ child: clsx(classes.child, touchRippleClasses$1.child),
12948
+ childLeaving: clsx(classes.childLeaving, touchRippleClasses$1.childLeaving),
12949
+ childPulsate: clsx(classes.childPulsate, touchRippleClasses$1.childPulsate)
12950
+ },
12951
+ timeout: DURATION,
12952
+ pulsate: pulsate,
12953
+ rippleX: rippleX,
12954
+ rippleY: rippleY,
12955
+ rippleSize: rippleSize
12956
+ }, nextKey.current)]);
12957
+ nextKey.current += 1;
12958
+ rippleCallback.current = cb;
12959
+ }, [classes]);
12960
+ const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {
12961
+ const {
12962
+ pulsate = false,
12963
+ center = centerProp || options.pulsate,
12964
+ fakeElement = false // For test purposes
12965
+ } = options;
12966
+ if (event?.type === 'mousedown' && ignoringMouseDown.current) {
12967
+ ignoringMouseDown.current = false;
12968
+ return;
12969
+ }
12970
+ if (event?.type === 'touchstart') {
12971
+ ignoringMouseDown.current = true;
12972
+ }
12973
+ const element = fakeElement ? null : container.current;
12974
+ const rect = element ? element.getBoundingClientRect() : {
12975
+ width: 0,
12976
+ height: 0,
12977
+ left: 0,
12978
+ top: 0
12979
+ };
12980
+
12981
+ // Get the size of the ripple
12982
+ let rippleX;
12983
+ let rippleY;
12984
+ let rippleSize;
12985
+ if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {
12986
+ rippleX = Math.round(rect.width / 2);
12987
+ rippleY = Math.round(rect.height / 2);
12988
+ } else {
12989
+ const {
12990
+ clientX,
12991
+ clientY
12992
+ } = event.touches && event.touches.length > 0 ? event.touches[0] : event;
12993
+ rippleX = Math.round(clientX - rect.left);
12994
+ rippleY = Math.round(clientY - rect.top);
12995
+ }
12996
+ if (center) {
12997
+ rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);
12998
+
12999
+ // For some reason the animation is broken on Mobile Chrome if the size is even.
13000
+ if (rippleSize % 2 === 0) {
13001
+ rippleSize += 1;
13002
+ }
13003
+ } else {
13004
+ const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;
13005
+ const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;
13006
+ rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);
13007
+ }
13008
+
13009
+ // Touche devices
13010
+ if (event?.touches) {
13011
+ // check that this isn't another touchstart due to multitouch
13012
+ // otherwise we will only clear a single timer when unmounting while two
13013
+ // are running
13014
+ if (startTimerCommit.current === null) {
13015
+ // Prepare the ripple effect.
13016
+ startTimerCommit.current = () => {
13017
+ startCommit({
13018
+ pulsate,
13019
+ rippleX,
13020
+ rippleY,
13021
+ rippleSize,
13022
+ cb
13023
+ });
13024
+ };
13025
+ // Delay the execution of the ripple effect.
13026
+ // We have to make a tradeoff with this delay value.
13027
+ startTimer.start(DELAY_RIPPLE, () => {
13028
+ if (startTimerCommit.current) {
13029
+ startTimerCommit.current();
13030
+ startTimerCommit.current = null;
13031
+ }
13032
+ });
13033
+ }
13034
+ } else {
13035
+ startCommit({
13036
+ pulsate,
13037
+ rippleX,
13038
+ rippleY,
13039
+ rippleSize,
13040
+ cb
13041
+ });
13042
+ }
13043
+ }, [centerProp, startCommit, startTimer]);
13044
+ const pulsate = React.useCallback(() => {
13045
+ start({}, {
13046
+ pulsate: true
13047
+ });
13048
+ }, [start]);
13049
+ const stop = React.useCallback((event, cb) => {
13050
+ startTimer.clear();
13051
+
13052
+ // The touch interaction occurs too quickly.
13053
+ // We still want to show ripple effect.
13054
+ if (event?.type === 'touchend' && startTimerCommit.current) {
13055
+ startTimerCommit.current();
13056
+ startTimerCommit.current = null;
13057
+ startTimer.start(0, () => {
13058
+ stop(event, cb);
13059
+ });
13060
+ return;
13061
+ }
13062
+ startTimerCommit.current = null;
13063
+ setRipples(oldRipples => {
13064
+ if (oldRipples.length > 0) {
13065
+ return oldRipples.slice(1);
13066
+ }
13067
+ return oldRipples;
13068
+ });
13069
+ rippleCallback.current = cb;
13070
+ }, [startTimer]);
13071
+ React.useImperativeHandle(ref, () => ({
13072
+ pulsate,
13073
+ start,
13074
+ stop
13075
+ }), [pulsate, start, stop]);
13076
+ return /*#__PURE__*/jsxRuntimeExports.jsx(TouchRippleRoot, {
13077
+ className: clsx(touchRippleClasses$1.root, classes.root, className),
13078
+ ref: container,
13079
+ ...other,
13080
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(TransitionGroup$1, {
13081
+ component: null,
13082
+ exit: true,
13083
+ children: ripples
13084
+ })
13085
+ });
13086
+ });
13087
+ process.env.NODE_ENV !== "production" ? TouchRipple.propTypes /* remove-proptypes */ = {
13088
+ /**
13089
+ * If `true`, the ripple starts at the center of the component
13090
+ * rather than at the point of interaction.
13091
+ */
13092
+ center: PropTypes.bool,
13093
+ /**
13094
+ * Override or extend the styles applied to the component.
13095
+ */
13096
+ classes: PropTypes.object,
13097
+ /**
13098
+ * @ignore
13099
+ */
13100
+ className: PropTypes.string
13101
+ } : void 0;
13102
+ var TouchRipple$1 = TouchRipple;
13103
+
13104
+ function getButtonBaseUtilityClass(slot) {
13105
+ return generateUtilityClass('MuiButtonBase', slot);
13106
+ }
13107
+ const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
13108
+ var buttonBaseClasses$1 = buttonBaseClasses;
13109
+
13110
+ const useUtilityClasses$1 = ownerState => {
13111
+ const {
13112
+ disabled,
13113
+ focusVisible,
13114
+ focusVisibleClassName,
13115
+ classes
13116
+ } = ownerState;
13117
+ const slots = {
13118
+ root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']
13119
+ };
13120
+ const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);
13121
+ if (focusVisible && focusVisibleClassName) {
13122
+ composedClasses.root += ` ${focusVisibleClassName}`;
13123
+ }
13124
+ return composedClasses;
13125
+ };
13126
+ const ButtonBaseRoot = styled$1('button', {
13127
+ name: 'MuiButtonBase',
13128
+ slot: 'Root',
13129
+ overridesResolver: (props, styles) => styles.root
13130
+ })({
13131
+ display: 'inline-flex',
13132
+ alignItems: 'center',
13133
+ justifyContent: 'center',
13134
+ position: 'relative',
13135
+ boxSizing: 'border-box',
13136
+ WebkitTapHighlightColor: 'transparent',
13137
+ backgroundColor: 'transparent',
13138
+ // Reset default value
13139
+ // We disable the focus ring for mouse, touch and keyboard users.
13140
+ outline: 0,
13141
+ border: 0,
13142
+ margin: 0,
13143
+ // Remove the margin in Safari
13144
+ borderRadius: 0,
13145
+ padding: 0,
13146
+ // Remove the padding in Firefox
13147
+ cursor: 'pointer',
13148
+ userSelect: 'none',
13149
+ verticalAlign: 'middle',
13150
+ MozAppearance: 'none',
13151
+ // Reset
13152
+ WebkitAppearance: 'none',
13153
+ // Reset
13154
+ textDecoration: 'none',
13155
+ // So we take precedent over the style of a native <a /> element.
13156
+ color: 'inherit',
13157
+ '&::-moz-focus-inner': {
13158
+ borderStyle: 'none' // Remove Firefox dotted outline.
13159
+ },
13160
+ [`&.${buttonBaseClasses$1.disabled}`]: {
13161
+ pointerEvents: 'none',
13162
+ // Disable link interactions
13163
+ cursor: 'default'
13164
+ },
13165
+ '@media print': {
13166
+ colorAdjust: 'exact'
13167
+ }
13168
+ });
13169
+
13170
+ /**
13171
+ * `ButtonBase` contains as few styles as possible.
13172
+ * It aims to be a simple building block for creating a button.
13173
+ * It contains a load of style reset and some focus/ripple logic.
13174
+ */
13175
+ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {
13176
+ const props = useDefaultProps({
13177
+ props: inProps,
13178
+ name: 'MuiButtonBase'
13179
+ });
13180
+ const {
13181
+ action,
13182
+ centerRipple = false,
13183
+ children,
13184
+ className,
13185
+ component = 'button',
13186
+ disabled = false,
13187
+ disableRipple = false,
13188
+ disableTouchRipple = false,
13189
+ focusRipple = false,
13190
+ focusVisibleClassName,
13191
+ LinkComponent = 'a',
13192
+ onBlur,
13193
+ onClick,
13194
+ onContextMenu,
13195
+ onDragLeave,
13196
+ onFocus,
13197
+ onFocusVisible,
13198
+ onKeyDown,
13199
+ onKeyUp,
13200
+ onMouseDown,
13201
+ onMouseLeave,
13202
+ onMouseUp,
13203
+ onTouchEnd,
13204
+ onTouchMove,
13205
+ onTouchStart,
13206
+ tabIndex = 0,
13207
+ TouchRippleProps,
13208
+ touchRippleRef,
13209
+ type,
13210
+ ...other
13211
+ } = props;
13212
+ const buttonRef = React.useRef(null);
13213
+ const ripple = useLazyRipple();
13214
+ const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);
13215
+ const [focusVisible, setFocusVisible] = React.useState(false);
13216
+ if (disabled && focusVisible) {
13217
+ setFocusVisible(false);
13218
+ }
13219
+ React.useImperativeHandle(action, () => ({
13220
+ focusVisible: () => {
13221
+ setFocusVisible(true);
13222
+ buttonRef.current.focus();
13223
+ }
13224
+ }), []);
13225
+ const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;
13226
+ React.useEffect(() => {
13227
+ if (focusVisible && focusRipple && !disableRipple) {
13228
+ ripple.pulsate();
13229
+ }
13230
+ }, [disableRipple, focusRipple, focusVisible, ripple]);
13231
+ function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {
13232
+ return useEventCallback(event => {
13233
+ if (eventCallback) {
13234
+ eventCallback(event);
13235
+ }
13236
+ const ignore = skipRippleAction;
13237
+ if (!ignore) {
13238
+ ripple[rippleAction](event);
13239
+ }
13240
+ return true;
13241
+ });
13242
+ }
13243
+ const handleMouseDown = useRippleHandler('start', onMouseDown);
13244
+ const handleContextMenu = useRippleHandler('stop', onContextMenu);
13245
+ const handleDragLeave = useRippleHandler('stop', onDragLeave);
13246
+ const handleMouseUp = useRippleHandler('stop', onMouseUp);
13247
+ const handleMouseLeave = useRippleHandler('stop', event => {
13248
+ if (focusVisible) {
13249
+ event.preventDefault();
13250
+ }
13251
+ if (onMouseLeave) {
13252
+ onMouseLeave(event);
13253
+ }
13254
+ });
13255
+ const handleTouchStart = useRippleHandler('start', onTouchStart);
13256
+ const handleTouchEnd = useRippleHandler('stop', onTouchEnd);
13257
+ const handleTouchMove = useRippleHandler('stop', onTouchMove);
13258
+ const handleBlur = useRippleHandler('stop', event => {
13259
+ if (!isFocusVisible(event.target)) {
13260
+ setFocusVisible(false);
13261
+ }
13262
+ if (onBlur) {
13263
+ onBlur(event);
13264
+ }
13265
+ }, false);
13266
+ const handleFocus = useEventCallback(event => {
13267
+ // Fix for https://github.com/facebook/react/issues/7769
13268
+ if (!buttonRef.current) {
13269
+ buttonRef.current = event.currentTarget;
13270
+ }
13271
+ if (isFocusVisible(event.target)) {
13272
+ setFocusVisible(true);
13273
+ if (onFocusVisible) {
13274
+ onFocusVisible(event);
13275
+ }
13276
+ }
13277
+ if (onFocus) {
13278
+ onFocus(event);
13279
+ }
13280
+ });
13281
+ const isNonNativeButton = () => {
13282
+ const button = buttonRef.current;
13283
+ return component && component !== 'button' && !(button.tagName === 'A' && button.href);
13284
+ };
13285
+ const handleKeyDown = useEventCallback(event => {
13286
+ // Check if key is already down to avoid repeats being counted as multiple activations
13287
+ if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {
13288
+ ripple.stop(event, () => {
13289
+ ripple.start(event);
13290
+ });
13291
+ }
13292
+ if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {
13293
+ event.preventDefault();
13294
+ }
13295
+ if (onKeyDown) {
13296
+ onKeyDown(event);
13297
+ }
13298
+
13299
+ // Keyboard accessibility for non interactive elements
13300
+ if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {
13301
+ event.preventDefault();
13302
+ if (onClick) {
13303
+ onClick(event);
13304
+ }
13305
+ }
13306
+ });
13307
+ const handleKeyUp = useEventCallback(event => {
13308
+ // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed
13309
+ // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0
13310
+ if (focusRipple && event.key === ' ' && focusVisible && !event.defaultPrevented) {
13311
+ ripple.stop(event, () => {
13312
+ ripple.pulsate(event);
13313
+ });
13314
+ }
13315
+ if (onKeyUp) {
13316
+ onKeyUp(event);
13317
+ }
13318
+
13319
+ // Keyboard accessibility for non interactive elements
13320
+ if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {
13321
+ onClick(event);
13322
+ }
13323
+ });
13324
+ let ComponentProp = component;
13325
+ if (ComponentProp === 'button' && (other.href || other.to)) {
13326
+ ComponentProp = LinkComponent;
13327
+ }
13328
+ const buttonProps = {};
13329
+ if (ComponentProp === 'button') {
13330
+ buttonProps.type = type === undefined ? 'button' : type;
13331
+ buttonProps.disabled = disabled;
13332
+ } else {
13333
+ if (!other.href && !other.to) {
13334
+ buttonProps.role = 'button';
13335
+ }
13336
+ if (disabled) {
13337
+ buttonProps['aria-disabled'] = disabled;
13338
+ }
13339
+ }
13340
+ const handleRef = useForkRef(ref, buttonRef);
13341
+ const ownerState = {
13342
+ ...props,
13343
+ centerRipple,
13344
+ component,
13345
+ disabled,
13346
+ disableRipple,
13347
+ disableTouchRipple,
13348
+ focusRipple,
13349
+ tabIndex,
13350
+ focusVisible
13351
+ };
13352
+ const classes = useUtilityClasses$1(ownerState);
13353
+ return /*#__PURE__*/jsxRuntimeExports.jsxs(ButtonBaseRoot, {
13354
+ as: ComponentProp,
13355
+ className: clsx(classes.root, className),
13356
+ ownerState: ownerState,
13357
+ onBlur: handleBlur,
13358
+ onClick: onClick,
13359
+ onContextMenu: handleContextMenu,
13360
+ onFocus: handleFocus,
13361
+ onKeyDown: handleKeyDown,
13362
+ onKeyUp: handleKeyUp,
13363
+ onMouseDown: handleMouseDown,
13364
+ onMouseLeave: handleMouseLeave,
13365
+ onMouseUp: handleMouseUp,
13366
+ onDragLeave: handleDragLeave,
13367
+ onTouchEnd: handleTouchEnd,
13368
+ onTouchMove: handleTouchMove,
13369
+ onTouchStart: handleTouchStart,
13370
+ ref: handleRef,
13371
+ tabIndex: disabled ? -1 : tabIndex,
13372
+ type: type,
13373
+ ...buttonProps,
13374
+ ...other,
13375
+ children: [children, enableTouchRipple ? /*#__PURE__*/jsxRuntimeExports.jsx(TouchRipple$1, {
13376
+ ref: handleRippleRef,
13377
+ center: centerRipple,
13378
+ ...TouchRippleProps
13379
+ }) : null]
13380
+ });
13381
+ });
13382
+ process.env.NODE_ENV !== "production" ? ButtonBase.propTypes /* remove-proptypes */ = {
13383
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
13384
+ // │ These PropTypes are generated from the TypeScript type definitions. │
13385
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
13386
+ // └─────────────────────────────────────────────────────────────────────┘
13387
+ /**
13388
+ * A ref for imperative actions.
13389
+ * It currently only supports `focusVisible()` action.
13390
+ */
13391
+ action: refType$1,
13392
+ /**
13393
+ * If `true`, the ripples are centered.
13394
+ * They won't start at the cursor interaction position.
13395
+ * @default false
13396
+ */
13397
+ centerRipple: PropTypes.bool,
13398
+ /**
13399
+ * The content of the component.
13400
+ */
13401
+ children: PropTypes.node,
13402
+ /**
13403
+ * Override or extend the styles applied to the component.
13404
+ */
13405
+ classes: PropTypes.object,
13406
+ /**
13407
+ * @ignore
13408
+ */
13409
+ className: PropTypes.string,
13410
+ /**
13411
+ * The component used for the root node.
13412
+ * Either a string to use a HTML element or a component.
13413
+ */
13414
+ component: elementTypeAcceptingRef$1,
13415
+ /**
13416
+ * If `true`, the component is disabled.
13417
+ * @default false
13418
+ */
13419
+ disabled: PropTypes.bool,
13420
+ /**
13421
+ * If `true`, the ripple effect is disabled.
13422
+ *
13423
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
13424
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
13425
+ * @default false
13426
+ */
13427
+ disableRipple: PropTypes.bool,
13428
+ /**
13429
+ * If `true`, the touch ripple effect is disabled.
13430
+ * @default false
13431
+ */
13432
+ disableTouchRipple: PropTypes.bool,
13433
+ /**
13434
+ * If `true`, the base button will have a keyboard focus ripple.
13435
+ * @default false
13436
+ */
13437
+ focusRipple: PropTypes.bool,
13438
+ /**
13439
+ * This prop can help identify which element has keyboard focus.
13440
+ * The class name will be applied when the element gains the focus through keyboard interaction.
13441
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
13442
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
13443
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
13444
+ * if needed.
13445
+ */
13446
+ focusVisibleClassName: PropTypes.string,
13447
+ /**
13448
+ * @ignore
13449
+ */
13450
+ href: PropTypes /* @typescript-to-proptypes-ignore */.any,
13451
+ /**
13452
+ * The component used to render a link when the `href` prop is provided.
13453
+ * @default 'a'
13454
+ */
13455
+ LinkComponent: PropTypes.elementType,
13456
+ /**
13457
+ * @ignore
13458
+ */
13459
+ onBlur: PropTypes.func,
13460
+ /**
13461
+ * @ignore
13462
+ */
13463
+ onClick: PropTypes.func,
13464
+ /**
13465
+ * @ignore
13466
+ */
13467
+ onContextMenu: PropTypes.func,
13468
+ /**
13469
+ * @ignore
13470
+ */
13471
+ onDragLeave: PropTypes.func,
13472
+ /**
13473
+ * @ignore
13474
+ */
13475
+ onFocus: PropTypes.func,
13476
+ /**
13477
+ * Callback fired when the component is focused with a keyboard.
13478
+ * We trigger a `onFocus` callback too.
13479
+ */
13480
+ onFocusVisible: PropTypes.func,
13481
+ /**
13482
+ * @ignore
13483
+ */
13484
+ onKeyDown: PropTypes.func,
13485
+ /**
13486
+ * @ignore
13487
+ */
13488
+ onKeyUp: PropTypes.func,
13489
+ /**
13490
+ * @ignore
13491
+ */
13492
+ onMouseDown: PropTypes.func,
13493
+ /**
13494
+ * @ignore
13495
+ */
13496
+ onMouseLeave: PropTypes.func,
13497
+ /**
13498
+ * @ignore
13499
+ */
13500
+ onMouseUp: PropTypes.func,
13501
+ /**
13502
+ * @ignore
13503
+ */
13504
+ onTouchEnd: PropTypes.func,
13505
+ /**
13506
+ * @ignore
13507
+ */
13508
+ onTouchMove: PropTypes.func,
13509
+ /**
13510
+ * @ignore
13511
+ */
13512
+ onTouchStart: PropTypes.func,
13513
+ /**
13514
+ * The system prop that allows defining system overrides as well as additional CSS styles.
13515
+ */
13516
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
13517
+ /**
13518
+ * @default 0
13519
+ */
13520
+ tabIndex: PropTypes.number,
13521
+ /**
13522
+ * Props applied to the `TouchRipple` element.
13523
+ */
13524
+ TouchRippleProps: PropTypes.object,
13525
+ /**
13526
+ * A ref that points to the `TouchRipple` element.
13527
+ */
13528
+ touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
13529
+ current: PropTypes.shape({
13530
+ pulsate: PropTypes.func.isRequired,
13531
+ start: PropTypes.func.isRequired,
13532
+ stop: PropTypes.func.isRequired
13533
+ })
13534
+ })]),
13535
+ /**
13536
+ * @ignore
13537
+ */
13538
+ type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])
13539
+ } : void 0;
13540
+ var ButtonBase$1 = ButtonBase;
13541
+
13542
+ /**
13543
+ * Type guard to check if the object has a "main" property of type string.
13544
+ *
13545
+ * @param obj - the object to check
13546
+ * @returns boolean
13547
+ */
13548
+ function hasCorrectMainProperty(obj) {
13549
+ return typeof obj.main === 'string';
13550
+ }
13551
+ /**
13552
+ * Checks if the object conforms to the SimplePaletteColorOptions type.
13553
+ * The minimum requirement is that the object has a "main" property of type string, this is always checked.
13554
+ * Optionally, you can pass additional properties to check.
13555
+ *
13556
+ * @param obj - The object to check
13557
+ * @param additionalPropertiesToCheck - Array containing "light", "dark", and/or "contrastText"
13558
+ * @returns boolean
13559
+ */
13560
+ function checkSimplePaletteColorValues(obj, additionalPropertiesToCheck = []) {
13561
+ if (!hasCorrectMainProperty(obj)) {
13562
+ return false;
13563
+ }
13564
+ for (const value of additionalPropertiesToCheck) {
13565
+ if (!obj.hasOwnProperty(value) || typeof obj[value] !== 'string') {
13566
+ return false;
13567
+ }
13568
+ }
13569
+ return true;
13570
+ }
13571
+
13572
+ /**
13573
+ * Creates a filter function used to filter simple palette color options.
13574
+ * The minimum requirement is that the object has a "main" property of type string, this is always checked.
13575
+ * Optionally, you can pass additional properties to check.
13576
+ *
13577
+ * @param additionalPropertiesToCheck - Array containing "light", "dark", and/or "contrastText"
13578
+ * @returns ([, value]: [any, PaletteColorOptions]) => boolean
13579
+ */
13580
+ function createSimplePaletteValueFilter(additionalPropertiesToCheck = []) {
13581
+ return ([, value]) => value && checkSimplePaletteColorValues(value, additionalPropertiesToCheck);
13582
+ }
13583
+
13584
+ function getIconButtonUtilityClass(slot) {
13585
+ return generateUtilityClass('MuiIconButton', slot);
13586
+ }
13587
+ const iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
13588
+ var iconButtonClasses$1 = iconButtonClasses;
13589
+
13590
+ const useUtilityClasses = ownerState => {
13591
+ const {
13592
+ classes,
13593
+ disabled,
13594
+ color,
13595
+ edge,
13596
+ size
13597
+ } = ownerState;
13598
+ const slots = {
13599
+ root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`]
13600
+ };
13601
+ return composeClasses(slots, getIconButtonUtilityClass, classes);
13602
+ };
13603
+ const IconButtonRoot = styled$1(ButtonBase$1, {
13604
+ name: 'MuiIconButton',
13605
+ slot: 'Root',
13606
+ overridesResolver: (props, styles) => {
13607
+ const {
13608
+ ownerState
13609
+ } = props;
13610
+ return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];
13611
+ }
13612
+ })(memoTheme$1(({
13613
+ theme
13614
+ }) => ({
13615
+ textAlign: 'center',
13616
+ flex: '0 0 auto',
13617
+ fontSize: theme.typography.pxToRem(24),
13618
+ padding: 8,
13619
+ borderRadius: '50%',
13620
+ color: (theme.vars || theme).palette.action.active,
13621
+ transition: theme.transitions.create('background-color', {
13622
+ duration: theme.transitions.duration.shortest
13623
+ }),
13624
+ variants: [{
13625
+ props: props => !props.disableRipple,
13626
+ style: {
13627
+ '--IconButton-hoverBg': theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
13628
+ '&:hover': {
13629
+ backgroundColor: 'var(--IconButton-hoverBg)',
13630
+ // Reset on touch devices, it doesn't add specificity
13631
+ '@media (hover: none)': {
13632
+ backgroundColor: 'transparent'
13633
+ }
13634
+ }
13635
+ }
13636
+ }, {
13637
+ props: {
13638
+ edge: 'start'
13639
+ },
13640
+ style: {
13641
+ marginLeft: -12
13642
+ }
13643
+ }, {
13644
+ props: {
13645
+ edge: 'start',
13646
+ size: 'small'
13647
+ },
13648
+ style: {
13649
+ marginLeft: -3
13650
+ }
13651
+ }, {
13652
+ props: {
13653
+ edge: 'end'
13654
+ },
13655
+ style: {
13656
+ marginRight: -12
13657
+ }
13658
+ }, {
13659
+ props: {
13660
+ edge: 'end',
13661
+ size: 'small'
13662
+ },
13663
+ style: {
13664
+ marginRight: -3
13665
+ }
13666
+ }]
13667
+ })), memoTheme$1(({
13668
+ theme
13669
+ }) => ({
13670
+ variants: [{
13671
+ props: {
13672
+ color: 'inherit'
13673
+ },
13674
+ style: {
13675
+ color: 'inherit'
13676
+ }
13677
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // check all the used fields in the style below
13678
+ .map(([color]) => ({
13679
+ props: {
13680
+ color
13681
+ },
13682
+ style: {
13683
+ color: (theme.vars || theme).palette[color].main
13684
+ }
13685
+ })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // check all the used fields in the style below
13686
+ .map(([color]) => ({
13687
+ props: {
13688
+ color
13689
+ },
13690
+ style: {
13691
+ '--IconButton-hoverBg': theme.vars ? `rgba(${(theme.vars || theme).palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha((theme.vars || theme).palette[color].main, theme.palette.action.hoverOpacity)
13692
+ }
13693
+ })), {
13694
+ props: {
13695
+ size: 'small'
13696
+ },
13697
+ style: {
13698
+ padding: 5,
13699
+ fontSize: theme.typography.pxToRem(18)
13700
+ }
13701
+ }, {
13702
+ props: {
13703
+ size: 'large'
13704
+ },
13705
+ style: {
13706
+ padding: 12,
13707
+ fontSize: theme.typography.pxToRem(28)
13708
+ }
13709
+ }],
13710
+ [`&.${iconButtonClasses$1.disabled}`]: {
13711
+ backgroundColor: 'transparent',
13712
+ color: (theme.vars || theme).palette.action.disabled
13713
+ }
13714
+ })));
13715
+
13716
+ /**
13717
+ * Refer to the [Icons](/material-ui/icons/) section of the documentation
13718
+ * regarding the available icon options.
13719
+ */
13720
+ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {
13721
+ const props = useDefaultProps({
13722
+ props: inProps,
13723
+ name: 'MuiIconButton'
13724
+ });
13725
+ const {
13726
+ edge = false,
13727
+ children,
13728
+ className,
13729
+ color = 'default',
13730
+ disabled = false,
13731
+ disableFocusRipple = false,
13732
+ size = 'medium',
13733
+ ...other
13734
+ } = props;
13735
+ const ownerState = {
13736
+ ...props,
13737
+ edge,
13738
+ color,
13739
+ disabled,
13740
+ disableFocusRipple,
13741
+ size
13742
+ };
13743
+ const classes = useUtilityClasses(ownerState);
13744
+ return /*#__PURE__*/jsxRuntimeExports.jsx(IconButtonRoot, {
13745
+ className: clsx(classes.root, className),
13746
+ centerRipple: true,
13747
+ focusRipple: !disableFocusRipple,
13748
+ disabled: disabled,
13749
+ ref: ref,
13750
+ ...other,
13751
+ ownerState: ownerState,
13752
+ children: children
13753
+ });
13754
+ });
13755
+ process.env.NODE_ENV !== "production" ? IconButton.propTypes /* remove-proptypes */ = {
13756
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
13757
+ // │ These PropTypes are generated from the TypeScript type definitions. │
13758
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
13759
+ // └─────────────────────────────────────────────────────────────────────┘
13760
+ /**
13761
+ * The icon to display.
13762
+ */
13763
+ children: chainPropTypes(PropTypes.node, props => {
13764
+ const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);
13765
+ if (found) {
13766
+ return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\n'));
13767
+ }
13768
+ return null;
13769
+ }),
13770
+ /**
13771
+ * Override or extend the styles applied to the component.
13772
+ */
13773
+ classes: PropTypes.object,
13774
+ /**
13775
+ * @ignore
13776
+ */
13777
+ className: PropTypes.string,
13778
+ /**
13779
+ * The color of the component.
13780
+ * It supports both default and custom theme colors, which can be added as shown in the
13781
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
13782
+ * @default 'default'
13783
+ */
13784
+ color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),
13785
+ /**
13786
+ * If `true`, the component is disabled.
13787
+ * @default false
13788
+ */
13789
+ disabled: PropTypes.bool,
13790
+ /**
13791
+ * If `true`, the keyboard focus ripple is disabled.
13792
+ * @default false
13793
+ */
13794
+ disableFocusRipple: PropTypes.bool,
13795
+ /**
13796
+ * If `true`, the ripple effect is disabled.
13797
+ *
13798
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
13799
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
13800
+ * @default false
13801
+ */
13802
+ disableRipple: PropTypes.bool,
13803
+ /**
13804
+ * If given, uses a negative margin to counteract the padding on one
13805
+ * side (this is often helpful for aligning the left or right
13806
+ * side of the icon with content above or below, without ruining the border
13807
+ * size and shape).
13808
+ * @default false
13809
+ */
13810
+ edge: PropTypes.oneOf(['end', 'start', false]),
13811
+ /**
13812
+ * The size of the component.
13813
+ * `small` is equivalent to the dense button styling.
13814
+ * @default 'medium'
13815
+ */
13816
+ size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),
13817
+ /**
13818
+ * The system prop that allows defining system overrides as well as additional CSS styles.
13819
+ */
13820
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
13821
+ } : void 0;
13822
+ var IconButton$1 = IconButton;
13823
+
13824
+ // CSS styles
11802
13825
  var LIGHT_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.4em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.5em;text-align:right}\n";
11803
13826
  var DARK_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.4em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.5em;text-align:right}\n";
11804
- var COPY_BUTTON_STYLES = {
11805
- position: 'absolute',
11806
- top: '8px',
11807
- right: '8px',
11808
- cursor: 'pointer',
11809
- padding: '4px',
11810
- borderRadius: '4px',
11811
- backgroundColor: 'rgba(255, 255, 255, 0.1)',
11812
- color: 'inherit',
11813
- border: 'none',
11814
- display: 'flex',
11815
- alignItems: 'center',
11816
- justifyContent: 'center',
11817
- zIndex: 1,
11818
- '&:hover': {
11819
- backgroundColor: 'rgba(255, 255, 255, 0.2)',
11820
- },
11821
- };
11822
13827
  var MarkdownTable = function (_a) {
11823
13828
  var _b = _a.inputData, inputData = _b === void 0 ? null : _b, _c = _a.hasHeader, hasHeader = _c === void 0 ? true : _c, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, _e = _a.isCompact, isCompact = _e === void 0 ? false : _e, _f = _a.hasTabs, hasTabs = _f === void 0 ? false : _f, _g = _a.hasPadding, hasPadding = _g === void 0 ? true : _g, _h = _a.canReplaceNewlines, canReplaceNewlines = _h === void 0 ? false : _h, className = _a.className, onTableCreate = _a.onTableCreate, _j = _a.theme, theme = _j === void 0 ? 'light' : _j, preStyle = _a.preStyle;
11824
13829
  var adjustColumnWidths = !isCompact;
@@ -11876,7 +13881,11 @@ var MarkdownTable = function (_a) {
11876
13881
  var handleCopy = function () {
11877
13882
  navigator.clipboard.writeText(markdownTableSyntax);
11878
13883
  };
11879
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: theme === 'light' ? LIGHT_THEME_CSS : DARK_THEME_CSS }), jsxRuntimeExports.jsxs("div", { style: { position: 'relative' }, children: [jsxRuntimeExports.jsx("button", { onClick: handleCopy, style: __assign(__assign({}, COPY_BUTTON_STYLES), { color: theme === 'light' ? '#000' : '#fff' }), title: "Copy to clipboard", "aria-label": "Copy to clipboard", children: jsxRuntimeExports.jsx(ContentCopyIcon, { fontSize: "small" }) }), jsxRuntimeExports.jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers ").concat(theme === 'dark' ? 'dark-theme' : ''), style: preStyle, children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] })] }));
13884
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: theme === 'light' ? LIGHT_THEME_CSS : DARK_THEME_CSS }), jsxRuntimeExports.jsxs("div", { style: { position: 'relative' }, children: [jsxRuntimeExports.jsx(IconButton$1, { onClick: handleCopy, sx: {
13885
+ position: 'absolute',
13886
+ top: '12px',
13887
+ right: '8px',
13888
+ }, title: "Copy to clipboard", "aria-label": "Copy to clipboard", size: "small", children: jsxRuntimeExports.jsx(ContentCopyIcon, { fontSize: "small" }) }), jsxRuntimeExports.jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers ").concat(theme === 'dark' ? 'dark-theme' : ''), style: preStyle, children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] })] }));
11880
13889
  };
11881
13890
 
11882
13891
  export { MarkdownTable };