@seamly/web-ui 24.5.0 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/build/dist/lib/index.debug.js +2077 -1786
  2. package/build/dist/lib/index.debug.js.map +1 -1
  3. package/build/dist/lib/index.debug.min.js +1 -1
  4. package/build/dist/lib/index.debug.min.js.LICENSE.txt +49 -7
  5. package/build/dist/lib/index.debug.min.js.map +1 -1
  6. package/build/dist/lib/index.js +695 -384
  7. package/build/dist/lib/index.js.map +1 -1
  8. package/build/dist/lib/index.min.js +1 -1
  9. package/build/dist/lib/index.min.js.LICENSE.txt +16 -1
  10. package/build/dist/lib/index.min.js.map +1 -1
  11. package/build/dist/lib/style-guide.js +305 -93
  12. package/build/dist/lib/style-guide.js.map +1 -1
  13. package/build/dist/lib/style-guide.min.js +1 -1
  14. package/build/dist/lib/style-guide.min.js.map +1 -1
  15. package/build/dist/lib/styles-default-implementation.css +1 -1
  16. package/build/dist/lib/styles.css +1 -1
  17. package/package.json +27 -38
  18. package/src/javascripts/core/api/api.types.ts +3 -0
  19. package/src/javascripts/core/api/asyncapi.types.ts +292 -69
  20. package/src/javascripts/core/api/channel.types.ts +301 -69
  21. package/src/javascripts/core/api/conversation-connector.ts +1 -3
  22. package/src/javascripts/core/api/errors/seamly-api-error.ts +0 -1
  23. package/src/javascripts/core/api/errors/seamly-base-error.ts +1 -1
  24. package/src/javascripts/core/api/index.ts +7 -7
  25. package/src/javascripts/core/api/utils.ts +0 -1
  26. package/src/javascripts/core/domains/app/actions.ts +1 -1
  27. package/src/javascripts/core/domains/app/hooks.ts +1 -1
  28. package/src/javascripts/core/domains/config/hooks.ts +1 -1
  29. package/src/javascripts/core/domains/config/selectors.ts +1 -1
  30. package/src/javascripts/core/domains/config/slice.ts +2 -2
  31. package/src/javascripts/core/domains/forms/context.ts +1 -1
  32. package/src/javascripts/core/domains/forms/hooks.ts +12 -12
  33. package/src/javascripts/core/domains/forms/provider.tsx +9 -9
  34. package/src/javascripts/core/domains/i18n/actions.ts +1 -1
  35. package/src/javascripts/core/domains/i18n/hooks.ts +3 -3
  36. package/src/javascripts/core/domains/interrupt/hooks.ts +1 -1
  37. package/src/javascripts/core/domains/store/index.ts +2 -2
  38. package/src/javascripts/core/domains/store/slice.ts +46 -34
  39. package/src/javascripts/core/domains/store/store.types.ts +2 -7
  40. package/src/javascripts/core/domains/translations/components/options-button.tsx +2 -2
  41. package/src/javascripts/core/domains/translations/components/options-dialog/index.tsx +1 -1
  42. package/src/javascripts/core/domains/translations/components/options-dialog/translation-option.tsx +1 -1
  43. package/src/javascripts/core/domains/translations/components/options-dialog/translation-options.tsx +2 -2
  44. package/src/javascripts/core/domains/translations/components/translation-status.tsx +1 -1
  45. package/src/javascripts/core/domains/translations/hooks.ts +2 -2
  46. package/src/javascripts/core/domains/translations/middleware.ts +4 -2
  47. package/src/javascripts/core/domains/visibility/actions.ts +2 -2
  48. package/src/javascripts/core/domains/visibility/hooks.ts +5 -5
  49. package/src/javascripts/core/lib/debug.ts +1 -1
  50. package/src/javascripts/core/lib/engine/index.tsx +5 -5
  51. package/src/javascripts/core/lib/external-api/index.ts +6 -6
  52. package/src/javascripts/core/lib/mutex.ts +0 -1
  53. package/src/javascripts/core/lib/split-url-params.ts +1 -1
  54. package/src/javascripts/core/lib/store/index.ts +0 -1
  55. package/src/javascripts/core/lib/store/providers/app-storage.js +4 -7
  56. package/src/javascripts/core/lib/store/providers/app-storage.ts +4 -6
  57. package/src/javascripts/core/ui/components/app-options/index.tsx +1 -1
  58. package/src/javascripts/core/ui/components/chat-status/index.tsx +1 -1
  59. package/src/javascripts/core/ui/components/conversation/component-filter.tsx +1 -3
  60. package/src/javascripts/core/ui/components/conversation/event/card-component.tsx +3 -3
  61. package/src/javascripts/core/ui/components/conversation/event/carousel-component/components/pagination.tsx +1 -1
  62. package/src/javascripts/core/ui/components/conversation/event/carousel-component/index.tsx +1 -1
  63. package/src/javascripts/core/ui/components/conversation/event/chat-scroll/chat-scroll-provider.tsx +1 -1
  64. package/src/javascripts/core/ui/components/conversation/event/choice-prompt.tsx +4 -4
  65. package/src/javascripts/core/ui/components/conversation/event/conversation-suggestions.tsx +1 -1
  66. package/src/javascripts/core/ui/components/conversation/event/divider/variants/new-translation.tsx +3 -3
  67. package/src/javascripts/core/ui/components/conversation/event/divider/variants/time-indicator.tsx +1 -1
  68. package/src/javascripts/core/ui/components/conversation/event/event-participant.tsx +1 -1
  69. package/src/javascripts/core/ui/components/conversation/event/event.tsx +1 -1
  70. package/src/javascripts/core/ui/components/conversation/event/image-lightbox.tsx +1 -1
  71. package/src/javascripts/core/ui/components/conversation/event/image.tsx +2 -2
  72. package/src/javascripts/core/ui/components/conversation/event/participant.tsx +1 -1
  73. package/src/javascripts/core/ui/components/conversation/event/splash.tsx +0 -1
  74. package/src/javascripts/core/ui/components/conversation/event/text.tsx +2 -2
  75. package/src/javascripts/core/ui/components/conversation/event/upload.tsx +3 -3
  76. package/src/javascripts/core/ui/components/conversation/event/video.tsx +2 -2
  77. package/src/javascripts/core/ui/components/conversation/event-divider.tsx +1 -1
  78. package/src/javascripts/core/ui/components/conversation/message-container.tsx +2 -4
  79. package/src/javascripts/core/ui/components/conversation/use-chat-scroll.ts +3 -3
  80. package/src/javascripts/core/ui/components/core/seamly-activity-monitor.tsx +1 -1
  81. package/src/javascripts/core/ui/components/core/seamly-api-context.ts +1 -1
  82. package/src/javascripts/core/ui/components/core/seamly-core.tsx +3 -3
  83. package/src/javascripts/core/ui/components/core/seamly-event-subscriber.ts +9 -7
  84. package/src/javascripts/core/ui/components/core/seamly-file-upload.tsx +2 -3
  85. package/src/javascripts/core/ui/components/core/seamly-initializer.tsx +1 -1
  86. package/src/javascripts/core/ui/components/core/seamly-instance-functions-loader.ts +3 -3
  87. package/src/javascripts/core/ui/components/core/seamly-live-region.tsx +1 -1
  88. package/src/javascripts/core/ui/components/core/seamly-new-notifications.ts +1 -1
  89. package/src/javascripts/core/ui/components/core/seamly-read-state.ts +1 -1
  90. package/src/javascripts/core/ui/components/entry/entry-container.tsx +8 -3
  91. package/src/javascripts/core/ui/components/entry/text-entry/hooks.ts +21 -14
  92. package/src/javascripts/core/ui/components/entry/text-entry/index.tsx +1 -1
  93. package/src/javascripts/core/ui/components/entry/text-entry/text-entry-form.tsx +1 -1
  94. package/src/javascripts/core/ui/components/entry/upload/file-upload-form.tsx +1 -1
  95. package/src/javascripts/core/ui/components/entry/upload/index.tsx +1 -1
  96. package/src/javascripts/core/ui/components/entry/upload-toggle.tsx +1 -1
  97. package/src/javascripts/core/ui/components/form-controls/error.tsx +1 -1
  98. package/src/javascripts/core/ui/components/form-controls/file-input.tsx +1 -1
  99. package/src/javascripts/core/ui/components/form-controls/input.tsx +1 -1
  100. package/src/javascripts/core/ui/components/form-controls/wrapper.tsx +1 -1
  101. package/src/javascripts/core/ui/components/layout/agent-info.tsx +1 -1
  102. package/src/javascripts/core/ui/components/layout/chat-frame.tsx +1 -1
  103. package/src/javascripts/core/ui/components/layout/chat.tsx +2 -2
  104. package/src/javascripts/core/ui/components/layout/continue-chat-messages.tsx +1 -1
  105. package/src/javascripts/core/ui/components/layout/header.tsx +1 -1
  106. package/src/javascripts/core/ui/components/layout/interrupt.tsx +1 -1
  107. package/src/javascripts/core/ui/components/layout/pre-chat-messages.tsx +1 -1
  108. package/src/javascripts/core/ui/components/options/options-button.tsx +1 -3
  109. package/src/javascripts/core/ui/components/options/options-frame.tsx +1 -1
  110. package/src/javascripts/core/ui/components/options/transcript/index.tsx +1 -1
  111. package/src/javascripts/core/ui/components/suggestions/index.tsx +2 -2
  112. package/src/javascripts/core/ui/components/suggestions/suggestions-list.tsx +1 -1
  113. package/src/javascripts/core/ui/components/view/index.tsx +3 -3
  114. package/src/javascripts/core/ui/components/view/window-view/window-open-button.tsx +2 -2
  115. package/src/javascripts/core/ui/components/widgets/in-out-transition.tsx +2 -2
  116. package/src/javascripts/core/ui/components/widgets/lightbox.tsx +1 -1
  117. package/src/javascripts/core/ui/hooks/file-upload-hooks.ts +1 -1
  118. package/src/javascripts/core/ui/hooks/focus-helper-hooks.ts +1 -1
  119. package/src/javascripts/core/ui/hooks/seamly-entry-hooks.ts +1 -1
  120. package/src/javascripts/core/ui/hooks/seamly-option-hooks.ts +1 -1
  121. package/src/javascripts/core/ui/hooks/seamly-state-hooks.ts +9 -4
  122. package/src/javascripts/core/ui/hooks/use-debounce.ts +1 -1
  123. package/src/javascripts/core/ui/hooks/use-interval.ts +0 -1
  124. package/src/javascripts/core/ui/hooks/use-notifications.ts +2 -3
  125. package/src/javascripts/core/ui/hooks/use-seamly-chat.ts +2 -2
  126. package/src/javascripts/core/ui/hooks/use-seamly-commands.ts +2 -2
  127. package/src/javascripts/core/ui/hooks/use-seamly-conversation.ts +1 -1
  128. package/src/javascripts/core/ui/hooks/use-seamly-idle-detach-countdown.ts +15 -10
  129. package/src/javascripts/core/ui/hooks/use-session-expired-command.ts +1 -1
  130. package/src/javascripts/core/ui/hooks/use-single-file-upload.ts +1 -1
  131. package/src/javascripts/core/ui/hooks/utility-hooks.ts +1 -2
  132. package/src/javascripts/core/ui/utils/seamly-utils.ts +0 -2
  133. package/src/javascripts/core/ui/utils/validations.ts +1 -2
  134. package/src/javascripts/style-guide/components/app.tsx +2 -2
  135. package/src/javascripts/style-guide/components/static-core.tsx +2 -2
  136. package/src/javascripts/style-guide/components/view.tsx +1 -1
  137. package/src/javascripts/style-guide/state-helpers/index.ts +0 -2
  138. package/src/javascripts/style-guide/states.ts +5 -42
  139. package/src/javascripts/style-guide/style-guide-engine.tsx +1 -1
  140. package/src/stylesheets/5-components/_message-body.scss +0 -10
  141. package/src/stylesheets/6-default-implementation/_hover.scss +0 -7
  142. package/src/stylesheets/styles.scss +0 -1
  143. package/webpack/config.common.js +4 -11
  144. package/webpack/config.dev.js +0 -1
  145. package/webpack/config.package.js +5 -7
  146. package/webpack/config.site.js +2 -4
  147. package/webpack/config.test.js +1 -2
  148. package/webpack/defaults.js +0 -1
  149. package/webpack/parts/babel-loader-browser-plugins.js +0 -1
  150. package/webpack/parts/dev-server.js +0 -1
  151. package/src/javascripts/core/ui/components/conversation/event/cta.tsx +0 -54
  152. package/src/stylesheets/5-components/_message-cta.scss +0 -17
@@ -223,6 +223,23 @@ module.exports = !fails(function () {
223
223
  });
224
224
 
225
225
 
226
+ /***/ }),
227
+
228
+ /***/ 655:
229
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
230
+
231
+ "use strict";
232
+
233
+ var classof = __webpack_require__(6955);
234
+
235
+ var $String = String;
236
+
237
+ module.exports = function (argument) {
238
+ if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
239
+ return $String(argument);
240
+ };
241
+
242
+
226
243
  /***/ }),
227
244
 
228
245
  /***/ 679:
@@ -240,6 +257,26 @@ module.exports = function (it, Prototype) {
240
257
  };
241
258
 
242
259
 
260
+ /***/ }),
261
+
262
+ /***/ 684:
263
+ /***/ ((module) => {
264
+
265
+ "use strict";
266
+
267
+ // Should throw an error on invalid iterator
268
+ // https://issues.chromium.org/issues/336839115
269
+ module.exports = function (methodName, argument) {
270
+ // eslint-disable-next-line es/no-iterator -- required for testing
271
+ var method = typeof Iterator == 'function' && Iterator.prototype[methodName];
272
+ if (method) try {
273
+ method.call({ next: null }, argument).next();
274
+ } catch (error) {
275
+ return true;
276
+ }
277
+ };
278
+
279
+
243
280
  /***/ }),
244
281
 
245
282
  /***/ 741:
@@ -466,6 +503,30 @@ module.exports = function (argument) {
466
503
  };
467
504
 
468
505
 
506
+ /***/ }),
507
+
508
+ /***/ 1385:
509
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
510
+
511
+ "use strict";
512
+
513
+ var iteratorClose = __webpack_require__(9539);
514
+
515
+ module.exports = function (iters, kind, value) {
516
+ for (var i = iters.length - 1; i >= 0; i--) {
517
+ if (iters[i] === undefined) continue;
518
+ try {
519
+ value = iteratorClose(iters[i].iterator, kind, value);
520
+ } catch (error) {
521
+ kind = 'throw';
522
+ value = error;
523
+ }
524
+ }
525
+ if (kind === 'throw') throw value;
526
+ return value;
527
+ };
528
+
529
+
469
530
  /***/ }),
470
531
 
471
532
  /***/ 1454:
@@ -498,11 +559,14 @@ module.exports = uncurryThis({}.isPrototypeOf);
498
559
 
499
560
  var $ = __webpack_require__(6518);
500
561
  var union = __webpack_require__(4204);
