@spothero/ui 24.0.0 → 24.0.4

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.cjs.js CHANGED
@@ -60,7 +60,7 @@ function _construct(t, e, r) {
60
60
  function _defineProperties$1(e, r) {
61
61
  for (var t = 0; t < r.length; t++) {
62
62
  var o = r[t];
63
- o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
63
+ o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$1(o.key), o);
64
64
  }
65
65
  }
66
66
  function _createClass$1(e, r, t) {
@@ -117,7 +117,7 @@ function _createForOfIteratorHelper(r, e) {
117
117
  };
118
118
  }
119
119
  function _defineProperty$3(e, r, t) {
120
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
120
+ return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, {
121
121
  value: t,
122
122
  enumerable: !0,
123
123
  configurable: !0,
@@ -240,8 +240,8 @@ function _objectWithoutProperties$1(e, t) {
240
240
  r,
241
241
  i = _objectWithoutPropertiesLoose$1(e, t);
242
242
  if (Object.getOwnPropertySymbols) {
243
- var n = Object.getOwnPropertySymbols(e);
244
- for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
243
+ var s = Object.getOwnPropertySymbols(e);
244
+ for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
245
245
  }
246
246
  return i;
247
247
  }
@@ -249,7 +249,7 @@ function _objectWithoutPropertiesLoose$1(r, e) {
249
249
  if (null == r) return {};
250
250
  var t = {};
251
251
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
252
- if (-1 !== e.indexOf(n)) continue;
252
+ if (e.includes(n)) continue;
253
253
  t[n] = r[n];
254
254
  }
255
255
  return t;
@@ -290,7 +290,7 @@ function _toArray(r) {
290
290
  function _toConsumableArray$1(r) {
291
291
  return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1();
292
292
  }
293
- function _toPrimitive(t, r) {
293
+ function _toPrimitive$1(t, r) {
294
294
  if ("object" != typeof t || !t) return t;
295
295
  var e = t[Symbol.toPrimitive];
296
296
  if (void 0 !== e) {
@@ -300,8 +300,8 @@ function _toPrimitive(t, r) {
300
300
  }
301
301
  return ("string" === r ? String : Number)(t);
302
302
  }
303
- function _toPropertyKey(t) {
304
- var i = _toPrimitive(t, "string");
303
+ function _toPropertyKey$1(t) {
304
+ var i = _toPrimitive$1(t, "string");
305
305
  return "symbol" == typeof i ? i : i + "";
306
306
  }
307
307
  function _typeof$1(o) {
@@ -343,8 +343,6 @@ function _wrapNativeSuper(t) {
343
343
  }, _wrapNativeSuper(t);
344
344
  }
345
345
 
346
- var isDevelopment$2 = false;
347
-
348
346
  /*
349
347
 
350
348
  Based off glamor's StyleSheet, thanks Sunil ❤️
@@ -367,9 +365,10 @@ styleSheet.flush()
367
365
  - empties the stylesheet of all its contents
368
366
 
369
367
  */
370
-
368
+ // $FlowFixMe
371
369
  function sheetForTag(tag) {
372
370
  if (tag.sheet) {
371
+ // $FlowFixMe
373
372
  return tag.sheet;
374
373
  } // this weirdness brought to you by firefox
375
374
 
@@ -377,12 +376,10 @@ function sheetForTag(tag) {
377
376
 
378
377
  for (var i = 0; i < document.styleSheets.length; i++) {
379
378
  if (document.styleSheets[i].ownerNode === tag) {
379
+ // $FlowFixMe
380
380
  return document.styleSheets[i];
381
381
  }
382
- } // this function should always return with a value
383
- // TS can't understand it though so we make it stop complaining here
384
-
385
- return undefined;
382
+ }
386
383
  }
387
384
  function createStyleElement(options) {
388
385
  var tag = document.createElement('style');
@@ -414,7 +411,7 @@ var StyleSheet = /*#__PURE__*/function () {
414
411
  _this.container.insertBefore(tag, before);
415
412
  _this.tags.push(tag);
416
413
  };
417
- this.isSpeedy = options.speedy === undefined ? !isDevelopment$2 : options.speedy;
414
+ this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;
418
415
  this.tags = [];
419
416
  this.ctr = 0;
420
417
  this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
@@ -437,25 +434,42 @@ var StyleSheet = /*#__PURE__*/function () {
437
434
  this._insertTag(createStyleElement(this));
438
435
  }
439
436
  var tag = this.tags[this.tags.length - 1];
437
+ if (process.env.NODE_ENV !== 'production') {
438
+ var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;
439
+ if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {
440
+ // this would only cause problem in speedy mode
441
+ // but we don't want enabling speedy to affect the observable behavior
442
+ // so we report this error at all times
443
+ console.error("You're attempting to insert the following rule:\n" + rule + '\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');
444
+ }
445
+ this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;
446
+ }
440
447
  if (this.isSpeedy) {
441
448
  var sheet = sheetForTag(tag);
442
449
  try {
443
450
  // this is the ultrafast version, works across browsers
444
451
  // the big drawback is that the css won't be editable in devtools
445
452
  sheet.insertRule(rule, sheet.cssRules.length);
446
- } catch (e) {}
453
+ } catch (e) {
454
+ if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {
455
+ console.error("There was a problem inserting the following rule: \"" + rule + "\"", e);
456
+ }
457
+ }
447
458
  } else {
448
459
  tag.appendChild(document.createTextNode(rule));
449
460
  }
450
461
  this.ctr++;
451
462
  };
452
463
  _proto.flush = function flush() {
464
+ // $FlowFixMe
453
465
  this.tags.forEach(function (tag) {
454
- var _tag$parentNode;
455
- return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
466
+ return tag.parentNode && tag.parentNode.removeChild(tag);
456
467
  });
457
468
  this.tags = [];
458
469
  this.ctr = 0;
470
+ if (process.env.NODE_ENV !== 'production') {
471
+ this._alreadyInsertedOrderInsensitiveRule = false;
472
+ }
459
473
  };
460
474
  return StyleSheet;
461
475
  }();
@@ -468,7 +482,6 @@ var RULESET = 'rule';
468
482
  var DECLARATION = 'decl';
469
483
  var IMPORT = '@import';
470
484
  var KEYFRAMES = '@keyframes';
471
- var LAYER = '@layer';
472
485
 
473
486
  /**
474
487
  * @param {number}
@@ -894,7 +907,6 @@ function parse$1(value, root, parent, rule, rules, rulesets, pseudo, points, dec
894
907
  scanning = 0;
895
908
  // ;
896
909
  case 59 + offset:
897
- if (ampersand == -1) characters = replace(characters, /\f/g, '');
898
910
  if (property > 0 && strlen(characters) - length) append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations);
899
911
  break;
900
912
  // @ ;
@@ -904,9 +916,8 @@ function parse$1(value, root, parent, rule, rules, rulesets, pseudo, points, dec
904
916
  default:
905
917
  append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets);
906
918
  if (character === 123) if (offset === 0) parse$1(characters, root, reference, reference, props, rulesets, length, points, children);else switch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {
907
- // d l m s
919
+ // d m s
908
920
  case 100:
909
- case 108:
910
921
  case 109:
911
922
  case 115:
912
923
  parse$1(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);
@@ -1009,8 +1020,6 @@ function serialize(children, callback) {
1009
1020
  */
1010
1021
  function stringify(element, index, children, callback) {
1011
1022
  switch (element.type) {
1012
- case LAYER:
1013
- if (element.children.length) break;
1014
1023
  case IMPORT:
1015
1024
  case DECLARATION:
1016
1025
  return element["return"] = element["return"] || element.value;
@@ -1048,11 +1057,11 @@ function rulesheet(callback) {
1048
1057
  }
1049
1058
 
1050
1059
  var weakMemoize$1 = function weakMemoize(func) {
1060
+ // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
1051
1061
  var cache = new WeakMap();
1052
1062
  return function (arg) {
1053
1063
  if (cache.has(arg)) {
1054
- // Use non-null assertion because we just checked that the cache `has` it
1055
- // This allows us to remove `undefined` from the return value
1064
+ // $FlowFixMe
1056
1065
  return cache.get(arg);
1057
1066
  }
1058
1067
  var ret = func(arg);
@@ -1061,7 +1070,7 @@ var weakMemoize$1 = function weakMemoize(func) {
1061
1070
  };
1062
1071
  };
1063
1072
 
1064
- function memoize$2(fn) {
1073
+ function memoize$3(fn) {
1065
1074
  var cache = Object.create(null);
1066
1075
  return function (arg) {
1067
1076
  if (cache[arg] === undefined) cache[arg] = fn(arg);
@@ -1069,7 +1078,6 @@ function memoize$2(fn) {
1069
1078
  };
1070
1079
  }
1071
1080
 
1072
- var isBrowser$8 = typeof document !== 'undefined';
1073
1081
  var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {
1074
1082
  var previous = 0;
1075
1083
  var character = 0;
@@ -1136,8 +1144,8 @@ var compat = function compat(element) {
1136
1144
  element.length < 1) {
1137
1145
  return;
1138
1146
  }
1139
- var value = element.value;
1140
- var parent = element.parent;
1147
+ var value = element.value,
1148
+ parent = element.parent;
1141
1149
  var isImplicitRule = element.column === parent.column && element.line === parent.line;
1142
1150
  while (parent.type !== 'rule') {
1143
1151
  parent = parent.parent;
@@ -1177,6 +1185,101 @@ var removeLabel = function removeLabel(element) {
1177
1185
  }
1178
1186
  }
1179
1187
  };
1188
+ var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';
1189
+ var isIgnoringComment = function isIgnoringComment(element) {
1190
+ return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;
1191
+ };
1192
+ var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {
1193
+ return function (element, index, children) {
1194
+ if (element.type !== 'rule' || cache.compat) return;
1195
+ var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
1196
+ if (unsafePseudoClasses) {
1197
+ var isNested = element.parent === children[0]; // in nested rules comments become children of the "auto-inserted" rule
1198
+ //
1199
+ // considering this input:
1200
+ // .a {
1201
+ // .b /* comm */ {}
1202
+ // color: hotpink;
1203
+ // }
1204
+ // we get output corresponding to this:
1205
+ // .a {
1206
+ // & {
1207
+ // /* comm */
1208
+ // color: hotpink;
1209
+ // }
1210
+ // .b {}
1211
+ // }
1212
+
1213
+ var commentContainer = isNested ? children[0].children :
1214
+ // global rule at the root level
1215
+ children;
1216
+ for (var i = commentContainer.length - 1; i >= 0; i--) {
1217
+ var node = commentContainer[i];
1218
+ if (node.line < element.line) {
1219
+ break;
1220
+ } // it is quite weird but comments are *usually* put at `column: element.column - 1`
1221
+ // so we seek *from the end* for the node that is earlier than the rule's `element` and check that
1222
+ // this will also match inputs like this:
1223
+ // .a {
1224
+ // /* comm */
1225
+ // .b {}
1226
+ // }
1227
+ //
1228
+ // but that is fine
1229
+ //
1230
+ // it would be the easiest to change the placement of the comment to be the first child of the rule:
1231
+ // .a {
1232
+ // .b { /* comm */ }
1233
+ // }
1234
+ // with such inputs we wouldn't have to search for the comment at all
1235
+ // TODO: consider changing this comment placement in the next major version
1236
+
1237
+ if (node.column < element.column) {
1238
+ if (isIgnoringComment(node)) {
1239
+ return;
1240
+ }
1241
+ break;
1242
+ }
1243
+ }
1244
+ unsafePseudoClasses.forEach(function (unsafePseudoClass) {
1245
+ console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\".");
1246
+ });
1247
+ }
1248
+ };
1249
+ };
1250
+ var isImportRule = function isImportRule(element) {
1251
+ return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
1252
+ };
1253
+ var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {
1254
+ for (var i = index - 1; i >= 0; i--) {
1255
+ if (!isImportRule(children[i])) {
1256
+ return true;
1257
+ }
1258
+ }
1259
+ return false;
1260
+ }; // use this to remove incorrect elements from further processing
1261
+ // so they don't get handed to the `sheet` (or anything else)
1262
+ // as that could potentially lead to additional logs which in turn could be overhelming to the user
1263
+
1264
+ var nullifyElement = function nullifyElement(element) {
1265
+ element.type = '';
1266
+ element.value = '';
1267
+ element["return"] = '';
1268
+ element.children = '';
1269
+ element.props = '';
1270
+ };
1271
+ var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {
1272
+ if (!isImportRule(element)) {
1273
+ return;
1274
+ }
1275
+ if (element.parent) {
1276
+ console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
1277
+ nullifyElement(element);
1278
+ } else if (isPrependedWithRegularRules(index, children)) {
1279
+ console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
1280
+ nullifyElement(element);
1281
+ }
1282
+ };
1180
1283
 
1181
1284
  /* eslint-disable no-fallthrough */
1182
1285
 
@@ -1382,15 +1485,22 @@ var prefixer = function prefixer(element, index, children, callback) {
1382
1485
  });
1383
1486
  }
1384
1487
  };
1385
- var getServerStylisCache = isBrowser$8 ? undefined : weakMemoize$1(function () {
1386
- return memoize$2(function () {
1387
- return {};
1488
+ var isBrowser$9 = typeof document !== 'undefined';
1489
+ var getServerStylisCache = isBrowser$9 ? undefined : weakMemoize$1(function () {
1490
+ return memoize$3(function () {
1491
+ var cache = {};
1492
+ return function (name) {
1493
+ return cache[name];
1494
+ };
1388
1495
  });
1389
1496
  });
1390
1497
  var defaultStylisPlugins = [prefixer];
1391
1498
  var createCache = function createCache(options) {
1392
1499
  var key = options.key;
1393
- if (isBrowser$8 && key === 'css') {
1500
+ if (process.env.NODE_ENV !== 'production' && !key) {
1501
+ throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\n" + "If multiple caches share the same key they might \"fight\" for each other's style elements.");
1502
+ }
1503
+ if (isBrowser$9 && key === 'css') {
1394
1504
  var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration
1395
1505
  // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)
1396
1506
  // note this very very intentionally targets all style elements regardless of the key to ensure
@@ -1412,16 +1522,23 @@ var createCache = function createCache(options) {
1412
1522
  });
1413
1523
  }
1414
1524
  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
1525
+ if (process.env.NODE_ENV !== 'production') {
1526
+ // $FlowFixMe
1527
+ if (/[^a-z-]/.test(key)) {
1528
+ throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed");
1529
+ }
1530
+ }
1415
1531
  var inserted = {};
1416
1532
  var container;
1417
1533
  var nodesToHydrate = [];
1418
- if (isBrowser$8) {
1534
+ if (isBrowser$9) {
1419
1535
  container = options.container || document.head;
1420
1536
  Array.prototype.forEach.call(
1421
1537
  // this means we will ignore elements which don't have a space in them which
1422
1538
  // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
1423
1539
  document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) {
1424
- var attrib = node.getAttribute("data-emotion").split(' ');
1540
+ var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe
1541
+
1425
1542
  for (var i = 1; i < attrib.length; i++) {
1426
1543
  inserted[attrib[i]] = true;
1427
1544
  }
@@ -1430,9 +1547,26 @@ var createCache = function createCache(options) {
1430
1547
  }
1431
1548
  var _insert;
1432
1549
  var omnipresentPlugins = [compat, removeLabel];
1433
- if (!getServerStylisCache) {
1550
+ if (process.env.NODE_ENV !== 'production') {
1551
+ omnipresentPlugins.push(createUnsafeSelectorsAlarm({
1552
+ get compat() {
1553
+ return cache.compat;
1554
+ }
1555
+ }), incorrectImportAlarm);
1556
+ }
1557
+ if (isBrowser$9) {
1434
1558
  var currentSheet;
1435
- var finalizingPlugins = [stringify, rulesheet(function (rule) {
1559
+ var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {
1560
+ if (!element.root) {
1561
+ if (element["return"]) {
1562
+ currentSheet.insert(element["return"]);
1563
+ } else if (element.value && element.type !== COMMENT) {
1564
+ // insert empty rule in non-production environments
1565
+ // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet
1566
+ currentSheet.insert(element.value + "{}");
1567
+ }
1568
+ }
1569
+ } : rulesheet(function (rule) {
1436
1570
  currentSheet.insert(rule);
1437
1571
  })];
1438
1572
  var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
@@ -1441,6 +1575,13 @@ var createCache = function createCache(options) {
1441
1575
  };
1442
1576
  _insert = function insert(selector, serialized, sheet, shouldCache) {
1443
1577
  currentSheet = sheet;
1578
+ if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {
1579
+ currentSheet = {
1580
+ insert: function insert(rule) {
1581
+ sheet.insert(rule + serialized.map);
1582
+ }
1583
+ };
1584
+ }
1444
1585
  stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
1445
1586
  if (shouldCache) {
1446
1587
  cache.inserted[serialized.name] = true;
@@ -1451,7 +1592,8 @@ var createCache = function createCache(options) {
1451
1592
  var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));
1452
1593
  var _stylis = function _stylis(styles) {
1453
1594
  return serialize(compile(styles), _serializer);
1454
- };
1595
+ }; // $FlowFixMe
1596
+
1455
1597
  var serverStylisCache = getServerStylisCache(stylisPlugins)(key);
1456
1598
  var getRules = function getRules(selector, serialized) {
1457
1599
  var name = serialized.name;
@@ -1470,6 +1612,12 @@ var createCache = function createCache(options) {
1470
1612
  if (shouldCache) {
1471
1613
  cache.inserted[name] = true;
1472
1614
  }
1615
+ if (
1616
+ // using === development instead of !== production
1617
+ // because if people do ssr in tests, the source maps showing up would be annoying
1618
+ process.env.NODE_ENV === 'development' && serialized.map !== undefined) {
1619
+ return rules + serialized.map;
1620
+ }
1473
1621
  return rules;
1474
1622
  } else {
1475
1623
  // in compat mode, we put the styles on the inserted cache so
@@ -1507,13 +1655,18 @@ var createCache = function createCache(options) {
1507
1655
  };
1508
1656
 
1509
1657
  function _extends$6() {
1510
- return _extends$6 = Object.assign ? Object.assign.bind() : function (n) {
1511
- for (var e = 1; e < arguments.length; e++) {
1512
- var t = arguments[e];
1513
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
1658
+ _extends$6 = Object.assign ? Object.assign.bind() : function (target) {
1659
+ for (var i = 1; i < arguments.length; i++) {
1660
+ var source = arguments[i];
1661
+ for (var key in source) {
1662
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1663
+ target[key] = source[key];
1664
+ }
1665
+ }
1514
1666
  }
1515
- return n;
1516
- }, _extends$6.apply(null, arguments);
1667
+ return target;
1668
+ };
1669
+ return _extends$6.apply(this, arguments);
1517
1670
  }
1518
1671
 
1519
1672
  var weakMemoize = function weakMemoize(func) {
@@ -1929,13 +2082,13 @@ function requireHoistNonReactStatics_cjs() {
1929
2082
 
1930
2083
  requireHoistNonReactStatics_cjs();
1931
2084
 
1932
- var isBrowser$7 = typeof document !== 'undefined';
2085
+ var isBrowser$8 = typeof document !== 'undefined';
1933
2086
  function getRegisteredStyles(registered, registeredStyles, classNames) {
1934
2087
  var rawClassName = '';
1935
2088
  classNames.split(' ').forEach(function (className) {
1936
2089
  if (registered[className] !== undefined) {
1937
2090
  registeredStyles.push(registered[className] + ";");
1938
- } else if (className) {
2091
+ } else {
1939
2092
  rawClassName += className + " ";
1940
2093
  }
1941
2094
  });
@@ -1954,7 +2107,7 @@ var registerStyles = function registerStyles(cache, serialized, isStringTag) {
1954
2107
  // in node since emotion-server relies on whether a style is in
1955
2108
  // the registered cache to know whether a style is global or not
1956
2109
  // also, note that this check will be dead code eliminated in the browser
1957
- isBrowser$7 === false && cache.compat !== undefined) && cache.registered[className] === undefined) {
2110
+ isBrowser$8 === false && cache.compat !== undefined) && cache.registered[className] === undefined) {
1958
2111
  cache.registered[className] = serialized.styles;
1959
2112
  }
1960
2113
  };
@@ -1966,12 +2119,12 @@ var insertStyles = function insertStyles(cache, serialized, isStringTag) {
1966
2119
  var current = serialized;
1967
2120
  do {
1968
2121
  var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
1969
- if (!isBrowser$7 && maybeStyles !== undefined) {
2122
+ if (!isBrowser$8 && maybeStyles !== undefined) {
1970
2123
  stylesForSSR += maybeStyles;
1971
2124
  }
1972
2125
  current = current.next;
1973
2126
  } while (current !== undefined);
1974
- if (!isBrowser$7 && stylesForSSR.length !== 0) {
2127
+ if (!isBrowser$8 && stylesForSSR.length !== 0) {
1975
2128
  return stylesForSSR;
1976
2129
  }
1977
2130
  }
@@ -2022,7 +2175,6 @@ function murmur2(str) {
2022
2175
 
2023
2176
  var unitlessKeys = {
2024
2177
  animationIterationCount: 1,
2025
- aspectRatio: 1,
2026
2178
  borderImageOutset: 1,
2027
2179
  borderImageSlice: 1,
2028
2180
  borderImageWidth: 1,
@@ -2054,7 +2206,6 @@ var unitlessKeys = {
2054
2206
  opacity: 1,
2055
2207
  order: 1,
2056
2208
  orphans: 1,
2057
- scale: 1,
2058
2209
  tabSize: 1,
2059
2210
  widows: 1,
2060
2211
  zIndex: 1,
@@ -2071,7 +2222,8 @@ var unitlessKeys = {
2071
2222
  strokeWidth: 1
2072
2223
  };
2073
2224
 
2074
- var isDevelopment$1 = false;
2225
+ var ILLEGAL_ESCAPE_SEQUENCE_ERROR$1 = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
2226
+ var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
2075
2227
  var hyphenateRegex = /[A-Z]|^ms/g;
2076
2228
  var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
2077
2229
  var isCustomProperty = function isCustomProperty(property) {
@@ -2080,7 +2232,7 @@ var isCustomProperty = function isCustomProperty(property) {
2080
2232
  var isProcessableValue = function isProcessableValue(value) {
2081
2233
  return value != null && typeof value !== 'boolean';
2082
2234
  };
2083
- var processStyleName = /* #__PURE__ */memoize$2(function (styleName) {
2235
+ var processStyleName = /* #__PURE__ */memoize$3(function (styleName) {
2084
2236
  return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();
2085
2237
  });
2086
2238
  var processStyleValue = function processStyleValue(key, value) {
@@ -2105,14 +2257,39 @@ var processStyleValue = function processStyleValue(key, value) {
2105
2257
  }
2106
2258
  return value;
2107
2259
  };
2260
+ if (process.env.NODE_ENV !== 'production') {
2261
+ var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/;
2262
+ var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];
2263
+ var oldProcessStyleValue = processStyleValue;
2264
+ var msPattern = /^-ms-/;
2265
+ var hyphenPattern = /-(.)/g;
2266
+ var hyphenatedCache = {};
2267
+ processStyleValue = function processStyleValue(key, value) {
2268
+ if (key === 'content') {
2269
+ if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) {
2270
+ throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`");
2271
+ }
2272
+ }
2273
+ var processed = oldProcessStyleValue(key, value);
2274
+ if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {
2275
+ hyphenatedCache[key] = true;
2276
+ console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {
2277
+ return _char.toUpperCase();
2278
+ }) + "?");
2279
+ }
2280
+ return processed;
2281
+ };
2282
+ }
2108
2283
  var noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';
2109
2284
  function handleInterpolation(mergedProps, registered, interpolation) {
2110
2285
  if (interpolation == null) {
2111
2286
  return '';
2112
2287
  }
2113
- var componentSelector = interpolation;
2114
- if (componentSelector.__emotion_styles !== undefined) {
2115
- return componentSelector;
2288
+ if (interpolation.__emotion_styles !== undefined) {
2289
+ if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {
2290
+ throw new Error(noComponentSelectorMessage);
2291
+ }
2292
+ return interpolation;
2116
2293
  }
2117
2294
  switch (_typeof$1(interpolation)) {
2118
2295
  case 'boolean':
@@ -2121,18 +2298,16 @@ function handleInterpolation(mergedProps, registered, interpolation) {
2121
2298
  }
2122
2299
  case 'object':
2123
2300
  {
2124
- var keyframes = interpolation;
2125
- if (keyframes.anim === 1) {
2301
+ if (interpolation.anim === 1) {
2126
2302
  cursor = {
2127
- name: keyframes.name,
2128
- styles: keyframes.styles,
2303
+ name: interpolation.name,
2304
+ styles: interpolation.styles,
2129
2305
  next: cursor
2130
2306
  };
2131
- return keyframes.name;
2307
+ return interpolation.name;
2132
2308
  }
2133
- var serializedStyles = interpolation;
2134
- if (serializedStyles.styles !== undefined) {
2135
- var next = serializedStyles.next;
2309
+ if (interpolation.styles !== undefined) {
2310
+ var next = interpolation.next;
2136
2311
  if (next !== undefined) {
2137
2312
  // not the most efficient thing ever but this is a pretty rare case
2138
2313
  // and there will be very few iterations of this generally
@@ -2145,7 +2320,10 @@ function handleInterpolation(mergedProps, registered, interpolation) {
2145
2320
  next = next.next;
2146
2321
  }
2147
2322
  }
2148
- var styles = serializedStyles.styles + ";";
2323
+ var styles = interpolation.styles + ";";
2324
+ if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {
2325
+ styles += interpolation.map;
2326
+ }
2149
2327
  return styles;
2150
2328
  }
2151
2329
  return createStringFromObject(mergedProps, registered, interpolation);
@@ -2157,17 +2335,31 @@ function handleInterpolation(mergedProps, registered, interpolation) {
2157
2335
  var result = interpolation(mergedProps);
2158
2336
  cursor = previousCursor;
2159
2337
  return handleInterpolation(mergedProps, registered, result);
2338
+ } else if (process.env.NODE_ENV !== 'production') {
2339
+ console.error('Functions that are interpolated in css calls will be stringified.\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\n' + 'It can be called directly with props or interpolated in a styled call like this\n' + "let SomeComponent = styled('div')`${dynamicStyle}`");
2160
2340
  }
2161
2341
  break;
2162
2342
  }
2343
+ case 'string':
2344
+ if (process.env.NODE_ENV !== 'production') {
2345
+ var matched = [];
2346
+ var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {
2347
+ var fakeVarName = "animation" + matched.length;
2348
+ matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`");
2349
+ return "${" + fakeVarName + "}";
2350
+ });
2351
+ if (matched.length) {
2352
+ console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\n' + 'Instead of doing this:\n\n' + [].concat(matched, ["`" + replaced + "`"]).join('\n') + '\n\nYou should wrap it with `css` like this:\n\n' + ("css`" + replaced + "`"));
2353
+ }
2354
+ }
2355
+ break;
2163
2356
  } // finalize string values (regular strings and functions interpolated into css calls)
2164
2357
 
2165
- var asString = interpolation;
2166
2358
  if (registered == null) {
2167
- return asString;
2359
+ return interpolation;
2168
2360
  }
2169
- var cached = registered[asString];
2170
- return cached !== undefined ? cached : asString;
2361
+ var cached = registered[interpolation];
2362
+ return cached !== undefined ? cached : interpolation;
2171
2363
  }
2172
2364
  function createStringFromObject(mergedProps, registered, obj) {
2173
2365
  var string = '';
@@ -2176,37 +2368,39 @@ function createStringFromObject(mergedProps, registered, obj) {
2176
2368
  string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
2177
2369
  }
2178
2370
  } else {
2179
- for (var key in obj) {
2180
- var value = obj[key];
2371
+ for (var _key in obj) {
2372
+ var value = obj[_key];
2181
2373
  if (_typeof$1(value) !== 'object') {
2182
- var asString = value;
2183
- if (registered != null && registered[asString] !== undefined) {
2184
- string += key + "{" + registered[asString] + "}";
2185
- } else if (isProcessableValue(asString)) {
2186
- string += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
2374
+ if (registered != null && registered[value] !== undefined) {
2375
+ string += _key + "{" + registered[value] + "}";
2376
+ } else if (isProcessableValue(value)) {
2377
+ string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
2187
2378
  }
2188
2379
  } else {
2189
- if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment$1) {
2380
+ if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {
2190
2381
  throw new Error(noComponentSelectorMessage);
2191
2382
  }
2192
2383
  if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {
2193
2384
  for (var _i = 0; _i < value.length; _i++) {
2194
2385
  if (isProcessableValue(value[_i])) {
2195
- string += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
2386
+ string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
2196
2387
  }
2197
2388
  }
2198
2389
  } else {
2199
2390
  var interpolated = handleInterpolation(mergedProps, registered, value);
2200
- switch (key) {
2391
+ switch (_key) {
2201
2392
  case 'animation':
2202
2393
  case 'animationName':
2203
2394
  {
2204
- string += processStyleName(key) + ":" + interpolated + ";";
2395
+ string += processStyleName(_key) + ":" + interpolated + ";";
2205
2396
  break;
2206
2397
  }
2207
2398
  default:
2208
2399
  {
2209
- string += key + "{" + interpolated + "}";
2400
+ if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {
2401
+ console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);
2402
+ }
2403
+ string += _key + "{" + interpolated + "}";
2210
2404
  }
2211
2405
  }
2212
2406
  }
@@ -2215,11 +2409,15 @@ function createStringFromObject(mergedProps, registered, obj) {
2215
2409
  }
2216
2410
  return string;
2217
2411
  }
2218
- var labelPattern = /label:\s*([^\s;{]+)\s*(;|$)/g; // this is the cursor for keyframes
2412
+ var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
2413
+ var sourceMapPattern;
2414
+ if (process.env.NODE_ENV !== 'production') {
2415
+ sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g;
2416
+ } // this is the cursor for keyframes
2219
2417
  // keyframes are stored on the SerializedStyles object as a linked list
2220
2418
 
2221
2419
  var cursor;
2222
- function serializeStyles(args, registered, mergedProps) {
2420
+ var serializeStyles = function serializeStyles(args, registered, mergedProps) {
2223
2421
  if (args.length === 1 && _typeof$1(args[0]) === 'object' && args[0] !== null && args[0].styles !== undefined) {
2224
2422
  return args[0];
2225
2423
  }
@@ -2231,16 +2429,27 @@ function serializeStyles(args, registered, mergedProps) {
2231
2429
  stringMode = false;
2232
2430
  styles += handleInterpolation(mergedProps, registered, strings);
2233
2431
  } else {
2234
- var asTemplateStringsArr = strings;
2235
- styles += asTemplateStringsArr[0];
2432
+ if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {
2433
+ console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR$1);
2434
+ }
2435
+ styles += strings[0];
2236
2436
  } // we start at 1 since we've already handled the first arg
2237
2437
 
2238
2438
  for (var i = 1; i < args.length; i++) {
2239
2439
  styles += handleInterpolation(mergedProps, registered, args[i]);
2240
2440
  if (stringMode) {
2241
- var templateStringsArr = strings;
2242
- styles += templateStringsArr[i];
2441
+ if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {
2442
+ console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR$1);
2443
+ }
2444
+ styles += strings[i];
2243
2445
  }
2446
+ }
2447
+ var sourceMap;
2448
+ if (process.env.NODE_ENV !== 'production') {
2449
+ styles = styles.replace(sourceMapPattern, function (match) {
2450
+ sourceMap = match;
2451
+ return '';
2452
+ });
2244
2453
  } // using a global regex with .exec is stateful so lastIndex has to be reset each time
2245
2454
 
2246
2455
  labelPattern.lastIndex = 0;
@@ -2248,18 +2457,32 @@ function serializeStyles(args, registered, mergedProps) {
2248
2457
  var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5
2249
2458
 
2250
2459
  while ((match = labelPattern.exec(styles)) !== null) {
2251
- identifierName += '-' + match[1];
2460
+ identifierName += '-' +
2461
+ // $FlowFixMe we know it's not null
2462
+ match[1];
2252
2463
  }
2253
2464
  var name = murmur2(styles) + identifierName;
2465
+ if (process.env.NODE_ENV !== 'production') {
2466
+ // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)
2467
+ return {
2468
+ name: name,
2469
+ styles: styles,
2470
+ map: sourceMap,
2471
+ next: cursor,
2472
+ toString: function toString() {
2473
+ return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
2474
+ }
2475
+ };
2476
+ }
2254
2477
  return {
2255
2478
  name: name,
2256
2479
  styles: styles,
2257
2480
  next: cursor
2258
2481
  };
2259
- }
2482
+ };
2260
2483
 
2261
- var isBrowser$6 = typeof document !== 'undefined';
2262
- var hasOwnProperty = Object.prototype.hasOwnProperty;
2484
+ var isBrowser$7 = typeof document !== 'undefined';
2485
+ var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
2263
2486
  var EmotionCacheContext$1 = /* #__PURE__ */React.createContext(
2264
2487
  // we're doing this to avoid preconstruct's dead code elimination in this one case
2265
2488
  // because this module is primarily intended for the browser and node
@@ -2279,7 +2502,7 @@ var withEmotionCache$1 = function withEmotionCache(func) {
2279
2502
  return func(props, cache, ref);
2280
2503
  });
2281
2504
  };
2282
- if (!isBrowser$6) {
2505
+ if (!isBrowser$7) {
2283
2506
  withEmotionCache$1 = function withEmotionCache(func) {
2284
2507
  return function (props) {
2285
2508
  var cache = React.useContext(EmotionCacheContext$1);
@@ -2330,8 +2553,8 @@ var ThemeProvider$2 = function ThemeProvider(props) {
2330
2553
  }, props.children);
2331
2554
  };
2332
2555
  var typePropName$1 = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
2333
- var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
2334
- var Emotion$2 = /* #__PURE__ */withEmotionCache$1(function (props, cache, ref) {
2556
+ var labelPropName$1 = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
2557
+ var Emotion$1 = /* #__PURE__ */withEmotionCache$1(function (props, cache, ref) {
2335
2558
  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works
2336
2559
  // not passing the registered cache to serializeStyles because it would
2337
2560
  // make certain babel optimisations not possible
@@ -2349,7 +2572,7 @@ var Emotion$2 = /* #__PURE__ */withEmotionCache$1(function (props, cache, ref) {
2349
2572
  }
2350
2573
  var serialized = serializeStyles(registeredStyles, undefined, typeof cssProp === 'function' || Array.isArray(cssProp) ? React.useContext(ThemeContext$1) : undefined);
2351
2574
  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {
2352
- var labelFromStack = props[labelPropName];
2575
+ var labelFromStack = props[labelPropName$1];
2353
2576
  if (labelFromStack) {
2354
2577
  serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);
2355
2578
  }
@@ -2358,14 +2581,14 @@ var Emotion$2 = /* #__PURE__ */withEmotionCache$1(function (props, cache, ref) {
2358
2581
  className += cache.key + "-" + serialized.name;
2359
2582
  var newProps = {};
2360
2583
  for (var key in props) {
2361
- if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName$1 && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
2584
+ if (hasOwnProperty$1.call(props, key) && key !== 'css' && key !== typePropName$1 && (process.env.NODE_ENV === 'production' || key !== labelPropName$1)) {
2362
2585
  newProps[key] = props[key];
2363
2586
  }
2364
2587
  }
2365
2588
  newProps.ref = ref;
2366
2589
  newProps.className = className;
2367
2590
  var ele = /*#__PURE__*/React.createElement(type, newProps);
2368
- if (!isBrowser$6 && rules !== undefined) {
2591
+ if (!isBrowser$7 && rules !== undefined) {
2369
2592
  var _ref;
2370
2593
  var serializedNames = serialized.name;
2371
2594
  var next = serialized.next;
@@ -2380,10 +2603,10 @@ var Emotion$2 = /* #__PURE__ */withEmotionCache$1(function (props, cache, ref) {
2380
2603
  return ele;
2381
2604
  });
2382
2605
  if (process.env.NODE_ENV !== 'production') {
2383
- Emotion$2.displayName = 'EmotionCssPropInternal';
2606
+ Emotion$1.displayName = 'EmotionCssPropInternal';
2384
2607
  }
2385
2608
 
2386
- var pkg = {
2609
+ var pkg$1 = {
2387
2610
  name: "@emotion/react",
2388
2611
  version: "11.1.5",
2389
2612
  main: "dist/emotion-react.cjs.js",
@@ -2443,23 +2666,23 @@ var pkg = {
2443
2666
  umdName: "emotionReact"
2444
2667
  }
2445
2668
  };
2446
- var warnedAboutCssPropForGlobal = false; // maintain place over rerenders.
2669
+ var warnedAboutCssPropForGlobal$1 = false; // maintain place over rerenders.
2447
2670
  // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
2448
2671
  // initial client-side render from SSR, use place of hydrating tag
2449
2672
 
2450
- var Global = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2451
- if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && (
2673
+ var Global$1 = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2674
+ if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal$1 && (
2452
2675
  // check for className as well since the user is
2453
2676
  // probably using the custom createElement which
2454
2677
  // means it will be turned into a className prop
2455
2678
  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used
2456
2679
  props.className || props.css)) {
2457
2680
  console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?");
2458
- warnedAboutCssPropForGlobal = true;
2681
+ warnedAboutCssPropForGlobal$1 = true;
2459
2682
  }
2460
2683
  var styles = props.styles;
2461
2684
  var serialized = serializeStyles([styles], undefined, typeof styles === 'function' || Array.isArray(styles) ? React.useContext(ThemeContext$1) : undefined);
2462
- if (!isBrowser$6) {
2685
+ if (!isBrowser$7) {
2463
2686
  var _ref;
2464
2687
  var serializedNames = serialized.name;
2465
2688
  var serializedStyles = serialized.styles;
@@ -2524,7 +2747,7 @@ var Global = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2524
2747
  return null;
2525
2748
  });
2526
2749
  if (process.env.NODE_ENV !== 'production') {
2527
- Global.displayName = 'EmotionGlobal';
2750
+ Global$1.displayName = 'EmotionGlobal';
2528
2751
  }
2529
2752
  function css$5() {
2530
2753
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -2606,7 +2829,7 @@ var ClassNames$1 = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2606
2829
  args[_key] = arguments[_key];
2607
2830
  }
2608
2831
  var serialized = serializeStyles(args, cache.registered);
2609
- if (isBrowser$6) {
2832
+ if (isBrowser$7) {
2610
2833
  insertStyles(cache, serialized, false);
2611
2834
  } else {
2612
2835
  var res = insertStyles(cache, serialized, false);
@@ -2614,7 +2837,7 @@ var ClassNames$1 = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2614
2837
  rules += res;
2615
2838
  }
2616
2839
  }
2617
- if (!isBrowser$6) {
2840
+ if (!isBrowser$7) {
2618
2841
  serializedHashes += " " + serialized.name;
2619
2842
  }
2620
2843
  return cache.key + "-" + serialized.name;
@@ -2635,7 +2858,7 @@ var ClassNames$1 = /* #__PURE__ */withEmotionCache$1(function (props, cache) {
2635
2858
  };
2636
2859
  var ele = props.children(content);
2637
2860
  hasRendered = true;
2638
- if (!isBrowser$6 && rules.length !== 0) {
2861
+ if (!isBrowser$7 && rules.length !== 0) {
2639
2862
  var _ref;
2640
2863
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("style", (_ref = {}, _ref["data-emotion"] = cache.key + " " + serializedHashes.substring(1), _ref.dangerouslySetInnerHTML = {
2641
2864
  __html: rules
@@ -2647,16 +2870,16 @@ if (process.env.NODE_ENV !== 'production') {
2647
2870
  ClassNames$1.displayName = 'EmotionClassNames';
2648
2871
  }
2649
2872
  if (process.env.NODE_ENV !== 'production') {
2650
- var isBrowser$5 = typeof document !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock
2873
+ var isBrowser$6 = typeof document !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock
2651
2874
 
2652
2875
  var isJest = typeof jest !== 'undefined';
2653
- if (isBrowser$5 && !isJest) {
2654
- var globalContext = isBrowser$5 ? window : global;
2655
- var globalKey = "__EMOTION_REACT_" + pkg.version.split('.')[0] + "__";
2656
- if (globalContext[globalKey]) {
2876
+ if (isBrowser$6 && !isJest) {
2877
+ var globalContext$1 = isBrowser$6 ? window : global;
2878
+ var globalKey$1 = "__EMOTION_REACT_" + pkg$1.version.split('.')[0] + "__";
2879
+ if (globalContext$1[globalKey$1]) {
2657
2880
  console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');
2658
2881
  }
2659
- globalContext[globalKey] = true;
2882
+ globalContext$1[globalKey$1] = true;
2660
2883
  }
2661
2884
  }
2662
2885
 
@@ -3851,14 +4074,14 @@ var _templateObject$2, _templateObject2$1;
3851
4074
  var css$4 = String.raw;
3852
4075
  var vhPolyfill = css$4(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral$1(["\n :root,\n :host {\n --chakra-vh: 100vh;\n }\n\n @supports (height: -webkit-fill-available) {\n :root,\n :host {\n --chakra-vh: -webkit-fill-available;\n }\n }\n\n @supports (height: -moz-fill-available) {\n :root,\n :host {\n --chakra-vh: -moz-fill-available;\n }\n }\n\n @supports (height: 100dvh) {\n :root,\n :host {\n --chakra-vh: 100dvh;\n }\n }\n"])));
3853
4076
  var CSSPolyfill = function CSSPolyfill() {
3854
- return /* @__PURE__ */jsxRuntimeExports.jsx(Global, {
4077
+ return /* @__PURE__ */jsxRuntimeExports.jsx(Global$1, {
3855
4078
  styles: vhPolyfill
3856
4079
  });
3857
4080
  };
3858
4081
  var CSSReset = function CSSReset(_ref) {
3859
4082
  var _ref$scope = _ref.scope,
3860
4083
  scope = _ref$scope === void 0 ? "" : _ref$scope;
3861
- return /* @__PURE__ */jsxRuntimeExports.jsx(Global, {
4084
+ return /* @__PURE__ */jsxRuntimeExports.jsx(Global$1, {
3862
4085
  styles: css$4(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral$1(["\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n font-family: system-ui, sans-serif;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n touch-action: manipulation;\n }\n\n body {\n position: relative;\n min-height: 100%;\n margin: 0;\n font-feature-settings: \"kern\";\n }\n\n ", " :where(*, *::before, *::after) {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n word-wrap: break-word;\n }\n\n main {\n display: block;\n }\n\n ", " hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n\n ", " :where(pre, code, kbd,samp) {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n\n ", " a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n\n ", " abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n ", " :where(b, strong) {\n font-weight: bold;\n }\n\n ", " small {\n font-size: 80%;\n }\n\n ", " :where(sub,sup) {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n ", " sub {\n bottom: -0.25em;\n }\n\n ", " sup {\n top: -0.5em;\n }\n\n ", " img {\n border-style: none;\n }\n\n ", " :where(button, input, optgroup, select, textarea) {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n ", " :where(button, input) {\n overflow: visible;\n }\n\n ", " :where(button, select) {\n text-transform: none;\n }\n\n ", " :where(\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner\n ) {\n border-style: none;\n padding: 0;\n }\n\n ", " fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n ", " legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n ", " progress {\n vertical-align: baseline;\n }\n\n ", " textarea {\n overflow: auto;\n }\n\n ", " :where([type=\"checkbox\"], [type=\"radio\"]) {\n box-sizing: border-box;\n padding: 0;\n }\n\n ", " input[type=\"number\"]::-webkit-inner-spin-button,\n ", " input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n\n ", " input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n\n ", " input[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n ", " input[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n\n ", " ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n ", " details {\n display: block;\n }\n\n ", " summary {\n display: list-item;\n }\n\n template {\n display: none;\n }\n\n [hidden] {\n display: none !important;\n }\n\n ", " :where(\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre\n ) {\n margin: 0;\n }\n\n ", " button {\n background: transparent;\n padding: 0;\n }\n\n ", " fieldset {\n margin: 0;\n padding: 0;\n }\n\n ", " :where(ol, ul) {\n margin: 0;\n padding: 0;\n }\n\n ", " textarea {\n resize: vertical;\n }\n\n ", " :where(button, [role=\"button\"]) {\n cursor: pointer;\n }\n\n ", " button::-moz-focus-inner {\n border: 0 !important;\n }\n\n ", " table {\n border-collapse: collapse;\n }\n\n ", " :where(h1, h2, h3, h4, h5, h6) {\n font-size: inherit;\n font-weight: inherit;\n }\n\n ", " :where(button, input, optgroup, select, textarea) {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n\n ", " :where(img, svg, video, canvas, audio, iframe, embed, object) {\n display: block;\n }\n\n ", " :where(img, video) {\n max-width: 100%;\n height: auto;\n }\n\n [data-js-focus-visible]\n :focus:not([data-focus-visible-added]):not(\n [data-focus-visible-disabled]\n ) {\n outline: none;\n box-shadow: none;\n }\n\n ", " select::-ms-expand {\n display: none;\n }\n\n ", "\n "])), scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, scope, vhPolyfill)
3863
4086
  });
3864
4087
  };
@@ -6892,7 +7115,7 @@ function get$1(obj, path, fallback, index) {
6892
7115
  }
6893
7116
  return obj === void 0 ? fallback : obj;
6894
7117
  }
6895
- var memoize$1 = function memoize(fn) {
7118
+ var memoize$2 = function memoize(fn) {
6896
7119
  var cache = /* @__PURE__ */new WeakMap();
6897
7120
  var memoizedFn = function memoizedFn(obj, path, fallback, index) {
6898
7121
  if (typeof obj === "undefined") {
@@ -6911,7 +7134,7 @@ var memoize$1 = function memoize(fn) {
6911
7134
  };
6912
7135
  return memoizedFn;
6913
7136
  };
6914
- var memoizedGet$1 = memoize$1(get$1);
7137
+ var memoizedGet$1 = memoize$2(get$1);
6915
7138
 
6916
7139
  // src/config/others.ts
6917
7140
  var srOnly = {
@@ -12125,7 +12348,7 @@ function mergeThemeCustomizer(source, override, key, object) {
12125
12348
  function canUseDOM$1() {
12126
12349
  return !!(typeof window !== "undefined" && window.document && window.document.createElement);
12127
12350
  }
12128
- var isBrowser$4 = /* @__PURE__ */canUseDOM$1();
12351
+ var isBrowser$5 = /* @__PURE__ */canUseDOM$1();
12129
12352
 
12130
12353
  function omit$4(object, keys) {
12131
12354
  var result = {};
@@ -12143,7 +12366,7 @@ function get(obj, path, fallback, index) {
12143
12366
  }
12144
12367
  return obj === void 0 ? fallback : obj;
12145
12368
  }
12146
- var memoize = function memoize(fn) {
12369
+ var memoize$1 = function memoize(fn) {
12147
12370
  var cache = /* @__PURE__ */new WeakMap();
12148
12371
  var memoizedFn = function memoizedFn(obj, path, fallback, index) {
12149
12372
  if (typeof obj === "undefined") {
@@ -12162,7 +12385,7 @@ var memoize = function memoize(fn) {
12162
12385
  };
12163
12386
  return memoizedFn;
12164
12387
  };
12165
- var memoizedGet = memoize(get);
12388
+ var memoizedGet = memoize$1(get);
12166
12389
  function objectFilter(object, fn) {
12167
12390
  var result = {};
12168
12391
  Object.keys(object).forEach(function (key) {
@@ -12412,10 +12635,18 @@ function compact(object) {
12412
12635
  return clone;
12413
12636
  }
12414
12637
 
12638
+ function memoize(fn) {
12639
+ var cache = Object.create(null);
12640
+ return function (arg) {
12641
+ if (cache[arg] === undefined) cache[arg] = fn(arg);
12642
+ return cache[arg];
12643
+ };
12644
+ }
12645
+
12415
12646
  // eslint-disable-next-line no-undef
12416
12647
  var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
12417
12648
 
12418
- var isPropValid = /* #__PURE__ */memoize$2(function (prop) {
12649
+ var isPropValid = /* #__PURE__ */memoize(function (prop) {
12419
12650
  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
12420
12651
  /* o */ && prop.charCodeAt(1) === 110
12421
12652
  /* n */ && prop.charCodeAt(2) < 91;
@@ -12447,7 +12678,7 @@ var composeShouldForwardProps = function composeShouldForwardProps(tag, options,
12447
12678
  return shouldForwardProp;
12448
12679
  };
12449
12680
  var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
12450
- var isBrowser$3 = typeof document !== 'undefined';
12681
+ var isBrowser$4 = typeof document !== 'undefined';
12451
12682
  var createStyled = function createStyled(tag, options) {
12452
12683
  if (process.env.NODE_ENV !== 'production') {
12453
12684
  if (tag === undefined) {
@@ -12524,7 +12755,7 @@ var createStyled = function createStyled(tag, options) {
12524
12755
  newProps.className = className;
12525
12756
  newProps.ref = ref;
12526
12757
  var ele = /*#__PURE__*/React.createElement(finalTag, newProps);
12527
- if (!isBrowser$3 && rules !== undefined) {
12758
+ if (!isBrowser$4 && rules !== undefined) {
12528
12759
  var _ref;
12529
12760
  var serializedNames = serialized.name;
12530
12761
  var next = serialized.next;
@@ -12687,7 +12918,7 @@ function CSSVars(_ref) {
12687
12918
  var _ref$root = _ref.root,
12688
12919
  root = _ref$root === void 0 ? ":host, :root" : _ref$root;
12689
12920
  var selector = [root, "[data-theme]"].join(",");
12690
- return /* @__PURE__ */jsxRuntimeExports.jsx(Global, {
12921
+ return /* @__PURE__ */jsxRuntimeExports.jsx(Global$1, {
12691
12922
  styles: function styles(theme) {
12692
12923
  return _defineProperty$3({}, selector, theme.__cssVars);
12693
12924
  }
@@ -12703,7 +12934,7 @@ var _createContext$m = createContext({
12703
12934
  function GlobalStyle() {
12704
12935
  var _useColorMode = useColorMode(),
12705
12936
  colorMode = _useColorMode.colorMode;
12706
- return /* @__PURE__ */jsxRuntimeExports.jsx(Global, {
12937
+ return /* @__PURE__ */jsxRuntimeExports.jsx(Global$1, {
12707
12938
  styles: function styles(theme) {
12708
12939
  var styleObjectOrFn = memoizedGet(theme, "styles.global");
12709
12940
  var globalStyles = runIfFn(styleObjectOrFn, {
@@ -12862,7 +13093,7 @@ function getToastListStyle(position) {
12862
13093
  };
12863
13094
  }
12864
13095
 
12865
- function useCallbackRef$2(callback) {
13096
+ function useCallbackRef$3(callback) {
12866
13097
  var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
12867
13098
  var callbackRef = React.useRef(callback);
12868
13099
  React.useEffect(function () {
@@ -12879,7 +13110,7 @@ function useCallbackRef$2(callback) {
12879
13110
  }
12880
13111
 
12881
13112
  function useTimeout(callback, delay) {
12882
- var fn = useCallbackRef$2(callback);
13113
+ var fn = useCallbackRef$3(callback);
12883
13114
  React.useEffect(function () {
12884
13115
  if (delay == null) return void 0;
12885
13116
  var timeoutId = null;
@@ -12931,9 +13162,9 @@ var MotionContext = /*#__PURE__*/React.createContext({});
12931
13162
  */
12932
13163
  var PresenceContext = /*#__PURE__*/React.createContext(null);
12933
13164
 
12934
- var isBrowser$2 = typeof document !== "undefined";
13165
+ var isBrowser$3 = typeof document !== "undefined";
12935
13166
 
12936
- var useIsomorphicLayoutEffect$1 = isBrowser$2 ? React.useLayoutEffect : React.useEffect;
13167
+ var useIsomorphicLayoutEffect$1 = isBrowser$3 ? React.useLayoutEffect : React.useEffect;
12937
13168
 
12938
13169
  var LazyContext = /*#__PURE__*/React.createContext({
12939
13170
  strict: false
@@ -13159,7 +13390,7 @@ function createMotionComponent(_ref) {
13159
13390
  var isStatic = configAndProps.isStatic;
13160
13391
  var context = useCreateMotionContext(props);
13161
13392
  var visualState = useVisualState(props, isStatic);
13162
- if (!isStatic && isBrowser$2) {
13393
+ if (!isStatic && isBrowser$3) {
13163
13394
  /**
13164
13395
  * Create a VisualElement for this component. A VisualElement provides a common
13165
13396
  * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as
@@ -21719,7 +21950,7 @@ var checkAndConvertChangedValueTypes = function checkAndConvertChangedValueTypes
21719
21950
  // Reapply original values
21720
21951
  visualElement.render();
21721
21952
  // Restore scroll position
21722
- if (isBrowser$2 && scrollY !== null) {
21953
+ if (isBrowser$3 && scrollY !== null) {
21723
21954
  window.scrollTo({
21724
21955
  top: scrollY
21725
21956
  });
@@ -21770,7 +22001,7 @@ var hasReducedMotionListener = {
21770
22001
 
21771
22002
  function initPrefersReducedMotion() {
21772
22003
  hasReducedMotionListener.current = true;
21773
- if (!isBrowser$2) return;
22004
+ if (!isBrowser$3) return;
21774
22005
  if (window.matchMedia) {
21775
22006
  var motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
21776
22007
  var setReducedMotionPreferences = function setReducedMotionPreferences() {
@@ -23913,7 +24144,7 @@ var DescendantsManager = /*#__PURE__*/_createClass$1(function DescendantsManager
23913
24144
  });
23914
24145
  });
23915
24146
 
23916
- function assignRef$1(ref, value) {
24147
+ function assignRef$2(ref, value) {
23917
24148
  if (ref == null) return;
23918
24149
  if (typeof ref === "function") {
23919
24150
  ref(value);
@@ -23931,11 +24162,11 @@ function mergeRefs() {
23931
24162
  }
23932
24163
  return function (node) {
23933
24164
  refs.forEach(function (ref) {
23934
- assignRef$1(ref, node);
24165
+ assignRef$2(ref, node);
23935
24166
  });
23936
24167
  };
23937
24168
  }
23938
- function useMergeRefs$1() {
24169
+ function useMergeRefs$2() {
23939
24170
  for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
23940
24171
  refs[_key2] = arguments[_key2];
23941
24172
  }
@@ -24059,15 +24290,15 @@ function useControllableState$1(props) {
24059
24290
  shouldUpdate = _props$shouldUpdate === void 0 ? function (prev, next) {
24060
24291
  return prev !== next;
24061
24292
  } : _props$shouldUpdate;
24062
- var onChangeProp = useCallbackRef$2(onChange);
24063
- var shouldUpdateProp = useCallbackRef$2(shouldUpdate);
24293
+ var onChangeProp = useCallbackRef$3(onChange);
24294
+ var shouldUpdateProp = useCallbackRef$3(shouldUpdate);
24064
24295
  var _useState = React.useState(defaultValue),
24065
24296
  _useState2 = _slicedToArray$1(_useState, 2),
24066
24297
  uncontrolledState = _useState2[0],
24067
24298
  setUncontrolledState = _useState2[1];
24068
24299
  var controlled = valueProp !== void 0;
24069
24300
  var value = controlled ? valueProp : uncontrolledState;
24070
- var setValue = useCallbackRef$2(function (next) {
24301
+ var setValue = useCallbackRef$3(function (next) {
24071
24302
  var setter = next;
24072
24303
  var nextValue = typeof next === "function" ? setter(value) : next;
24073
24304
  if (!shouldUpdateProp(value, nextValue)) {
@@ -25521,7 +25752,7 @@ var Button$2 = forwardRef(function (props, ref) {
25521
25752
  children: children
25522
25753
  };
25523
25754
  return /* @__PURE__ */jsxRuntimeExports.jsxs(chakra.button, _objectSpread2$1(_objectSpread2$1({
25524
- ref: useMergeRefs$1(ref, _ref),
25755
+ ref: useMergeRefs$2(ref, _ref),
25525
25756
  as: as,
25526
25757
  type: type != null ? type : defaultType,
25527
25758
  "data-active": dataAttr(isActive),
@@ -25583,7 +25814,7 @@ function useCheckboxGroup() {
25583
25814
  onChange = props.onChange,
25584
25815
  isDisabled = props.isDisabled,
25585
25816
  isNative = props.isNative;
25586
- var onChangeProp = useCallbackRef$2(onChange);
25817
+ var onChangeProp = useCallbackRef$3(onChange);
25587
25818
  var _useControllableState = useControllableState$1({
25588
25819
  value: valueProp,
25589
25820
  defaultValue: defaultValue || [],
@@ -26176,9 +26407,9 @@ function useCheckbox() {
26176
26407
  ariaInvalid = props["aria-invalid"],
26177
26408
  rest = _objectWithoutProperties$1(props, _excluded$1H);
26178
26409
  var htmlProps = omit$2(rest, ["isDisabled", "isReadOnly", "isRequired", "isInvalid", "id", "onBlur", "onFocus", "aria-describedby"]);
26179
- var onChangeProp = useCallbackRef$2(onChange);
26180
- var onBlurProp = useCallbackRef$2(onBlur);
26181
- var onFocusProp = useCallbackRef$2(onFocus);
26410
+ var onChangeProp = useCallbackRef$3(onChange);
26411
+ var onBlurProp = useCallbackRef$3(onBlur);
26412
+ var onFocusProp = useCallbackRef$3(onFocus);
26182
26413
  var _useState = React.useState(false),
26183
26414
  _useState2 = _slicedToArray$1(_useState, 2),
26184
26415
  isFocusVisible = _useState2[0],
@@ -26523,7 +26754,7 @@ var Checkbox$1 = forwardRef(function Checkbox2(props, ref) {
26523
26754
  Checkbox$1.displayName = "Checkbox";
26524
26755
 
26525
26756
  function useEventListener(target, event, handler, options) {
26526
- var listener = useCallbackRef$2(handler);
26757
+ var listener = useCallbackRef$3(handler);
26527
26758
  React.useEffect(function () {
26528
26759
  var node = typeof target === "function" ? target() : target != null ? target : document;
26529
26760
  if (!handler || !node) return;
@@ -26584,14 +26815,17 @@ function useFocusOnPointerDown(props) {
26584
26815
  });
26585
26816
  }
26586
26817
 
26587
- function _objectWithoutPropertiesLoose(r, e) {
26588
- if (null == r) return {};
26589
- var t = {};
26590
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
26591
- if (-1 !== e.indexOf(n)) continue;
26592
- t[n] = r[n];
26818
+ function _objectWithoutPropertiesLoose(source, excluded) {
26819
+ if (source == null) return {};
26820
+ var target = {};
26821
+ var sourceKeys = Object.keys(source);
26822
+ var key, i;
26823
+ for (i = 0; i < sourceKeys.length; i++) {
26824
+ key = sourceKeys[i];
26825
+ if (excluded.indexOf(key) >= 0) continue;
26826
+ target[key] = source[key];
26593
26827
  }
26594
- return t;
26828
+ return target;
26595
26829
  }
26596
26830
 
26597
26831
  /**
@@ -26630,7 +26864,7 @@ var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';
26630
26864
  * assignRef(refObject, "refValue");
26631
26865
  * assignRef(refFn, "refValue");
26632
26866
  */
26633
- function assignRef(ref, value) {
26867
+ function assignRef$1(ref, value) {
26634
26868
  if (typeof ref === 'function') {
26635
26869
  ref(value);
26636
26870
  } else if (ref) {
@@ -26653,7 +26887,7 @@ function assignRef(ref, value) {
26653
26887
  * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref
26654
26888
  * @returns {MutableRefObject}
26655
26889
  */
26656
- function useCallbackRef$1(initialValue, callback) {
26890
+ function useCallbackRef$2(initialValue, callback) {
26657
26891
  var ref = React.useState(function () {
26658
26892
  return {
26659
26893
  // value
@@ -26696,10 +26930,10 @@ var currentValues = new WeakMap();
26696
26930
  * return <div ref={domRef}>...</div>
26697
26931
  * }
26698
26932
  */
26699
- function useMergeRefs(refs, defaultValue) {
26700
- var callbackRef = useCallbackRef$1(null, function (newValue) {
26933
+ function useMergeRefs$1(refs, defaultValue) {
26934
+ var callbackRef = useCallbackRef$2(null, function (newValue) {
26701
26935
  return refs.forEach(function (ref) {
26702
- return assignRef(ref, newValue);
26936
+ return assignRef$1(ref, newValue);
26703
26937
  });
26704
26938
  });
26705
26939
  // handle refs changes - added or removed
@@ -26711,12 +26945,12 @@ function useMergeRefs(refs, defaultValue) {
26711
26945
  var current_1 = callbackRef.current;
26712
26946
  prevRefs_1.forEach(function (ref) {
26713
26947
  if (!nextRefs_1.has(ref)) {
26714
- assignRef(ref, null);
26948
+ assignRef$1(ref, null);
26715
26949
  }
26716
26950
  });
26717
26951
  nextRefs_1.forEach(function (ref) {
26718
26952
  if (!prevRefs_1.has(ref)) {
26719
- assignRef(ref, current_1);
26953
+ assignRef$1(ref, current_1);
26720
26954
  }
26721
26955
  });
26722
26956
  }
@@ -26770,12 +27004,12 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
26770
27004
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
26771
27005
  };
26772
27006
 
26773
- function ItoI(a) {
27007
+ function ItoI$1(a) {
26774
27008
  return a;
26775
27009
  }
26776
- function innerCreateMedium(defaults, middleware) {
27010
+ function innerCreateMedium$1(defaults, middleware) {
26777
27011
  if (middleware === void 0) {
26778
- middleware = ItoI;
27012
+ middleware = ItoI$1;
26779
27013
  }
26780
27014
  var buffer = [];
26781
27015
  var assigned = false;
@@ -26848,16 +27082,16 @@ function innerCreateMedium(defaults, middleware) {
26848
27082
  }
26849
27083
  function createMedium(defaults, middleware) {
26850
27084
  if (middleware === void 0) {
26851
- middleware = ItoI;
27085
+ middleware = ItoI$1;
26852
27086
  }
26853
- return innerCreateMedium(defaults, middleware);
27087
+ return innerCreateMedium$1(defaults, middleware);
26854
27088
  }
26855
27089
  // eslint-disable-next-line @typescript-eslint/ban-types
26856
- function createSidecarMedium(options) {
27090
+ function createSidecarMedium$1(options) {
26857
27091
  if (options === void 0) {
26858
27092
  options = {};
26859
27093
  }
26860
- var medium = innerCreateMedium(null);
27094
+ var medium = innerCreateMedium$1(null);
26861
27095
  medium.options = _assign({
26862
27096
  async: true,
26863
27097
  ssr: false
@@ -26865,24 +27099,6 @@ function createSidecarMedium(options) {
26865
27099
  return medium;
26866
27100
  }
26867
27101
 
26868
- var SideCar$1 = function SideCar(_a) {
26869
- var sideCar = _a.sideCar,
26870
- rest = __rest(_a, ["sideCar"]);
26871
- if (!sideCar) {
26872
- throw new Error('Sidecar: please provide `sideCar` property to import the right car');
26873
- }
26874
- var Target = sideCar.read();
26875
- if (!Target) {
26876
- throw new Error('Sidecar medium not found');
26877
- }
26878
- return /*#__PURE__*/React__namespace.createElement(Target, _assign({}, rest));
26879
- };
26880
- SideCar$1.isSideCarExport = true;
26881
- function exportSidecar(medium, exported) {
26882
- medium.useMedium(exported);
26883
- return SideCar$1;
26884
- }
26885
-
26886
27102
  var mediumFocus = createMedium({}, function (_ref) {
26887
27103
  var target = _ref.target,
26888
27104
  currentTarget = _ref.currentTarget;
@@ -26893,7 +27109,7 @@ var mediumFocus = createMedium({}, function (_ref) {
26893
27109
  });
26894
27110
  var mediumBlur = createMedium();
26895
27111
  var mediumEffect = createMedium();
26896
- var mediumSidecar = createSidecarMedium({
27112
+ var mediumSidecar = createSidecarMedium$1({
26897
27113
  async: true,
26898
27114
  ssr: typeof document !== 'undefined'
26899
27115
  });
@@ -27007,7 +27223,7 @@ var FocusLock$1 = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, pare
27007
27223
  var lockProps = _extends$6((_extends2 = {}, _extends2[FOCUS_DISABLED] = disabled && 'disabled', _extends2[FOCUS_GROUP] = group, _extends2), containerProps);
27008
27224
  var hasLeadingGuards = noFocusGuards !== true;
27009
27225
  var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';
27010
- var mergedRef = useMergeRefs([parentRef, setObserveNode]);
27226
+ var mergedRef = useMergeRefs$1([parentRef, setObserveNode]);
27011
27227
  var focusScopeValue = React.useMemo(function () {
27012
27228
  return {
27013
27229
  observed: observed,
@@ -27078,14 +27294,18 @@ FocusLock$1.propTypes = process.env.NODE_ENV !== "production" ? {
27078
27294
  sideCar: PropTypes.any.isRequired
27079
27295
  } : {};
27080
27296
 
27081
- function _setPrototypeOf(t, e) {
27082
- return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
27083
- return t.__proto__ = e, t;
27084
- }, _setPrototypeOf(t, e);
27297
+ function _setPrototypeOf(o, p) {
27298
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
27299
+ o.__proto__ = p;
27300
+ return o;
27301
+ };
27302
+ return _setPrototypeOf(o, p);
27085
27303
  }
27086
27304
 
27087
- function _inheritsLoose(t, o) {
27088
- t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
27305
+ function _inheritsLoose(subClass, superClass) {
27306
+ subClass.prototype = Object.create(superClass.prototype);
27307
+ subClass.prototype.constructor = subClass;
27308
+ _setPrototypeOf(subClass, superClass);
27089
27309
  }
27090
27310
 
27091
27311
  function _typeof(o) {
@@ -27098,29 +27318,35 @@ function _typeof(o) {
27098
27318
  }, _typeof(o);
27099
27319
  }
27100
27320
 
27101
- function toPrimitive(t, r) {
27102
- if ("object" != _typeof(t) || !t) return t;
27103
- var e = t[Symbol.toPrimitive];
27104
- if (void 0 !== e) {
27105
- var i = e.call(t, r || "default");
27106
- if ("object" != _typeof(i)) return i;
27321
+ function _toPrimitive(input, hint) {
27322
+ if (_typeof(input) !== "object" || input === null) return input;
27323
+ var prim = input[Symbol.toPrimitive];
27324
+ if (prim !== undefined) {
27325
+ var res = prim.call(input, hint);
27326
+ if (_typeof(res) !== "object") return res;
27107
27327
  throw new TypeError("@@toPrimitive must return a primitive value.");
27108
27328
  }
27109
- return ("string" === r ? String : Number)(t);
27329
+ return (String )(input);
27110
27330
  }
27111
27331
 
27112
- function toPropertyKey(t) {
27113
- var i = toPrimitive(t, "string");
27114
- return "symbol" == _typeof(i) ? i : i + "";
27332
+ function _toPropertyKey(arg) {
27333
+ var key = _toPrimitive(arg, "string");
27334
+ return _typeof(key) === "symbol" ? key : String(key);
27115
27335
  }
27116
27336
 
27117
- function _defineProperty$2(e, r, t) {
27118
- return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
27119
- value: t,
27120
- enumerable: !0,
27121
- configurable: !0,
27122
- writable: !0
27123
- }) : e[r] = t, e;
27337
+ function _defineProperty$2(obj, key, value) {
27338
+ key = _toPropertyKey(key);
27339
+ if (key in obj) {
27340
+ Object.defineProperty(obj, key, {
27341
+ value: value,
27342
+ enumerable: true,
27343
+ configurable: true,
27344
+ writable: true
27345
+ });
27346
+ } else {
27347
+ obj[key] = value;
27348
+ }
27349
+ return obj;
27124
27350
  }
27125
27351
 
27126
27352
  function withSideEffect(reducePropsToState, handleStateChangeOnClient) {
@@ -28570,9 +28796,9 @@ var FocusLock = function FocusLock(props) {
28570
28796
  };
28571
28797
  FocusLock.displayName = "FocusLock";
28572
28798
 
28573
- var useSafeLayoutEffect = isBrowser$4 ? React.useLayoutEffect : React.useEffect;
28799
+ var useSafeLayoutEffect = isBrowser$5 ? React.useLayoutEffect : React.useEffect;
28574
28800
 
28575
- function useCallbackRef(fn) {
28801
+ function useCallbackRef$1(fn) {
28576
28802
  var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
28577
28803
  var ref = React.useRef(fn);
28578
28804
  useSafeLayoutEffect(function () {
@@ -28608,8 +28834,8 @@ function useControllableState(props) {
28608
28834
  shouldUpdate = _props$shouldUpdate === void 0 ? function (prev, next) {
28609
28835
  return prev !== next;
28610
28836
  } : _props$shouldUpdate;
28611
- var onChangeProp = useCallbackRef(onChange);
28612
- var shouldUpdateProp = useCallbackRef(shouldUpdate);
28837
+ var onChangeProp = useCallbackRef$1(onChange);
28838
+ var shouldUpdateProp = useCallbackRef$1(shouldUpdate);
28613
28839
  var _useState = React.useState(defaultValue),
28614
28840
  _useState2 = _slicedToArray$1(_useState, 2),
28615
28841
  valueState = _useState2[0],
@@ -28635,8 +28861,8 @@ function useDisclosure$1() {
28635
28861
  onOpenProp = props.onOpen,
28636
28862
  isOpenProp = props.isOpen,
28637
28863
  idProp = props.id;
28638
- var onOpenPropCallbackRef = useCallbackRef(onOpenProp);
28639
- var onClosePropCallbackRef = useCallbackRef(onCloseProp);
28864
+ var onOpenPropCallbackRef = useCallbackRef$1(onOpenProp);
28865
+ var onClosePropCallbackRef = useCallbackRef$1(onCloseProp);
28640
28866
  var _useState = React.useState(props.defaultIsOpen || false),
28641
28867
  _useState2 = _slicedToArray$1(_useState, 2),
28642
28868
  isOpenState = _useState2[0],
@@ -32263,8 +32489,8 @@ function useDisclosure() {
32263
32489
  onOpenProp = props.onOpen,
32264
32490
  isOpenProp = props.isOpen,
32265
32491
  idProp = props.id;
32266
- var handleOpen = useCallbackRef$2(onOpenProp);
32267
- var handleClose = useCallbackRef$2(onCloseProp);
32492
+ var handleOpen = useCallbackRef$3(onOpenProp);
32493
+ var handleClose = useCallbackRef$3(onCloseProp);
32268
32494
  var _useState = React.useState(props.defaultIsOpen || false),
32269
32495
  _useState2 = _slicedToArray$1(_useState, 2),
32270
32496
  isOpenState = _useState2[0],
@@ -32327,7 +32553,7 @@ function useOutsideClick(props) {
32327
32553
  handler = props.handler,
32328
32554
  _props$enabled = props.enabled,
32329
32555
  enabled = _props$enabled === void 0 ? true : _props$enabled;
32330
- var savedHandler = useCallbackRef$2(handler);
32556
+ var savedHandler = useCallbackRef$3(handler);
32331
32557
  var stateRef = React.useRef({
32332
32558
  isPointerDown: false,
32333
32559
  ignoreEmulatedMouseEvents: false
@@ -33689,6 +33915,198 @@ var noScrollbarsClassName = 'with-scroll-bars-hidden';
33689
33915
  */
33690
33916
  var removedBarSizeVariable = '--removed-body-scroll-bar-size';
33691
33917
 
33918
+ /**
33919
+ * Assigns a value for a given ref, no matter of the ref format
33920
+ * @param {RefObject} ref - a callback function or ref object
33921
+ * @param value - a new value
33922
+ *
33923
+ * @see https://github.com/theKashey/use-callback-ref#assignref
33924
+ * @example
33925
+ * const refObject = useRef();
33926
+ * const refFn = (ref) => {....}
33927
+ *
33928
+ * assignRef(refObject, "refValue");
33929
+ * assignRef(refFn, "refValue");
33930
+ */
33931
+ function assignRef(ref, value) {
33932
+ if (typeof ref === 'function') {
33933
+ ref(value);
33934
+ } else if (ref) {
33935
+ ref.current = value;
33936
+ }
33937
+ return ref;
33938
+ }
33939
+
33940
+ /**
33941
+ * creates a MutableRef with ref change callback
33942
+ * @param initialValue - initial ref value
33943
+ * @param {Function} callback - a callback to run when value changes
33944
+ *
33945
+ * @example
33946
+ * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);
33947
+ * ref.current = 1;
33948
+ * // prints 0 -> 1
33949
+ *
33950
+ * @see https://reactjs.org/docs/hooks-reference.html#useref
33951
+ * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref
33952
+ * @returns {MutableRefObject}
33953
+ */
33954
+ function useCallbackRef(initialValue, callback) {
33955
+ var ref = React.useState(function () {
33956
+ return {
33957
+ // value
33958
+ value: initialValue,
33959
+ // last callback
33960
+ callback: callback,
33961
+ // "memoized" public interface
33962
+ facade: {
33963
+ get current() {
33964
+ return ref.value;
33965
+ },
33966
+ set current(value) {
33967
+ var last = ref.value;
33968
+ if (last !== value) {
33969
+ ref.value = value;
33970
+ ref.callback(value, last);
33971
+ }
33972
+ }
33973
+ }
33974
+ };
33975
+ })[0];
33976
+ // update callback
33977
+ ref.callback = callback;
33978
+ return ref.facade;
33979
+ }
33980
+
33981
+ /**
33982
+ * Merges two or more refs together providing a single interface to set their value
33983
+ * @param {RefObject|Ref} refs
33984
+ * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}
33985
+ *
33986
+ * @see {@link mergeRefs} a version without buit-in memoization
33987
+ * @see https://github.com/theKashey/use-callback-ref#usemergerefs
33988
+ * @example
33989
+ * const Component = React.forwardRef((props, ref) => {
33990
+ * const ownRef = useRef();
33991
+ * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together
33992
+ * return <div ref={domRef}>...</div>
33993
+ * }
33994
+ */
33995
+ function useMergeRefs(refs, defaultValue) {
33996
+ return useCallbackRef(null, function (newValue) {
33997
+ return refs.forEach(function (ref) {
33998
+ return assignRef(ref, newValue);
33999
+ });
34000
+ });
34001
+ }
34002
+
34003
+ function ItoI(a) {
34004
+ return a;
34005
+ }
34006
+ function innerCreateMedium(defaults, middleware) {
34007
+ if (middleware === void 0) {
34008
+ middleware = ItoI;
34009
+ }
34010
+ var buffer = [];
34011
+ var assigned = false;
34012
+ var medium = {
34013
+ read: function read() {
34014
+ if (assigned) {
34015
+ throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');
34016
+ }
34017
+ if (buffer.length) {
34018
+ return buffer[buffer.length - 1];
34019
+ }
34020
+ return defaults;
34021
+ },
34022
+ useMedium: function useMedium(data) {
34023
+ var item = middleware(data, assigned);
34024
+ buffer.push(item);
34025
+ return function () {
34026
+ buffer = buffer.filter(function (x) {
34027
+ return x !== item;
34028
+ });
34029
+ };
34030
+ },
34031
+ assignSyncMedium: function assignSyncMedium(cb) {
34032
+ assigned = true;
34033
+ while (buffer.length) {
34034
+ var cbs = buffer;
34035
+ buffer = [];
34036
+ cbs.forEach(cb);
34037
+ }
34038
+ buffer = {
34039
+ push: function push(x) {
34040
+ return cb(x);
34041
+ },
34042
+ filter: function filter() {
34043
+ return buffer;
34044
+ }
34045
+ };
34046
+ },
34047
+ assignMedium: function assignMedium(cb) {
34048
+ assigned = true;
34049
+ var pendingQueue = [];
34050
+ if (buffer.length) {
34051
+ var cbs = buffer;
34052
+ buffer = [];
34053
+ cbs.forEach(cb);
34054
+ pendingQueue = buffer;
34055
+ }
34056
+ var executeQueue = function executeQueue() {
34057
+ var cbs = pendingQueue;
34058
+ pendingQueue = [];
34059
+ cbs.forEach(cb);
34060
+ };
34061
+ var cycle = function cycle() {
34062
+ return Promise.resolve().then(executeQueue);
34063
+ };
34064
+ cycle();
34065
+ buffer = {
34066
+ push: function push(x) {
34067
+ pendingQueue.push(x);
34068
+ cycle();
34069
+ },
34070
+ filter: function filter(_filter) {
34071
+ pendingQueue = pendingQueue.filter(_filter);
34072
+ return buffer;
34073
+ }
34074
+ };
34075
+ }
34076
+ };
34077
+ return medium;
34078
+ }
34079
+ // eslint-disable-next-line @typescript-eslint/ban-types
34080
+ function createSidecarMedium(options) {
34081
+ if (options === void 0) {
34082
+ options = {};
34083
+ }
34084
+ var medium = innerCreateMedium(null);
34085
+ medium.options = _assign({
34086
+ async: true,
34087
+ ssr: false
34088
+ }, options);
34089
+ return medium;
34090
+ }
34091
+
34092
+ var SideCar$1 = function SideCar(_a) {
34093
+ var sideCar = _a.sideCar,
34094
+ rest = __rest(_a, ["sideCar"]);
34095
+ if (!sideCar) {
34096
+ throw new Error('Sidecar: please provide `sideCar` property to import the right car');
34097
+ }
34098
+ var Target = sideCar.read();
34099
+ if (!Target) {
34100
+ throw new Error('Sidecar medium not found');
34101
+ }
34102
+ return /*#__PURE__*/React__namespace.createElement(Target, _assign({}, rest));
34103
+ };
34104
+ SideCar$1.isSideCarExport = true;
34105
+ function exportSidecar(medium, exported) {
34106
+ medium.useMedium(exported);
34107
+ return SideCar$1;
34108
+ }
34109
+
33692
34110
  var effectCar = createSidecarMedium();
33693
34111
 
33694
34112
  var nothing = function nothing() {
@@ -33876,7 +34294,6 @@ var getGapWidth = function getGapWidth(gapMode) {
33876
34294
  };
33877
34295
 
33878
34296
  var Style = styleSingleton();
33879
- var lockAttribute = 'data-scroll-locked';
33880
34297
  // important tip - once we measure scrollBar width and remove them
33881
34298
  // we could not repeat this operation
33882
34299
  // thus we are using style-singleton - only the first "yet correct" style will be applied.
@@ -33888,34 +34305,16 @@ var getStyles = function getStyles(_a, allowRelative, gapMode, important) {
33888
34305
  if (gapMode === void 0) {
33889
34306
  gapMode = 'margin';
33890
34307
  }
33891
- return "\n .".concat(noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body[").concat(lockAttribute, "] {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([allowRelative && "position: relative ".concat(important, ";"), gapMode === 'margin' && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "), gapMode === 'padding' && "padding-right: ".concat(gap, "px ").concat(important, ";")].filter(Boolean).join(''), "\n }\n \n .").concat(zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(zeroRightClassName, " .").concat(zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " .").concat(fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body[").concat(lockAttribute, "] {\n ").concat(removedBarSizeVariable, ": ").concat(gap, "px;\n }\n");
33892
- };
33893
- var getCurrentUseCounter = function getCurrentUseCounter() {
33894
- var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);
33895
- return isFinite(counter) ? counter : 0;
33896
- };
33897
- var useLockAttribute = function useLockAttribute() {
33898
- React__namespace.useEffect(function () {
33899
- document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
33900
- return function () {
33901
- var newCounter = getCurrentUseCounter() - 1;
33902
- if (newCounter <= 0) {
33903
- document.body.removeAttribute(lockAttribute);
33904
- } else {
33905
- document.body.setAttribute(lockAttribute, newCounter.toString());
33906
- }
33907
- };
33908
- }, []);
34308
+ return "\n .".concat(noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([allowRelative && "position: relative ".concat(important, ";"), gapMode === 'margin' && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "), gapMode === 'padding' && "padding-right: ".concat(gap, "px ").concat(important, ";")].filter(Boolean).join(''), "\n }\n \n .").concat(zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(zeroRightClassName, " .").concat(zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " .").concat(fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body {\n ").concat(removedBarSizeVariable, ": ").concat(gap, "px;\n }\n");
33909
34309
  };
33910
34310
  /**
33911
34311
  * Removes page scrollbar and blocks page scroll when mounted
33912
34312
  */
33913
- var RemoveScrollBar = function RemoveScrollBar(_a) {
33914
- var noRelative = _a.noRelative,
33915
- noImportant = _a.noImportant,
33916
- _b = _a.gapMode,
33917
- gapMode = _b === void 0 ? 'margin' : _b;
33918
- useLockAttribute();
34313
+ var RemoveScrollBar = function RemoveScrollBar(props) {
34314
+ var noRelative = props.noRelative,
34315
+ noImportant = props.noImportant,
34316
+ _a = props.gapMode,
34317
+ gapMode = _a === void 0 ? 'margin' : _a;
33919
34318
  /*
33920
34319
  gap will be measured on every component mount
33921
34320
  however it will be used only by the "first" invocation
@@ -33955,9 +34354,6 @@ var alwaysContainsScroll = function alwaysContainsScroll(node) {
33955
34354
  return node.tagName === 'TEXTAREA';
33956
34355
  };
33957
34356
  var elementCanBeScrolled = function elementCanBeScrolled(node, overflow) {
33958
- if (!(node instanceof Element)) {
33959
- return false;
33960
- }
33961
34357
  var styles = window.getComputedStyle(node);
33962
34358
  return (
33963
34359
  // not-not-scrollable
@@ -33983,9 +34379,9 @@ var locationCouldBeScrolled = function locationCouldBeScrolled(axis, node) {
33983
34379
  var isScrollable = elementCouldBeScrolled(axis, current);
33984
34380
  if (isScrollable) {
33985
34381
  var _a = getScrollVariables(axis, current),
33986
- scrollHeight = _a[1],
33987
- clientHeight = _a[2];
33988
- if (scrollHeight > clientHeight) {
34382
+ s = _a[1],
34383
+ d = _a[2];
34384
+ if (s > d) {
33989
34385
  return true;
33990
34386
  }
33991
34387
  }
@@ -34041,20 +34437,15 @@ var handleScroll = function handleScroll(axis, endTarget, event, sourceDelta, no
34041
34437
  availableScrollTop += position;
34042
34438
  }
34043
34439
  }
34044
- if (target instanceof ShadowRoot) {
34045
- target = target.host;
34046
- } else {
34047
- target = target.parentNode;
34048
- }
34440
+ target = target.parentNode;
34049
34441
  } while (
34050
34442
  // portaled content
34051
34443
  !targetInLock && target !== document.body ||
34052
34444
  // self content
34053
34445
  targetInLock && (endTarget.contains(target) || endTarget === target));
34054
- // handle epsilon around 0 (non standard zoom levels)
34055
- if (isDeltaPositive && (Math.abs(availableScroll) < 1 || !noOverscroll)) {
34446
+ if (isDeltaPositive && (availableScroll === 0 || !noOverscroll)) {
34056
34447
  shouldCancelScroll = true;
34057
- } else if (!isDeltaPositive && (Math.abs(availableScrollTop) < 1 || !noOverscroll)) {
34448
+ } else if (!isDeltaPositive && (availableScrollTop === 0 || !noOverscroll)) {
34058
34449
  shouldCancelScroll = true;
34059
34450
  }
34060
34451
  return shouldCancelScroll;
@@ -34104,7 +34495,7 @@ function RemoveScrollSideCar(props) {
34104
34495
  return;
34105
34496
  }, [props.inert, props.lockRef.current, props.shards]);
34106
34497
  var shouldCancelEvent = React__namespace.useCallback(function (event, parent) {
34107
- if ('touches' in event && event.touches.length === 2 || event.type === 'wheel' && event.ctrlKey) {
34498
+ if ('touches' in event && event.touches.length === 2) {
34108
34499
  return !lastProps.current.allowPinchZoom;
34109
34500
  }
34110
34501
  var touch = getTouchXY(event);
@@ -34149,7 +34540,7 @@ function RemoveScrollSideCar(props) {
34149
34540
  }
34150
34541
  var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);
34151
34542
  var sourceEvent = shouldPreventQueue.current.filter(function (e) {
34152
- return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta);
34543
+ return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta);
34153
34544
  })[0];
34154
34545
  // self event, and should be canceled
34155
34546
  if (sourceEvent && sourceEvent.should) {
@@ -34176,8 +34567,7 @@ function RemoveScrollSideCar(props) {
34176
34567
  name: name,
34177
34568
  delta: delta,
34178
34569
  target: target,
34179
- should: should,
34180
- shadowParent: getOutermostShadowParent(target)
34570
+ should: should
34181
34571
  };
34182
34572
  shouldPreventQueue.current.push(event);
34183
34573
  setTimeout(function () {
@@ -34223,17 +34613,6 @@ function RemoveScrollSideCar(props) {
34223
34613
  gapMode: props.gapMode
34224
34614
  }) : null);
34225
34615
  }
34226
- function getOutermostShadowParent(node) {
34227
- var shadowParent = null;
34228
- while (node !== null) {
34229
- if (node instanceof ShadowRoot) {
34230
- shadowParent = node.host;
34231
- node = node.host;
34232
- }
34233
- node = node.parentNode;
34234
- }
34235
- return shadowParent;
34236
- }
34237
34616
 
34238
34617
  var SideCar = exportSidecar(effectCar, RemoveScrollSideCar);
34239
34618
 
@@ -36959,9 +37338,10 @@ var header$1 = (function (_ref) {
36959
37338
  */
36960
37339
  var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
36961
37340
  var children = props.children,
36962
- isMobile = props.isMobile,
36963
37341
  hideCloseButton = props.hideCloseButton,
36964
37342
  hasHeader = props.hasHeader,
37343
+ _props$isMobile = props.isMobile,
37344
+ isMobile = _props$isMobile === void 0 ? false : _props$isMobile,
36965
37345
  _props$contentStyling = props.contentStyling,
36966
37346
  contentStyling = _props$contentStyling === void 0 ? {} : _props$contentStyling,
36967
37347
  _props$overlayProps = props.overlayProps,
@@ -36970,11 +37350,15 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
36970
37350
  motionPreset: isMobile ? 'slideInBottom' : 'scale'
36971
37351
  }, props, {
36972
37352
  ref: ref
36973
- }), /*#__PURE__*/React__namespace.default.createElement(ModalOverlay, overlayProps), /*#__PURE__*/React__namespace.default.createElement(ModalContent, contentStyling, !hasHeader ? /*#__PURE__*/React__namespace.default.createElement(Box, header$1(props)) : null, hideCloseButton ? null : /*#__PURE__*/React__namespace.default.createElement(ModalCloseButton, null), children));
37353
+ }), /*#__PURE__*/React__namespace.default.createElement(ModalOverlay, overlayProps), /*#__PURE__*/React__namespace.default.createElement(ModalContent, _extends$7({
37354
+ "data-testid": "ModalContent"
37355
+ }, contentStyling), !hasHeader ? /*#__PURE__*/React__namespace.default.createElement(Box, header$1(props)) : null, hideCloseButton ? null : /*#__PURE__*/React__namespace.default.createElement(ModalCloseButton, {
37356
+ "data-testid": "ModalClose-button"
37357
+ }), children));
36974
37358
  });
36975
37359
  Modal.propTypes = {
36976
37360
  /** Whether or not the Modal is opened in a mobile viewport */
36977
- isMobile: PropTypes__default.default.bool.isRequired,
37361
+ isMobile: PropTypes__default.default.bool,
36978
37362
  /** Whether or not the Modal is open */
36979
37363
  isOpen: PropTypes__default.default.bool.isRequired,
36980
37364
  /** React children. Body of the Modal. */
@@ -41705,13 +42089,13 @@ var global$1 = {
41705
42089
  }
41706
42090
  };
41707
42091
  var Fonts = function Fonts() {
41708
- return /*#__PURE__*/React__namespace.default.createElement(Global, {
42092
+ return /*#__PURE__*/React__namespace.default.createElement(Global$1, {
41709
42093
  styles: "\n @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');\n /* latin-ext */\n @font-face {\n font-family: \"Plus Jakarta Sans\", sans-serif;\n font-style: normal;\n font-weight: 700;\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n }\n /* latin-ext */\n @font-face {\n font-family: \"Plus Jakarta Sans\", sans-serif;\n font-style: normal;\n font-weight: 600;\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n }\n /* latin-ext */\n @font-face {\n font-family: \"Plus Jakarta Sans\", sans-serif;\n font-style: normal;\n font-weight: 400;\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n }\n /* latin-ext */\n @font-face {\n font-family: \"Plus Jakarta Sans\", sans-serif;\n font-style: normal;\n font-weight: 300;\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n }\n "
41710
42094
  });
41711
42095
  };
41712
42096
  var LegacyOverrides = function LegacyOverrides(_ref) {
41713
42097
  var useLegacyOverrides = _ref.useLegacyOverrides;
41714
- return useLegacyOverrides ? /*#__PURE__*/React__namespace.default.createElement(Global, {
42098
+ return useLegacyOverrides ? /*#__PURE__*/React__namespace.default.createElement(Global$1, {
41715
42099
  styles: "\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: ".concat(fontWeights.semibold, ";\n }\n\n .heading-sm {\n font-size: ").concat(fontSizes.base, ";\n }\n .heading-md {\n font-size: ").concat(fontSizes.md, ";\n }\n .heading-lg {\n font-size: ").concat(fontSizes['5xl'], ";\n }\n\n p {\n line-height: 1.5;\n }\n\n a {\n outline: none;\n text-align: left;\n color: ").concat(colors$1.primary["default"], ";\n text-decoration: none;\n\n &:active,\n &:focus {\n outline: none;\n }\n\n &:hover {\n color: ").concat(colors$1.primary['700'], ";\n }\n }\n\n small {\n font-size: ").concat(fontSizes.xs, ";\n }\n\n ")
41716
42100
  }) : null;
41717
42101
  };
@@ -42020,7 +42404,7 @@ var sizes$4 = {
42020
42404
  },
42021
42405
  icon: {
42022
42406
  width: 2.5,
42023
- height: 2.5
42407
+ height: 2
42024
42408
  }
42025
42409
  },
42026
42410
  md: {
@@ -42031,7 +42415,7 @@ var sizes$4 = {
42031
42415
  },
42032
42416
  icon: {
42033
42417
  width: 3,
42034
- height: 3
42418
+ height: 2.5
42035
42419
  },
42036
42420
  label: {
42037
42421
  fontSize: 'base'
@@ -44184,6 +44568,9 @@ var controlStyles = {
44184
44568
  paddingLeft: 10,
44185
44569
  paddingRight: 8 //This should be only when there is a right element - DOM order made this a headache
44186
44570
  },
44571
+ '.chakra-input__group:not(:has(.fe-ui-async-select__control)) > .chakra-input__left-element ~ span input': {
44572
+ minHeight: 14 // same height as the button
44573
+ },
44187
44574
  '.chakra-input__group > .chakra-input__left-element ~ span select': {
44188
44575
  paddingLeft: 10,
44189
44576
  paddingRight: 8 //This should be only when there is a right element - DOM order made this a headache
@@ -44324,6 +44711,7 @@ var Input$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
44324
44711
  paddingTop: 'var(--chakra-sizes-5-5)' // Design requires 5.5
44325
44712
  ,
44326
44713
  paddingBottom: "2",
44714
+ lineHeight: "base",
44327
44715
  variant: "refreshed"
44328
44716
  }, props)));
44329
44717
  });
@@ -44473,16 +44861,17 @@ Button.propTypes = {
44473
44861
  buttonValue: PropTypes__default.default.string
44474
44862
  };
44475
44863
 
44476
- var isBrowser$1 = typeof document !== 'undefined';
44864
+ var isBrowser$2 = typeof document !== 'undefined';
44477
44865
  var syncFallback = function syncFallback(create) {
44478
44866
  return create();
44479
44867
  };
44480
44868
  var useInsertionEffect = React__namespace['useInsertion' + 'Effect'] ? React__namespace['useInsertion' + 'Effect'] : false;
44481
- var useInsertionEffectAlwaysWithSyncFallback = !isBrowser$1 ? syncFallback : useInsertionEffect || syncFallback;
44869
+ var useInsertionEffectAlwaysWithSyncFallback = !isBrowser$2 ? syncFallback : useInsertionEffect || syncFallback;
44870
+ var useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;
44482
44871
 
44483
- var isDevelopment = false;
44484
- var isBrowser = typeof document !== 'undefined';
44485
- var EmotionCacheContext = /* #__PURE__ */React__namespace.createContext(
44872
+ var isBrowser$1 = typeof document !== 'undefined';
44873
+ var hasOwnProperty = {}.hasOwnProperty;
44874
+ var EmotionCacheContext = /* #__PURE__ */React.createContext(
44486
44875
  // we're doing this to avoid preconstruct's dead code elimination in this one case
44487
44876
  // because this module is primarily intended for the browser and node
44488
44877
  // but it's also required in react native and similar environments sometimes
@@ -44492,15 +44881,19 @@ var EmotionCacheContext = /* #__PURE__ */React__namespace.createContext(
44492
44881
  typeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({
44493
44882
  key: 'css'
44494
44883
  }) : null);
44884
+ if (process.env.NODE_ENV !== 'production') {
44885
+ EmotionCacheContext.displayName = 'EmotionCacheContext';
44886
+ }
44495
44887
  EmotionCacheContext.Provider;
44496
44888
  var withEmotionCache = function withEmotionCache(func) {
44889
+ // $FlowFixMe
44497
44890
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
44498
44891
  // the cache will never be null in the browser
44499
44892
  var cache = React.useContext(EmotionCacheContext);
44500
44893
  return func(props, cache, ref);
44501
44894
  });
44502
44895
  };
44503
- if (!isBrowser) {
44896
+ if (!isBrowser$1) {
44504
44897
  withEmotionCache = function withEmotionCache(func) {
44505
44898
  return function (props) {
44506
44899
  var cache = React.useContext(EmotionCacheContext);
@@ -44513,7 +44906,7 @@ if (!isBrowser) {
44513
44906
  cache = createCache({
44514
44907
  key: 'css'
44515
44908
  });
44516
- return /*#__PURE__*/React__namespace.createElement(EmotionCacheContext.Provider, {
44909
+ return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {
44517
44910
  value: cache
44518
44911
  }, func(props, cache));
44519
44912
  } else {
@@ -44522,18 +44915,68 @@ if (!isBrowser) {
44522
44915
  };
44523
44916
  };
44524
44917
  }
44525
- var ThemeContext = /* #__PURE__ */React__namespace.createContext({});
44526
- var hasOwn = {}.hasOwnProperty;
44918
+ var ThemeContext = /* #__PURE__ */React.createContext({});
44919
+ if (process.env.NODE_ENV !== 'production') {
44920
+ ThemeContext.displayName = 'EmotionThemeContext';
44921
+ }
44922
+ var getLastPart = function getLastPart(functionName) {
44923
+ // The match may be something like 'Object.createEmotionProps' or
44924
+ // 'Loader.prototype.render'
44925
+ var parts = functionName.split('.');
44926
+ return parts[parts.length - 1];
44927
+ };
44928
+ var getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {
44929
+ // V8
44930
+ var match = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line);
44931
+ if (match) return getLastPart(match[1]); // Safari / Firefox
44932
+
44933
+ match = /^([A-Za-z0-9$.]+)@/.exec(line);
44934
+ if (match) return getLastPart(match[1]);
44935
+ return undefined;
44936
+ };
44937
+ var internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS
44938
+ // identifiers, thus we only need to replace what is a valid character for JS,
44939
+ // but not for CSS.
44940
+
44941
+ var sanitizeIdentifier = function sanitizeIdentifier(identifier) {
44942
+ return identifier.replace(/\$/g, '-');
44943
+ };
44944
+ var getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {
44945
+ if (!stackTrace) return undefined;
44946
+ var lines = stackTrace.split('\n');
44947
+ for (var i = 0; i < lines.length; i++) {
44948
+ var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just "Error"
44949
+
44950
+ if (!functionName) continue; // If we reach one of these, we have gone too far and should quit
44951
+
44952
+ if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an
44953
+ // uppercase letter
44954
+
44955
+ if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);
44956
+ }
44957
+ return undefined;
44958
+ };
44527
44959
  var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
44960
+ var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
44528
44961
  var createEmotionProps = function createEmotionProps(type, props) {
44962
+ if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' &&
44963
+ // check if there is a css declaration
44964
+ props.css.indexOf(':') !== -1) {
44965
+ throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`");
44966
+ }
44529
44967
  var newProps = {};
44530
- for (var _key in props) {
44531
- if (hasOwn.call(props, _key)) {
44532
- newProps[_key] = props[_key];
44968
+ for (var key in props) {
44969
+ if (hasOwnProperty.call(props, key)) {
44970
+ newProps[key] = props[key];
44533
44971
  }
44534
44972
  }
44535
- newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:
44973
+ newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when
44974
+ // the label hasn't already been computed
44536
44975
 
44976
+ if (process.env.NODE_ENV !== 'production' && !!props.css && (_typeof$1(props.css) !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {
44977
+ var label = getLabelFromStackTrace(new Error().stack);
44978
+ if (label) newProps[labelPropName] = label;
44979
+ }
44537
44980
  return newProps;
44538
44981
  };
44539
44982
  var Insertion$1 = function Insertion(_ref) {
@@ -44544,7 +44987,7 @@ var Insertion$1 = function Insertion(_ref) {
44544
44987
  var rules = useInsertionEffectAlwaysWithSyncFallback(function () {
44545
44988
  return insertStyles(cache, serialized, isStringTag);
44546
44989
  });
44547
- if (!isBrowser && rules !== undefined) {
44990
+ if (!isBrowser$1 && rules !== undefined) {
44548
44991
  var _ref2;
44549
44992
  var serializedNames = serialized.name;
44550
44993
  var next = serialized.next;
@@ -44552,7 +44995,7 @@ var Insertion$1 = function Insertion(_ref) {
44552
44995
  serializedNames += ' ' + next.name;
44553
44996
  next = next.next;
44554
44997
  }
44555
- return /*#__PURE__*/React__namespace.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = {
44998
+ return /*#__PURE__*/React.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = {
44556
44999
  __html: rules
44557
45000
  }, _ref2.nonce = cache.sheet.nonce, _ref2));
44558
45001
  }
@@ -44574,54 +45017,251 @@ var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {
44574
45017
  } else if (props.className != null) {
44575
45018
  className = props.className + " ";
44576
45019
  }
44577
- var serialized = serializeStyles(registeredStyles, undefined, React__namespace.useContext(ThemeContext));
45020
+ var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));
45021
+ if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {
45022
+ var labelFromStack = props[labelPropName];
45023
+ if (labelFromStack) {
45024
+ serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);
45025
+ }
45026
+ }
44578
45027
  className += cache.key + "-" + serialized.name;
44579
45028
  var newProps = {};
44580
- for (var _key2 in props) {
44581
- if (hasOwn.call(props, _key2) && _key2 !== 'css' && _key2 !== typePropName && !isDevelopment) {
44582
- newProps[_key2] = props[_key2];
45029
+ for (var key in props) {
45030
+ if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
45031
+ newProps[key] = props[key];
44583
45032
  }
44584
45033
  }
45034
+ newProps.ref = ref;
44585
45035
  newProps.className = className;
44586
- if (ref) {
44587
- newProps.ref = ref;
44588
- }
44589
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(Insertion$1, {
45036
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion$1, {
44590
45037
  cache: cache,
44591
45038
  serialized: serialized,
44592
45039
  isStringTag: typeof WrappedComponent === 'string'
44593
- }), /*#__PURE__*/React__namespace.createElement(WrappedComponent, newProps));
45040
+ }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));
44594
45041
  });
44595
- var Emotion$1 = Emotion;
45042
+ if (process.env.NODE_ENV !== 'production') {
45043
+ Emotion.displayName = 'EmotionCssPropInternal';
45044
+ }
44596
45045
 
45046
+ var pkg = {
45047
+ name: "@emotion/react",
45048
+ version: "11.10.6",
45049
+ main: "dist/emotion-react.cjs.js",
45050
+ module: "dist/emotion-react.esm.js",
45051
+ browser: {
45052
+ "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js"
45053
+ },
45054
+ exports: {
45055
+ ".": {
45056
+ module: {
45057
+ worker: "./dist/emotion-react.worker.esm.js",
45058
+ browser: "./dist/emotion-react.browser.esm.js",
45059
+ "default": "./dist/emotion-react.esm.js"
45060
+ },
45061
+ "default": "./dist/emotion-react.cjs.js"
45062
+ },
45063
+ "./jsx-runtime": {
45064
+ module: {
45065
+ worker: "./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js",
45066
+ browser: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js",
45067
+ "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js"
45068
+ },
45069
+ "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js"
45070
+ },
45071
+ "./_isolated-hnrs": {
45072
+ module: {
45073
+ worker: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js",
45074
+ browser: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js",
45075
+ "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js"
45076
+ },
45077
+ "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js"
45078
+ },
45079
+ "./jsx-dev-runtime": {
45080
+ module: {
45081
+ worker: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js",
45082
+ browser: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js",
45083
+ "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js"
45084
+ },
45085
+ "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js"
45086
+ },
45087
+ "./package.json": "./package.json",
45088
+ "./types/css-prop": "./types/css-prop.d.ts",
45089
+ "./macro": "./macro.js"
45090
+ },
45091
+ types: "types/index.d.ts",
45092
+ files: ["src", "dist", "jsx-runtime", "jsx-dev-runtime", "_isolated-hnrs", "types/*.d.ts", "macro.js", "macro.d.ts", "macro.js.flow"],
45093
+ sideEffects: false,
45094
+ author: "Emotion Contributors",
45095
+ license: "MIT",
45096
+ scripts: {
45097
+ "test:typescript": "dtslint types"
45098
+ },
45099
+ dependencies: {
45100
+ "@babel/runtime": "^7.18.3",
45101
+ "@emotion/babel-plugin": "^11.10.6",
45102
+ "@emotion/cache": "^11.10.5",
45103
+ "@emotion/serialize": "^1.1.1",
45104
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
45105
+ "@emotion/utils": "^1.2.0",
45106
+ "@emotion/weak-memoize": "^0.3.0",
45107
+ "hoist-non-react-statics": "^3.3.1"
45108
+ },
45109
+ peerDependencies: {
45110
+ react: ">=16.8.0"
45111
+ },
45112
+ peerDependenciesMeta: {
45113
+ "@types/react": {
45114
+ optional: true
45115
+ }
45116
+ },
45117
+ devDependencies: {
45118
+ "@definitelytyped/dtslint": "0.0.112",
45119
+ "@emotion/css": "11.10.6",
45120
+ "@emotion/css-prettifier": "1.1.1",
45121
+ "@emotion/server": "11.10.0",
45122
+ "@emotion/styled": "11.10.6",
45123
+ "html-tag-names": "^1.1.2",
45124
+ react: "16.14.0",
45125
+ "svg-tag-names": "^1.1.1",
45126
+ typescript: "^4.5.5"
45127
+ },
45128
+ repository: "https://github.com/emotion-js/emotion/tree/main/packages/react",
45129
+ publishConfig: {
45130
+ access: "public"
45131
+ },
45132
+ "umd:main": "dist/emotion-react.umd.min.js",
45133
+ preconstruct: {
45134
+ entrypoints: ["./index.js", "./jsx-runtime.js", "./jsx-dev-runtime.js", "./_isolated-hnrs.js"],
45135
+ umdName: "emotionReact",
45136
+ exports: {
45137
+ envConditions: ["browser", "worker"],
45138
+ extra: {
45139
+ "./types/css-prop": "./types/css-prop.d.ts",
45140
+ "./macro": "./macro.js"
45141
+ }
45142
+ }
45143
+ }
45144
+ };
44597
45145
  var jsx = function jsx(type, props) {
44598
- // eslint-disable-next-line prefer-rest-params
44599
45146
  var args = arguments;
44600
- if (props == null || !hasOwn.call(props, 'css')) {
44601
- return React__namespace.createElement.apply(undefined, args);
45147
+ if (props == null || !hasOwnProperty.call(props, 'css')) {
45148
+ // $FlowFixMe
45149
+ return React.createElement.apply(undefined, args);
44602
45150
  }
44603
45151
  var argsLength = args.length;
44604
45152
  var createElementArgArray = new Array(argsLength);
44605
- createElementArgArray[0] = Emotion$1;
45153
+ createElementArgArray[0] = Emotion;
44606
45154
  createElementArgArray[1] = createEmotionProps(type, props);
44607
45155
  for (var i = 2; i < argsLength; i++) {
44608
45156
  createElementArgArray[i] = args[i];
44609
- }
44610
- return React__namespace.createElement.apply(null, createElementArgArray);
45157
+ } // $FlowFixMe
45158
+
45159
+ return React.createElement.apply(null, createElementArgArray);
44611
45160
  };
44612
- (function (_jsx) {
44613
- var JSX;
44614
- (function (_JSX) {})(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
44615
- })(jsx || (jsx = {}));
45161
+ var warnedAboutCssPropForGlobal = false; // maintain place over rerenders.
45162
+ // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
45163
+ // initial client-side render from SSR, use place of hydrating tag
45164
+
45165
+ var Global = /* #__PURE__ */withEmotionCache(function (props, cache) {
45166
+ if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && (
45167
+ // check for className as well since the user is
45168
+ // probably using the custom createElement which
45169
+ // means it will be turned into a className prop
45170
+ // $FlowFixMe I don't really want to add it to the type since it shouldn't be used
45171
+ props.className || props.css)) {
45172
+ console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?");
45173
+ warnedAboutCssPropForGlobal = true;
45174
+ }
45175
+ var styles = props.styles;
45176
+ var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));
45177
+ if (!isBrowser$1) {
45178
+ var _ref;
45179
+ var serializedNames = serialized.name;
45180
+ var serializedStyles = serialized.styles;
45181
+ var next = serialized.next;
45182
+ while (next !== undefined) {
45183
+ serializedNames += ' ' + next.name;
45184
+ serializedStyles += next.styles;
45185
+ next = next.next;
45186
+ }
45187
+ var shouldCache = cache.compat === true;
45188
+ var rules = cache.insert("", {
45189
+ name: serializedNames,
45190
+ styles: serializedStyles
45191
+ }, cache.sheet, shouldCache);
45192
+ if (shouldCache) {
45193
+ return null;
45194
+ }
45195
+ return /*#__PURE__*/React.createElement("style", (_ref = {}, _ref["data-emotion"] = cache.key + "-global " + serializedNames, _ref.dangerouslySetInnerHTML = {
45196
+ __html: rules
45197
+ }, _ref.nonce = cache.sheet.nonce, _ref));
45198
+ } // yes, i know these hooks are used conditionally
45199
+ // but it is based on a constant that will never change at runtime
45200
+ // it's effectively like having two implementations and switching them out
45201
+ // so it's not actually breaking anything
45202
+
45203
+ var sheetRef = React.useRef();
45204
+ useInsertionEffectWithLayoutFallback(function () {
45205
+ var key = cache.key + "-global"; // use case of https://github.com/emotion-js/emotion/issues/2675
45206
+
45207
+ var sheet = new cache.sheet.constructor({
45208
+ key: key,
45209
+ nonce: cache.sheet.nonce,
45210
+ container: cache.sheet.container,
45211
+ speedy: cache.sheet.isSpeedy
45212
+ });
45213
+ var rehydrating = false; // $FlowFixMe
45214
+
45215
+ var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]");
45216
+ if (cache.sheet.tags.length) {
45217
+ sheet.before = cache.sheet.tags[0];
45218
+ }
45219
+ if (node !== null) {
45220
+ rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s
45221
+
45222
+ node.setAttribute('data-emotion', key);
45223
+ sheet.hydrate([node]);
45224
+ }
45225
+ sheetRef.current = [sheet, rehydrating];
45226
+ return function () {
45227
+ sheet.flush();
45228
+ };
45229
+ }, [cache]);
45230
+ useInsertionEffectWithLayoutFallback(function () {
45231
+ var sheetRefCurrent = sheetRef.current;
45232
+ var sheet = sheetRefCurrent[0],
45233
+ rehydrating = sheetRefCurrent[1];
45234
+ if (rehydrating) {
45235
+ sheetRefCurrent[1] = false;
45236
+ return;
45237
+ }
45238
+ if (serialized.next !== undefined) {
45239
+ // insert keyframes
45240
+ insertStyles(cache, serialized.next, true);
45241
+ }
45242
+ if (sheet.tags.length) {
45243
+ // if this doesn't exist then it will be null so the style element will be appended
45244
+ var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
45245
+ sheet.before = element;
45246
+ sheet.flush();
45247
+ }
45248
+ cache.insert("", serialized, sheet, false);
45249
+ }, [cache, serialized.name]);
45250
+ return null;
45251
+ });
45252
+ if (process.env.NODE_ENV !== 'production') {
45253
+ Global.displayName = 'EmotionGlobal';
45254
+ }
44616
45255
  function css$2() {
44617
45256
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
44618
45257
  args[_key] = arguments[_key];
44619
45258
  }
44620
45259
  return serializeStyles(args);
44621
45260
  }
44622
- function keyframes() {
45261
+ var keyframes = function keyframes() {
44623
45262
  var insertable = css$2.apply(void 0, arguments);
44624
- var name = "animation-" + insertable.name;
45263
+ var name = "animation-" + insertable.name; // $FlowFixMe
45264
+
44625
45265
  return {
44626
45266
  name: name,
44627
45267
  styles: "@keyframes " + name + "{" + insertable.styles + "}",
@@ -44630,7 +45270,7 @@ function keyframes() {
44630
45270
  return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
44631
45271
  }
44632
45272
  };
44633
- }
45273
+ };
44634
45274
  var classnames = function classnames(args) {
44635
45275
  var len = args.length;
44636
45276
  var i = 0;
@@ -44647,6 +45287,9 @@ var classnames = function classnames(args) {
44647
45287
  if (Array.isArray(arg)) {
44648
45288
  toAdd = classnames(arg);
44649
45289
  } else {
45290
+ if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {
45291
+ console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');
45292
+ }
44650
45293
  toAdd = '';
44651
45294
  for (var k in arg) {
44652
45295
  if (arg[k] && k) {
@@ -44684,17 +45327,17 @@ var Insertion = function Insertion(_ref) {
44684
45327
  var rules = '';
44685
45328
  for (var i = 0; i < serializedArr.length; i++) {
44686
45329
  var res = insertStyles(cache, serializedArr[i], false);
44687
- if (!isBrowser && res !== undefined) {
45330
+ if (!isBrowser$1 && res !== undefined) {
44688
45331
  rules += res;
44689
45332
  }
44690
45333
  }
44691
- if (!isBrowser) {
45334
+ if (!isBrowser$1) {
44692
45335
  return rules;
44693
45336
  }
44694
45337
  });
44695
- if (!isBrowser && rules.length !== 0) {
45338
+ if (!isBrowser$1 && rules.length !== 0) {
44696
45339
  var _ref2;
44697
- return /*#__PURE__*/React__namespace.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedArr.map(function (serialized) {
45340
+ return /*#__PURE__*/React.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedArr.map(function (serialized) {
44698
45341
  return serialized.name;
44699
45342
  }).join(' '), _ref2.dangerouslySetInnerHTML = {
44700
45343
  __html: rules
@@ -44706,7 +45349,7 @@ var ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {
44706
45349
  var hasRendered = false;
44707
45350
  var serializedArr = [];
44708
45351
  var css = function css() {
44709
- if (hasRendered && isDevelopment) {
45352
+ if (hasRendered && process.env.NODE_ENV !== 'production') {
44710
45353
  throw new Error('css can only be used during render');
44711
45354
  }
44712
45355
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -44719,7 +45362,7 @@ var ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {
44719
45362
  return cache.key + "-" + serialized.name;
44720
45363
  };
44721
45364
  var cx = function cx() {
44722
- if (hasRendered && isDevelopment) {
45365
+ if (hasRendered && process.env.NODE_ENV !== 'production') {
44723
45366
  throw new Error('cx can only be used during render');
44724
45367
  }
44725
45368
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
@@ -44730,38 +45373,65 @@ var ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {
44730
45373
  var content = {
44731
45374
  css: css,
44732
45375
  cx: cx,
44733
- theme: React__namespace.useContext(ThemeContext)
45376
+ theme: React.useContext(ThemeContext)
44734
45377
  };
44735
45378
  var ele = props.children(content);
44736
45379
  hasRendered = true;
44737
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(Insertion, {
45380
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {
44738
45381
  cache: cache,
44739
45382
  serializedArr: serializedArr
44740
45383
  }), ele);
44741
45384
  });
45385
+ if (process.env.NODE_ENV !== 'production') {
45386
+ ClassNames.displayName = 'EmotionClassNames';
45387
+ }
45388
+ if (process.env.NODE_ENV !== 'production') {
45389
+ var isBrowser = typeof document !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked
45390
+
45391
+ var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';
45392
+ if (isBrowser && !isTestEnv) {
45393
+ // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later
45394
+ var globalContext =
45395
+ // $FlowIgnore
45396
+ typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef
45397
+ : isBrowser ? window : global;
45398
+ var globalKey = "__EMOTION_REACT_" + pkg.version.split('.')[0] + "__";
45399
+ if (globalContext[globalKey]) {
45400
+ console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');
45401
+ }
45402
+ globalContext[globalKey] = true;
45403
+ }
45404
+ }
44742
45405
 
44743
- function _taggedTemplateLiteral(e, t) {
44744
- return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
45406
+ function _taggedTemplateLiteral(strings, raw) {
45407
+ if (!raw) {
45408
+ raw = strings.slice(0);
45409
+ }
45410
+ return Object.freeze(Object.defineProperties(strings, {
44745
45411
  raw: {
44746
- value: Object.freeze(t)
45412
+ value: Object.freeze(raw)
44747
45413
  }
44748
45414
  }));
44749
45415
  }
44750
45416
 
44751
- function _objectWithoutProperties(e, t) {
44752
- if (null == e) return {};
44753
- var o,
44754
- r,
44755
- i = _objectWithoutPropertiesLoose(e, t);
45417
+ function _objectWithoutProperties(source, excluded) {
45418
+ if (source == null) return {};
45419
+ var target = _objectWithoutPropertiesLoose(source, excluded);
45420
+ var key, i;
44756
45421
  if (Object.getOwnPropertySymbols) {
44757
- var n = Object.getOwnPropertySymbols(e);
44758
- for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
45422
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
45423
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
45424
+ key = sourceSymbolKeys[i];
45425
+ if (excluded.indexOf(key) >= 0) continue;
45426
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
45427
+ target[key] = source[key];
45428
+ }
44759
45429
  }
44760
- return i;
45430
+ return target;
44761
45431
  }
44762
45432
 
44763
- function _arrayWithHoles(r) {
44764
- if (Array.isArray(r)) return r;
45433
+ function _arrayWithHoles(arr) {
45434
+ if (Array.isArray(arr)) return arr;
44765
45435
  }
44766
45436
 
44767
45437
  function _iterableToArrayLimit(r, l) {
@@ -44792,55 +45462,68 @@ function _iterableToArrayLimit(r, l) {
44792
45462
  }
44793
45463
  }
44794
45464
 
44795
- function _arrayLikeToArray(r, a) {
44796
- (null == a || a > r.length) && (a = r.length);
44797
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
44798
- return n;
45465
+ function _arrayLikeToArray(arr, len) {
45466
+ if (len == null || len > arr.length) len = arr.length;
45467
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
45468
+ return arr2;
44799
45469
  }
44800
45470
 
44801
- function _unsupportedIterableToArray(r, a) {
44802
- if (r) {
44803
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
44804
- var t = {}.toString.call(r).slice(8, -1);
44805
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
44806
- }
45471
+ function _unsupportedIterableToArray(o, minLen) {
45472
+ if (!o) return;
45473
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
45474
+ var n = Object.prototype.toString.call(o).slice(8, -1);
45475
+ if (n === "Object" && o.constructor) n = o.constructor.name;
45476
+ if (n === "Map" || n === "Set") return Array.from(o);
45477
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
44807
45478
  }
44808
45479
 
44809
45480
  function _nonIterableRest() {
44810
45481
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
44811
45482
  }
44812
45483
 
44813
- function _slicedToArray(r, e) {
44814
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
45484
+ function _slicedToArray(arr, i) {
45485
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
44815
45486
  }
44816
45487
 
44817
- function _classCallCheck(a, n) {
44818
- if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
45488
+ function _classCallCheck(instance, Constructor) {
45489
+ if (!(instance instanceof Constructor)) {
45490
+ throw new TypeError("Cannot call a class as a function");
45491
+ }
44819
45492
  }
44820
45493
 
44821
- function _defineProperties(e, r) {
44822
- for (var t = 0; t < r.length; t++) {
44823
- var o = r[t];
44824
- o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
45494
+ function _defineProperties(target, props) {
45495
+ for (var i = 0; i < props.length; i++) {
45496
+ var descriptor = props[i];
45497
+ descriptor.enumerable = descriptor.enumerable || false;
45498
+ descriptor.configurable = true;
45499
+ if ("value" in descriptor) descriptor.writable = true;
45500
+ Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
44825
45501
  }
44826
45502
  }
44827
- function _createClass(e, r, t) {
44828
- return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
44829
- writable: !1
44830
- }), e;
45503
+ function _createClass(Constructor, protoProps, staticProps) {
45504
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
45505
+ if (staticProps) _defineProperties(Constructor, staticProps);
45506
+ Object.defineProperty(Constructor, "prototype", {
45507
+ writable: false
45508
+ });
45509
+ return Constructor;
44831
45510
  }
44832
45511
 
44833
- function _inherits(t, e) {
44834
- if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
44835
- t.prototype = Object.create(e && e.prototype, {
45512
+ function _inherits(subClass, superClass) {
45513
+ if (typeof superClass !== "function" && superClass !== null) {
45514
+ throw new TypeError("Super expression must either be null or a function");
45515
+ }
45516
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
44836
45517
  constructor: {
44837
- value: t,
44838
- writable: !0,
44839
- configurable: !0
45518
+ value: subClass,
45519
+ writable: true,
45520
+ configurable: true
44840
45521
  }
44841
- }), Object.defineProperty(t, "prototype", {
44842
- writable: !1
44843
- }), e && _setPrototypeOf(t, e);
45522
+ });
45523
+ Object.defineProperty(subClass, "prototype", {
45524
+ writable: false
45525
+ });
45526
+ if (superClass) _setPrototypeOf(subClass, superClass);
44844
45527
  }
44845
45528
 
44846
45529
  function _defineProperty(obj, key, value) {
@@ -46300,20 +46983,20 @@ var defaultComponents = function defaultComponents(props) {
46300
46983
  return _objectSpread2(_objectSpread2({}, components), props.components);
46301
46984
  };
46302
46985
 
46303
- function _arrayWithoutHoles(r) {
46304
- if (Array.isArray(r)) return _arrayLikeToArray(r);
46986
+ function _arrayWithoutHoles(arr) {
46987
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
46305
46988
  }
46306
46989
 
46307
- function _iterableToArray(r) {
46308
- if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
46990
+ function _iterableToArray(iter) {
46991
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
46309
46992
  }
46310
46993
 
46311
46994
  function _nonIterableSpread() {
46312
46995
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
46313
46996
  }
46314
46997
 
46315
- function _toConsumableArray(r) {
46316
- return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
46998
+ function _toConsumableArray(arr) {
46999
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
46317
47000
  }
46318
47001
 
46319
47002
  var safeIsNaN = Number.isNaN || function ponyfill(value) {
@@ -49275,7 +49958,7 @@ RadioGroup.propTypes = {
49275
49958
  direction: PropTypes__default.default.oneOf(['row', 'column'])
49276
49959
  };
49277
49960
 
49278
- var _excluded$6 = ["isChecked", "isDisabled", "value", "helperText", "expandableChildren", "defaultChecked", "isRadio", "label", "isExpandable", "size"];
49961
+ var _excluded$6 = ["isChecked", "isDisabled", "value", "helperText", "expandableChildren", "defaultChecked", "isRadio", "label", "isExpandable", "size", "expandableChildrenStyles"];
49279
49962
  var SelectionCard = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49280
49963
  var isChecked = _ref.isChecked,
49281
49964
  isDisabled = _ref.isDisabled,
@@ -49288,10 +49971,13 @@ var SelectionCard = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49288
49971
  isExpandable = _ref.isExpandable,
49289
49972
  _ref$size = _ref.size,
49290
49973
  size = _ref$size === void 0 ? 'md' : _ref$size,
49974
+ _ref$expandableChildr = _ref.expandableChildrenStyles,
49975
+ expandableChildrenStyles = _ref$expandableChildr === void 0 ? {} : _ref$expandableChildr,
49291
49976
  props = _objectWithoutProperties$1(_ref, _excluded$6);
49292
49977
  var Component = isRadio ? Radio : Checkbox;
49293
49978
  var expandableTextSize = size === 'sm' || size === 'md' ? 'xs' : 'sm';
49294
49979
  var hasExpandableContent = isExpandable && isChecked && expandableChildren;
49980
+ var prefersReducedMotion = usePrefersReducedMotion();
49295
49981
  return /*#__PURE__*/React__namespace.default.createElement(Box, {
49296
49982
  paddingBottom: hasExpandableContent ? 3 : 0,
49297
49983
  borderRadius: "lg",
@@ -49315,12 +50001,22 @@ var SelectionCard = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49315
50001
  width: "100%",
49316
50002
  paddingX: 4,
49317
50003
  paddingY: 3
49318
- }, props), label)), hasExpandableContent && /*#__PURE__*/React__namespace.default.createElement(Box, {
50004
+ }, props), label)), /*#__PURE__*/React__namespace.default.createElement(Box, {
50005
+ overflow: "hidden",
50006
+ display: "grid"
50007
+ // Using this as a pseudo height transition to get around no height auto transition
50008
+ ,
50009
+ gridTemplateRows: hasExpandableContent ? '1fr' : '0fr',
50010
+ opacity: hasExpandableContent ? '100%' : '0%',
50011
+ transition: prefersReducedMotion ? '' : 'all 150ms ease-out'
50012
+ }, /*#__PURE__*/React__namespace.default.createElement(Box, {
50013
+ overflow: "hidden"
50014
+ }, hasExpandableContent && /*#__PURE__*/React__namespace.default.createElement(Box, _extends$7({
49319
50015
  color: "gray.600",
49320
50016
  fontSize: expandableTextSize,
49321
50017
  paddingTop: 3,
49322
50018
  paddingX: 4
49323
- }, expandableChildren));
50019
+ }, expandableChildrenStyles), expandableChildren))));
49324
50020
  });
49325
50021
  SelectionCard.propTypes = {
49326
50022
  label: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.element]).isRequired,
@@ -49332,6 +50028,7 @@ SelectionCard.propTypes = {
49332
50028
  helperText: PropTypes__default.default.string,
49333
50029
  isRadio: PropTypes__default.default.bool,
49334
50030
  isExpandable: PropTypes__default.default.bool,
50031
+ expandableChildrenStyles: PropTypes__default.default.object,
49335
50032
  size: PropTypes__default.default.oneOf(['sm', 'md', 'lg'])
49336
50033
  };
49337
50034