562
+ var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
501
563
  var setMethodAcceptSetLike = __webpack_require__(4916);
502
564
 
565
+ var FORCED = !setMethodAcceptSetLike('union') || !setMethodGetKeysBeforeCloning('union');
566
+
503
567
  // `Set.prototype.union` method
504
568
  // https://tc39.es/ecma262/#sec-set.prototype.union
505
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {
569
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
506
570
  union: union
507
571
  });
508
572
 
@@ -522,10 +586,15 @@ var getIteratorDirect = __webpack_require__(1767);
522
586
  var createIteratorProxy = __webpack_require__(9462);
523
587
  var callWithSafeIterationClosing = __webpack_require__(6319);
524
588
  var iteratorClose = __webpack_require__(9539);
589
+ var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
525
590
  var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
526
591
  var IS_PURE = __webpack_require__(6395);
527
592
 
528
- var mapWithoutClosingOnEarlyError = !IS_PURE && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);
593
+ var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });
594
+ var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
595
+ && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);
596
+
597
+ var FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;
529
598
 
530
599
  var IteratorProxy = createIteratorProxy(function () {
531
600
  var iterator = this.iterator;
@@ -536,7 +605,7 @@ var IteratorProxy = createIteratorProxy(function () {
536
605
 
537
606
  // `Iterator.prototype.map` method
538
607
  // https://tc39.es/ecma262/#sec-iterator.prototype.map
539
- $({ target: 'Iterator', proto: true, real: true, forced: IS_PURE || mapWithoutClosingOnEarlyError }, {
608
+ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
540
609
  map: function map(mapper) {
541
610
  anObject(this);
542
611
  try {
@@ -562,7 +631,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: IS_PURE || mapWithoutCl
562
631
  "use strict";
563
632
 
564
633
  // `GetIteratorDirect(obj)` abstract operation
565
- // https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect
634
+ // https://tc39.es/ecma262/#sec-getiteratordirect
566
635
  module.exports = function (obj) {
567
636
  return {
568
637
  iterator: obj,
@@ -807,9 +876,14 @@ var createIteratorProxy = __webpack_require__(9462);
807
876
  var callWithSafeIterationClosing = __webpack_require__(6319);
808
877
  var IS_PURE = __webpack_require__(6395);
809
878
  var iteratorClose = __webpack_require__(9539);
879
+ var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(684);
810
880
  var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(4549);
811
881
 
812
- var filterWithoutClosingOnEarlyError = !IS_PURE && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);
882
+ var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ });
883
+ var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR
884
+ && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError);
885
+
886
+ var FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;
813
887
 
814
888
  var IteratorProxy = createIteratorProxy(function () {
815
889
  var iterator = this.iterator;
@@ -827,7 +901,7 @@ var IteratorProxy = createIteratorProxy(function () {
827
901
 
828
902
  // `Iterator.prototype.filter` method
829
903
  // https://tc39.es/ecma262/#sec-iterator.prototype.filter
830
- $({ target: 'Iterator', proto: true, real: true, forced: IS_PURE || filterWithoutClosingOnEarlyError }, {
904
+ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
831
905
  filter: function filter(predicate) {
832
906
  anObject(this);
833
907
  try {
@@ -907,7 +981,7 @@ module.exports = function (iterable, unboundFunction, options) {
907
981
  var iterator, iterFn, index, length, result, next, step;
908
982
 
909
983
  var stop = function (condition) {
910
- if (iterator) iteratorClose(iterator, 'normal', condition);
984
+ if (iterator) iteratorClose(iterator, 'normal');
911
985
  return new Result(true, condition);
912
986
  };
913
987
 
@@ -1042,6 +1116,21 @@ var POLYFILL = isForced.POLYFILL = 'P';
1042
1116
  module.exports = isForced;
1043
1117
 
1044
1118
 
1119
+ /***/ }),
1120
+
1121
+ /***/ 2812:
1122
+ /***/ ((module) => {
1123
+
1124
+ "use strict";
1125
+
1126
+ var $TypeError = TypeError;
1127
+
1128
+ module.exports = function (passed, required) {
1129
+ if (passed < required) throw new $TypeError('Not enough arguments');
1130
+ return passed;
1131
+ };
1132
+
1133
+
1045
1134
  /***/ }),
1046
1135
 
1047
1136
  /***/ 2839:
@@ -1090,7 +1179,7 @@ var uncurryThis = __webpack_require__(9504);
1090
1179
 
1091
1180
  var id = 0;
1092
1181
  var postfix = Math.random();
1093
- var toString = uncurryThis(1.0.toString);
1182
+ var toString = uncurryThis(1.1.toString);
1094
1183
 
1095
1184
  module.exports = function (key) {
1096
1185
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
@@ -1116,7 +1205,7 @@ var has = SetHelpers.has;
1116
1205
  var remove = SetHelpers.remove;
1117
1206
 
1118
1207
  // `Set.prototype.difference` method
1119
- // https://github.com/tc39/proposal-set-methods
1208
+ // https://tc39.es/ecma262/#sec-set.prototype.difference
1120
1209
  module.exports = function difference(other) {
1121
1210
  var O = aSet(this);
1122
1211
  var otherRec = getSetRecord(other);
@@ -1125,7 +1214,7 @@ module.exports = function difference(other) {
1125
1214
  if (otherRec.includes(e)) remove(result, e);
1126
1215
  });
1127
1216
  else iterateSimple(otherRec.getIterator(), function (e) {
1128
- if (has(O, e)) remove(result, e);
1217
+ if (has(result, e)) remove(result, e);
1129
1218
  });
1130
1219
  return result;
1131
1220
  };
@@ -1189,7 +1278,7 @@ var has = SetHelpers.has;
1189
1278
  var remove = SetHelpers.remove;
1190
1279
 
1191
1280
  // `Set.prototype.symmetricDifference` method
1192
- // https://github.com/tc39/proposal-set-methods
1281
+ // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
1193
1282
  module.exports = function symmetricDifference(other) {
1194
1283
  var O = aSet(this);
1195
1284
  var keysIter = getSetRecord(other).getIterator();
@@ -1313,7 +1402,7 @@ var iterate = __webpack_require__(8469);
1313
1402
  var getSetRecord = __webpack_require__(3789);
1314
1403
 
1315
1404
  // `Set.prototype.isSubsetOf` method
1316
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
1405
+ // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
1317
1406
  module.exports = function isSubsetOf(other) {
1318
1407
  var O = aSet(this);
1319
1408
  var otherRec = getSetRecord(other);
@@ -1465,7 +1554,7 @@ var getSetRecord = __webpack_require__(3789);
1465
1554
  var iterateSimple = __webpack_require__(507);
1466
1555
 
1467
1556
  // `Set.prototype.union` method
1468
- // https://github.com/tc39/proposal-set-methods
1557
+ // https://tc39.es/ecma262/#sec-set.prototype.union
1469
1558
  module.exports = function union(other) {
1470
1559
  var O = aSet(this);
1471
1560
  var keysIter = getSetRecord(other).getIterator();
@@ -1575,7 +1664,7 @@ var iterateSimple = __webpack_require__(507);
1575
1664
  var iteratorClose = __webpack_require__(9539);
1576
1665
 
1577
1666
  // `Set.prototype.isDisjointFrom` method
1578
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
1667
+ // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
1579
1668
  module.exports = function isDisjointFrom(other) {
1580
1669
  var O = aSet(this);
1581
1670
  var otherRec = getSetRecord(other);
@@ -1717,6 +1806,63 @@ module.exports =
1717
1806
  (function () { return this; })() || Function('return this')();
1718
1807
 
1719
1808
 
1809
+ /***/ }),
1810
+
1811
+ /***/ 4603:
1812
+ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
1813
+
1814
+ "use strict";
1815
+
1816
+ var defineBuiltIn = __webpack_require__(6840);
1817
+ var uncurryThis = __webpack_require__(9504);
1818
+ var toString = __webpack_require__(655);
1819
+ var validateArgumentsLength = __webpack_require__(2812);
1820
+
1821
+ var $URLSearchParams = URLSearchParams;
1822
+ var URLSearchParamsPrototype = $URLSearchParams.prototype;
1823
+ var append = uncurryThis(URLSearchParamsPrototype.append);
1824
+ var $delete = uncurryThis(URLSearchParamsPrototype['delete']);
1825
+ var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
1826
+ var push = uncurryThis([].push);
1827
+ var params = new $URLSearchParams('a=1&a=2&b=3');
1828
+
1829
+ params['delete']('a', 1);
1830
+ // `undefined` case is a Chromium 117 bug
1831
+ // https://bugs.chromium.org/p/v8/issues/detail?id=14222
1832
+ params['delete']('b', undefined);
1833
+
1834
+ if (params + '' !== 'a=2') {
1835
+ defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {
1836
+ var length = arguments.length;
1837
+ var $value = length < 2 ? undefined : arguments[1];
1838
+ if (length && $value === undefined) return $delete(this, name);
1839
+ var entries = [];
1840
+ forEach(this, function (v, k) { // also validates `this`
1841
+ push(entries, { key: k, value: v });
1842
+ });
1843
+ validateArgumentsLength(length, 1);
1844
+ var key = toString(name);
1845
+ var value = toString($value);
1846
+ var index = 0;
1847
+ var dindex = 0;
1848
+ var found = false;
1849
+ var entriesLength = entries.length;
1850
+ var entry;
1851
+ while (index < entriesLength) {
1852
+ entry = entries[index++];
1853
+ if (found || entry.key === key) {
1854
+ found = true;
1855
+ $delete(this, entry.key);
1856
+ } else dindex++;
1857
+ }
1858
+ while (dindex < entriesLength) {
1859
+ entry = entries[dindex++];
1860
+ if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);
1861
+ }
1862
+ }, { enumerable: true, unsafe: true });
1863
+ }
1864
+
1865
+
1720
1866
  /***/ }),
1721
1867
 
1722
1868
  /***/ 4659:
@@ -1883,11 +2029,14 @@ module.exports = function (name, callback) {
1883
2029
 
1884
2030
  var $ = __webpack_require__(6518);
1885
2031
  var symmetricDifference = __webpack_require__(3650);
2032
+ var setMethodGetKeysBeforeCloning = __webpack_require__(9835);
1886
2033
  var setMethodAcceptSetLike = __webpack_require__(4916);
1887
2034
 
2035
+ var FORCED = !setMethodAcceptSetLike('symmetricDifference') || !setMethodGetKeysBeforeCloning('symmetricDifference');
2036
+
1888
2037
  // `Set.prototype.symmetricDifference` method
1889
2038
  // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
1890
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {
2039
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
1891
2040
  symmetricDifference: symmetricDifference
1892
2041
  });
1893
2042
 
@@ -2717,7 +2866,7 @@ __webpack_require__.r(__webpack_exports__);
2717
2866
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
2718
2867
  /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in preact_hooks__WEBPACK_IMPORTED_MODULE_1__) if(["default","Component","Fragment","createContext","createElement","createRef","Children","PureComponent","StrictMode","Suspense","SuspenseList","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createFactory","createPortal","findDOMNode","flushSync","forwardRef","hydrate","isElement","isFragment","isMemo","isValidElement","lazy","memo","render","startTransition","unmountComponentAtNode","unstable_batchedUpdates","useDeferredValue","useInsertionEffect","useSyncExternalStore","useTransition","version"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => preact_hooks__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]
2719
2868
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
2720
- function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){var e=t(),r=(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState)({t:{__:e,u:t}}),u=r[0].t,o=r[1];return (0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(function(){u.__=e,u.u=t,x(u)&&o({t:u})},[n,e,t]),(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function(){return x(u)&&o({t:u}),n(function(){x(u)&&o({t:u})})},[n]),e}function x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function w(n){return n}function k(){return[!1,R]}var I=preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect;function N(n,t){this.props=n,this.context=t}function M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(N.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).isPureReactComponent=!0,N.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=preact__WEBPACK_IMPORTED_MODULE_0__.options.__b;preact__WEBPACK_IMPORTED_MODULE_0__.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n)};var A="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function D(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=A,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var L=function(n,t){return null==n?null:(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)((0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).map(t))},O={map:L,forEach:L,count:function(n){return n?(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).length:0},only:function(n){var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray},F=preact__WEBPACK_IMPORTED_MODULE_0__.options.__e;preact__WEBPACK_IMPORTED_MODULE_0__.options.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);F(n,t,e,r)};var U=preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null}function j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function z(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return (0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(r,o)}return o.displayName="Lazy",o.__f=!0,o}function B(){this.i=null,this.l=null}preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(P.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},P.prototype.componentWillUnmount=function(){this.o=[]},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,n.fallback);return i&&(i.__u&=-33),[(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;if(e.componentWillUnmount=function(){(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.h.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}}(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)((0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(Z,{context:e.context},n.__v),e.v)}function $(n,e){var r=(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u()};e?e(o):o()}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t)})};var q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(n,t),"function"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return (0,preact__WEBPACK_IMPORTED_MODULE_0__.hydrate)(n,t),"function"==typeof e&&e(),n?n.__c:null}preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=preact__WEBPACK_IMPORTED_MODULE_0__.options.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}preact__WEBPACK_IMPORTED_MODULE_0__.options.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var ln,cn={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode;preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var l=t[i];if(!("value"===i&&"defaultValue"in t&&null==l||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var c=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===l?l="":"translate"===c&&"no"===l?l=!1:"o"===c[0]&&"n"===c[1]?"ondoubleclick"===c?i="ondblclick":"onchange"!==c||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===c?i="onfocusin":"onblur"===c?i="onfocusout":J.test(i)&&(i=c):c=i="oninput":o&&G.test(i)?i=i.replace(K,"-$&").toLowerCase():null===l&&(l=void 0),"oninput"===c&&u[i=c]&&(i="oninputCapture"),u[i]=l}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==e&&null!=u.defaultValue&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",cn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=q,fn&&fn(n)};var an=preact__WEBPACK_IMPORTED_MODULE_0__.options.__r;preact__WEBPACK_IMPORTED_MODULE_0__.options.__r=function(n){an&&an(n),ln=n.__c};var sn=preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed;preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value),ln=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return ln.__n[n.__c].props.value},useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useCallback,useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useContext,useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useDebugValue,useDeferredValue:w,useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect,useId:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useId,useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle,useInsertionEffect:I,useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect,useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useMemo,useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useReducer,useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useRef,useState:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState,useSyncExternalStore:C,useTransition:k}}},vn="18.3.1";function dn(n){return preact__WEBPACK_IMPORTED_MODULE_0__.createElement.bind(null,n)}function mn(n){return!!n&&n.$$typeof===q}function pn(n){return mn(n)&&n.type===preact__WEBPACK_IMPORTED_MODULE_0__.Fragment}function yn(n){return!!n&&!!n.displayName&&("string"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith("Memo(")}function _n(n){return mn(n)?preact__WEBPACK_IMPORTED_MODULE_0__.cloneElement.apply(null,arguments):n}function bn(n){return!!n.__k&&((0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,xn=mn,Rn={useState:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState,useId:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useId,useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useReducer,useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect,useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect,useInsertionEffect:I,useTransition:k,useDeferredValue:w,useSyncExternalStore:C,startTransition:R,useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useRef,useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle,useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useMemo,useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useCallback,useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useContext,useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useDebugValue,version:"18.3.1",Children:O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:$,createElement:preact__WEBPACK_IMPORTED_MODULE_0__.createElement,createContext:preact__WEBPACK_IMPORTED_MODULE_0__.createContext,createFactory:dn,cloneElement:_n,createRef:preact__WEBPACK_IMPORTED_MODULE_0__.createRef,Fragment:preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,isValidElement:mn,isElement:xn,isFragment:pn,isMemo:yn,findDOMNode:Sn,Component:preact__WEBPACK_IMPORTED_MODULE_0__.Component,PureComponent:N,memo:M,forwardRef:D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:P,SuspenseList:B,lazy:z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};
2869
+ function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){var e=t(),r=(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState)({t:{__:e,u:t}}),u=r[0].t,o=r[1];return (0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(function(){u.__=e,u.u=t,x(u)&&o({t:u})},[n,e,t]),(0,preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function(){return x(u)&&o({t:u}),n(function(){x(u)&&o({t:u})})},[n]),e}function x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function w(n){return n}function k(){return[!1,R]}var I=preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect;function N(n,t){this.props=n,this.context=t}function M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u.type=n,u}(N.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).isPureReactComponent=!0,N.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=preact__WEBPACK_IMPORTED_MODULE_0__.options.__b;preact__WEBPACK_IMPORTED_MODULE_0__.options.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n)};var A="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function D(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=A,t.render=n,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var L=function(n,t){return null==n?null:(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)((0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).map(t))},O={map:L,forEach:L,count:function(n){return n?(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n).length:0},only:function(n){var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray},F=preact__WEBPACK_IMPORTED_MODULE_0__.options.__e;preact__WEBPACK_IMPORTED_MODULE_0__.options.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);F(n,t,e,r)};var U=preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c.__e=!0,n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null}function j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function z(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return (0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(r,o)}return o.displayName="Lazy",o.__f=!0,o}function B(){this.i=null,this.l=null}preact__WEBPACK_IMPORTED_MODULE_0__.options.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(P.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},P.prototype.componentWillUnmount=function(){this.o=[]},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,n.fallback);return i&&(i.__u&=-33),[(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.i=e=e[2]}};function Z(n){return this.getChildContext=function(){return n.context},n.children}function Y(n){var e=this,r=n.h;if(e.componentWillUnmount=function(){(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,e.v),e.v=null,e.h=null},e.h&&e.h!==r&&e.componentWillUnmount(),!e.v){for(var u=e.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;e.h=r,e.v={nodeType:1,parentNode:r,childNodes:[],__k:{__m:u.__m},contains:function(){return!0},insertBefore:function(n,t){this.childNodes.push(n),e.h.insertBefore(n,t)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.h.removeChild(n)}}}(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)((0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(Z,{context:e.context},n.__v),e.v)}function $(n,e){var r=(0,preact__WEBPACK_IMPORTED_MODULE_0__.createElement)(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new preact__WEBPACK_IMPORTED_MODULE_0__.Component).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u()};e?e(o):o()}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t)})};var q="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q="undefined"!=typeof document,X=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=""),(0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(n,t),"function"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return (0,preact__WEBPACK_IMPORTED_MODULE_0__.hydrate)(n,t),"function"==typeof e&&e(),n?n.__c:null}preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(preact__WEBPACK_IMPORTED_MODULE_0__.Component.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=preact__WEBPACK_IMPORTED_MODULE_0__.options.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}preact__WEBPACK_IMPORTED_MODULE_0__.options.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var ln,cn={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode;preact__WEBPACK_IMPORTED_MODULE_0__.options.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var l=t[i];if(!("value"===i&&"defaultValue"in t&&null==l||Q&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var c=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===l?l="":"translate"===c&&"no"===l?l=!1:"o"===c[0]&&"n"===c[1]?"ondoubleclick"===c?i="ondblclick":"onchange"!==c||"input"!==e&&"textarea"!==e||X(t.type)?"onfocus"===c?i="onfocusin":"onblur"===c?i="onfocusout":J.test(i)&&(i=c):c=i="oninput":o&&G.test(i)?i=i.replace(K,"-$&").toLowerCase():null===l&&(l=void 0),"oninput"===c&&u[i=c]&&(i="oninputCapture"),u[i]=l}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==e&&null!=u.defaultValue&&(u.value=(0,preact__WEBPACK_IMPORTED_MODULE_0__.toChildArray)(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",cn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=q,fn&&fn(n)};var an=preact__WEBPACK_IMPORTED_MODULE_0__.options.__r;preact__WEBPACK_IMPORTED_MODULE_0__.options.__r=function(n){an&&an(n),ln=n.__c};var sn=preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed;preact__WEBPACK_IMPORTED_MODULE_0__.options.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value),ln=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return ln.__n[n.__c].props.value},useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useCallback,useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useContext,useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useDebugValue,useDeferredValue:w,useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect,useId:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useId,useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle,useInsertionEffect:I,useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect,useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useMemo,useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useReducer,useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useRef,useState:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState,useSyncExternalStore:C,useTransition:k}}},vn="18.3.1";function dn(n){return preact__WEBPACK_IMPORTED_MODULE_0__.createElement.bind(null,n)}function mn(n){return!!n&&n.$$typeof===q}function pn(n){return mn(n)&&n.type===preact__WEBPACK_IMPORTED_MODULE_0__.Fragment}function yn(n){return!!n&&!!n.displayName&&("string"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith("Memo(")}function _n(n){return mn(n)?preact__WEBPACK_IMPORTED_MODULE_0__.cloneElement.apply(null,arguments):n}function bn(n){return!!n.__k&&((0,preact__WEBPACK_IMPORTED_MODULE_0__.render)(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,xn=mn,Rn={useState:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useState,useId:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useId,useReducer:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useReducer,useEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useEffect,useLayoutEffect:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect,useInsertionEffect:I,useTransition:k,useDeferredValue:w,useSyncExternalStore:C,startTransition:R,useRef:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useRef,useImperativeHandle:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle,useMemo:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useMemo,useCallback:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useCallback,useContext:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useContext,useDebugValue:preact_hooks__WEBPACK_IMPORTED_MODULE_1__.useDebugValue,version:"18.3.1",Children:O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:$,createElement:preact__WEBPACK_IMPORTED_MODULE_0__.createElement,createContext:preact__WEBPACK_IMPORTED_MODULE_0__.createContext,createFactory:dn,cloneElement:_n,createRef:preact__WEBPACK_IMPORTED_MODULE_0__.createRef,Fragment:preact__WEBPACK_IMPORTED_MODULE_0__.Fragment,isValidElement:mn,isElement:xn,isFragment:pn,isMemo:yn,findDOMNode:Sn,Component:preact__WEBPACK_IMPORTED_MODULE_0__.Component,PureComponent:N,memo:M,forwardRef:D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:P,SuspenseList:B,lazy:z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};
2721
2870
  //# sourceMappingURL=compat.module.js.map
2722
2871
 
2723
2872
 
@@ -2761,6 +2910,42 @@ __webpack_require__(3579);
2761
2910
  __webpack_require__(5024);
2762
2911
 
2763
2912
 
2913
+ /***/ }),
2914
+
2915
+ /***/ 7566:
2916
+ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
2917
+
2918
+ "use strict";
2919
+
2920
+ var defineBuiltIn = __webpack_require__(6840);
2921
+ var uncurryThis = __webpack_require__(9504);
2922
+ var toString = __webpack_require__(655);
2923
+ var validateArgumentsLength = __webpack_require__(2812);
2924
+
2925
+ var $URLSearchParams = URLSearchParams;
2926
+ var URLSearchParamsPrototype = $URLSearchParams.prototype;
2927
+ var getAll = uncurryThis(URLSearchParamsPrototype.getAll);
2928
+ var $has = uncurryThis(URLSearchParamsPrototype.has);
2929
+ var params = new $URLSearchParams('a=1');
2930
+
2931
+ // `undefined` case is a Chromium 117 bug
2932
+ // https://bugs.chromium.org/p/v8/issues/detail?id=14222
2933
+ if (params.has('a', 2) || !params.has('a', undefined)) {
2934
+ defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {
2935
+ var length = arguments.length;
2936
+ var $value = length < 2 ? undefined : arguments[1];
2937
+ if (length && $value === undefined) return $has(this, name);
2938
+ var values = getAll(this, name); // also validates `this`
2939
+ validateArgumentsLength(length, 1);
2940
+ var value = toString($value);
2941
+ var index = 0;
2942
+ while (index < values.length) {
2943
+ if (values[index++] === value) return true;
2944
+ } return false;
2945
+ }, { enumerable: true, unsafe: true });
2946
+ }
2947
+
2948
+
2764
2949
  /***/ }),
2765
2950
 
2766
2951
  /***/ 7588:
@@ -2816,10 +3001,10 @@ var SHARED = '__core-js_shared__';
2816
3001
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
2817
3002
 
2818
3003
  (store.versions || (store.versions = [])).push({
2819
- version: '3.42.0',
3004
+ version: '3.45.1',
2820
3005
  mode: IS_PURE ? 'pure' : 'global',
2821
3006
  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
2822
- license: 'https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE',
3007
+ license: 'https://github.com/zloirock/core-js/blob/v3.45.1/LICENSE',
2823
3008
  source: 'https://github.com/zloirock/core-js'
2824
3009
  });
2825
3010
 
@@ -2833,15 +3018,38 @@ var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED,
2833
3018
 
2834
3019
  var $ = __webpack_require__(6518);
2835
3020
  var difference = __webpack_require__(3440);
3021
+ var fails = __webpack_require__(9039);
2836
3022
  var setMethodAcceptSetLike = __webpack_require__(4916);
2837
3023
 
2838
- var INCORRECT = !setMethodAcceptSetLike('difference', function (result) {
3024
+ var SET_LIKE_INCORRECT_BEHAVIOR = !setMethodAcceptSetLike('difference', function (result) {
2839
3025
  return result.size === 0;
2840
3026
  });
2841
3027
 
3028
+ var FORCED = SET_LIKE_INCORRECT_BEHAVIOR || fails(function () {
3029
+ // https://bugs.webkit.org/show_bug.cgi?id=288595
3030
+ var setLike = {
3031
+ size: 1,
3032
+ has: function () { return true; },
3033
+ keys: function () {
3034
+ var index = 0;
3035
+ return {
3036
+ next: function () {
3037
+ var done = index++ > 1;
3038
+ if (baseSet.has(1)) baseSet.clear();
3039
+ return { done: done, value: 2 };
3040
+ }
3041
+ };
3042
+ }
3043
+ };
3044
+ // eslint-disable-next-line es/no-set -- testing
3045
+ var baseSet = new Set([1, 2, 3, 4]);
3046
+ // eslint-disable-next-line es/no-set-prototype-difference -- testing
3047
+ return baseSet.difference(setLike).size !== 3;
3048
+ });
3049
+
2842
3050
  // `Set.prototype.difference` method
2843
3051
  // https://tc39.es/ecma262/#sec-set.prototype.difference
2844
- $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
3052
+ $({ target: 'Set', proto: true, real: true, forced: FORCED }, {
2845
3053
  difference: difference
2846
3054
  });
2847
3055
 
@@ -3209,7 +3417,8 @@ $({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFI
3209
3417
 
3210
3418
  if (true) {
3211
3419
  module.exports = __webpack_require__(5160);
3212
- } else {}
3420
+ } else // removed by dead control flow
3421
+ {}
3213
3422
 
3214
3423
 
3215
3424
  /***/ }),
@@ -3269,7 +3478,7 @@ var iterateSimple = __webpack_require__(507);
3269
3478
  var iteratorClose = __webpack_require__(9539);
3270
3479
 
3271
3480
  // `Set.prototype.isSupersetOf` method
3272
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
3481
+ // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
3273
3482
  module.exports = function isSupersetOf(other) {
3274
3483
  var O = aSet(this);
3275
3484
  var otherRec = getSetRecord(other);
@@ -3336,6 +3545,35 @@ module.exports = DESCRIPTORS && fails(function () {
3336
3545
  });
3337
3546
 
3338
3547
 
3548
+ /***/ }),
3549
+
3550
+ /***/ 8721:
3551
+ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
3552
+
3553
+ "use strict";
3554
+
3555
+ var DESCRIPTORS = __webpack_require__(3724);
3556
+ var uncurryThis = __webpack_require__(9504);
3557
+ var defineBuiltInAccessor = __webpack_require__(2106);
3558
+
3559
+ var URLSearchParamsPrototype = URLSearchParams.prototype;
3560
+ var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
3561
+
3562
+ // `URLSearchParams.prototype.size` getter
3563
+ // https://github.com/whatwg/url/pull/734
3564
+ if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {
3565
+ defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {
3566
+ get: function size() {
3567
+ var count = 0;
3568
+ forEach(this, function () { count++; });
3569
+ return count;
3570
+ },
3571
+ configurable: true,
3572
+ enumerable: true
3573
+ });
3574
+ }
3575
+
3576
+
3339
3577
  /***/ }),
3340
3578
 
3341
3579
  /***/ 8727:
@@ -3393,7 +3631,7 @@ var add = SetHelpers.add;
3393
3631
  var has = SetHelpers.has;
3394
3632
 
3395
3633
  // `Set.prototype.intersection` method
3396
- // https://github.com/tc39/proposal-set-methods
3634
+ // https://tc39.es/ecma262/#sec-set.prototype.intersection
3397
3635
  module.exports = function intersection(other) {
3398
3636
  var O = aSet(this);
3399
3637
  var otherRec = getSetRecord(other);
@@ -3620,10 +3858,13 @@ var getMethod = __webpack_require__(5966);
3620
3858
  var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype);
3621
3859
  var createIterResultObject = __webpack_require__(2529);
3622
3860
  var iteratorClose = __webpack_require__(9539);
3861
+ var iteratorCloseAll = __webpack_require__(1385);
3623
3862
 
3624
3863
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3625
3864
  var ITERATOR_HELPER = 'IteratorHelper';
3626
3865
  var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';
3866
+ var NORMAL = 'normal';
3867
+ var THROW = 'throw';
3627
3868
  var setInternalState = InternalStateModule.set;
3628
3869
 
3629
3870
  var createIteratorProxyPrototype = function (IS_ITERATOR) {
@@ -3654,11 +3895,16 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
3654
3895
  return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
3655
3896
  }
3656
3897
  if (state.inner) try {
3657
- iteratorClose(state.inner.iterator, 'normal');
3898
+ iteratorClose(state.inner.iterator, NORMAL);
3899
+ } catch (error) {
3900
+ return iteratorClose(iterator, THROW, error);
3901
+ }
3902
+ if (state.openIters) try {
3903
+ iteratorCloseAll(state.openIters, NORMAL);
3658
3904
  } catch (error) {
3659
- return iteratorClose(iterator, 'throw', error);
3905
+ return iteratorClose(iterator, THROW, error);
3660
3906
  }
3661
- if (iterator) iteratorClose(iterator, 'normal');
3907
+ if (iterator) iteratorClose(iterator, NORMAL);
3662
3908
  return createIterResultObject(undefined, true);
3663
3909
  }
3664
3910
  });
@@ -3849,6 +4095,44 @@ module.exports = {
3849
4095
  };
3850
4096
 
3851
4097
 
4098
+ /***/ }),
4099
+
4100
+ /***/ 9835:
4101
+ /***/ ((module) => {
4102
+
4103
+ "use strict";
4104
+
4105
+ // Should get iterator record of a set-like object before cloning this
4106
+ // https://bugs.webkit.org/show_bug.cgi?id=289430
4107
+ module.exports = function (METHOD_NAME) {
4108
+ try {
4109
+ // eslint-disable-next-line es/no-set -- needed for test
4110
+ var baseSet = new Set();
4111
+ var setLike = {
4112
+ size: 0,
4113
+ has: function () { return true; },
4114
+ keys: function () {
4115
+ // eslint-disable-next-line es/no-object-defineproperty -- needed for test
4116
+ return Object.defineProperty({}, 'next', {
4117
+ get: function () {
4118
+ baseSet.clear();
4119
+ baseSet.add(4);
4120
+ return function () {
4121
+ return { done: true };
4122
+ };
4123
+ }
4124
+ });
4125
+ }
4126
+ };
4127
+ var result = baseSet[METHOD_NAME](setLike);
4128
+
4129
+ return result.size === 1 && result.values().next().value === 4;
4130
+ } catch (error) {
4131
+ return false;
4132
+ }
4133
+ };
4134
+
4135
+
3852
4136
  /***/ })
3853
4137
 
3854
4138
  /******/ });
@@ -4050,11 +4334,12 @@ var esnext_iterator_for_each = __webpack_require__(3949);
4050
4334
  var esnext_iterator_map = __webpack_require__(1454);
4051
4335
  // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.some.js
4052
4336
  var esnext_iterator_some = __webpack_require__(7550);
4053
- // EXTERNAL MODULE: ./node_modules/minivents/dist/minivents.commonjs.min.js
4054
- var minivents_commonjs_min = __webpack_require__(2086);
4055
- var minivents_commonjs_min_default = /*#__PURE__*/__webpack_require__.n(minivents_commonjs_min);
4056
- // EXTERNAL MODULE: external "preact"
4057
- var external_preact_ = __webpack_require__(8785);
4337
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.delete.js
4338
+ var web_url_search_params_delete = __webpack_require__(4603);
4339
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.has.js
4340
+ var web_url_search_params_has = __webpack_require__(7566);
4341
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.size.js
4342
+ var web_url_search_params_size = __webpack_require__(8721);
4058
4343
  // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.difference.v2.js
4059
4344
  var esnext_set_difference_v2 = __webpack_require__(3375);
4060
4345
  // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.intersection.v2.js
@@ -4069,6 +4354,33 @@ var esnext_set_is_superset_of_v2 = __webpack_require__(5714);
4069
4354
  var esnext_set_symmetric_difference_v2 = __webpack_require__(7561);
4070
4355
  // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.union.v2.js
4071
4356
  var esnext_set_union_v2 = __webpack_require__(6197);
4357
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.reduce.js
4358
+ var esnext_iterator_reduce = __webpack_require__(8872);
4359
+ ;// ./src/javascripts/core/lib/split-url-params.ts
4360
+
4361
+
4362
+ const splitUrlParams = url => {
4363
+ const searchIndex = url.indexOf('?');
4364
+ if (searchIndex < 0) {
4365
+ return {
4366
+ url,
4367
+ params: {}
4368
+ };
4369
+ }
4370
+ const urlBase = url.slice(0, searchIndex);
4371
+ const params = url.slice(searchIndex + 1).split('&').reduce((acc, hash) => {
4372
+ const [key, val] = hash.split('=');
4373
+ return {
4374
+ ...acc,
4375
+ [key]: decodeURIComponent(val)
4376
+ };
4377
+ }, {});
4378
+ return {
4379
+ url: urlBase,
4380
+ params
4381
+ };
4382
+ };
4383
+ /* harmony default export */ const split_url_params = (splitUrlParams);
4072
4384
  ;// ./node_modules/reconnecting-websocket/dist/reconnecting-websocket-mjs.js
4073
4385
  /*! *****************************************************************************
4074
4386
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4658,33 +4970,6 @@ var ReconnectingWebSocket = /** @class */ (function () {
4658
4970
 
4659
4971
  /* harmony default export */ const reconnecting_websocket_mjs = (ReconnectingWebSocket);
4660
4972
 
4661
- // EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.reduce.js
4662
- var esnext_iterator_reduce = __webpack_require__(8872);
4663
- ;// ./src/javascripts/core/lib/split-url-params.ts
4664
-
4665
-
4666
- const splitUrlParams = url => {
4667
- const searchIndex = url.indexOf('?');
4668
- if (searchIndex < 0) {
4669
- return {
4670
- url,
4671
- params: {}
4672
- };
4673
- }
4674
- const urlBase = url.slice(0, searchIndex);
4675
- const params = url.slice(searchIndex + 1).split('&').reduce(function (acc, hash) {
4676
- const [key, val] = hash.split('=');
4677
- return {
4678
- ...acc,
4679
- [key]: decodeURIComponent(val)
4680
- };
4681
- }, {});
4682
- return {
4683
- url: urlBase,
4684
- params
4685
- };
4686
- };
4687
- /* harmony default export */ const split_url_params = (splitUrlParams);
4688
4973
  ;// ./src/javascripts/core/api/conversation-connector.ts
4689
4974
 
4690
4975
 
@@ -4713,11 +4998,7 @@ const emitChange = () => {
4713
4998
  };
4714
4999
  class ConversationConnector {
4715
5000
  #connectionListeners = [];
4716
-
4717
- // eslint-disable-next-line no-undef
4718
5001
  #statusInterval = null;
4719
-
4720
- // eslint-disable-next-line no-unused-vars
4721
5002
  #openListener = null;
4722
5003
  #messageListener = event => {
4723
5004
  const json = JSON.parse(event.data);
@@ -4858,8 +5139,6 @@ class ConversationConnector {
4858
5139
  }
4859
5140
  }
4860
5141
  ;// ./src/javascripts/core/api/errors/seamly-api-error.ts
4861
- // eslint-disable-next-line no-undef
4862
-
4863
5142
  class ApiError extends Error {
4864
5143
  constructor(message, options) {
4865
5144
  // @ts-ignore
@@ -4874,7 +5153,7 @@ function parseOriginalErrMsg(str) {
4874
5153
  try {
4875
5154
  const json = JSON.parse(str);
4876
5155
  return json.error;
4877
- } catch (e) {
5156
+ } catch (_e) {
4878
5157
  return str;
4879
5158
  }
4880
5159
  }
@@ -4943,7 +5222,6 @@ class SeamlyUnauthorizedError extends SeamlyBaseError {
4943
5222
  const debug = false ? 0 : () => () => null;
4944
5223
  /* harmony default export */ const lib_debug = (debug);
4945
5224
  ;// ./src/javascripts/core/lib/store/index.ts
4946
- /* eslint-disable */
4947
5225
  function objectStore(key, storageProvider) {
4948
5226
  const sessionStore = storageProvider(key);
4949
5227
  const object = sessionStore.get() || {};
@@ -5007,7 +5285,6 @@ const payloadTypes = {
5007
5285
  message: 'message',
5008
5286
  countdown: 'countdown',
5009
5287
  upload: 'upload',
5010
- cta: 'cta',
5011
5288
  splash: 'splash'
5012
5289
  };
5013
5290
  const entryTypes = {
@@ -5031,7 +5308,6 @@ const actionTypes = {
5031
5308
  setTopic: 'set_topic',
5032
5309
  setTranslation: 'set_translation',
5033
5310
  setContext: 'set_context',
5034
- clickCta: 'click_cta',
5035
5311
  clickCard: 'click_card'
5036
5312
  };
5037
5313
  const TRANSLATION_PROPOSAL = 'translation_proposal';
@@ -5073,6 +5349,9 @@ function randomId() {
5073
5349
  ;// ./src/javascripts/core/api/utils.ts
5074
5350
 
5075
5351
 
5352
+
5353
+
5354
+
5076
5355
  function buildPayload(command, payload) {
5077
5356
  if (command !== 'message') {
5078
5357
  return payload;
@@ -5142,6 +5421,9 @@ function getTimeZone() {
5142
5421
 
5143
5422
 
5144
5423
 
5424
+
5425
+
5426
+
5145
5427
  const TRANSLATIONS_VERSION = 4;
5146
5428
  const DOMAIN = 'api.seamly-app.com';
5147
5429
  const log = lib_debug('seamly');
@@ -5183,11 +5465,11 @@ class API {
5183
5465
  this.userResponded = false;
5184
5466
  this.URLS = {
5185
5467
  translations: {
5186
- href: `/channels/api/v2/client/${this.connectionInfo.apiKey}/translations/{version}/{locale}.json`,
5468
+ href: `/channels/api/v3/client/${this.connectionInfo.apiKey}/translations/{version}/{locale}.json`,
5187
5469
  templated: true
5188
5470
  },
5189
5471
  config: {
5190
- href: `/channels/api/v2/client/${this.connectionInfo.apiKey}/configs`,
5472
+ href: `/channels/api/v3/client/${this.connectionInfo.apiKey}/configs`,
5191
5473
  templated: true
5192
5474
  }
5193
5475
  };
@@ -5555,7 +5837,7 @@ class API {
5555
5837
  return {
5556
5838
  clientName: "@seamly/web-ui",
5557
5839
  clientVariant: this.#layoutMode,
5558
- clientVersion: "24.5.0",
5840
+ clientVersion: "25.0.0",
5559
5841
  currentUrl: window.location.toString(),
5560
5842
  screenResolution: `${window.screen.width}x${window.screen.height}`,
5561
5843
  timezone: getTimeZone(),
@@ -5641,7 +5923,8 @@ function isDate(val) {
5641
5923
  }
5642
5924
  function kindOf(val) {
5643
5925
  let typeOfVal = typeof val;
5644
- if (false) {}
5926
+ if (false) // removed by dead control flow
5927
+ {}
5645
5928
  return typeOfVal;
5646
5929
  }
5647
5930
 
@@ -5841,14 +6124,16 @@ function combineReducers(reducers) {
5841
6124
  const finalReducers = {};
5842
6125
  for (let i = 0; i < reducerKeys.length; i++) {
5843
6126
  const key = reducerKeys[i];
5844
- if (false) {}
6127
+ if (false) // removed by dead control flow
6128
+ {}
5845
6129
  if (typeof reducers[key] === "function") {
5846
6130
  finalReducers[key] = reducers[key];
5847
6131
  }
5848
6132
  }
5849
6133
  const finalReducerKeys = Object.keys(finalReducers);
5850
6134
  let unexpectedKeyCache;
5851
- if (false) {}
6135
+ if (false) // removed by dead control flow
6136
+ {}
5852
6137
  let shapeAssertionError;
5853
6138
  try {
5854
6139
  assertReducerShape(finalReducers);
@@ -5859,7 +6144,8 @@ function combineReducers(reducers) {
5859
6144
  if (shapeAssertionError) {
5860
6145
  throw shapeAssertionError;
5861
6146
  }
5862
- if (false) {}
6147
+ if (false) // removed by dead control flow
6148
+ {}
5863
6149
  let hasChanged = false;
5864
6150
  const nextState = {};
5865
6151
  for (let i = 0; i < finalReducerKeys.length; i++) {
@@ -5963,7 +6249,8 @@ var DRAFT_STATE = Symbol.for("immer-state");
5963
6249
  // src/utils/errors.ts
5964
6250
  var errors = false ? 0 : [];
5965
6251
  function die(error, ...args) {
5966
- if (false) {}
6252
+ if (false) // removed by dead control flow
6253
+ {}
5967
6254
  throw new Error(
5968
6255
  `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`
5969
6256
  );
@@ -6085,11 +6372,16 @@ function freeze(obj, deep = false) {
6085
6372
  if (isFrozen(obj) || immer_isDraft(obj) || !isDraftable(obj))
6086
6373
  return obj;
6087
6374
  if (getArchtype(obj) > 1) {
6088
- obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;
6375
+ Object.defineProperties(obj, {
6376
+ set: { value: dontMutateFrozenCollections },
6377
+ add: { value: dontMutateFrozenCollections },
6378
+ clear: { value: dontMutateFrozenCollections },
6379
+ delete: { value: dontMutateFrozenCollections }
6380
+ });
6089
6381
  }
6090
6382
  Object.freeze(obj);
6091
6383
  if (deep)
6092
- Object.entries(obj).forEach(([key, value]) => freeze(value, true));
6384
+ Object.values(obj).forEach((value) => freeze(value, true));
6093
6385
  return obj;
6094
6386
  }
6095
6387
  function dontMutateFrozenCollections() {
@@ -6236,7 +6528,8 @@ function finalize(rootScope, value, path) {
6236
6528
  }
6237
6529
  function finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {
6238
6530
  if (false)
6239
- {}
6531
+ // removed by dead control flow
6532
+ {}
6240
6533
  if (immer_isDraft(childValue)) {
6241
6534
  const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.
6242
6535
  !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;
@@ -6254,7 +6547,7 @@ function finalizeProperty(rootScope, parentState, targetObject, prop, childValue
6254
6547
  return;
6255
6548
  }
6256
6549
  finalize(rootScope, childValue);
6257
- if ((!parentState || !parentState.scope_.parent_) && typeof prop !== "symbol" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))
6550
+ if ((!parentState || !parentState.scope_.parent_) && typeof prop !== "symbol" && (isMap(targetObject) ? targetObject.has(prop) : Object.prototype.propertyIsEnumerable.call(targetObject, prop)))
6258
6551
  maybeFreeze(rootScope, childValue);
6259
6552
  }
6260
6553
  }
@@ -6398,12 +6691,14 @@ each(objectTraps, (key, fn) => {
6398
6691
  });
6399
6692
  arrayTraps.deleteProperty = function(state, prop) {
6400
6693
  if (false)
6401
- {}
6694
+ // removed by dead control flow
6695
+ {}
6402
6696
  return arrayTraps.set.call(this, state, prop, void 0);
6403
6697
  };
6404
6698
  arrayTraps.set = function(state, prop, value) {
6405
6699
  if (false)
6406
- {}
6700
+ // removed by dead control flow
6701
+ {}
6407
6702
  return objectTraps.set.call(this, state[0], prop, value, state[0]);
6408
6703
  };
6409
6704
  function peek(draft, prop) {
@@ -6630,7 +6925,8 @@ function currentImpl(value) {
6630
6925
  // src/plugins/patches.ts
6631
6926
  function enablePatches() {
6632
6927
  const errorOffset = 16;
6633
- if (false) {}
6928
+ if (false) // removed by dead control flow
6929
+ {}
6634
6930
  const REPLACE = "replace";
6635
6931
  const ADD = "add";
6636
6932
  const REMOVE = "remove";
@@ -7105,14 +7401,16 @@ function enableMapSet() {
7105
7401
  // src/immer.ts
7106
7402
  var immer = new Immer2();
7107
7403
  var produce = immer.produce;
7108
- var produceWithPatches = immer.produceWithPatches.bind(
7404
+ var produceWithPatches = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.produceWithPatches.bind(
7109
7405
  immer
7110
- );
7111
- var setAutoFreeze = immer.setAutoFreeze.bind(immer);
7112
- var setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);
7113
- var applyPatches = immer.applyPatches.bind(immer);
7114
- var createDraft = immer.createDraft.bind(immer);
7115
- var finishDraft = immer.finishDraft.bind(immer);
7406
+ )));
7407
+ var setAutoFreeze = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.setAutoFreeze.bind(immer)));
7408
+ var setUseStrictShallowCopy = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.setUseStrictShallowCopy.bind(
7409
+ immer
7410
+ )));
7411
+ var applyPatches = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.applyPatches.bind(immer)));
7412
+ var createDraft = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.createDraft.bind(immer)));
7413
+ var finishDraft = /* @__PURE__ */ (/* unused pure expression or super */ null && (immer.finishDraft.bind(immer)));
7116
7414
  function castDraft(value) {
7117
7415
  return value;
7118
7416
  }
@@ -7222,15 +7520,10 @@ function createActionCreatorInvariantMiddleware(options = {}) {
7222
7520
  if (true) {
7223
7521
  return () => (next) => (action) => next(action);
7224
7522
  }
7225
- const {
7226
- isActionCreator: isActionCreator2 = isActionCreator
7227
- } = options;
7228
- return () => (next) => (action) => {
7229
- if (isActionCreator2(action)) {
7230
- console.warn(getMessage(action.type));
7231
- }
7232
- return next(action);
7233
- };
7523
+ // removed by dead control flow
7524
+
7525
+ // removed by dead control flow
7526
+
7234
7527
  }
7235
7528
 
7236
7529
  // src/utils.ts
@@ -7359,7 +7652,8 @@ function detectMutations(isImmutable, ignoredPaths = [], trackedProperty, obj, s
7359
7652
  function createImmutableStateInvariantMiddleware(options = {}) {
7360
7653
  if (true) {
7361
7654
  return () => (next) => (action) => next(action);
7362
- } else { var stringify, getSerialize; }
7655
+ } else // removed by dead control flow
7656
+ { var stringify, getSerialize; }
7363
7657
  }
7364
7658
 
7365
7659
  // src/serializableStateInvariantMiddleware.ts
@@ -7422,7 +7716,8 @@ function isNestedFrozen(value) {
7422
7716
  function createSerializableStateInvariantMiddleware(options = {}) {
7423
7717
  if (true) {
7424
7718
  return () => (next) => (action) => next(action);
7425
- } else {}
7719
+ } else // removed by dead control flow
7720
+ {}
7426
7721
  }
7427
7722
 
7428
7723
  // src/getDefaultMiddleware.ts
@@ -7444,7 +7739,8 @@ var buildGetDefaultMiddleware = () => function getDefaultMiddleware(options) {
7444
7739
  middlewareArray.push(withExtraArgument(thunk.extraArgument));
7445
7740
  }
7446
7741
  }
7447
- if (false) {}
7742
+ if (false) // removed by dead control flow
7743
+ {}
7448
7744
  return middlewareArray;
7449
7745
  };
7450
7746
 
@@ -7543,16 +7839,20 @@ function configureStore(options) {
7543
7839
  } else {
7544
7840
  throw new Error( true ? redux_toolkit_modern_formatProdErrorMessage(1) : 0);
7545
7841
  }
7546
- if (false) {}
7842
+ if (false) // removed by dead control flow
7843
+ {}
7547
7844
  let finalMiddleware;
7548
7845
  if (typeof middleware === "function") {
7549
7846
  finalMiddleware = middleware(getDefaultMiddleware);
7550
- if (false) {}
7847
+ if (false) // removed by dead control flow
7848
+ {}
7551
7849
  } else {
7552
7850
  finalMiddleware = getDefaultMiddleware();
7553
7851
  }
7554
- if (false) {}
7555
- if (false) {}
7852
+ if (false) // removed by dead control flow
7853
+ {}
7854
+ if (false) // removed by dead control flow
7855
+ {}
7556
7856
  let finalCompose = compose;
7557
7857
  if (devTools) {
7558
7858
  finalCompose = composeWithDevTools({
@@ -7563,11 +7863,15 @@ function configureStore(options) {
7563
7863
  }
7564
7864
  const middlewareEnhancer = applyMiddleware(...finalMiddleware);
7565
7865
  const getDefaultEnhancers = buildGetDefaultEnhancers(middlewareEnhancer);
7566
- if (false) {}
7866
+ if (false) // removed by dead control flow
7867
+ {}
7567
7868
  let storeEnhancers = typeof enhancers === "function" ? enhancers(getDefaultEnhancers) : getDefaultEnhancers();
7568
- if (false) {}
7569
- if (false) {}
7570
- if (false) {}
7869
+ if (false) // removed by dead control flow
7870
+ {}
7871
+ if (false) // removed by dead control flow
7872
+ {}
7873
+ if (false) // removed by dead control flow
7874
+ {}
7571
7875
  const composedEnhancer = finalCompose(...storeEnhancers);
7572
7876
  return createStore(rootReducer, preloadedState, composedEnhancer);
7573
7877
  }
@@ -7582,7 +7886,8 @@ function executeReducerBuilderCallback(builderCallback) {
7582
7886
  let defaultCaseReducer;
7583
7887
  const builder = {
7584
7888
  addCase(typeOrActionCreator, reducer) {
7585
- if (false) {}
7889
+ if (false) // removed by dead control flow
7890
+ {}
7586
7891
  const type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type;
7587
7892
  if (!type) {
7588
7893
  throw new Error( true ? redux_toolkit_modern_formatProdErrorMessage(28) : 0);
@@ -7593,8 +7898,21 @@ function executeReducerBuilderCallback(builderCallback) {
7593
7898
  actionsMap[type] = reducer;
7594
7899
  return builder;
7595
7900
  },
7901
+ addAsyncThunk(asyncThunk, reducers) {
7902
+ if (false) // removed by dead control flow
7903
+ {}
7904
+ if (reducers.pending) actionsMap[asyncThunk.pending.type] = reducers.pending;
7905
+ if (reducers.rejected) actionsMap[asyncThunk.rejected.type] = reducers.rejected;
7906
+ if (reducers.fulfilled) actionsMap[asyncThunk.fulfilled.type] = reducers.fulfilled;
7907
+ if (reducers.settled) actionMatchers.push({
7908
+ matcher: asyncThunk.settled,
7909
+ reducer: reducers.settled
7910
+ });
7911
+ return builder;
7912
+ },
7596
7913
  addMatcher(matcher, reducer) {
7597
- if (false) {}
7914
+ if (false) // removed by dead control flow
7915
+ {}
7598
7916
  actionMatchers.push({
7599
7917
  matcher,
7600
7918
  reducer
@@ -7602,7 +7920,8 @@ function executeReducerBuilderCallback(builderCallback) {
7602
7920
  return builder;
7603
7921
  },
7604
7922
  addDefaultCase(reducer) {
7605
- if (false) {}
7923
+ if (false) // removed by dead control flow
7924
+ {}
7606
7925
  defaultCaseReducer = reducer;
7607
7926
  return builder;
7608
7927
  }
@@ -7616,7 +7935,8 @@ function isStateFunction(x) {
7616
7935
  return typeof x === "function";
7617
7936
  }
7618
7937
  function createReducer(initialState, mapOrBuilderCallback) {
7619
- if (false) {}
7938
+ if (false) // removed by dead control flow
7939
+ {}
7620
7940
  let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] = executeReducerBuilderCallback(mapOrBuilderCallback);
7621
7941
  let getInitialState;
7622
7942
  if (isStateFunction(initialState)) {
@@ -7972,7 +8292,8 @@ function buildCreateSlice({
7972
8292
  if (!name) {
7973
8293
  throw new Error( true ? redux_toolkit_modern_formatProdErrorMessage(11) : 0);
7974
8294
  }
7975
- if (typeof process !== "undefined" && "production" === "development") {}
8295
+ if (typeof process !== "undefined" && "production" === "development") // removed by dead control flow
8296
+ {}
7976
8297
  const reducers = (typeof options.reducers === "function" ? options.reducers(buildReducerCreators()) : options.reducers) || {};
7977
8298
  const reducerNames = Object.keys(reducers);
7978
8299
  const context = {
@@ -8023,7 +8344,8 @@ function buildCreateSlice({
8023
8344
  }
8024
8345
  });
8025
8346
  function buildReducer() {
8026
- if (false) {}
8347
+ if (false) // removed by dead control flow
8348
+ {}
8027
8349
  const [extraReducers = {}, actionMatchers = [], defaultCaseReducer = void 0] = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers];
8028
8350
  const finalCaseReducers = {
8029
8351
  ...extraReducers,
@@ -8062,7 +8384,8 @@ function buildCreateSlice({
8062
8384
  if (typeof sliceState === "undefined") {
8063
8385
  if (injected) {
8064
8386
  sliceState = getOrInsertComputed(injectedStateCache, selectSlice, getInitialState);
8065
- } else if (false) {}
8387
+ } else if (false) // removed by dead control flow
8388
+ {}
8066
8389
  }
8067
8390
  return sliceState;
8068
8391
  }
@@ -8116,7 +8439,8 @@ function wrapSelector(selector, selectState, getInitialState, injected) {
8116
8439
  if (typeof sliceState === "undefined") {
8117
8440
  if (injected) {
8118
8441
  sliceState = getInitialState();
8119
- } else if (false) {}
8442
+ } else if (false) // removed by dead control flow
8443
+ {}
8120
8444
  }
8121
8445
  return selector(sliceState, ...args);
8122
8446
  }
@@ -8303,7 +8627,8 @@ function createStateOperator(mutator) {
8303
8627
 
8304
8628
  function selectIdValue(entity, selectId) {
8305
8629
  const key = selectId(entity);
8306
- if (false) {}
8630
+ if (false) // removed by dead control flow
8631
+ {}
8307
8632
  return key;
8308
8633
  }
8309
8634
  function ensureEntitiesArray(entities) {
@@ -9145,7 +9470,8 @@ function combineSlices(...slices) {
9145
9470
  } = slice;
9146
9471
  const currentReducer = reducerMap[reducerPath];
9147
9472
  if (!config.overrideExisting && currentReducer && currentReducer !== reducerToInject) {
9148
- if (typeof process !== "undefined" && "production" === "development") {}
9473
+ if (typeof process !== "undefined" && "production" === "development") // removed by dead control flow
9474
+ {}
9149
9475
  return combinedReducer;
9150
9476
  }
9151
9477
  if (config.overrideExisting && currentReducer !== reducerToInject) {
@@ -9950,7 +10276,8 @@ function reselect_createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromA
9950
10276
  arguments
9951
10277
  );
9952
10278
  lastResult = memoizedResultFunc.apply(null, inputSelectorResults);
9953
- if (false) {}
10279
+ if (false) // removed by dead control flow
10280
+ {}
9954
10281
  return lastResult;
9955
10282
  }, ...finalArgsMemoizeOptions);
9956
10283
  return Object.assign(selector, {
@@ -10245,7 +10572,8 @@ function finalPropsSelectorFactory(dispatch, {
10245
10572
  const mapStateToProps = initMapStateToProps(dispatch, options);
10246
10573
  const mapDispatchToProps = initMapDispatchToProps(dispatch, options);
10247
10574
  const mergeProps = initMergeProps(dispatch, options);
10248
- if (false) {}
10575
+ if (false) // removed by dead control flow
10576
+ {}
10249
10577
  return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);
10250
10578
  }
10251
10579
 
@@ -10312,7 +10640,8 @@ function wrapMapToPropsFunc(mapToProps, methodName) {
10312
10640
  props = proxy(stateOrDispatch, ownProps);
10313
10641
  }
10314
10642
  if (false)
10315
- {}
10643
+ // removed by dead control flow
10644
+ {}
10316
10645
  return props;
10317
10646
  };
10318
10647
  return proxy;
@@ -10368,7 +10697,8 @@ function wrapMergePropsFunc(mergeProps) {
10368
10697
  hasRunOnce = true;
10369
10698
  mergedProps = nextMergedProps;
10370
10699
  if (false)
10371
- {}
10700
+ // removed by dead control flow
10701
+ {}
10372
10702
  }
10373
10703
  return mergedProps;
10374
10704
  };
@@ -10640,7 +10970,8 @@ function getContext() {
10640
10970
  realContext = compat_module.createContext(
10641
10971
  null
10642
10972
  );
10643
- if (false) {}
10973
+ if (false) // removed by dead control flow
10974
+ {}
10644
10975
  contextMap.set(compat_module.createContext, realContext);
10645
10976
  }
10646
10977
  return realContext;
@@ -10731,14 +11062,16 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps, {
10731
11062
  // the context consumer to use
10732
11063
  context = ReactReduxContext
10733
11064
  } = {}) {
10734
- if (false) {}
11065
+ if (false) // removed by dead control flow
11066
+ {}
10735
11067
  const Context = context;
10736
11068
  const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);
10737
11069
  const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);
10738
11070
  const initMergeProps = mergePropsFactory(mergeProps);
10739
11071
  const shouldHandleStateChanges = Boolean(mapStateToProps);
10740
11072
  const wrapWithConnect = (WrappedComponent) => {
10741
- if (false) {}
11073
+ if (false) // removed by dead control flow
11074
+ {}
10742
11075
  const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || "Component";
10743
11076
  const displayName = `Connect(${wrappedComponentName})`;
10744
11077
  const selectorFactoryOptions = {
@@ -10763,14 +11096,16 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps, {
10763
11096
  const ContextToUse = React.useMemo(() => {
10764
11097
  let ResultContext = Context;
10765
11098
  if (propsContext?.Consumer) {
10766
- if (false) {}
11099
+ if (false) // removed by dead control flow
11100
+ {}
10767
11101
  }
10768
11102
  return ResultContext;
10769
11103
  }, [propsContext, Context]);
10770
11104
  const contextValue = React.useContext(ContextToUse);
10771
11105
  const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);
10772
11106
  const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);
10773
- if (false) {}
11107
+ if (false) // removed by dead control flow
11108
+ {}
10774
11109
  const store = didStoreComeFromProps ? props.store : contextValue.store;
10775
11110
  const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;
10776
11111
  const childPropsSelector = React.useMemo(() => {
@@ -10927,7 +11262,8 @@ function Provider(providerProps) {
10927
11262
  };
10928
11263
  if (true) {
10929
11264
  return baseContextValue;
10930
- } else {}
11265
+ } else // removed by dead control flow
11266
+ {}
10931
11267
  }, [store, serverState]);
10932
11268
  const previousState = compat_module.useMemo(() => store.getState(), [store]);
10933
11269
  useIsomorphicLayoutEffect(() => {
@@ -10951,7 +11287,8 @@ var Provider_default = Provider;
10951
11287
  function createReduxContextHook(context = ReactReduxContext) {
10952
11288
  return function useReduxContext2() {
10953
11289
  const contextValue = compat_module.useContext(context);
10954
- if (false) {}
11290
+ if (false) // removed by dead control flow
11291
+ {}
10955
11292
  return contextValue;
10956
11293
  };
10957
11294
  }
@@ -10995,7 +11332,8 @@ function createSelectorHook(context = ReactReduxContext) {
10995
11332
  const useReduxContext2 = context === ReactReduxContext ? useReduxContext : createReduxContextHook(context);
10996
11333
  const useSelector2 = (selector, equalityFnOrOptions = {}) => {
10997
11334
  const { equalityFn = refEquality } = typeof equalityFnOrOptions === "function" ? { equalityFn: equalityFnOrOptions } : equalityFnOrOptions;
10998
- if (false) {}
11335
+ if (false) // removed by dead control flow
11336
+ {}
10999
11337
  const reduxContext = useReduxContext2();
11000
11338
  const { store, subscription, getServerState } = reduxContext;
11001
11339
  const firstRun = compat_module.useRef(true);
@@ -11003,7 +11341,8 @@ function createSelectorHook(context = ReactReduxContext) {
11003
11341
  {
11004
11342
  [selector.name](state) {
11005
11343
  const selected = selector(state);
11006
- if (false) {}
11344
+ if (false) // removed by dead control flow
11345
+ {}
11007
11346
  return selected;
11008
11347
  }
11009
11348
  }[selector.name],
@@ -11283,15 +11622,17 @@ const useSeamlyServiceData = key => {
11283
11622
  const useEntryTextLimit = () => {
11284
11623
  const {
11285
11624
  entryMeta: {
11625
+ active: entryType,
11286
11626
  options,
11287
11627
  optionsOverride
11288
11628
  }
11289
11629
  } = useSeamlyStateContext();
11290
- const {
11291
- limit
11292
- } = optionsOverride?.text || options?.text || {
11293
- limit: null
11294
- };
11630
+ let limit = null;
11631
+ if (entryType && typeof optionsOverride[entryType]?.limit === 'number') {
11632
+ limit = optionsOverride[entryType].limit;
11633
+ } else if (entryType && typeof options[entryType]?.limit === 'number') {
11634
+ limit = options[entryType].limit;
11635
+ }
11295
11636
  return {
11296
11637
  hasLimit: limit !== null,
11297
11638
  limit: limit !== null ? limit : null
@@ -12145,27 +12486,17 @@ const participantReducer = (participantInfo, action) => {
12145
12486
  };
12146
12487
  };
12147
12488
  const calculateNewEntryMeta = (entryMeta, channelEvent) => {
12148
- // Events originating from the client should leave the entry meta as is
12149
- if (channelEvent?.payload?.fromClient === true) {
12489
+ // Events originating from the client, and incoming events that are not messages,
12490
+ // should leave the entry meta as is.
12491
+ if (channelEvent?.payload?.fromClient === true || channelEvent?.type !== 'message') {
12150
12492
  return entryMeta;
12151
12493
  }
12152
- const entry = channelEvent?.type === 'message' ? channelEvent?.payload.translatedEntry || channelEvent?.payload.entry : {
12153
- options: undefined,
12154
- type: undefined
12155
- };
12494
+ const entry = channelEvent?.payload?.translatedEntry || channelEvent?.payload?.entry;
12156
12495
  const {
12157
12496
  blockAutoEntrySwitch
12158
12497
  } = entryMeta;
12159
12498
  const actions = channelEvent?.payload?.actions || {};
12160
12499
  const translatedActions = channelEvent?.payload?.translatedActions || {};
12161
- if (!entry) {
12162
- return {
12163
- ...entryMeta,
12164
- actions,
12165
- optionsOverride: {},
12166
- translatedActions
12167
- };
12168
- }
12169
12500
  const {
12170
12501
  type,
12171
12502
  options
@@ -12262,7 +12593,7 @@ const storeSlice = createSlice({
12262
12593
  type: eventType,
12263
12594
  payload
12264
12595
  } = action.payload;
12265
- const accountHasUploads = state.options.features.hasOwnProperty(featureKeys.uploads);
12596
+ const accountHasUploads = Object.prototype.hasOwnProperty.call(state.options.features, featureKeys.uploads);
12266
12597
  let newOptions = {
12267
12598
  ...state.options
12268
12599
  };
@@ -12377,18 +12708,20 @@ const storeSlice = createSlice({
12377
12708
  const historyNewEntryMeta = calculateNewEntryMeta({
12378
12709
  ...state.entryMeta,
12379
12710
  ...entry,
12380
- active: entry?.default || payloadTypes.text,
12381
- // @ts-ignore
12711
+ active: payloadTypes.text,
12712
+ // @ts-expect-error This only has part of the upload related options set
12382
12713
  options: {
12383
- ...(entry?.options ? entry.options : {})
12714
+ ...entry?.options
12384
12715
  }
12385
- }, events[events.length - 1]);
12716
+ },
12717
+ // Only events of type 'message' can change the entry options
12718
+ events.findLast(event => event.type === 'message'));
12386
12719
  let newFeatures = {
12387
12720
  ...state.options.features
12388
12721
  };
12389
12722
  // The first service message found is the 'last', as we receive them from newest to oldest.
12390
12723
  const lastServiceMessage = messages.find(m => !m.payload.fromClient && ['message', 'participant'].includes(m.type));
12391
- const newFeaturesHasUpload = newFeatures.hasOwnProperty(featureKeys.uploads);
12724
+ const newFeaturesHasUpload = Object.prototype.hasOwnProperty.call(newFeatures, featureKeys.uploads);
12392
12725
 
12393
12726
  // Check for upload enabled by entry type
12394
12727
  if (newFeaturesHasUpload && lastServiceMessage?.type === 'message') {
@@ -12534,7 +12867,7 @@ const storeSlice = createSlice({
12534
12867
  setFeatureEnabledState: (state, {
12535
12868
  payload
12536
12869
  }) => {
12537
- if (!state.options.features.hasOwnProperty(payload.key)) {
12870
+ if (!Object.prototype.hasOwnProperty.call(state.options.features, payload.key)) {
12538
12871
  return;
12539
12872
  }
12540
12873
  state.options.features[payload.key].enabled = payload.enabled;
@@ -12576,8 +12909,13 @@ const storeSlice = createSlice({
12576
12909
  setServiceEntryMetadata: (state, {
12577
12910
  payload
12578
12911
  }) => {
12579
- state.entryMeta.active = payload.default;
12580
- state.entryMeta.options = payload.options || {};
12912
+ state.entryMeta.options = {
12913
+ ...state.entryMeta.options,
12914
+ // @ts-expect-error This only has part of the upload related options set
12915
+ upload: {
12916
+ ...payload.options.upload
12917
+ }
12918
+ };
12581
12919
  state.entryMeta.optionsOverride = {};
12582
12920
  state.entryMeta.actions = {};
12583
12921
  state.entryMeta.translatedActions = {};
@@ -13058,6 +13396,11 @@ function store_createStore({
13058
13396
  return store;
13059
13397
  }
13060
13398
  const useAppDispatch = useDispatch;
13399
+ // EXTERNAL MODULE: ./node_modules/minivents/dist/minivents.commonjs.min.js
13400
+ var minivents_commonjs_min = __webpack_require__(2086);
13401
+ var minivents_commonjs_min_default = /*#__PURE__*/__webpack_require__.n(minivents_commonjs_min);
13402
+ // EXTERNAL MODULE: external "preact"
13403
+ var external_preact_ = __webpack_require__(8785);
13061
13404
  // EXTERNAL MODULE: external "preact/hooks"
13062
13405
  var hooks_ = __webpack_require__(1162);
13063
13406
  ;// ./node_modules/@ultraq/function-utils/function-utils.js
@@ -13303,8 +13646,10 @@ function split(string, separator, limit, accumulator = []) {
13303
13646
  */
13304
13647
 
13305
13648
  /**
13306
- * @callback TypeHandler
13307
- * @param {any} value
13649
+ * @typedef {(value: TValue | null | undefined, matches: string, locale: string, values: FormatValues, process: ProcessFunction) => TReturn} TypeHandler
13650
+ * @template [TValue=any]
13651
+ * @template [TReturn=any]
13652
+ * @param {TValue} value
13308
13653
  * The object which matched the key of the block being processed.
13309
13654
  * @param {string} matches
13310
13655
  * Any format options associated with the block being processed.
@@ -13316,7 +13661,7 @@ function split(string, separator, limit, accumulator = []) {
13316
13661
  * @param {ProcessFunction} process
13317
13662
  * The `process` function itself so that sub-messages can be processed by type
13318
13663
  * handlers.
13319
- * @return {any | any[]}
13664
+ * @return {TReturn}
13320
13665
  */
13321
13666
 
13322
13667
  /**
@@ -13387,9 +13732,6 @@ class MessageFormatter {
13387
13732
  }
13388
13733
  let [key, type, format] = splitFormattedArgument(block);
13389
13734
  let body = values[key];
13390
- if (body === null || body === undefined) {
13391
- body = '';
13392
- }
13393
13735
  let typeHandler = type && this.typeHandlers[type];
13394
13736
  result.push(typeHandler ?
13395
13737
  typeHandler(body, format, this.locale, values, this.process.bind(this)) :
@@ -13697,7 +14039,8 @@ const useIntersect = ({
13697
14039
  (0,hooks_.useEffect)(() => {
13698
14040
  const node = containerRef?.current;
13699
14041
  const hasIOSupport = !!window.IntersectionObserver;
13700
- if (!node && "production" === 'development') {}
14042
+ if (!node && "production" === 'development') // removed by dead control flow
14043
+ {}
13701
14044
 
13702
14045
  // Return an arrow function to have a consistent return value
13703
14046
  if (!hasIOSupport || frozen || !node || !enabled) return () => undefined;
@@ -14687,6 +15030,18 @@ const useSeamlyIdleDetachCountdown = () => {
14687
15030
  const {
14688
15031
  isOpen
14689
15032
  } = useVisibility();
15033
+
15034
+ // We create a ref here, and explicitly overwrite the current values, because the
15035
+ // `endCountdown` call initiated by the server has a different lifecycle from the
15036
+ // `IdleDetachWarning` component.
15037
+ const countdownState = (0,hooks_.useRef)({
15038
+ hasCountdown: false,
15039
+ wasStopped: false
15040
+ });
15041
+ countdownState.current = {
15042
+ hasCountdown,
15043
+ wasStopped: wasStopped || false
15044
+ };
14690
15045
  const {
14691
15046
  emitEvent,
14692
15047
  sendAction
@@ -14719,6 +15074,10 @@ const useSeamlyIdleDetachCountdown = () => {
14719
15074
  sendAssertiveIfOpen(`${t('idleDetachWarning.countdownTitle')} ${t('idleDetachWarning.countdownText')} ${t('idleDetachWarning.countdownTimer', delayTime)}`);
14720
15075
  }, [dispatch, emitEvent, sendAssertiveIfOpen, t]);
14721
15076
  const endCountdown = (0,hooks_.useCallback)((continueChat = undefined, isServerAction = false) => {
15077
+ const {
15078
+ hasCountdown,
15079
+ wasStopped
15080
+ } = countdownState.current;
14722
15081
  if (!hasCountdown) {
14723
15082
  return;
14724
15083
  }
@@ -14734,7 +15093,7 @@ const useSeamlyIdleDetachCountdown = () => {
14734
15093
  emitEvent('idleTimer.stop');
14735
15094
  }
14736
15095
  dispatch(clearIdleDetachCountdown());
14737
- }, [dispatch, emitEvent, hasCountdown, sendAction, sendAssertiveIfOpen, t, wasStopped]);
15096
+ }, [dispatch, emitEvent, sendAction, sendAssertiveIfOpen, t]);
14738
15097
  const decrementCountdown = (0,hooks_.useCallback)(() => {
14739
15098
  if (!remaining || remaining <= 0) {
14740
15099
  return;
@@ -14818,7 +15177,6 @@ const useSeamlyResumeConversationPrompt = () => {
14818
15177
  const useForceUpdate = () => {
14819
15178
  // This is an escape hatch mentioned in the React docs:
14820
15179
  // https://reactjs.org/docs/hooks-faq.html#is-there-something-like-forceupdate
14821
- /* eslint-disable-next-line no-unused-vars */
14822
15180
  const [_, forceUpdate] = (0,hooks_.useReducer)(x => x + 1, 0);
14823
15181
  return (0,hooks_.useCallback)(() => {
14824
15182
  setTimeout(() => {
@@ -14957,7 +15315,6 @@ const MessageContainer = ({
14957
15315
  }
14958
15316
  if (modifiers) {
14959
15317
  if (typeof modifiers === 'string') {
14960
- // eslint-disable-next-line no-param-reassign
14961
15318
  modifiers = modifiers.split(' ').filter(v => v.length);
14962
15319
  }
14963
15320
  modifiers.forEach(modifier => {
@@ -14971,7 +15328,6 @@ const MessageContainer = ({
14971
15328
  classNames.push('message--has-translation');
14972
15329
  }
14973
15330
  if (isTranslated) {
14974
- // eslint-disable-next-line no-param-reassign
14975
15331
  bodyProps = {
14976
15332
  ...bodyProps,
14977
15333
  lang: locale
@@ -15022,7 +15378,7 @@ const CardComponent = ({
15022
15378
  const isMounted = (0,hooks_.useRef)(false);
15023
15379
  const CardActionComponent = action?.type === cardTypes.navigate ? 'a' : 'button';
15024
15380
  const emitCardEvent = (0,hooks_.useCallback)(() => emitEvent(`action.${actionTypes.clickCard}`, {
15025
- type: actionTypes.clickCta,
15381
+ type: actionTypes.clickCard,
15026
15382
  originMessage: id,
15027
15383
  action
15028
15384
  }), [emitEvent, id, action]);
@@ -15840,87 +16196,6 @@ const ConversationSuggestions = ({
15840
16196
  });
15841
16197
  };
15842
16198
  /* harmony default export */ const conversation_suggestions = (ConversationSuggestions);
15843
- ;// ./src/javascripts/core/ui/components/conversation/event/hooks/use-event-link-click-handler.ts
15844
-
15845
-
15846
- const useEventLinkClickHandler = ({
15847
- originMessage,
15848
- transactionId
15849
- }) => {
15850
- const {
15851
- emitEvent,
15852
- sendAction
15853
- } = use_seamly_commands();
15854
- const eventClick = e => {
15855
- if (e.target && e.target.dataset.linkId) {
15856
- const action = {
15857
- type: actionTypes.navigate,
15858
- originMessage,
15859
- transactionId,
15860
- link: {
15861
- id: e.target.dataset.linkId,
15862
- url: e.target.getAttribute('href')
15863
- }
15864
- };
15865
- sendAction(action);
15866
- emitEvent(`action.${action.type}`, action);
15867
- }
15868
- };
15869
- return eventClick;
15870
- };
15871
- /* harmony default export */ const use_event_link_click_handler = (useEventLinkClickHandler);
15872
- ;// ./src/javascripts/core/ui/components/conversation/event/cta.tsx
15873
-
15874
-
15875
-
15876
-
15877
-
15878
-
15879
-
15880
-
15881
- const Cta = ({
15882
- event
15883
- }) => {
15884
- const {
15885
- body
15886
- } = useTranslatedEventData(event);
15887
- const eventClick = use_event_link_click_handler({
15888
- originMessage: event.payload.id,
15889
- transactionId: event.payload.transactionId
15890
- });
15891
- const {
15892
- emitEvent
15893
- } = use_seamly_commands();
15894
- const descriptionId = useGeneratedId();
15895
- const onClickHandler = (0,hooks_.useCallback)(() => emitEvent(`action.${actionTypes.clickCta}`, {
15896
- type: actionTypes.clickCta,
15897
- originMessage: event.payload.id,
15898
- link: {
15899
- url: body?.buttonLink
15900
- }
15901
- }), [emitEvent, body, event]);
15902
- return /*#__PURE__*/(0,jsx_runtime_namespaceObject.jsxs)(message_container, {
15903
- type: "cta",
15904
- event: event,
15905
- children: [/*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)("div", {
15906
- className: css_className('cta__content'),
15907
- id: descriptionId,
15908
- dangerouslySetInnerHTML: body?.description ? {
15909
- __html: body.description
15910
- } : undefined,
15911
- onClick: eventClick
15912
- }), /*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)("a", {
15913
- className: css_className('button', 'button--primary'),
15914
- "aria-describedby": descriptionId,
15915
- href: body?.buttonLink,
15916
- rel: "noreferrer",
15917
- target: body?.buttonNewTab ? '_blank' : '_self',
15918
- onClick: onClickHandler,
15919
- children: body?.buttonText
15920
- })]
15921
- });
15922
- };
15923
- /* harmony default export */ const cta = (Cta);
15924
16199
  ;// ./src/javascripts/core/ui/components/conversation/event-divider.tsx
15925
16200
 
15926
16201
 
@@ -16742,7 +17017,7 @@ var isFocusable = function isFocusable(node, options) {
16742
17017
 
16743
17018
  ;// ./node_modules/focus-trap/dist/focus-trap.esm.js
16744
17019
  /*!
16745
- * focus-trap 7.6.4
17020
+ * focus-trap 7.6.5
16746
17021
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
16747
17022
  */
16748
17023
 
@@ -16796,8 +17071,8 @@ function _toConsumableArray(r) {
16796
17071
  function _toPrimitive(t, r) {
16797
17072
  if ("object" != typeof t || !t) return t;
16798
17073
  var e = t[Symbol.toPrimitive];
16799
- if (undefined !== e) {
16800
- var i = e.call(t, r || "default");
17074
+ if (void 0 !== e) {
17075
+ var i = e.call(t, r);
16801
17076
  if ("object" != typeof i) return i;
16802
17077
  throw new TypeError("@@toPrimitive must return a primitive value.");
16803
17078
  }
@@ -16811,7 +17086,7 @@ function _unsupportedIterableToArray(r, a) {
16811
17086
  if (r) {
16812
17087
  if ("string" == typeof r) return _arrayLikeToArray(r, a);
16813
17088
  var t = {}.toString.call(r).slice(8, -1);
16814
- 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) : undefined;
17089
+ 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;
16815
17090
  }
16816
17091
  }
16817
17092
 
@@ -16846,10 +17121,10 @@ var isSelectableInput = function isSelectableInput(node) {
16846
17121
  return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';
16847
17122
  };
16848
17123
  var isEscapeEvent = function isEscapeEvent(e) {
16849
- return (e === null || e === undefined ? undefined : e.key) === 'Escape' || (e === null || e === undefined ? undefined : e.key) === 'Esc' || (e === null || e === undefined ? undefined : e.keyCode) === 27;
17124
+ return (e === null || e === void 0 ? void 0 : e.key) === 'Escape' || (e === null || e === void 0 ? void 0 : e.key) === 'Esc' || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;
16850
17125
  };
16851
17126
  var isTabEvent = function isTabEvent(e) {
16852
- return (e === null || e === undefined ? undefined : e.key) === 'Tab' || (e === null || e === undefined ? undefined : e.keyCode) === 9;
17127
+ return (e === null || e === void 0 ? void 0 : e.key) === 'Tab' || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;
16853
17128
  };
16854
17129
 
16855
17130
  // checks for TAB by default
@@ -16876,7 +17151,7 @@ var valueOrHandler = function valueOrHandler(value) {
16876
17151
  for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
16877
17152
  params[_key - 1] = arguments[_key];
16878
17153
  }
16879
- return typeof value === 'function' ? value.apply(undefined, params) : value;
17154
+ return typeof value === 'function' ? value.apply(void 0, params) : value;
16880
17155
  };
16881
17156
  var getActualTarget = function getActualTarget(event) {
16882
17157
  // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the
@@ -16895,8 +17170,8 @@ var internalTrapStack = [];
16895
17170
  var createFocusTrap = function createFocusTrap(elements, userOptions) {
16896
17171
  // SSR: a live trap shouldn't be created in this type of environment so this
16897
17172
  // should be safe code to execute if the `document` option isn't specified
16898
- var doc = (userOptions === null || userOptions === undefined ? undefined : userOptions.document) || document;
16899
- var trapStack = (userOptions === null || userOptions === undefined ? undefined : userOptions.trapStack) || internalTrapStack;
17173
+ var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;
17174
+ var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;
16900
17175
  var config = _objectSpread2({
16901
17176
  returnFocusOnDeactivate: true,
16902
17177
  escapeDeactivates: true,
@@ -16968,7 +17243,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
16968
17243
  * if the element isn't found.
16969
17244
  */
16970
17245
  var findContainerIndex = function findContainerIndex(element, event) {
16971
- var composedPath = typeof (event === null || event === undefined ? undefined : event.composedPath) === 'function' ? event.composedPath() : undefined;
17246
+ var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === 'function' ? event.composedPath() : undefined;
16972
17247
  // NOTE: search `containerGroups` because it's possible a group contains no tabbable
16973
17248
  // nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)
16974
17249
  // and we still need to find the element in there
@@ -16979,7 +17254,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
16979
17254
  // web components if the `tabbableOptions.getShadowRoot` option was used for
16980
17255
  // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
16981
17256
  // look inside web components even if open)
16982
- composedPath === null || composedPath === undefined ? undefined : composedPath.includes(container)) || tabbableNodes.find(function (node) {
17257
+ composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function (node) {
16983
17258
  return node === element;
16984
17259
  });
16985
17260
  });
@@ -17006,12 +17281,12 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
17006
17281
  var getNodeForOption = function getNodeForOption(optionName) {
17007
17282
  var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
17008
17283
  _ref2$hasFallback = _ref2.hasFallback,
17009
- hasFallback = _ref2$hasFallback === undefined ? false : _ref2$hasFallback,
17284
+ hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback,
17010
17285
  _ref2$params = _ref2.params,
17011
- params = _ref2$params === undefined ? [] : _ref2$params;
17286
+ params = _ref2$params === void 0 ? [] : _ref2$params;
17012
17287
  var optionValue = config[optionName];
17013
17288
  if (typeof optionValue === 'function') {
17014
- optionValue = optionValue.apply(undefined, _toConsumableArray(params));
17289
+ optionValue = optionValue.apply(void 0, _toConsumableArray(params));
17015
17290
  }
17016
17291
  if (optionValue === true) {
17017
17292
  optionValue = undefined; // use default value
@@ -17227,7 +17502,7 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
17227
17502
  var target = _ref3.target,
17228
17503
  event = _ref3.event,
17229
17504
  _ref3$isBackward = _ref3.isBackward,
17230
- isBackward = _ref3$isBackward === undefined ? false : _ref3$isBackward;
17505
+ isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;
17231
17506
  target = target || getActualTarget(event);
17232
17507
  updateTabbableNodes();
17233
17508
  var destinationNode = null;
@@ -17608,15 +17883,15 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
17608
17883
  }
17609
17884
  state.active = true;
17610
17885
  state.paused = false;
17611
- state.nodeFocusedBeforeActivation = doc.activeElement;
17612
- onActivate === null || onActivate === undefined || onActivate();
17886
+ state.nodeFocusedBeforeActivation = _getActiveElement(doc);
17887
+ onActivate === null || onActivate === void 0 || onActivate();
17613
17888
  var finishActivation = function finishActivation() {
17614
17889
  if (checkCanFocusTrap) {
17615
17890
  updateTabbableNodes();
17616
17891
  }
17617
17892
  addListeners();
17618
17893
  updateObservedNodes();
17619
- onPostActivate === null || onPostActivate === undefined || onPostActivate();
17894
+ onPostActivate === null || onPostActivate === void 0 || onPostActivate();
17620
17895
  };
17621
17896
  if (checkCanFocusTrap) {
17622
17897
  checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
@@ -17645,13 +17920,13 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
17645
17920
  var onPostDeactivate = getOption(options, 'onPostDeactivate');
17646
17921
  var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');
17647
17922
  var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');
17648
- onDeactivate === null || onDeactivate === undefined || onDeactivate();
17923
+ onDeactivate === null || onDeactivate === void 0 || onDeactivate();
17649
17924
  var finishDeactivation = function finishDeactivation() {
17650
17925
  delay(function () {
17651
17926
  if (returnFocus) {
17652
17927
  _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
17653
17928
  }
17654
- onPostDeactivate === null || onPostDeactivate === undefined || onPostDeactivate();
17929
+ onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();
17655
17930
  });
17656
17931
  };
17657
17932
  if (returnFocus && checkCanReturnFocus) {
@@ -17705,18 +17980,18 @@ var createFocusTrap = function createFocusTrap(elements, userOptions) {
17705
17980
  if (paused) {
17706
17981
  var onPause = getOption(options, 'onPause');
17707
17982
  var onPostPause = getOption(options, 'onPostPause');
17708
- onPause === null || onPause === undefined || onPause();
17983
+ onPause === null || onPause === void 0 || onPause();
17709
17984
  removeListeners();
17710
17985
  updateObservedNodes();
17711
- onPostPause === null || onPostPause === undefined || onPostPause();
17986
+ onPostPause === null || onPostPause === void 0 || onPostPause();
17712
17987
  } else {
17713
17988
  var onUnpause = getOption(options, 'onUnpause');
17714
17989
  var onPostUnpause = getOption(options, 'onPostUnpause');
17715
- onUnpause === null || onUnpause === undefined || onUnpause();
17990
+ onUnpause === null || onUnpause === void 0 || onUnpause();
17716
17991
  updateTabbableNodes();
17717
17992
  addListeners();
17718
17993
  updateObservedNodes();
17719
- onPostUnpause === null || onPostUnpause === undefined || onPostUnpause();
17994
+ onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();
17720
17995
  }
17721
17996
  return this;
17722
17997
  }
@@ -18021,6 +18296,35 @@ const Participant = ({
18021
18296
  });
18022
18297
  };
18023
18298
  /* harmony default export */ const participant = (Participant);
18299
+ ;// ./src/javascripts/core/ui/components/conversation/event/hooks/use-event-link-click-handler.ts
18300
+
18301
+
18302
+ const useEventLinkClickHandler = ({
18303
+ originMessage,
18304
+ transactionId
18305
+ }) => {
18306
+ const {
18307
+ emitEvent,
18308
+ sendAction
18309
+ } = use_seamly_commands();
18310
+ const eventClick = e => {
18311
+ if (e.target && e.target.dataset.linkId) {
18312
+ const action = {
18313
+ type: actionTypes.navigate,
18314
+ originMessage,
18315
+ transactionId,
18316
+ link: {
18317
+ id: e.target.dataset.linkId,
18318
+ url: e.target.getAttribute('href')
18319
+ }
18320
+ };
18321
+ sendAction(action);
18322
+ emitEvent(`action.${action.type}`, action);
18323
+ }
18324
+ };
18325
+ return eventClick;
18326
+ };
18327
+ /* harmony default export */ const use_event_link_click_handler = (useEventLinkClickHandler);
18024
18328
  ;// ./src/javascripts/core/ui/components/conversation/event/splash.tsx
18025
18329
 
18026
18330
 
@@ -18047,7 +18351,6 @@ const Splash = ({
18047
18351
  ...props,
18048
18352
  bodyProps: {
18049
18353
  dangerouslySetInnerHTML: {
18050
- // @ts-ignore
18051
18354
  __html: body?.text || ''
18052
18355
  }
18053
18356
  }
@@ -18143,7 +18446,7 @@ const useImageFromStorage = currentFileId => {
18143
18446
  if (isProcessingImg) return PROCESSING_IMAGE;
18144
18447
  try {
18145
18448
  return sessionStorage.getItem(`image-${currentFileId}`);
18146
- } catch (error) {
18449
+ } catch (_error) {
18147
18450
  return undefined;
18148
18451
  }
18149
18452
  }, [currentFileId, processingFileUploads]);
@@ -18314,7 +18617,6 @@ const Video = ({
18314
18617
 
18315
18618
 
18316
18619
 
18317
-
18318
18620
  const eventTypeMapping = {
18319
18621
  message: {
18320
18622
  choice_prompt: choice_prompt,
@@ -18323,7 +18625,6 @@ const eventTypeMapping = {
18323
18625
  splash: splash,
18324
18626
  video: video,
18325
18627
  upload: upload,
18326
- cta: cta,
18327
18628
  carousel: carousel_message,
18328
18629
  card: card_message
18329
18630
  },
@@ -18566,28 +18867,30 @@ const SeamlyEventSubscriber = () => {
18566
18867
  }
18567
18868
  break;
18568
18869
  case 'service_attach':
18569
- const {
18570
- service: {
18571
- name,
18572
- settings: {
18573
- proactiveMessages: {
18574
- enabled
18870
+ {
18871
+ const {
18872
+ service: {
18873
+ name,
18874
+ settings: {
18875
+ proactiveMessages: {
18876
+ enabled
18877
+ },
18878
+ entry
18575
18879
  },
18576
- entry
18577
- },
18578
- sessionId
18579
- }
18580
- } = event.payload;
18581
- dispatch(setProactiveMessages(enabled || false));
18582
- if (name) emitEvent('system.serviceChanged', name);
18583
- if (sessionId) dispatch(setActiveService(sessionId));
18584
- dispatch(setServiceEntryMetadata(entry));
18585
- dispatch(updateFeatures({
18586
- uploads: {
18587
- enabled: entry.options?.upload?.enabled || false
18588
- }
18589
- }));
18590
- break;
18880
+ sessionId
18881
+ }
18882
+ } = event.payload;
18883
+ dispatch(setProactiveMessages(enabled || false));
18884
+ if (name) emitEvent('system.serviceChanged', name);
18885
+ if (sessionId) dispatch(setActiveService(sessionId));
18886
+ dispatch(setServiceEntryMetadata(entry));
18887
+ dispatch(updateFeatures({
18888
+ uploads: {
18889
+ enabled: entry.options?.upload?.enabled || false
18890
+ }
18891
+ }));
18892
+ break;
18893
+ }
18591
18894
  case 'context':
18592
18895
  if (event.payload.contentLocale && event.payload.userLocale) {
18593
18896
  dispatch(setLocale(event.payload.userLocale));
@@ -18601,7 +18904,6 @@ const SeamlyEventSubscriber = () => {
18601
18904
  case 'image':
18602
18905
  case 'upload':
18603
18906
  case 'video':
18604
- case 'cta':
18605
18907
  case 'custom':
18606
18908
  case 'carousel':
18607
18909
  case 'card':
@@ -18641,26 +18943,30 @@ const SeamlyEventSubscriber = () => {
18641
18943
  case 'error':
18642
18944
  switch (event.payload.type) {
18643
18945
  case 'find_conversation':
18644
- const seamlySessionExpiredError = new SeamlySessionExpiredError(event);
18645
- dispatch(setInterrupt({
18646
- name: seamlySessionExpiredError.name,
18647
- action: seamlySessionExpiredError.action,
18648
- message: seamlySessionExpiredError.message,
18649
- originalEvent: seamlySessionExpiredError.originalEvent,
18650
- originalError: seamlySessionExpiredError.originalError
18651
- }));
18652
- break;
18946
+ {
18947
+ const seamlySessionExpiredError = new SeamlySessionExpiredError(event);
18948
+ dispatch(setInterrupt({
18949
+ name: seamlySessionExpiredError.name,
18950
+ action: seamlySessionExpiredError.action,
18951
+ message: seamlySessionExpiredError.message,
18952
+ originalEvent: seamlySessionExpiredError.originalEvent,
18953
+ originalError: seamlySessionExpiredError.originalError
18954
+ }));
18955
+ break;
18956
+ }
18653
18957
  case 'conversation':
18654
- const seamlyGeneralError = new SeamlyGeneralError(event);
18655
- dispatch(setInterrupt({
18656
- name: seamlyGeneralError.name,
18657
- message: seamlyGeneralError.message,
18658
- langKey: seamlyGeneralError.langKey,
18659
- originalEvent: seamlyGeneralError.originalEvent,
18660
- originalError: seamlyGeneralError.originalError,
18661
- action: seamlyGeneralError.action
18662
- }));
18663
- break;
18958
+ {
18959
+ const seamlyGeneralError = new SeamlyGeneralError(event);
18960
+ dispatch(setInterrupt({
18961
+ name: seamlyGeneralError.name,
18962
+ message: seamlyGeneralError.message,
18963
+ langKey: seamlyGeneralError.langKey,
18964
+ originalEvent: seamlyGeneralError.originalEvent,
18965
+ originalError: seamlyGeneralError.originalError,
18966
+ action: seamlyGeneralError.action
18967
+ }));
18968
+ break;
18969
+ }
18664
18970
  }
18665
18971
  }
18666
18972
  return event;
@@ -18686,7 +18992,7 @@ const SeamlyEventSubscriber = () => {
18686
18992
  if (events && 'service' in events) {
18687
18993
  dispatch(setEvents(events));
18688
18994
  }
18689
- } catch (e) {
18995
+ } catch (_e) {
18690
18996
  // nothing to do,
18691
18997
  }
18692
18998
  }
@@ -18774,7 +19080,7 @@ const SeamlyFileUpload = ({
18774
19080
  const newDataUri = resizeImage(img);
18775
19081
  try {
18776
19082
  sessionStorage.setItem(`image-${fileId}`, newDataUri);
18777
- } catch (error) {
19083
+ } catch (_error) {
18778
19084
  // Nothing to do!
18779
19085
  } finally {
18780
19086
  dispatch(doneProcessingImage(fileId));
@@ -18792,7 +19098,6 @@ const SeamlyFileUpload = ({
18792
19098
  id,
18793
19099
  transactionId,
18794
19100
  occurredAt,
18795
- // @ts-ignore
18796
19101
  body: {
18797
19102
  contentType,
18798
19103
  filename,
@@ -18847,8 +19152,6 @@ const useInterval = (callback, delay) => {
18847
19152
  (0,hooks_.useEffect)(() => {
18848
19153
  savedCallback.current = callback;
18849
19154
  }, [callback]);
18850
-
18851
- /* eslint-disable-next-line consistent-return */
18852
19155
  (0,hooks_.useEffect)(() => {
18853
19156
  function tick() {
18854
19157
  savedCallback.current();
@@ -19499,9 +19802,16 @@ const useEntryTextTranslation = controlName => {
19499
19802
  } = useCharacterLimit(controlName);
19500
19803
  const {
19501
19804
  entryMeta: {
19805
+ active: entryType,
19502
19806
  optionsOverride
19503
19807
  }
19504
19808
  } = useSeamlyStateContext();
19809
+ let labelOverride = null;
19810
+ let placeholderOverride = null;
19811
+ if (entryType && optionsOverride && typeof optionsOverride[entryType] === 'object') {
19812
+ labelOverride = optionsOverride[entryType].label;
19813
+ placeholderOverride = optionsOverride[entryType].placeholder;
19814
+ }
19505
19815
  const {
19506
19816
  alwaysShowEntryLabel
19507
19817
  } = useConfig();
@@ -19510,15 +19820,15 @@ const useEntryTextTranslation = controlName => {
19510
19820
  } = useI18n();
19511
19821
  const placeholder = (0,hooks_.useMemo)(() => t('input.inputPlaceholder', {
19512
19822
  hasLimit: hasCharacterLimit,
19513
- text: optionsOverride?.text?.placeholder || t('input.inputPlaceholderText'),
19823
+ text: placeholderOverride || t('input.inputPlaceholderText'),
19514
19824
  limit: hasCharacterLimit ? characterLimit : null
19515
- }), [t, hasCharacterLimit, characterLimit, optionsOverride?.text?.placeholder]);
19825
+ }), [t, hasCharacterLimit, characterLimit, placeholderOverride]);
19516
19826
  const label = (0,hooks_.useMemo)(() => t('input.inputLabel', {
19517
- hasLimit: !optionsOverride?.text?.label ? hasCharacterLimit : false,
19518
- text: optionsOverride?.text?.label || t('input.inputLabelText'),
19519
- limit: !optionsOverride?.text?.label && hasCharacterLimit ? characterLimit : null
19520
- }), [t, hasCharacterLimit, characterLimit, optionsOverride?.text?.label]);
19521
- const labelClass = (0,hooks_.useMemo)(() => alwaysShowEntryLabel === true || optionsOverride?.text?.label ? 'label' : 'visually-hidden', [alwaysShowEntryLabel, optionsOverride?.text?.label]);
19827
+ hasLimit: !labelOverride ? hasCharacterLimit : false,
19828
+ text: labelOverride || t('input.inputLabelText'),
19829
+ limit: !labelOverride && hasCharacterLimit ? characterLimit : null
19830
+ }), [t, hasCharacterLimit, characterLimit, labelOverride]);
19831
+ const labelClass = (0,hooks_.useMemo)(() => alwaysShowEntryLabel === true || labelOverride ? 'label' : 'visually-hidden', [alwaysShowEntryLabel, labelOverride]);
19522
19832
  return {
19523
19833
  placeholder,
19524
19834
  label,
@@ -20787,15 +21097,13 @@ const validateFileSize = (fileList, maxSize) => {
20787
21097
  return isValid;
20788
21098
  };
20789
21099
  const fileListObjectIsNotEmpty = fileListObj => !!fileListObj?.length;
20790
-
20791
- /* eslint-disable no-control-regex */
20792
21100
  const isEmailString = val => {
20793
- const regex = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
21101
+ const regex =
21102
+ // eslint-disable-next-line no-control-regex
21103
+ /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
20794
21104
  const trimmedVal = val && val.trim();
20795
21105
  return !!(trimmedVal && trimmedVal.match(regex));
20796
21106
  };
20797
- /* eslint-enable no-control-regex */
20798
-
20799
21107
  const isNotEmptyString = val => !!val;
20800
21108
  ;// ./src/javascripts/core/ui/components/form-controls/form.tsx
20801
21109
 
@@ -21218,12 +21526,8 @@ const OptionsButton = () => {
21218
21526
  }
21219
21527
  return /*#__PURE__*/(0,jsx_runtime_namespaceObject.jsxs)("div", {
21220
21528
  className: css_className('options__container'),
21221
- onKeyDown: onMainKeyDownHandler
21222
- // eslint-disable-next-line react/no-unknown-property
21223
- ,
21224
- onFocusOut: onFocusOutHandler
21225
- // eslint-disable-next-line react/no-unknown-property
21226
- ,
21529
+ onKeyDown: onMainKeyDownHandler,
21530
+ onFocusOut: onFocusOutHandler,
21227
21531
  onFocusIn: onFocusInHandler,
21228
21532
  children: [/*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)(in_out_transition, {
21229
21533
  transitionStartState: transitionStartStates.notRendered,
@@ -22479,9 +22783,15 @@ const EntryContainer = () => {
22479
22783
 
22480
22784
  // Check if the active element is inside this container and save it.
22481
22785
  containedFocus.current = !!(entryContainer.current && entryContainer.current.contains(document.activeElement));
22482
- const EntryComponent = entryComponents[renderEntry];
22786
+
22787
+ // Everything other than `text` and `upload` will fallback to `TextEntry` for now.
22788
+ // This is also done for `choice_prompt`, see comment above `allowManualInput` below.
22789
+ // At a later stage we could implement components like `DateTime` or `PhoneNumber`.
22790
+ const EntryComponent = entryComponents[renderEntry] || TextEntry;
22791
+
22483
22792
  // Currently we do not have an actual ChoicePrompt entry component.
22484
- // Once we do, this property should be moved to that component instead.
22793
+ // If we ever do, this property should be moved to that component instead.
22794
+ // The current ChoicePrompt component is only responsible for the rendering of the buttons/choose again option.
22485
22795
  const {
22486
22796
  allowManualInput = true
22487
22797
  } = activeEntryOptions;
@@ -22906,9 +23216,7 @@ const useNotification = () => {
22906
23216
  requestPermission();
22907
23217
  }
22908
23218
  }, [permission, proactiveMessages, requestPermission]);
22909
- const sendNotification = (0,hooks_.useCallback)(
22910
- // eslint-disable-next-line no-undef
22911
- async (title, options) => {
23219
+ const sendNotification = (0,hooks_.useCallback)(async (title, options) => {
22912
23220
  if (!showNotifications || !hasNotificationSupport) return;
22913
23221
  if (permission === 'default') {
22914
23222
  requestPermission();
@@ -23226,7 +23534,6 @@ class ExternalApi {
23226
23534
  this.context = {};
23227
23535
  }
23228
23536
  push(...actionObjects) {
23229
- // eslint-disable-next-line no-param-reassign
23230
23537
  actionObjects = actionObjects.filter(isActionObject).map(fixActionObjectArgs);
23231
23538
  if (actionObjects.length) {
23232
23539
  this._waitingActions.push(...actionObjects);
@@ -23269,35 +23576,41 @@ class ExternalApi {
23269
23576
  }
23270
23577
  switch (action) {
23271
23578
  case 'setTopic':
23272
- const {
23273
- name
23274
- } = args;
23275
- if (name) {
23276
- this.context.topic = name;
23579
+ {
23580
+ const {
23581
+ name
23582
+ } = args;
23583
+ if (name) {
23584
+ this.context.topic = name;
23585
+ }
23586
+ return true;
23277
23587
  }
23278
- return true;
23279
23588
  // Deprecated.
23280
23589
  case 'setTranslation':
23281
- const {
23282
- enabled,
23283
- locale
23284
- } = args;
23285
- if (!!enabled && locale) {
23286
- this.context.userLocale = locale;
23287
- this.context.source = sourceTypes.windowApi;
23590
+ {
23591
+ const {
23592
+ enabled,
23593
+ locale
23594
+ } = args;
23595
+ if (!!enabled && locale) {
23596
+ this.context.userLocale = locale;
23597
+ this.context.source = sourceTypes.windowApi;
23598
+ }
23599
+ return true;
23288
23600
  }
23289
- return true;
23290
23601
  case 'setContext':
23291
- const {
23292
- userLocale,
23293
- contentLocale
23294
- } = args;
23295
- this.context.userLocale = userLocale;
23296
- this.context.contentLocale = contentLocale;
23297
- if (userLocale && userLocale != this.appConfig?.userLocale) {
23298
- this.context.source = sourceTypes.windowApi;
23602
+ {
23603
+ const {
23604
+ userLocale,
23605
+ contentLocale
23606
+ } = args;
23607
+ this.context.userLocale = userLocale;
23608
+ this.context.contentLocale = contentLocale;
23609
+ if (userLocale && userLocale != this.appConfig?.userLocale) {
23610
+ this.context.source = sourceTypes.windowApi;
23611
+ }
23612
+ return true;
23299
23613
  }
23300
- return true;
23301
23614
  case 'setVariables':
23302
23615
  if (Object.keys(args).length > 0) {
23303
23616
  this.context.variables = {
@@ -23377,7 +23690,6 @@ class ExternalApi {
23377
23690
  });
23378
23691
  } else {
23379
23692
  if (typeof instance === 'string') {
23380
- // eslint-disable-next-line no-param-reassign
23381
23693
  instance = this._instances[instance];
23382
23694
  }
23383
23695
  if (instance) {
@@ -23386,8 +23698,6 @@ class ExternalApi {
23386
23698
  }
23387
23699
  }
23388
23700
  }
23389
-
23390
- // eslint-disable-next-line class-methods-use-this
23391
23701
  getUserConfig(userConfig = {}) {
23392
23702
  return userConfig;
23393
23703
  }
@@ -23490,10 +23800,9 @@ function appStore() {
23490
23800
  get: () => {
23491
23801
  // For Android we can retrieve data directly over the bridge
23492
23802
  // iOS and ReactNative will write the data on the window.seamlyBridgeData object on init
23493
- if (window.hasOwnProperty('SeamlyBridge')) {
23803
+ if (Object.prototype.hasOwnProperty.call(window, 'SeamlyBridge')) {
23494
23804
  try {
23495
- // eslint-disable-next-line no-undef
23496
- return JSON.parse(SeamlyBridge.getData());
23805
+ return JSON.parse(window.SeamlyBridge.getData());
23497
23806
  } catch (e) {
23498
23807
  console.error('Unexpected or malformed data retrieved from bridge', e);
23499
23808
  // Android should always return unchanged JSON data.
@@ -23510,9 +23819,8 @@ function appStore() {
23510
23819
  }
23511
23820
 
23512
23821
  // Android
23513
- if (window.hasOwnProperty('SeamlyBridge')) {
23514
- // eslint-disable-next-line no-undef
23515
- SeamlyBridge.setData(JSON.stringify(newData));
23822
+ if (Object.prototype.hasOwnProperty.call(window, 'SeamlyBridge')) {
23823
+ window.SeamlyBridge.setData(JSON.stringify(newData));
23516
23824
  }
23517
23825
 
23518
23826
  // React Native
@@ -23784,6 +24092,9 @@ const Header = ({
23784
24092
 
23785
24093
 
23786
24094
 
24095
+
24096
+
24097
+
23787
24098
  const getUrlSearchParams = () => {
23788
24099
  const params = new URLSearchParams(window.location.search);
23789
24100
  return Array.from(params.entries()).reduce((acc, [key, val]) => ({