plutonium 0.34.1 → 0.35.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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/plutonium/skill.md +53 -0
  3. data/.claude/skills/{assets → plutonium-assets}/SKILL.md +13 -8
  4. data/.claude/skills/{connect-resource → plutonium-connect-resource}/SKILL.md +1 -1
  5. data/.claude/skills/{controller → plutonium-controller}/SKILL.md +27 -13
  6. data/.claude/skills/{create-resource → plutonium-create-resource}/SKILL.md +1 -1
  7. data/.claude/skills/{definition → plutonium-definition}/SKILL.md +10 -10
  8. data/.claude/skills/{definition-actions → plutonium-definition-actions}/SKILL.md +34 -9
  9. data/.claude/skills/{definition-fields → plutonium-definition-fields}/SKILL.md +38 -10
  10. data/.claude/skills/plutonium-definition-query/SKILL.md +356 -0
  11. data/.claude/skills/{forms → plutonium-forms}/SKILL.md +6 -6
  12. data/.claude/skills/{installation → plutonium-installation}/SKILL.md +9 -9
  13. data/.claude/skills/{interaction → plutonium-interaction}/SKILL.md +20 -19
  14. data/.claude/skills/{model → plutonium-model}/SKILL.md +3 -3
  15. data/.claude/skills/{model-features → plutonium-model-features}/SKILL.md +3 -3
  16. data/.claude/skills/{nested-resources → plutonium-nested-resources}/SKILL.md +5 -5
  17. data/.claude/skills/{package → plutonium-package}/SKILL.md +7 -8
  18. data/.claude/skills/{policy → plutonium-policy}/SKILL.md +26 -4
  19. data/.claude/skills/{portal → plutonium-portal}/SKILL.md +33 -31
  20. data/.claude/skills/{resource → plutonium-resource}/SKILL.md +27 -27
  21. data/.claude/skills/{rodauth → plutonium-rodauth}/SKILL.md +5 -5
  22. data/.claude/skills/plutonium-theming/SKILL.md +424 -0
  23. data/.claude/skills/{views → plutonium-views}/SKILL.md +7 -7
  24. data/CHANGELOG.md +52 -0
  25. data/CLAUDE.md +215 -0
  26. data/CONTRIBUTING.md +72 -18
  27. data/README.md +100 -19
  28. data/app/assets/plutonium.css +1 -11
  29. data/app/assets/plutonium.js +1685 -1146
  30. data/app/assets/plutonium.js.map +4 -4
  31. data/app/assets/plutonium.min.js +70 -70
  32. data/app/assets/plutonium.min.js.map +4 -4
  33. data/app/views/resource/interactive_bulk_action.html.erb +1 -5
  34. data/app/views/rodauth/_email_auth_request_form.html.erb +1 -1
  35. data/app/views/rodauth/_login_form.html.erb +15 -55
  36. data/app/views/rodauth/_login_form_footer.html.erb +2 -2
  37. data/app/views/rodauth/_password_visibility.html.erb +2 -8
  38. data/app/views/rodauth/add_recovery_codes.html.erb +2 -2
  39. data/app/views/rodauth/change_login.html.erb +36 -19
  40. data/app/views/rodauth/change_password.html.erb +34 -10
  41. data/app/views/rodauth/close_account.html.erb +12 -4
  42. data/app/views/rodauth/confirm_password.html.erb +19 -17
  43. data/app/views/rodauth/create_account.html.erb +30 -109
  44. data/app/views/rodauth/email_auth.html.erb +1 -1
  45. data/app/views/rodauth/logout.html.erb +4 -4
  46. data/app/views/rodauth/otp_auth.html.erb +13 -4
  47. data/app/views/rodauth/otp_disable.html.erb +12 -4
  48. data/app/views/rodauth/otp_setup.html.erb +29 -12
  49. data/app/views/rodauth/otp_unlock.html.erb +19 -10
  50. data/app/views/rodauth/otp_unlock_not_available.html.erb +7 -7
  51. data/app/views/rodauth/recovery_auth.html.erb +12 -4
  52. data/app/views/rodauth/recovery_codes.html.erb +12 -4
  53. data/app/views/rodauth/remember.html.erb +7 -7
  54. data/app/views/rodauth/reset_password.html.erb +23 -7
  55. data/app/views/rodauth/reset_password_request.html.erb +14 -10
  56. data/app/views/rodauth/sms_auth.html.erb +13 -4
  57. data/app/views/rodauth/sms_confirm.html.erb +13 -4
  58. data/app/views/rodauth/sms_disable.html.erb +12 -4
  59. data/app/views/rodauth/sms_request.html.erb +1 -1
  60. data/app/views/rodauth/sms_setup.html.erb +23 -7
  61. data/app/views/rodauth/two_factor_auth.html.erb +2 -2
  62. data/app/views/rodauth/two_factor_disable.html.erb +12 -4
  63. data/app/views/rodauth/two_factor_manage.html.erb +7 -7
  64. data/app/views/rodauth/unlock_account.html.erb +13 -5
  65. data/app/views/rodauth/unlock_account_request.html.erb +2 -2
  66. data/app/views/rodauth/verify_account.html.erb +25 -7
  67. data/app/views/rodauth/verify_account_resend.html.erb +14 -10
  68. data/app/views/rodauth/verify_login_change.html.erb +1 -1
  69. data/app/views/rodauth/webauthn_auth.html.erb +1 -1
  70. data/app/views/rodauth/webauthn_remove.html.erb +18 -8
  71. data/app/views/rodauth/webauthn_setup.html.erb +12 -4
  72. data/docs/.vitepress/config.ts +15 -26
  73. data/docs/.vitepress/theme/custom.css +388 -29
  74. data/docs/getting-started/index.md +1 -1
  75. data/docs/getting-started/tutorial/02-first-resource.md +9 -0
  76. data/docs/getting-started/tutorial/06-nested-resources.md +2 -2
  77. data/docs/getting-started/tutorial/07-author-portal.md +191 -0
  78. data/docs/getting-started/tutorial/{07-customizing-ui.md → 08-customizing-ui.md} +7 -7
  79. data/docs/getting-started/tutorial/index.md +5 -2
  80. data/docs/guides/authorization.md +33 -0
  81. data/docs/guides/creating-packages.md +12 -16
  82. data/docs/guides/custom-actions.md +36 -0
  83. data/docs/guides/search-filtering.md +121 -42
  84. data/docs/guides/theming.md +232 -36
  85. data/docs/index.md +203 -57
  86. data/docs/public/og-image.png +0 -0
  87. data/docs/reference/controller/index.md +14 -16
  88. data/docs/reference/definition/actions.md +38 -3
  89. data/docs/reference/definition/fields.md +3 -3
  90. data/docs/reference/definition/index.md +2 -2
  91. data/docs/reference/generators/index.md +0 -1
  92. data/docs/reference/interaction/index.md +14 -10
  93. data/docs/reference/model/index.md +0 -1
  94. data/docs/reference/portal/index.md +13 -27
  95. data/gemfiles/rails_7.gemfile.lock +1 -1
  96. data/gemfiles/rails_8.0.gemfile.lock +1 -1
  97. data/gemfiles/rails_8.1.gemfile.lock +1 -1
  98. data/lib/generators/pu/pkg/portal/portal_generator.rb +0 -2
  99. data/lib/generators/pu/pkg/portal/templates/app/views/package/dashboard/index.html.erb +28 -72
  100. data/lib/plutonium/action/interactive.rb +2 -2
  101. data/lib/plutonium/core/controller.rb +2 -1
  102. data/lib/plutonium/definition/actions.rb +2 -2
  103. data/lib/plutonium/lib/deep_freezer.rb +3 -7
  104. data/lib/plutonium/query/filter.rb +14 -0
  105. data/lib/plutonium/query/filters/association.rb +49 -0
  106. data/lib/plutonium/query/filters/boolean.rb +35 -0
  107. data/lib/plutonium/query/filters/date.rb +97 -0
  108. data/lib/plutonium/query/filters/date_range.rb +58 -0
  109. data/lib/plutonium/query/filters/select.rb +55 -0
  110. data/lib/plutonium/resource/controllers/crud_actions.rb +24 -6
  111. data/lib/plutonium/resource/controllers/interactive_actions.rb +76 -58
  112. data/lib/plutonium/resource/controllers/queryable.rb +4 -2
  113. data/lib/plutonium/resource/query_object.rb +1 -1
  114. data/lib/plutonium/ui/action_button.rb +23 -65
  115. data/lib/plutonium/ui/actions_dropdown.rb +103 -0
  116. data/lib/plutonium/ui/block.rb +1 -1
  117. data/lib/plutonium/ui/breadcrumbs.rb +12 -19
  118. data/lib/plutonium/ui/color_mode_selector.rb +1 -1
  119. data/lib/plutonium/ui/component/kit.rb +6 -0
  120. data/lib/plutonium/ui/component_classes.rb +102 -0
  121. data/lib/plutonium/ui/display/base.rb +15 -0
  122. data/lib/plutonium/ui/display/components/attachment.rb +6 -5
  123. data/lib/plutonium/ui/display/components/boolean.rb +23 -0
  124. data/lib/plutonium/ui/display/components/color.rb +23 -0
  125. data/lib/plutonium/ui/display/resource.rb +1 -1
  126. data/lib/plutonium/ui/display/theme.rb +29 -15
  127. data/lib/plutonium/ui/empty_card.rb +3 -3
  128. data/lib/plutonium/ui/form/base.rb +20 -0
  129. data/lib/plutonium/ui/form/components/key_value_store.rb +11 -11
  130. data/lib/plutonium/ui/form/components/resource_select.rb +31 -0
  131. data/lib/plutonium/ui/form/components/secure_association.rb +1 -2
  132. data/lib/plutonium/ui/form/components/uppy.rb +5 -4
  133. data/lib/plutonium/ui/form/concerns/renders_nested_resource_fields.rb +4 -4
  134. data/lib/plutonium/ui/form/interaction.rb +17 -1
  135. data/lib/plutonium/ui/form/query.rb +133 -80
  136. data/lib/plutonium/ui/form/theme.rb +50 -35
  137. data/lib/plutonium/ui/frame_navigator_panel.rb +2 -2
  138. data/lib/plutonium/ui/layout/base.rb +1 -1
  139. data/lib/plutonium/ui/layout/header.rb +4 -7
  140. data/lib/plutonium/ui/layout/rodauth_layout.rb +7 -7
  141. data/lib/plutonium/ui/layout/sidebar.rb +1 -1
  142. data/lib/plutonium/ui/nav_grid_menu.rb +7 -6
  143. data/lib/plutonium/ui/nav_user.rb +9 -8
  144. data/lib/plutonium/ui/page/interactive_action.rb +5 -5
  145. data/lib/plutonium/ui/page_header.rb +29 -10
  146. data/lib/plutonium/ui/panel.rb +4 -4
  147. data/lib/plutonium/ui/sidebar_menu.rb +8 -8
  148. data/lib/plutonium/ui/skeleton_table.rb +7 -8
  149. data/lib/plutonium/ui/tab_list.rb +5 -5
  150. data/lib/plutonium/ui/table/base.rb +3 -0
  151. data/lib/plutonium/ui/table/components/attachment.rb +4 -3
  152. data/lib/plutonium/ui/table/components/bulk_actions_toolbar.rb +82 -0
  153. data/lib/plutonium/ui/table/components/pagy_info.rb +2 -2
  154. data/lib/plutonium/ui/table/components/pagy_pagination.rb +13 -8
  155. data/lib/plutonium/ui/table/components/row_actions_dropdown.rb +101 -0
  156. data/lib/plutonium/ui/table/components/scopes_bar.rb +2 -2
  157. data/lib/plutonium/ui/table/components/selection_column.rb +100 -0
  158. data/lib/plutonium/ui/table/display_theme.rb +6 -6
  159. data/lib/plutonium/ui/table/resource.rb +93 -52
  160. data/lib/plutonium/ui/table/theme.rb +28 -15
  161. data/lib/plutonium/version.rb +1 -1
  162. data/package.json +2 -2
  163. data/plutonium.gemspec +5 -4
  164. data/src/css/components.css +471 -0
  165. data/src/css/intl_tel_input.css +2 -2
  166. data/src/css/plutonium.css +2 -0
  167. data/src/css/tokens.css +149 -0
  168. data/src/js/controllers/bulk_actions_controller.js +109 -0
  169. data/src/js/controllers/filter_panel_controller.js +35 -0
  170. data/src/js/controllers/register_controllers.js +5 -1
  171. data/src/js/controllers/resource_drop_down_controller.js +25 -1
  172. data/src/js/controllers/slim_select_controller.js +6 -2
  173. data/src/js/turbo/turbo_actions.js +1 -1
  174. metadata +52 -39
  175. data/.claude/skills/definition-query/SKILL.md +0 -334
  176. data/docs/concepts/architecture.md +0 -226
  177. data/docs/concepts/auto-detection.md +0 -254
  178. data/docs/concepts/index.md +0 -61
  179. data/docs/concepts/packages-portals.md +0 -304
  180. data/docs/concepts/resources.md +0 -224
  181. data/docs/cookbook/blog.md +0 -411
  182. data/docs/cookbook/index.md +0 -289
  183. data/docs/cookbook/saas.md +0 -481
  184. data/docs/public/CLAUDE.md +0 -578
  185. data/lib/generators/pu/pkg/portal/templates/app/controllers/resource_controller.rb.tt +0 -5
@@ -37,27 +37,27 @@
37
37
  emitAll(event, toEmit, [arg1, arg2, arg3, arg4, arg5, arg6]);
38
38
  }
39
39
  };
40
- emitter.on = function on(event, fn2) {
40
+ emitter.on = function on2(event, fn3) {
41
41
  if (!_fns[event]) {
42
42
  _fns[event] = [];
43
43
  }
44
- _fns[event].push(fn2);
44
+ _fns[event].push(fn3);
45
45
  };
46
- emitter.once = function once(event, fn2) {
46
+ emitter.once = function once(event, fn3) {
47
47
  function one() {
48
- fn2.apply(this, arguments);
48
+ fn3.apply(this, arguments);
49
49
  emitter.off(event, one);
50
50
  }
51
51
  this.on(event, one);
52
52
  };
53
- emitter.off = function off(event, fn2) {
53
+ emitter.off = function off(event, fn3) {
54
54
  var keep = [];
55
- if (event && fn2) {
55
+ if (event && fn3) {
56
56
  var fns = this._fns[event];
57
57
  var i4 = 0;
58
58
  var l4 = fns ? fns.length : 0;
59
59
  for (i4; i4 < l4; i4++) {
60
- if (fns[i4] !== fn2) {
60
+ if (fns[i4] !== fn3) {
61
61
  keep.push(fns[i4]);
62
62
  }
63
63
  }
@@ -580,16 +580,16 @@
580
580
  if (!new Events().__proto__)
581
581
  prefix = false;
582
582
  }
583
- function EE(fn2, context, once) {
584
- this.fn = fn2;
583
+ function EE(fn3, context, once) {
584
+ this.fn = fn3;
585
585
  this.context = context;
586
586
  this.once = once || false;
587
587
  }
588
- function addListener(emitter, event, fn2, context, once) {
589
- if (typeof fn2 !== "function") {
588
+ function addListener(emitter, event, fn3, context, once) {
589
+ if (typeof fn3 !== "function") {
590
590
  throw new TypeError("The listener must be a function");
591
591
  }
592
- var listener = new EE(fn2, context || emitter, once), evt = prefix ? prefix + event : event;
592
+ var listener = new EE(fn3, context || emitter, once), evt = prefix ? prefix + event : event;
593
593
  if (!emitter._events[evt])
594
594
  emitter._events[evt] = listener, emitter._eventsCount++;
595
595
  else if (!emitter._events[evt].fn)
@@ -667,7 +667,7 @@
667
667
  }
668
668
  listeners.fn.apply(listeners.context, args);
669
669
  } else {
670
- var length = listeners.length, j4;
670
+ var length = listeners.length, j5;
671
671
  for (i4 = 0; i4 < length; i4++) {
672
672
  if (listeners[i4].once)
673
673
  this.removeListener(event, listeners[i4].fn, void 0, true);
@@ -686,8 +686,8 @@
686
686
  break;
687
687
  default:
688
688
  if (!args)
689
- for (j4 = 1, args = new Array(len - 1); j4 < len; j4++) {
690
- args[j4 - 1] = arguments[j4];
689
+ for (j5 = 1, args = new Array(len - 1); j5 < len; j5++) {
690
+ args[j5 - 1] = arguments[j5];
691
691
  }
692
692
  listeners[i4].fn.apply(listeners[i4].context, args);
693
693
  }
@@ -695,28 +695,28 @@
695
695
  }
696
696
  return true;
697
697
  };
698
- EventEmitter2.prototype.on = function on(event, fn2, context) {
699
- return addListener(this, event, fn2, context, false);
698
+ EventEmitter2.prototype.on = function on2(event, fn3, context) {
699
+ return addListener(this, event, fn3, context, false);
700
700
  };
701
- EventEmitter2.prototype.once = function once(event, fn2, context) {
702
- return addListener(this, event, fn2, context, true);
701
+ EventEmitter2.prototype.once = function once(event, fn3, context) {
702
+ return addListener(this, event, fn3, context, true);
703
703
  };
704
- EventEmitter2.prototype.removeListener = function removeListener(event, fn2, context, once) {
704
+ EventEmitter2.prototype.removeListener = function removeListener(event, fn3, context, once) {
705
705
  var evt = prefix ? prefix + event : event;
706
706
  if (!this._events[evt])
707
707
  return this;
708
- if (!fn2) {
708
+ if (!fn3) {
709
709
  clearEvent(this, evt);
710
710
  return this;
711
711
  }
712
712
  var listeners = this._events[evt];
713
713
  if (listeners.fn) {
714
- if (listeners.fn === fn2 && (!once || listeners.once) && (!context || listeners.context === context)) {
714
+ if (listeners.fn === fn3 && (!once || listeners.once) && (!context || listeners.context === context)) {
715
715
  clearEvent(this, evt);
716
716
  }
717
717
  } else {
718
718
  for (var i4 = 0, events = [], length = listeners.length; i4 < length; i4++) {
719
- if (listeners[i4].fn !== fn2 || once && !listeners[i4].once || context && listeners[i4].context !== context) {
719
+ if (listeners[i4].fn !== fn3 || once && !listeners[i4].once || context && listeners[i4].context !== context) {
720
720
  events.push(listeners[i4]);
721
721
  }
722
722
  }
@@ -2683,15 +2683,15 @@
2683
2683
  * @param {number} [y=x] - The y-axis coordinate.
2684
2684
  * @returns {Cropper} this
2685
2685
  */
2686
- moveTo: function moveTo(x3) {
2687
- var y4 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : x3;
2686
+ moveTo: function moveTo(x4) {
2687
+ var y4 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : x4;
2688
2688
  var canvasData = this.canvasData;
2689
2689
  var changed = false;
2690
- x3 = Number(x3);
2690
+ x4 = Number(x4);
2691
2691
  y4 = Number(y4);
2692
2692
  if (this.ready && !this.disabled && this.options.movable) {
2693
- if (isNumber(x3)) {
2694
- canvasData.left = x3;
2693
+ if (isNumber(x4)) {
2694
+ canvasData.left = x4;
2695
2695
  changed = true;
2696
2696
  }
2697
2697
  if (isNumber(y4)) {
@@ -3840,7 +3840,7 @@
3840
3840
  }, "");
3841
3841
  }
3842
3842
  function uuid() {
3843
- return Array.from({ length: 36 }).map((_3, i4) => {
3843
+ return Array.from({ length: 36 }).map((_4, i4) => {
3844
3844
  if (i4 == 8 || i4 == 13 || i4 == 18 || i4 == 23) {
3845
3845
  return "-";
3846
3846
  } else if (i4 == 14) {
@@ -3968,10 +3968,10 @@
3968
3968
  function getLocationForLink(link2) {
3969
3969
  return expandURL(link2.getAttribute("href") || "");
3970
3970
  }
3971
- function debounce(fn2, delay) {
3971
+ function debounce(fn3, delay) {
3972
3972
  let timeoutId = null;
3973
3973
  return (...args) => {
3974
- const callback = () => fn2.apply(this, args);
3974
+ const callback = () => fn3.apply(this, args);
3975
3975
  clearTimeout(timeoutId);
3976
3976
  timeoutId = setTimeout(callback, delay);
3977
3977
  };
@@ -4746,8 +4746,8 @@
4746
4746
  }
4747
4747
  }
4748
4748
  }
4749
- scrollToPosition({ x: x3, y: y4 }) {
4750
- this.scrollRoot.scrollTo(x3, y4);
4749
+ scrollToPosition({ x: x4, y: y4 }) {
4750
+ this.scrollRoot.scrollTo(x4, y4);
4751
4751
  }
4752
4752
  scrollToTop() {
4753
4753
  this.scrollToPosition({ x: 0, y: 0 });
@@ -5144,9 +5144,10 @@
5144
5144
  return defaultValue;
5145
5145
  }
5146
5146
  }
5147
- var Idiomorph = /* @__PURE__ */ function() {
5148
- let EMPTY_SET = /* @__PURE__ */ new Set();
5149
- let defaults = {
5147
+ var Idiomorph = function() {
5148
+ const noOp = () => {
5149
+ };
5150
+ const defaults = {
5150
5151
  morphStyle: "outerHTML",
5151
5152
  callbacks: {
5152
5153
  beforeNodeAdded: noOp,
@@ -5159,245 +5160,423 @@
5159
5160
  },
5160
5161
  head: {
5161
5162
  style: "merge",
5162
- shouldPreserve: function(elt) {
5163
- return elt.getAttribute("im-preserve") === "true";
5164
- },
5165
- shouldReAppend: function(elt) {
5166
- return elt.getAttribute("im-re-append") === "true";
5167
- },
5163
+ shouldPreserve: (elt) => elt.getAttribute("im-preserve") === "true",
5164
+ shouldReAppend: (elt) => elt.getAttribute("im-re-append") === "true",
5168
5165
  shouldRemove: noOp,
5169
5166
  afterHeadMorphed: noOp
5170
- }
5167
+ },
5168
+ restoreFocus: true
5171
5169
  };
5172
5170
  function morph(oldNode, newContent, config2 = {}) {
5173
- if (oldNode instanceof Document) {
5174
- oldNode = oldNode.documentElement;
5175
- }
5176
- if (typeof newContent === "string") {
5177
- newContent = parseContent(newContent);
5171
+ oldNode = normalizeElement(oldNode);
5172
+ const newNode = normalizeParent(newContent);
5173
+ const ctx = createMorphContext(oldNode, newNode, config2);
5174
+ const morphedNodes = saveAndRestoreFocus(ctx, () => {
5175
+ return withHeadBlocking(
5176
+ ctx,
5177
+ oldNode,
5178
+ newNode,
5179
+ /** @param {MorphContext} ctx */
5180
+ (ctx2) => {
5181
+ if (ctx2.morphStyle === "innerHTML") {
5182
+ morphChildren2(ctx2, oldNode, newNode);
5183
+ return Array.from(oldNode.childNodes);
5184
+ } else {
5185
+ return morphOuterHTML(ctx2, oldNode, newNode);
5186
+ }
5187
+ }
5188
+ );
5189
+ });
5190
+ ctx.pantry.remove();
5191
+ return morphedNodes;
5192
+ }
5193
+ function morphOuterHTML(ctx, oldNode, newNode) {
5194
+ const oldParent = normalizeParent(oldNode);
5195
+ let childNodes = Array.from(oldParent.childNodes);
5196
+ const index = childNodes.indexOf(oldNode);
5197
+ const rightMargin = childNodes.length - (index + 1);
5198
+ morphChildren2(
5199
+ ctx,
5200
+ oldParent,
5201
+ newNode,
5202
+ // these two optional params are the secret sauce
5203
+ oldNode,
5204
+ // start point for iteration
5205
+ oldNode.nextSibling
5206
+ // end point for iteration
5207
+ );
5208
+ childNodes = Array.from(oldParent.childNodes);
5209
+ return childNodes.slice(index, childNodes.length - rightMargin);
5210
+ }
5211
+ function saveAndRestoreFocus(ctx, fn3) {
5212
+ if (!ctx.config.restoreFocus)
5213
+ return fn3();
5214
+ let activeElement = (
5215
+ /** @type {HTMLInputElement|HTMLTextAreaElement|null} */
5216
+ document.activeElement
5217
+ );
5218
+ if (!(activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement)) {
5219
+ return fn3();
5220
+ }
5221
+ const { id: activeElementId, selectionStart, selectionEnd } = activeElement;
5222
+ const results = fn3();
5223
+ if (activeElementId && activeElementId !== document.activeElement?.id) {
5224
+ activeElement = ctx.target.querySelector(`#${activeElementId}`);
5225
+ activeElement?.focus();
5226
+ }
5227
+ if (activeElement && !activeElement.selectionEnd && selectionEnd) {
5228
+ activeElement.setSelectionRange(selectionStart, selectionEnd);
5229
+ }
5230
+ return results;
5231
+ }
5232
+ const morphChildren2 = /* @__PURE__ */ function() {
5233
+ function morphChildren3(ctx, oldParent, newParent, insertionPoint = null, endPoint = null) {
5234
+ if (oldParent instanceof HTMLTemplateElement && newParent instanceof HTMLTemplateElement) {
5235
+ oldParent = oldParent.content;
5236
+ newParent = newParent.content;
5237
+ }
5238
+ insertionPoint ||= oldParent.firstChild;
5239
+ for (const newChild of newParent.childNodes) {
5240
+ if (insertionPoint && insertionPoint != endPoint) {
5241
+ const bestMatch = findBestMatch(
5242
+ ctx,
5243
+ newChild,
5244
+ insertionPoint,
5245
+ endPoint
5246
+ );
5247
+ if (bestMatch) {
5248
+ if (bestMatch !== insertionPoint) {
5249
+ removeNodesBetween(ctx, insertionPoint, bestMatch);
5250
+ }
5251
+ morphNode(bestMatch, newChild, ctx);
5252
+ insertionPoint = bestMatch.nextSibling;
5253
+ continue;
5254
+ }
5255
+ }
5256
+ if (newChild instanceof Element && ctx.persistentIds.has(newChild.id)) {
5257
+ const movedChild = moveBeforeById(
5258
+ oldParent,
5259
+ newChild.id,
5260
+ insertionPoint,
5261
+ ctx
5262
+ );
5263
+ morphNode(movedChild, newChild, ctx);
5264
+ insertionPoint = movedChild.nextSibling;
5265
+ continue;
5266
+ }
5267
+ const insertedNode = createNode(
5268
+ oldParent,
5269
+ newChild,
5270
+ insertionPoint,
5271
+ ctx
5272
+ );
5273
+ if (insertedNode) {
5274
+ insertionPoint = insertedNode.nextSibling;
5275
+ }
5276
+ }
5277
+ while (insertionPoint && insertionPoint != endPoint) {
5278
+ const tempNode = insertionPoint;
5279
+ insertionPoint = insertionPoint.nextSibling;
5280
+ removeNode(ctx, tempNode);
5281
+ }
5178
5282
  }
5179
- let normalizedContent = normalizeContent(newContent);
5180
- let ctx = createMorphContext(oldNode, normalizedContent, config2);
5181
- return morphNormalizedContent(oldNode, normalizedContent, ctx);
5182
- }
5183
- function morphNormalizedContent(oldNode, normalizedNewContent, ctx) {
5184
- if (ctx.head.block) {
5185
- let oldHead = oldNode.querySelector("head");
5186
- let newHead = normalizedNewContent.querySelector("head");
5187
- if (oldHead && newHead) {
5188
- let promises = handleHeadElement(newHead, oldHead, ctx);
5189
- Promise.all(promises).then(function() {
5190
- morphNormalizedContent(oldNode, normalizedNewContent, Object.assign(ctx, {
5191
- head: {
5192
- block: false,
5193
- ignore: true
5283
+ function createNode(oldParent, newChild, insertionPoint, ctx) {
5284
+ if (ctx.callbacks.beforeNodeAdded(newChild) === false)
5285
+ return null;
5286
+ if (ctx.idMap.has(newChild)) {
5287
+ const newEmptyChild = document.createElement(
5288
+ /** @type {Element} */
5289
+ newChild.tagName
5290
+ );
5291
+ oldParent.insertBefore(newEmptyChild, insertionPoint);
5292
+ morphNode(newEmptyChild, newChild, ctx);
5293
+ ctx.callbacks.afterNodeAdded(newEmptyChild);
5294
+ return newEmptyChild;
5295
+ } else {
5296
+ const newClonedChild = document.importNode(newChild, true);
5297
+ oldParent.insertBefore(newClonedChild, insertionPoint);
5298
+ ctx.callbacks.afterNodeAdded(newClonedChild);
5299
+ return newClonedChild;
5300
+ }
5301
+ }
5302
+ const findBestMatch = /* @__PURE__ */ function() {
5303
+ function findBestMatch2(ctx, node, startPoint, endPoint) {
5304
+ let softMatch = null;
5305
+ let nextSibling = node.nextSibling;
5306
+ let siblingSoftMatchCount = 0;
5307
+ let cursor = startPoint;
5308
+ while (cursor && cursor != endPoint) {
5309
+ if (isSoftMatch(cursor, node)) {
5310
+ if (isIdSetMatch(ctx, cursor, node)) {
5311
+ return cursor;
5194
5312
  }
5195
- }));
5196
- });
5197
- return;
5313
+ if (softMatch === null) {
5314
+ if (!ctx.idMap.has(cursor)) {
5315
+ softMatch = cursor;
5316
+ }
5317
+ }
5318
+ }
5319
+ if (softMatch === null && nextSibling && isSoftMatch(cursor, nextSibling)) {
5320
+ siblingSoftMatchCount++;
5321
+ nextSibling = nextSibling.nextSibling;
5322
+ if (siblingSoftMatchCount >= 2) {
5323
+ softMatch = void 0;
5324
+ }
5325
+ }
5326
+ if (cursor.contains(document.activeElement))
5327
+ break;
5328
+ cursor = cursor.nextSibling;
5329
+ }
5330
+ return softMatch || null;
5331
+ }
5332
+ function isIdSetMatch(ctx, oldNode, newNode) {
5333
+ let oldSet = ctx.idMap.get(oldNode);
5334
+ let newSet = ctx.idMap.get(newNode);
5335
+ if (!newSet || !oldSet)
5336
+ return false;
5337
+ for (const id12 of oldSet) {
5338
+ if (newSet.has(id12)) {
5339
+ return true;
5340
+ }
5341
+ }
5342
+ return false;
5343
+ }
5344
+ function isSoftMatch(oldNode, newNode) {
5345
+ const oldElt = (
5346
+ /** @type {Element} */
5347
+ oldNode
5348
+ );
5349
+ const newElt = (
5350
+ /** @type {Element} */
5351
+ newNode
5352
+ );
5353
+ return oldElt.nodeType === newElt.nodeType && oldElt.tagName === newElt.tagName && // If oldElt has an `id` with possible state and it doesn't match newElt.id then avoid morphing.
5354
+ // We'll still match an anonymous node with an IDed newElt, though, because if it got this far,
5355
+ // its not persistent, and new nodes can't have any hidden state.
5356
+ (!oldElt.id || oldElt.id === newElt.id);
5357
+ }
5358
+ return findBestMatch2;
5359
+ }();
5360
+ function removeNode(ctx, node) {
5361
+ if (ctx.idMap.has(node)) {
5362
+ moveBefore(ctx.pantry, node, null);
5363
+ } else {
5364
+ if (ctx.callbacks.beforeNodeRemoved(node) === false)
5365
+ return;
5366
+ node.parentNode?.removeChild(node);
5367
+ ctx.callbacks.afterNodeRemoved(node);
5198
5368
  }
5199
5369
  }
5200
- if (ctx.morphStyle === "innerHTML") {
5201
- morphChildren2(normalizedNewContent, oldNode, ctx);
5202
- return oldNode.children;
5203
- } else if (ctx.morphStyle === "outerHTML" || ctx.morphStyle == null) {
5204
- let bestMatch = findBestNodeMatch(normalizedNewContent, oldNode, ctx);
5205
- let previousSibling = bestMatch?.previousSibling;
5206
- let nextSibling = bestMatch?.nextSibling;
5207
- let morphedNode = morphOldNodeTo(oldNode, bestMatch, ctx);
5208
- if (bestMatch) {
5209
- return insertSiblings(previousSibling, morphedNode, nextSibling);
5370
+ function removeNodesBetween(ctx, startInclusive, endExclusive) {
5371
+ let cursor = startInclusive;
5372
+ while (cursor && cursor !== endExclusive) {
5373
+ let tempNode = (
5374
+ /** @type {Node} */
5375
+ cursor
5376
+ );
5377
+ cursor = cursor.nextSibling;
5378
+ removeNode(ctx, tempNode);
5379
+ }
5380
+ return cursor;
5381
+ }
5382
+ function moveBeforeById(parentNode, id12, after, ctx) {
5383
+ const target = (
5384
+ /** @type {Element} - will always be found */
5385
+ ctx.target.querySelector(`#${id12}`) || ctx.pantry.querySelector(`#${id12}`)
5386
+ );
5387
+ removeElementFromAncestorsIdMaps(target, ctx);
5388
+ moveBefore(parentNode, target, after);
5389
+ return target;
5390
+ }
5391
+ function removeElementFromAncestorsIdMaps(element, ctx) {
5392
+ const id12 = element.id;
5393
+ while (element = element.parentNode) {
5394
+ let idSet = ctx.idMap.get(element);
5395
+ if (idSet) {
5396
+ idSet.delete(id12);
5397
+ if (!idSet.size) {
5398
+ ctx.idMap.delete(element);
5399
+ }
5400
+ }
5401
+ }
5402
+ }
5403
+ function moveBefore(parentNode, element, after) {
5404
+ if (parentNode.moveBefore) {
5405
+ try {
5406
+ parentNode.moveBefore(element, after);
5407
+ } catch (e4) {
5408
+ parentNode.insertBefore(element, after);
5409
+ }
5210
5410
  } else {
5211
- return [];
5411
+ parentNode.insertBefore(element, after);
5212
5412
  }
5213
- } else {
5214
- throw "Do not understand how to morph style " + ctx.morphStyle;
5215
5413
  }
5216
- }
5217
- function ignoreValueOfActiveElement(possibleActiveElement, ctx) {
5218
- return ctx.ignoreActiveValue && possibleActiveElement === document.activeElement && possibleActiveElement !== document.body;
5219
- }
5220
- function morphOldNodeTo(oldNode, newContent, ctx) {
5221
- if (ctx.ignoreActive && oldNode === document.activeElement)
5222
- ;
5223
- else if (newContent == null) {
5224
- if (ctx.callbacks.beforeNodeRemoved(oldNode) === false)
5225
- return oldNode;
5226
- oldNode.remove();
5227
- ctx.callbacks.afterNodeRemoved(oldNode);
5228
- return null;
5229
- } else if (!isSoftMatch(oldNode, newContent)) {
5230
- if (ctx.callbacks.beforeNodeRemoved(oldNode) === false)
5231
- return oldNode;
5232
- if (ctx.callbacks.beforeNodeAdded(newContent) === false)
5233
- return oldNode;
5234
- oldNode.parentElement.replaceChild(newContent, oldNode);
5235
- ctx.callbacks.afterNodeAdded(newContent);
5236
- ctx.callbacks.afterNodeRemoved(oldNode);
5237
- return newContent;
5238
- } else {
5239
- if (ctx.callbacks.beforeNodeMorphed(oldNode, newContent) === false)
5414
+ return morphChildren3;
5415
+ }();
5416
+ const morphNode = /* @__PURE__ */ function() {
5417
+ function morphNode2(oldNode, newContent, ctx) {
5418
+ if (ctx.ignoreActive && oldNode === document.activeElement) {
5419
+ return null;
5420
+ }
5421
+ if (ctx.callbacks.beforeNodeMorphed(oldNode, newContent) === false) {
5240
5422
  return oldNode;
5423
+ }
5241
5424
  if (oldNode instanceof HTMLHeadElement && ctx.head.ignore)
5242
5425
  ;
5243
5426
  else if (oldNode instanceof HTMLHeadElement && ctx.head.style !== "morph") {
5244
- handleHeadElement(newContent, oldNode, ctx);
5427
+ handleHeadElement(
5428
+ oldNode,
5429
+ /** @type {HTMLHeadElement} */
5430
+ newContent,
5431
+ ctx
5432
+ );
5245
5433
  } else {
5246
- syncNodeFrom(newContent, oldNode, ctx);
5434
+ morphAttributes(oldNode, newContent, ctx);
5247
5435
  if (!ignoreValueOfActiveElement(oldNode, ctx)) {
5248
- morphChildren2(newContent, oldNode, ctx);
5436
+ morphChildren2(ctx, oldNode, newContent);
5249
5437
  }
5250
5438
  }
5251
5439
  ctx.callbacks.afterNodeMorphed(oldNode, newContent);
5252
5440
  return oldNode;
5253
5441
  }
5254
- }
5255
- function morphChildren2(newParent, oldParent, ctx) {
5256
- let nextNewChild = newParent.firstChild;
5257
- let insertionPoint = oldParent.firstChild;
5258
- let newChild;
5259
- while (nextNewChild) {
5260
- newChild = nextNewChild;
5261
- nextNewChild = newChild.nextSibling;
5262
- if (insertionPoint == null) {
5263
- if (ctx.callbacks.beforeNodeAdded(newChild) === false)
5264
- return;
5265
- oldParent.appendChild(newChild);
5266
- ctx.callbacks.afterNodeAdded(newChild);
5267
- removeIdsFromConsideration(ctx, newChild);
5268
- continue;
5269
- }
5270
- if (isIdSetMatch(newChild, insertionPoint, ctx)) {
5271
- morphOldNodeTo(insertionPoint, newChild, ctx);
5272
- insertionPoint = insertionPoint.nextSibling;
5273
- removeIdsFromConsideration(ctx, newChild);
5274
- continue;
5275
- }
5276
- let idSetMatch = findIdSetMatch(newParent, oldParent, newChild, insertionPoint, ctx);
5277
- if (idSetMatch) {
5278
- insertionPoint = removeNodesBetween(insertionPoint, idSetMatch, ctx);
5279
- morphOldNodeTo(idSetMatch, newChild, ctx);
5280
- removeIdsFromConsideration(ctx, newChild);
5281
- continue;
5442
+ function morphAttributes(oldNode, newNode, ctx) {
5443
+ let type = newNode.nodeType;
5444
+ if (type === 1) {
5445
+ const oldElt = (
5446
+ /** @type {Element} */
5447
+ oldNode
5448
+ );
5449
+ const newElt = (
5450
+ /** @type {Element} */
5451
+ newNode
5452
+ );
5453
+ const oldAttributes = oldElt.attributes;
5454
+ const newAttributes = newElt.attributes;
5455
+ for (const newAttribute of newAttributes) {
5456
+ if (ignoreAttribute(newAttribute.name, oldElt, "update", ctx)) {
5457
+ continue;
5458
+ }
5459
+ if (oldElt.getAttribute(newAttribute.name) !== newAttribute.value) {
5460
+ oldElt.setAttribute(newAttribute.name, newAttribute.value);
5461
+ }
5462
+ }
5463
+ for (let i4 = oldAttributes.length - 1; 0 <= i4; i4--) {
5464
+ const oldAttribute = oldAttributes[i4];
5465
+ if (!oldAttribute)
5466
+ continue;
5467
+ if (!newElt.hasAttribute(oldAttribute.name)) {
5468
+ if (ignoreAttribute(oldAttribute.name, oldElt, "remove", ctx)) {
5469
+ continue;
5470
+ }
5471
+ oldElt.removeAttribute(oldAttribute.name);
5472
+ }
5473
+ }
5474
+ if (!ignoreValueOfActiveElement(oldElt, ctx)) {
5475
+ syncInputValue(oldElt, newElt, ctx);
5476
+ }
5282
5477
  }
5283
- let softMatch = findSoftMatch(newParent, oldParent, newChild, insertionPoint, ctx);
5284
- if (softMatch) {
5285
- insertionPoint = removeNodesBetween(insertionPoint, softMatch, ctx);
5286
- morphOldNodeTo(softMatch, newChild, ctx);
5287
- removeIdsFromConsideration(ctx, newChild);
5288
- continue;
5478
+ if (type === 8 || type === 3) {
5479
+ if (oldNode.nodeValue !== newNode.nodeValue) {
5480
+ oldNode.nodeValue = newNode.nodeValue;
5481
+ }
5289
5482
  }
5290
- if (ctx.callbacks.beforeNodeAdded(newChild) === false)
5291
- return;
5292
- oldParent.insertBefore(newChild, insertionPoint);
5293
- ctx.callbacks.afterNodeAdded(newChild);
5294
- removeIdsFromConsideration(ctx, newChild);
5295
5483
  }
5296
- while (insertionPoint !== null) {
5297
- let tempNode = insertionPoint;
5298
- insertionPoint = insertionPoint.nextSibling;
5299
- removeNode(tempNode, ctx);
5300
- }
5301
- }
5302
- function ignoreAttribute(attr, to, updateType, ctx) {
5303
- if (attr === "value" && ctx.ignoreActiveValue && to === document.activeElement) {
5304
- return true;
5305
- }
5306
- return ctx.callbacks.beforeAttributeUpdated(attr, to, updateType) === false;
5307
- }
5308
- function syncNodeFrom(from, to, ctx) {
5309
- let type = from.nodeType;
5310
- if (type === 1) {
5311
- const fromAttributes = from.attributes;
5312
- const toAttributes = to.attributes;
5313
- for (const fromAttribute of fromAttributes) {
5314
- if (ignoreAttribute(fromAttribute.name, to, "update", ctx)) {
5315
- continue;
5484
+ function syncInputValue(oldElement, newElement, ctx) {
5485
+ if (oldElement instanceof HTMLInputElement && newElement instanceof HTMLInputElement && newElement.type !== "file") {
5486
+ let newValue = newElement.value;
5487
+ let oldValue = oldElement.value;
5488
+ syncBooleanAttribute(oldElement, newElement, "checked", ctx);
5489
+ syncBooleanAttribute(oldElement, newElement, "disabled", ctx);
5490
+ if (!newElement.hasAttribute("value")) {
5491
+ if (!ignoreAttribute("value", oldElement, "remove", ctx)) {
5492
+ oldElement.value = "";
5493
+ oldElement.removeAttribute("value");
5494
+ }
5495
+ } else if (oldValue !== newValue) {
5496
+ if (!ignoreAttribute("value", oldElement, "update", ctx)) {
5497
+ oldElement.setAttribute("value", newValue);
5498
+ oldElement.value = newValue;
5499
+ }
5316
5500
  }
5317
- if (to.getAttribute(fromAttribute.name) !== fromAttribute.value) {
5318
- to.setAttribute(fromAttribute.name, fromAttribute.value);
5501
+ } else if (oldElement instanceof HTMLOptionElement && newElement instanceof HTMLOptionElement) {
5502
+ syncBooleanAttribute(oldElement, newElement, "selected", ctx);
5503
+ } else if (oldElement instanceof HTMLTextAreaElement && newElement instanceof HTMLTextAreaElement) {
5504
+ let newValue = newElement.value;
5505
+ let oldValue = oldElement.value;
5506
+ if (ignoreAttribute("value", oldElement, "update", ctx)) {
5507
+ return;
5319
5508
  }
5320
- }
5321
- for (let i4 = toAttributes.length - 1; 0 <= i4; i4--) {
5322
- const toAttribute = toAttributes[i4];
5323
- if (ignoreAttribute(toAttribute.name, to, "remove", ctx)) {
5324
- continue;
5509
+ if (newValue !== oldValue) {
5510
+ oldElement.value = newValue;
5325
5511
  }
5326
- if (!from.hasAttribute(toAttribute.name)) {
5327
- to.removeAttribute(toAttribute.name);
5512
+ if (oldElement.firstChild && oldElement.firstChild.nodeValue !== newValue) {
5513
+ oldElement.firstChild.nodeValue = newValue;
5328
5514
  }
5329
5515
  }
5330
5516
  }
5331
- if (type === 8 || type === 3) {
5332
- if (to.nodeValue !== from.nodeValue) {
5333
- to.nodeValue = from.nodeValue;
5334
- }
5335
- }
5336
- if (!ignoreValueOfActiveElement(to, ctx)) {
5337
- syncInputValue(from, to, ctx);
5338
- }
5339
- }
5340
- function syncBooleanAttribute(from, to, attributeName, ctx) {
5341
- if (from[attributeName] !== to[attributeName]) {
5342
- let ignoreUpdate = ignoreAttribute(attributeName, to, "update", ctx);
5343
- if (!ignoreUpdate) {
5344
- to[attributeName] = from[attributeName];
5345
- }
5346
- if (from[attributeName]) {
5517
+ function syncBooleanAttribute(oldElement, newElement, attributeName, ctx) {
5518
+ const newLiveValue = newElement[attributeName], oldLiveValue = oldElement[attributeName];
5519
+ if (newLiveValue !== oldLiveValue) {
5520
+ const ignoreUpdate = ignoreAttribute(
5521
+ attributeName,
5522
+ oldElement,
5523
+ "update",
5524
+ ctx
5525
+ );
5347
5526
  if (!ignoreUpdate) {
5348
- to.setAttribute(attributeName, from[attributeName]);
5527
+ oldElement[attributeName] = newElement[attributeName];
5349
5528
  }
5350
- } else {
5351
- if (!ignoreAttribute(attributeName, to, "remove", ctx)) {
5352
- to.removeAttribute(attributeName);
5529
+ if (newLiveValue) {
5530
+ if (!ignoreUpdate) {
5531
+ oldElement.setAttribute(attributeName, "");
5532
+ }
5533
+ } else {
5534
+ if (!ignoreAttribute(attributeName, oldElement, "remove", ctx)) {
5535
+ oldElement.removeAttribute(attributeName);
5536
+ }
5353
5537
  }
5354
5538
  }
5355
5539
  }
5356
- }
5357
- function syncInputValue(from, to, ctx) {
5358
- if (from instanceof HTMLInputElement && to instanceof HTMLInputElement && from.type !== "file") {
5359
- let fromValue = from.value;
5360
- let toValue = to.value;
5361
- syncBooleanAttribute(from, to, "checked", ctx);
5362
- syncBooleanAttribute(from, to, "disabled", ctx);
5363
- if (!from.hasAttribute("value")) {
5364
- if (!ignoreAttribute("value", to, "remove", ctx)) {
5365
- to.value = "";
5366
- to.removeAttribute("value");
5367
- }
5368
- } else if (fromValue !== toValue) {
5369
- if (!ignoreAttribute("value", to, "update", ctx)) {
5370
- to.setAttribute("value", fromValue);
5371
- to.value = fromValue;
5372
- }
5373
- }
5374
- } else if (from instanceof HTMLOptionElement) {
5375
- syncBooleanAttribute(from, to, "selected", ctx);
5376
- } else if (from instanceof HTMLTextAreaElement && to instanceof HTMLTextAreaElement) {
5377
- let fromValue = from.value;
5378
- let toValue = to.value;
5379
- if (ignoreAttribute("value", to, "update", ctx)) {
5380
- return;
5381
- }
5382
- if (fromValue !== toValue) {
5383
- to.value = fromValue;
5540
+ function ignoreAttribute(attr, element, updateType, ctx) {
5541
+ if (attr === "value" && ctx.ignoreActiveValue && element === document.activeElement) {
5542
+ return true;
5384
5543
  }
5385
- if (to.firstChild && to.firstChild.nodeValue !== fromValue) {
5386
- to.firstChild.nodeValue = fromValue;
5544
+ return ctx.callbacks.beforeAttributeUpdated(attr, element, updateType) === false;
5545
+ }
5546
+ function ignoreValueOfActiveElement(possibleActiveElement, ctx) {
5547
+ return !!ctx.ignoreActiveValue && possibleActiveElement === document.activeElement && possibleActiveElement !== document.body;
5548
+ }
5549
+ return morphNode2;
5550
+ }();
5551
+ function withHeadBlocking(ctx, oldNode, newNode, callback) {
5552
+ if (ctx.head.block) {
5553
+ const oldHead = oldNode.querySelector("head");
5554
+ const newHead = newNode.querySelector("head");
5555
+ if (oldHead && newHead) {
5556
+ const promises = handleHeadElement(oldHead, newHead, ctx);
5557
+ return Promise.all(promises).then(() => {
5558
+ const newCtx = Object.assign(ctx, {
5559
+ head: {
5560
+ block: false,
5561
+ ignore: true
5562
+ }
5563
+ });
5564
+ return callback(newCtx);
5565
+ });
5387
5566
  }
5388
5567
  }
5568
+ return callback(ctx);
5389
5569
  }
5390
- function handleHeadElement(newHeadTag, currentHead, ctx) {
5570
+ function handleHeadElement(oldHead, newHead, ctx) {
5391
5571
  let added = [];
5392
5572
  let removed = [];
5393
5573
  let preserved = [];
5394
5574
  let nodesToAppend = [];
5395
- let headMergeStyle = ctx.head.style;
5396
5575
  let srcToNewHeadNodes = /* @__PURE__ */ new Map();
5397
- for (const newHeadChild of newHeadTag.children) {
5576
+ for (const newHeadChild of newHead.children) {
5398
5577
  srcToNewHeadNodes.set(newHeadChild.outerHTML, newHeadChild);
5399
5578
  }
5400
- for (const currentHeadElt of currentHead.children) {
5579
+ for (const currentHeadElt of oldHead.children) {
5401
5580
  let inNewContent = srcToNewHeadNodes.has(currentHeadElt.outerHTML);
5402
5581
  let isReAppended = ctx.head.shouldReAppend(currentHeadElt);
5403
5582
  let isPreserved = ctx.head.shouldPreserve(currentHeadElt);
@@ -5409,7 +5588,7 @@
5409
5588
  preserved.push(currentHeadElt);
5410
5589
  }
5411
5590
  } else {
5412
- if (headMergeStyle === "append") {
5591
+ if (ctx.head.style === "append") {
5413
5592
  if (isReAppended) {
5414
5593
  removed.push(currentHeadElt);
5415
5594
  nodesToAppend.push(currentHeadElt);
@@ -5424,10 +5603,13 @@
5424
5603
  nodesToAppend.push(...srcToNewHeadNodes.values());
5425
5604
  let promises = [];
5426
5605
  for (const newNode of nodesToAppend) {
5427
- let newElt = document.createRange().createContextualFragment(newNode.outerHTML).firstChild;
5606
+ let newElt = (
5607
+ /** @type {ChildNode} */
5608
+ document.createRange().createContextualFragment(newNode.outerHTML).firstChild
5609
+ );
5428
5610
  if (ctx.callbacks.beforeNodeAdded(newElt) !== false) {
5429
- if (newElt.href || newElt.src) {
5430
- let resolve = null;
5611
+ if ("href" in newElt && newElt.href || "src" in newElt && newElt.src) {
5612
+ let resolve;
5431
5613
  let promise = new Promise(function(_resolve) {
5432
5614
  resolve = _resolve;
5433
5615
  });
@@ -5436,256 +5618,217 @@
5436
5618
  });
5437
5619
  promises.push(promise);
5438
5620
  }
5439
- currentHead.appendChild(newElt);
5621
+ oldHead.appendChild(newElt);
5440
5622
  ctx.callbacks.afterNodeAdded(newElt);
5441
5623
  added.push(newElt);
5442
5624
  }
5443
5625
  }
5444
5626
  for (const removedElement of removed) {
5445
5627
  if (ctx.callbacks.beforeNodeRemoved(removedElement) !== false) {
5446
- currentHead.removeChild(removedElement);
5628
+ oldHead.removeChild(removedElement);
5447
5629
  ctx.callbacks.afterNodeRemoved(removedElement);
5448
5630
  }
5449
5631
  }
5450
- ctx.head.afterHeadMorphed(currentHead, { added, kept: preserved, removed });
5632
+ ctx.head.afterHeadMorphed(oldHead, {
5633
+ added,
5634
+ kept: preserved,
5635
+ removed
5636
+ });
5451
5637
  return promises;
5452
5638
  }
5453
- function noOp() {
5454
- }
5455
- function mergeDefaults(config2) {
5456
- let finalConfig = {};
5457
- Object.assign(finalConfig, defaults);
5458
- Object.assign(finalConfig, config2);
5459
- finalConfig.callbacks = {};
5460
- Object.assign(finalConfig.callbacks, defaults.callbacks);
5461
- Object.assign(finalConfig.callbacks, config2.callbacks);
5462
- finalConfig.head = {};
5463
- Object.assign(finalConfig.head, defaults.head);
5464
- Object.assign(finalConfig.head, config2.head);
5465
- return finalConfig;
5466
- }
5467
- function createMorphContext(oldNode, newContent, config2) {
5468
- config2 = mergeDefaults(config2);
5469
- return {
5470
- target: oldNode,
5471
- newContent,
5472
- config: config2,
5473
- morphStyle: config2.morphStyle,
5474
- ignoreActive: config2.ignoreActive,
5475
- ignoreActiveValue: config2.ignoreActiveValue,
5476
- idMap: createIdMap(oldNode, newContent),
5477
- deadIds: /* @__PURE__ */ new Set(),
5478
- callbacks: config2.callbacks,
5479
- head: config2.head
5480
- };
5481
- }
5482
- function isIdSetMatch(node1, node2, ctx) {
5483
- if (node1 == null || node2 == null) {
5484
- return false;
5485
- }
5486
- if (node1.nodeType === node2.nodeType && node1.tagName === node2.tagName) {
5487
- if (node1.id !== "" && node1.id === node2.id) {
5488
- return true;
5489
- } else {
5490
- return getIdIntersectionCount(ctx, node1, node2) > 0;
5639
+ const createMorphContext = /* @__PURE__ */ function() {
5640
+ function createMorphContext2(oldNode, newContent, config2) {
5641
+ const { persistentIds, idMap } = createIdMaps(oldNode, newContent);
5642
+ const mergedConfig = mergeDefaults(config2);
5643
+ const morphStyle = mergedConfig.morphStyle || "outerHTML";
5644
+ if (!["innerHTML", "outerHTML"].includes(morphStyle)) {
5645
+ throw `Do not understand how to morph style ${morphStyle}`;
5491
5646
  }
5647
+ return {
5648
+ target: oldNode,
5649
+ newContent,
5650
+ config: mergedConfig,
5651
+ morphStyle,
5652
+ ignoreActive: mergedConfig.ignoreActive,
5653
+ ignoreActiveValue: mergedConfig.ignoreActiveValue,
5654
+ restoreFocus: mergedConfig.restoreFocus,
5655
+ idMap,
5656
+ persistentIds,
5657
+ pantry: createPantry(),
5658
+ callbacks: mergedConfig.callbacks,
5659
+ head: mergedConfig.head
5660
+ };
5492
5661
  }
5493
- return false;
5494
- }
5495
- function isSoftMatch(node1, node2) {
5496
- if (node1 == null || node2 == null) {
5497
- return false;
5498
- }
5499
- return node1.nodeType === node2.nodeType && node1.tagName === node2.tagName;
5500
- }
5501
- function removeNodesBetween(startInclusive, endExclusive, ctx) {
5502
- while (startInclusive !== endExclusive) {
5503
- let tempNode = startInclusive;
5504
- startInclusive = startInclusive.nextSibling;
5505
- removeNode(tempNode, ctx);
5506
- }
5507
- removeIdsFromConsideration(ctx, endExclusive);
5508
- return endExclusive.nextSibling;
5509
- }
5510
- function findIdSetMatch(newContent, oldParent, newChild, insertionPoint, ctx) {
5511
- let newChildPotentialIdCount = getIdIntersectionCount(ctx, newChild, oldParent);
5512
- let potentialMatch = null;
5513
- if (newChildPotentialIdCount > 0) {
5514
- let potentialMatch2 = insertionPoint;
5515
- let otherMatchCount = 0;
5516
- while (potentialMatch2 != null) {
5517
- if (isIdSetMatch(newChild, potentialMatch2, ctx)) {
5518
- return potentialMatch2;
5519
- }
5520
- otherMatchCount += getIdIntersectionCount(ctx, potentialMatch2, newContent);
5521
- if (otherMatchCount > newChildPotentialIdCount) {
5522
- return null;
5662
+ function mergeDefaults(config2) {
5663
+ let finalConfig = Object.assign({}, defaults);
5664
+ Object.assign(finalConfig, config2);
5665
+ finalConfig.callbacks = Object.assign(
5666
+ {},
5667
+ defaults.callbacks,
5668
+ config2.callbacks
5669
+ );
5670
+ finalConfig.head = Object.assign({}, defaults.head, config2.head);
5671
+ return finalConfig;
5672
+ }
5673
+ function createPantry() {
5674
+ const pantry = document.createElement("div");
5675
+ pantry.hidden = true;
5676
+ document.body.insertAdjacentElement("afterend", pantry);
5677
+ return pantry;
5678
+ }
5679
+ function findIdElements(root) {
5680
+ let elements = Array.from(root.querySelectorAll("[id]"));
5681
+ if (root.id) {
5682
+ elements.push(root);
5683
+ }
5684
+ return elements;
5685
+ }
5686
+ function populateIdMapWithTree(idMap, persistentIds, root, elements) {
5687
+ for (const elt of elements) {
5688
+ if (persistentIds.has(elt.id)) {
5689
+ let current = elt;
5690
+ while (current) {
5691
+ let idSet = idMap.get(current);
5692
+ if (idSet == null) {
5693
+ idSet = /* @__PURE__ */ new Set();
5694
+ idMap.set(current, idSet);
5695
+ }
5696
+ idSet.add(elt.id);
5697
+ if (current === root)
5698
+ break;
5699
+ current = current.parentElement;
5700
+ }
5523
5701
  }
5524
- potentialMatch2 = potentialMatch2.nextSibling;
5525
5702
  }
5526
5703
  }
5527
- return potentialMatch;
5528
- }
5529
- function findSoftMatch(newContent, oldParent, newChild, insertionPoint, ctx) {
5530
- let potentialSoftMatch = insertionPoint;
5531
- let nextSibling = newChild.nextSibling;
5532
- let siblingSoftMatchCount = 0;
5533
- while (potentialSoftMatch != null) {
5534
- if (getIdIntersectionCount(ctx, potentialSoftMatch, newContent) > 0) {
5535
- return null;
5536
- }
5537
- if (isSoftMatch(newChild, potentialSoftMatch)) {
5538
- return potentialSoftMatch;
5539
- }
5540
- if (isSoftMatch(nextSibling, potentialSoftMatch)) {
5541
- siblingSoftMatchCount++;
5542
- nextSibling = nextSibling.nextSibling;
5543
- if (siblingSoftMatchCount >= 2) {
5544
- return null;
5545
- }
5546
- }
5547
- potentialSoftMatch = potentialSoftMatch.nextSibling;
5704
+ function createIdMaps(oldContent, newContent) {
5705
+ const oldIdElements = findIdElements(oldContent);
5706
+ const newIdElements = findIdElements(newContent);
5707
+ const persistentIds = createPersistentIds(oldIdElements, newIdElements);
5708
+ let idMap = /* @__PURE__ */ new Map();
5709
+ populateIdMapWithTree(idMap, persistentIds, oldContent, oldIdElements);
5710
+ const newRoot = newContent.__idiomorphRoot || newContent;
5711
+ populateIdMapWithTree(idMap, persistentIds, newRoot, newIdElements);
5712
+ return { persistentIds, idMap };
5548
5713
  }
5549
- return potentialSoftMatch;
5550
- }
5551
- function parseContent(newContent) {
5552
- let parser2 = new DOMParser();
5553
- let contentWithSvgsRemoved = newContent.replace(/<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim, "");
5554
- if (contentWithSvgsRemoved.match(/<\/html>/) || contentWithSvgsRemoved.match(/<\/head>/) || contentWithSvgsRemoved.match(/<\/body>/)) {
5555
- let content = parser2.parseFromString(newContent, "text/html");
5556
- if (contentWithSvgsRemoved.match(/<\/html>/)) {
5557
- content.generatedByIdiomorph = true;
5558
- return content;
5559
- } else {
5560
- let htmlElement = content.firstChild;
5561
- if (htmlElement) {
5562
- htmlElement.generatedByIdiomorph = true;
5563
- return htmlElement;
5714
+ function createPersistentIds(oldIdElements, newIdElements) {
5715
+ let duplicateIds = /* @__PURE__ */ new Set();
5716
+ let oldIdTagNameMap = /* @__PURE__ */ new Map();
5717
+ for (const { id: id12, tagName } of oldIdElements) {
5718
+ if (oldIdTagNameMap.has(id12)) {
5719
+ duplicateIds.add(id12);
5564
5720
  } else {
5565
- return null;
5721
+ oldIdTagNameMap.set(id12, tagName);
5566
5722
  }
5567
5723
  }
5568
- } else {
5569
- let responseDoc = parser2.parseFromString("<body><template>" + newContent + "</template></body>", "text/html");
5570
- let content = responseDoc.body.querySelector("template").content;
5571
- content.generatedByIdiomorph = true;
5572
- return content;
5573
- }
5574
- }
5575
- function normalizeContent(newContent) {
5576
- if (newContent == null) {
5577
- const dummyParent = document.createElement("div");
5578
- return dummyParent;
5579
- } else if (newContent.generatedByIdiomorph) {
5580
- return newContent;
5581
- } else if (newContent instanceof Node) {
5582
- const dummyParent = document.createElement("div");
5583
- dummyParent.append(newContent);
5584
- return dummyParent;
5585
- } else {
5586
- const dummyParent = document.createElement("div");
5587
- for (const elt of [...newContent]) {
5588
- dummyParent.append(elt);
5724
+ let persistentIds = /* @__PURE__ */ new Set();
5725
+ for (const { id: id12, tagName } of newIdElements) {
5726
+ if (persistentIds.has(id12)) {
5727
+ duplicateIds.add(id12);
5728
+ } else if (oldIdTagNameMap.get(id12) === tagName) {
5729
+ persistentIds.add(id12);
5730
+ }
5589
5731
  }
5590
- return dummyParent;
5591
- }
5592
- }
5593
- function insertSiblings(previousSibling, morphedNode, nextSibling) {
5594
- let stack = [];
5595
- let added = [];
5596
- while (previousSibling != null) {
5597
- stack.push(previousSibling);
5598
- previousSibling = previousSibling.previousSibling;
5599
- }
5600
- while (stack.length > 0) {
5601
- let node = stack.pop();
5602
- added.push(node);
5603
- morphedNode.parentElement.insertBefore(node, morphedNode);
5604
- }
5605
- added.push(morphedNode);
5606
- while (nextSibling != null) {
5607
- stack.push(nextSibling);
5608
- added.push(nextSibling);
5609
- nextSibling = nextSibling.nextSibling;
5610
- }
5611
- while (stack.length > 0) {
5612
- morphedNode.parentElement.insertBefore(stack.pop(), morphedNode.nextSibling);
5613
- }
5614
- return added;
5615
- }
5616
- function findBestNodeMatch(newContent, oldNode, ctx) {
5617
- let currentElement;
5618
- currentElement = newContent.firstChild;
5619
- let bestElement = currentElement;
5620
- let score = 0;
5621
- while (currentElement) {
5622
- let newScore = scoreElement(currentElement, oldNode, ctx);
5623
- if (newScore > score) {
5624
- bestElement = currentElement;
5625
- score = newScore;
5732
+ for (const id12 of duplicateIds) {
5733
+ persistentIds.delete(id12);
5626
5734
  }
5627
- currentElement = currentElement.nextSibling;
5628
- }
5629
- return bestElement;
5630
- }
5631
- function scoreElement(node1, node2, ctx) {
5632
- if (isSoftMatch(node1, node2)) {
5633
- return 0.5 + getIdIntersectionCount(ctx, node1, node2);
5735
+ return persistentIds;
5634
5736
  }
5635
- return 0;
5636
- }
5637
- function removeNode(tempNode, ctx) {
5638
- removeIdsFromConsideration(ctx, tempNode);
5639
- if (ctx.callbacks.beforeNodeRemoved(tempNode) === false)
5640
- return;
5641
- tempNode.remove();
5642
- ctx.callbacks.afterNodeRemoved(tempNode);
5643
- }
5644
- function isIdInConsideration(ctx, id12) {
5645
- return !ctx.deadIds.has(id12);
5646
- }
5647
- function idIsWithinNode(ctx, id12, targetNode) {
5648
- let idSet = ctx.idMap.get(targetNode) || EMPTY_SET;
5649
- return idSet.has(id12);
5650
- }
5651
- function removeIdsFromConsideration(ctx, node) {
5652
- let idSet = ctx.idMap.get(node) || EMPTY_SET;
5653
- for (const id12 of idSet) {
5654
- ctx.deadIds.add(id12);
5737
+ return createMorphContext2;
5738
+ }();
5739
+ const { normalizeElement, normalizeParent } = /* @__PURE__ */ function() {
5740
+ const generatedByIdiomorph = /* @__PURE__ */ new WeakSet();
5741
+ function normalizeElement2(content) {
5742
+ if (content instanceof Document) {
5743
+ return content.documentElement;
5744
+ } else {
5745
+ return content;
5746
+ }
5655
5747
  }
5656
- }
5657
- function getIdIntersectionCount(ctx, node1, node2) {
5658
- let sourceSet = ctx.idMap.get(node1) || EMPTY_SET;
5659
- let matchCount = 0;
5660
- for (const id12 of sourceSet) {
5661
- if (isIdInConsideration(ctx, id12) && idIsWithinNode(ctx, id12, node2)) {
5662
- ++matchCount;
5748
+ function normalizeParent2(newContent) {
5749
+ if (newContent == null) {
5750
+ return document.createElement("div");
5751
+ } else if (typeof newContent === "string") {
5752
+ return normalizeParent2(parseContent(newContent));
5753
+ } else if (generatedByIdiomorph.has(
5754
+ /** @type {Element} */
5755
+ newContent
5756
+ )) {
5757
+ return (
5758
+ /** @type {Element} */
5759
+ newContent
5760
+ );
5761
+ } else if (newContent instanceof Node) {
5762
+ if (newContent.parentNode) {
5763
+ return createDuckTypedParent(newContent);
5764
+ } else {
5765
+ const dummyParent = document.createElement("div");
5766
+ dummyParent.append(newContent);
5767
+ return dummyParent;
5768
+ }
5769
+ } else {
5770
+ const dummyParent = document.createElement("div");
5771
+ for (const elt of [...newContent]) {
5772
+ dummyParent.append(elt);
5773
+ }
5774
+ return dummyParent;
5663
5775
  }
5664
5776
  }
5665
- return matchCount;
5666
- }
5667
- function populateIdMapForNode(node, idMap) {
5668
- let nodeParent = node.parentElement;
5669
- let idElements = node.querySelectorAll("[id]");
5670
- for (const elt of idElements) {
5671
- let current = elt;
5672
- while (current !== nodeParent && current != null) {
5673
- let idSet = idMap.get(current);
5674
- if (idSet == null) {
5675
- idSet = /* @__PURE__ */ new Set();
5676
- idMap.set(current, idSet);
5777
+ function createDuckTypedParent(newContent) {
5778
+ return (
5779
+ /** @type {Element} */
5780
+ /** @type {unknown} */
5781
+ {
5782
+ childNodes: [newContent],
5783
+ /** @ts-ignore - cover your eyes for a minute, tsc */
5784
+ querySelectorAll: (s4) => {
5785
+ const elements = newContent.querySelectorAll(s4);
5786
+ return newContent.matches(s4) ? [newContent, ...elements] : elements;
5787
+ },
5788
+ /** @ts-ignore */
5789
+ insertBefore: (n3, r4) => newContent.parentNode.insertBefore(n3, r4),
5790
+ /** @ts-ignore */
5791
+ moveBefore: (n3, r4) => newContent.parentNode.moveBefore(n3, r4),
5792
+ // for later use with populateIdMapWithTree to halt upwards iteration
5793
+ get __idiomorphRoot() {
5794
+ return newContent;
5795
+ }
5677
5796
  }
5678
- idSet.add(elt.id);
5679
- current = current.parentElement;
5797
+ );
5798
+ }
5799
+ function parseContent(newContent) {
5800
+ let parser2 = new DOMParser();
5801
+ let contentWithSvgsRemoved = newContent.replace(
5802
+ /<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim,
5803
+ ""
5804
+ );
5805
+ if (contentWithSvgsRemoved.match(/<\/html>/) || contentWithSvgsRemoved.match(/<\/head>/) || contentWithSvgsRemoved.match(/<\/body>/)) {
5806
+ let content = parser2.parseFromString(newContent, "text/html");
5807
+ if (contentWithSvgsRemoved.match(/<\/html>/)) {
5808
+ generatedByIdiomorph.add(content);
5809
+ return content;
5810
+ } else {
5811
+ let htmlElement = content.firstChild;
5812
+ if (htmlElement) {
5813
+ generatedByIdiomorph.add(htmlElement);
5814
+ }
5815
+ return htmlElement;
5816
+ }
5817
+ } else {
5818
+ let responseDoc = parser2.parseFromString(
5819
+ "<body><template>" + newContent + "</template></body>",
5820
+ "text/html"
5821
+ );
5822
+ let content = (
5823
+ /** @type {HTMLTemplateElement} */
5824
+ responseDoc.body.querySelector("template").content
5825
+ );
5826
+ generatedByIdiomorph.add(content);
5827
+ return content;
5680
5828
  }
5681
5829
  }
5682
- }
5683
- function createIdMap(oldContent, newContent) {
5684
- let idMap = /* @__PURE__ */ new Map();
5685
- populateIdMapForNode(oldContent, idMap);
5686
- populateIdMapForNode(newContent, idMap);
5687
- return idMap;
5688
- }
5830
+ return { normalizeElement: normalizeElement2, normalizeParent: normalizeParent2 };
5831
+ }();
5689
5832
  return {
5690
5833
  morph,
5691
5834
  defaults
@@ -5698,7 +5841,7 @@
5698
5841
  });
5699
5842
  }
5700
5843
  function morphChildren(currentElement, newElement) {
5701
- morphElements(currentElement, newElement.children, {
5844
+ morphElements(currentElement, newElement.childNodes, {
5702
5845
  morphStyle: "innerHTML"
5703
5846
  });
5704
5847
  }
@@ -6362,15 +6505,6 @@
6362
6505
  return { ...this.timingMetrics };
6363
6506
  }
6364
6507
  // Private
6365
- getHistoryMethodForAction(action) {
6366
- switch (action) {
6367
- case "replace":
6368
- return history.replaceState;
6369
- case "advance":
6370
- case "restore":
6371
- return history.pushState;
6372
- }
6373
- }
6374
6508
  hasPreloadedResponse() {
6375
6509
  return typeof this.response == "object";
6376
6510
  }
@@ -6472,6 +6606,10 @@
6472
6606
  }
6473
6607
  visitRendered(_visit) {
6474
6608
  }
6609
+ // Link prefetching
6610
+ linkPrefetchingIsEnabledForLocation(location2) {
6611
+ return true;
6612
+ }
6475
6613
  // Form Submission Delegate
6476
6614
  formSubmissionStarted(_formSubmission) {
6477
6615
  this.progressBar.setValue(0);
@@ -6949,6 +7087,13 @@
6949
7087
  this.adapter.formSubmissionFinished(formSubmission);
6950
7088
  }
6951
7089
  }
7090
+ // Link prefetching
7091
+ linkPrefetchingIsEnabledForLocation(location2) {
7092
+ if (typeof this.adapter.linkPrefetchingIsEnabledForLocation === "function") {
7093
+ return this.adapter.linkPrefetchingIsEnabledForLocation(location2);
7094
+ }
7095
+ return true;
7096
+ }
6952
7097
  // Visit delegate
6953
7098
  visitStarted(visit2) {
6954
7099
  this.delegate.visitStarted(visit2);
@@ -7564,7 +7709,7 @@
7564
7709
  const responseHTML = await fetchResponse.responseHTML;
7565
7710
  const snapshot = PageSnapshot.fromHTMLString(responseHTML);
7566
7711
  this.snapshotCache.put(fetchRequest.url, snapshot);
7567
- } catch (_3) {
7712
+ } catch (_4) {
7568
7713
  }
7569
7714
  }
7570
7715
  requestStarted(fetchRequest) {
@@ -7677,7 +7822,8 @@
7677
7822
  }
7678
7823
  refresh(url, requestId) {
7679
7824
  const isRecentRequest = requestId && this.recentRequests.has(requestId);
7680
- if (!isRecentRequest && !this.navigator.currentVisit) {
7825
+ const isCurrentUrl = url === document.baseURI;
7826
+ if (!isRecentRequest && !this.navigator.currentVisit && isCurrentUrl) {
7681
7827
  this.visit(url, { action: "replace", shouldCacheSnapshot: false });
7682
7828
  }
7683
7829
  }
@@ -7769,7 +7915,7 @@
7769
7915
  }
7770
7916
  // Link hover observer delegate
7771
7917
  canPrefetchRequestToLocation(link2, location2) {
7772
- return this.elementIsNavigatable(link2) && locationIsVisitable(location2, this.snapshot.rootLocation);
7918
+ return this.elementIsNavigatable(link2) && locationIsVisitable(location2, this.snapshot.rootLocation) && this.navigator.linkPrefetchingIsEnabledForLocation(location2);
7773
7919
  }
7774
7920
  // Link click observer delegate
7775
7921
  willFollowLinkToLocation(link2, location2, event) {
@@ -8578,9 +8724,9 @@
8578
8724
  * Gets the list of duplicate children (i.e. those with the same ID)
8579
8725
  */
8580
8726
  get duplicateChildren() {
8581
- const existingChildren = this.targetElements.flatMap((e4) => [...e4.children]).filter((c4) => !!c4.id);
8582
- const newChildrenIds = [...this.templateContent?.children || []].filter((c4) => !!c4.id).map((c4) => c4.id);
8583
- return existingChildren.filter((c4) => newChildrenIds.includes(c4.id));
8727
+ const existingChildren = this.targetElements.flatMap((e4) => [...e4.children]).filter((c4) => !!c4.getAttribute("id"));
8728
+ const newChildrenIds = [...this.templateContent?.children || []].filter((c4) => !!c4.getAttribute("id")).map((c4) => c4.getAttribute("id"));
8729
+ return existingChildren.filter((c4) => newChildrenIds.includes(c4.getAttribute("id")));
8584
8730
  }
8585
8731
  /**
8586
8732
  * Gets the action function to be performed.
@@ -8930,7 +9076,7 @@
8930
9076
  }
8931
9077
  }
8932
9078
  function camelize(value) {
8933
- return value.replace(/(?:[_-])([a-z0-9])/g, (_3, char) => char.toUpperCase());
9079
+ return value.replace(/(?:[_-])([a-z0-9])/g, (_4, char) => char.toUpperCase());
8934
9080
  }
8935
9081
  function namespaceCamelize(value) {
8936
9082
  return camelize(value.replace(/--/g, "-").replace(/__/g, "_"));
@@ -8939,7 +9085,7 @@
8939
9085
  return value.charAt(0).toUpperCase() + value.slice(1);
8940
9086
  }
8941
9087
  function dasherize(value) {
8942
- return value.replace(/([A-Z])/g, (_3, char) => `-${char.toLowerCase()}`);
9088
+ return value.replace(/([A-Z])/g, (_4, char) => `-${char.toLowerCase()}`);
8943
9089
  }
8944
9090
  function tokenize(value) {
8945
9091
  return value.match(/[^\s]+/g) || [];
@@ -9628,7 +9774,7 @@
9628
9774
  }
9629
9775
  function zip(left2, right2) {
9630
9776
  const length = Math.max(left2.length, right2.length);
9631
- return Array.from({ length }, (_3, index) => [left2[index], right2[index]]);
9777
+ return Array.from({ length }, (_4, index) => [left2[index], right2[index]]);
9632
9778
  }
9633
9779
  function tokensAreEqual(left2, right2) {
9634
9780
  return left2 && right2 && left2.index == right2.index && left2.content == right2.content;
@@ -11576,7 +11722,7 @@
11576
11722
  }
11577
11723
  var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
11578
11724
  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
11579
- var x3 = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
11725
+ var x4 = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
11580
11726
  var y4 = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
11581
11727
  var width = clientRect.width / scaleX;
11582
11728
  var height = clientRect.height / scaleY;
@@ -11584,10 +11730,10 @@
11584
11730
  width,
11585
11731
  height,
11586
11732
  top: y4,
11587
- right: x3 + width,
11733
+ right: x4 + width,
11588
11734
  bottom: y4 + height,
11589
- left: x3,
11590
- x: x3,
11735
+ left: x4,
11736
+ x: x4,
11591
11737
  y: y4
11592
11738
  };
11593
11739
  }
@@ -11818,25 +11964,25 @@
11818
11964
  left: "auto"
11819
11965
  };
11820
11966
  function roundOffsetsByDPR(_ref, win) {
11821
- var x3 = _ref.x, y4 = _ref.y;
11967
+ var x4 = _ref.x, y4 = _ref.y;
11822
11968
  var dpr = win.devicePixelRatio || 1;
11823
11969
  return {
11824
- x: round(x3 * dpr) / dpr || 0,
11970
+ x: round(x4 * dpr) / dpr || 0,
11825
11971
  y: round(y4 * dpr) / dpr || 0
11826
11972
  };
11827
11973
  }
11828
11974
  function mapToStyles(_ref2) {
11829
11975
  var _Object$assign2;
11830
11976
  var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
11831
- var _offsets$x = offsets.x, x3 = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y4 = _offsets$y === void 0 ? 0 : _offsets$y;
11977
+ var _offsets$x = offsets.x, x4 = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y4 = _offsets$y === void 0 ? 0 : _offsets$y;
11832
11978
  var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
11833
- x: x3,
11979
+ x: x4,
11834
11980
  y: y4
11835
11981
  }) : {
11836
- x: x3,
11982
+ x: x4,
11837
11983
  y: y4
11838
11984
  };
11839
- x3 = _ref3.x;
11985
+ x4 = _ref3.x;
11840
11986
  y4 = _ref3.y;
11841
11987
  var hasX = offsets.hasOwnProperty("x");
11842
11988
  var hasY = offsets.hasOwnProperty("y");
@@ -11870,27 +12016,27 @@
11870
12016
  // $FlowFixMe[prop-missing]
11871
12017
  offsetParent[widthProp]
11872
12018
  );
11873
- x3 -= offsetX - popperRect.width;
11874
- x3 *= gpuAcceleration ? 1 : -1;
12019
+ x4 -= offsetX - popperRect.width;
12020
+ x4 *= gpuAcceleration ? 1 : -1;
11875
12021
  }
11876
12022
  }
11877
12023
  var commonStyles = Object.assign({
11878
12024
  position
11879
12025
  }, adaptive && unsetSides);
11880
12026
  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
11881
- x: x3,
12027
+ x: x4,
11882
12028
  y: y4
11883
12029
  }, getWindow(popper2)) : {
11884
- x: x3,
12030
+ x: x4,
11885
12031
  y: y4
11886
12032
  };
11887
- x3 = _ref4.x;
12033
+ x4 = _ref4.x;
11888
12034
  y4 = _ref4.y;
11889
12035
  if (gpuAcceleration) {
11890
12036
  var _Object$assign;
11891
- return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x3 + "px, " + y4 + "px)" : "translate3d(" + x3 + "px, " + y4 + "px, 0)", _Object$assign));
12037
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x4 + "px, " + y4 + "px)" : "translate3d(" + x4 + "px, " + y4 + "px, 0)", _Object$assign));
11892
12038
  }
11893
- return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y4 + "px" : "", _Object$assign2[sideX] = hasX ? x3 + "px" : "", _Object$assign2.transform = "", _Object$assign2));
12039
+ return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y4 + "px" : "", _Object$assign2[sideX] = hasX ? x4 + "px" : "", _Object$assign2.transform = "", _Object$assign2));
11894
12040
  }
11895
12041
  function computeStyles(_ref5) {
11896
12042
  var state = _ref5.state, options2 = _ref5.options;
@@ -12016,21 +12162,21 @@
12016
12162
  var visualViewport = win.visualViewport;
12017
12163
  var width = html3.clientWidth;
12018
12164
  var height = html3.clientHeight;
12019
- var x3 = 0;
12165
+ var x4 = 0;
12020
12166
  var y4 = 0;
12021
12167
  if (visualViewport) {
12022
12168
  width = visualViewport.width;
12023
12169
  height = visualViewport.height;
12024
12170
  var layoutViewport = isLayoutViewport();
12025
12171
  if (layoutViewport || !layoutViewport && strategy === "fixed") {
12026
- x3 = visualViewport.offsetLeft;
12172
+ x4 = visualViewport.offsetLeft;
12027
12173
  y4 = visualViewport.offsetTop;
12028
12174
  }
12029
12175
  }
12030
12176
  return {
12031
12177
  width,
12032
12178
  height,
12033
- x: x3 + getWindowScrollBarX(element),
12179
+ x: x4 + getWindowScrollBarX(element),
12034
12180
  y: y4
12035
12181
  };
12036
12182
  }
@@ -12043,15 +12189,15 @@
12043
12189
  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
12044
12190
  var width = max(html3.scrollWidth, html3.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
12045
12191
  var height = max(html3.scrollHeight, html3.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
12046
- var x3 = -winScroll.scrollLeft + getWindowScrollBarX(element);
12192
+ var x4 = -winScroll.scrollLeft + getWindowScrollBarX(element);
12047
12193
  var y4 = -winScroll.scrollTop;
12048
12194
  if (getComputedStyle2(body || html3).direction === "rtl") {
12049
- x3 += max(html3.clientWidth, body ? body.clientWidth : 0) - width;
12195
+ x4 += max(html3.clientWidth, body ? body.clientWidth : 0) - width;
12050
12196
  }
12051
12197
  return {
12052
12198
  width,
12053
12199
  height,
12054
- x: x3,
12200
+ x: x4,
12055
12201
  y: y4
12056
12202
  };
12057
12203
  }
@@ -12453,9 +12599,9 @@
12453
12599
  acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
12454
12600
  return acc;
12455
12601
  }, {});
12456
- var _data$state$placement = data[state.placement], x3 = _data$state$placement.x, y4 = _data$state$placement.y;
12602
+ var _data$state$placement = data[state.placement], x4 = _data$state$placement.x, y4 = _data$state$placement.y;
12457
12603
  if (state.modifiersData.popperOffsets != null) {
12458
- state.modifiersData.popperOffsets.x += x3;
12604
+ state.modifiersData.popperOffsets.x += x4;
12459
12605
  state.modifiersData.popperOffsets.y += y4;
12460
12606
  }
12461
12607
  state.modifiersData[name] = data;
@@ -12683,14 +12829,14 @@
12683
12829
  }
12684
12830
 
12685
12831
  // node_modules/@popperjs/core/lib/utils/debounce.js
12686
- function debounce2(fn2) {
12832
+ function debounce2(fn3) {
12687
12833
  var pending;
12688
12834
  return function() {
12689
12835
  if (!pending) {
12690
12836
  pending = new Promise(function(resolve) {
12691
12837
  Promise.resolve().then(function() {
12692
12838
  pending = void 0;
12693
- resolve(fn2());
12839
+ resolve(fn3());
12694
12840
  });
12695
12841
  });
12696
12842
  }
@@ -12795,9 +12941,9 @@
12795
12941
  index = -1;
12796
12942
  continue;
12797
12943
  }
12798
- var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
12799
- if (typeof fn2 === "function") {
12800
- state = fn2({
12944
+ var _state$orderedModifie = state.orderedModifiers[index], fn3 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
12945
+ if (typeof fn3 === "function") {
12946
+ state = fn3({
12801
12947
  state,
12802
12948
  options: _options,
12803
12949
  name,
@@ -12844,8 +12990,8 @@
12844
12990
  });
12845
12991
  }
12846
12992
  function cleanupModifierEffects() {
12847
- effectCleanupFns.forEach(function(fn2) {
12848
- return fn2();
12993
+ effectCleanupFns.forEach(function(fn3) {
12994
+ return fn3();
12849
12995
  });
12850
12996
  effectCleanupFns = [];
12851
12997
  }
@@ -12862,11 +13008,14 @@
12862
13008
  // src/js/controllers/resource_drop_down_controller.js
12863
13009
  var resource_drop_down_controller_default = class extends Controller {
12864
13010
  static targets = ["trigger", "menu"];
13011
+ static values = {
13012
+ placement: { type: String, default: "bottom" }
13013
+ };
12865
13014
  connect() {
12866
13015
  this.visible = false;
12867
13016
  this.initialized = false;
12868
13017
  this.options = {
12869
- placement: "bottom",
13018
+ placement: this.placementValue,
12870
13019
  triggerType: "click",
12871
13020
  offsetSkidding: 0,
12872
13021
  offsetDistance: 10,
@@ -12878,6 +13027,7 @@
12878
13027
  init() {
12879
13028
  if (this.triggerTarget && this.menuTarget && !this.initialized) {
12880
13029
  this.popperInstance = createPopper(this.triggerTarget, this.menuTarget, {
13030
+ strategy: "fixed",
12881
13031
  placement: this.options.placement,
12882
13032
  modifiers: [
12883
13033
  {
@@ -12885,6 +13035,21 @@
12885
13035
  options: {
12886
13036
  offset: [this.options.offsetSkidding, this.options.offsetDistance]
12887
13037
  }
13038
+ },
13039
+ {
13040
+ name: "flip",
13041
+ options: {
13042
+ fallbackPlacements: ["left-end", "right-start", "right-end", "bottom-start", "bottom-end", "top-start", "top-end"],
13043
+ boundary: "clippingParents"
13044
+ }
13045
+ },
13046
+ {
13047
+ name: "preventOverflow",
13048
+ options: {
13049
+ boundary: "clippingParents",
13050
+ altAxis: true,
13051
+ padding: 8
13052
+ }
12888
13053
  }
12889
13054
  ]
12890
13055
  });
@@ -12952,7 +13117,8 @@
12952
13117
  }
12953
13118
  });
12954
13119
  }
12955
- if (clickedEl !== this.menuTarget && !this.menuTarget.contains(clickedEl) && !this.triggerTarget.contains(clickedEl) && !isIgnored && this.visible) {
13120
+ const isFloatingUI = clickedEl.closest(".flatpickr-calendar, .ss-main, .ss-content");
13121
+ if (clickedEl !== this.menuTarget && !this.menuTarget.contains(clickedEl) && !this.triggerTarget.contains(clickedEl) && !isIgnored && !isFloatingUI && this.visible) {
12956
13122
  this.hide();
12957
13123
  }
12958
13124
  };
@@ -13215,13 +13381,13 @@
13215
13381
  construct
13216
13382
  } = typeof Reflect !== "undefined" && Reflect;
13217
13383
  if (!freeze) {
13218
- freeze = function freeze2(x3) {
13219
- return x3;
13384
+ freeze = function freeze2(x4) {
13385
+ return x4;
13220
13386
  };
13221
13387
  }
13222
13388
  if (!seal) {
13223
- seal = function seal2(x3) {
13224
- return x3;
13389
+ seal = function seal2(x4) {
13390
+ return x4;
13225
13391
  };
13226
13392
  }
13227
13393
  if (!apply) {
@@ -13250,6 +13416,9 @@
13250
13416
  var typeErrorCreate = unconstruct(TypeError);
13251
13417
  function unapply(func) {
13252
13418
  return function(thisArg) {
13419
+ if (thisArg instanceof RegExp) {
13420
+ thisArg.lastIndex = 0;
13421
+ }
13253
13422
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
13254
13423
  args[_key - 1] = arguments[_key];
13255
13424
  }
@@ -13345,7 +13514,7 @@
13345
13514
  var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
13346
13515
  var ARIA_ATTR = seal(/^aria-[\-\w]+$/);
13347
13516
  var IS_ALLOWED_URI = seal(
13348
- /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
13517
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
13349
13518
  // eslint-disable-line no-useless-escape
13350
13519
  );
13351
13520
  var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
@@ -13407,7 +13576,7 @@
13407
13576
  return scriptUrl;
13408
13577
  }
13409
13578
  });
13410
- } catch (_3) {
13579
+ } catch (_4) {
13411
13580
  console.warn("TrustedTypes policy " + policyName + " could not be created.");
13412
13581
  return null;
13413
13582
  }
@@ -13428,7 +13597,7 @@
13428
13597
  function createDOMPurify() {
13429
13598
  let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
13430
13599
  const DOMPurify = (root) => createDOMPurify(root);
13431
- DOMPurify.version = "3.2.4";
13600
+ DOMPurify.version = "3.2.6";
13432
13601
  DOMPurify.removed = [];
13433
13602
  if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
13434
13603
  DOMPurify.isSupported = false;
@@ -13575,8 +13744,8 @@
13575
13744
  URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
13576
13745
  DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
13577
13746
  FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
13578
- FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
13579
- FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
13747
+ FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
13748
+ FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
13580
13749
  USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
13581
13750
  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
13582
13751
  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
@@ -13742,7 +13911,7 @@
13742
13911
  });
13743
13912
  try {
13744
13913
  getParentNode2(node).removeChild(node);
13745
- } catch (_3) {
13914
+ } catch (_4) {
13746
13915
  remove(node);
13747
13916
  }
13748
13917
  };
@@ -13752,7 +13921,7 @@
13752
13921
  attribute: element.getAttributeNode(name),
13753
13922
  from: element
13754
13923
  });
13755
- } catch (_3) {
13924
+ } catch (_4) {
13756
13925
  arrayPush(DOMPurify.removed, {
13757
13926
  attribute: null,
13758
13927
  from: element
@@ -13763,12 +13932,12 @@
13763
13932
  if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
13764
13933
  try {
13765
13934
  _forceRemove(element);
13766
- } catch (_3) {
13935
+ } catch (_4) {
13767
13936
  }
13768
13937
  } else {
13769
13938
  try {
13770
13939
  element.setAttribute(name, "");
13771
- } catch (_3) {
13940
+ } catch (_4) {
13772
13941
  }
13773
13942
  }
13774
13943
  }
@@ -13789,14 +13958,14 @@
13789
13958
  if (NAMESPACE === HTML_NAMESPACE) {
13790
13959
  try {
13791
13960
  doc = new DOMParser2().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
13792
- } catch (_3) {
13961
+ } catch (_4) {
13793
13962
  }
13794
13963
  }
13795
13964
  if (!doc || !doc.documentElement) {
13796
13965
  doc = implementation.createDocument(NAMESPACE, "template", null);
13797
13966
  try {
13798
13967
  doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
13799
- } catch (_3) {
13968
+ } catch (_4) {
13800
13969
  }
13801
13970
  }
13802
13971
  const body = doc.body || doc.documentElement;
@@ -13840,7 +14009,7 @@
13840
14009
  tagName,
13841
14010
  allowedTags: ALLOWED_TAGS
13842
14011
  });
13843
- if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) {
14012
+ if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
13844
14013
  _forceRemove(currentNode);
13845
14014
  return true;
13846
14015
  }
@@ -13961,7 +14130,8 @@
13961
14130
  value: attrValue
13962
14131
  } = attr;
13963
14132
  const lcName = transformCaseFunc(name);
13964
- let value = name === "value" ? attrValue : stringTrim(attrValue);
14133
+ const initValue = attrValue;
14134
+ let value = name === "value" ? initValue : stringTrim(initValue);
13965
14135
  hookEvent.attrName = lcName;
13966
14136
  hookEvent.attrValue = value;
13967
14137
  hookEvent.keepAttr = true;
@@ -13979,8 +14149,8 @@
13979
14149
  if (hookEvent.forceKeepAttr) {
13980
14150
  continue;
13981
14151
  }
13982
- _removeAttribute(name, currentNode);
13983
14152
  if (!hookEvent.keepAttr) {
14153
+ _removeAttribute(name, currentNode);
13984
14154
  continue;
13985
14155
  }
13986
14156
  if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
@@ -13994,6 +14164,7 @@
13994
14164
  }
13995
14165
  const lcTag = transformCaseFunc(currentNode.nodeName);
13996
14166
  if (!_isValidAttribute(lcTag, lcName, value)) {
14167
+ _removeAttribute(name, currentNode);
13997
14168
  continue;
13998
14169
  }
13999
14170
  if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") {
@@ -14012,18 +14183,21 @@
14012
14183
  }
14013
14184
  }
14014
14185
  }
14015
- try {
14016
- if (namespaceURI) {
14017
- currentNode.setAttributeNS(namespaceURI, name, value);
14018
- } else {
14019
- currentNode.setAttribute(name, value);
14020
- }
14021
- if (_isClobbered(currentNode)) {
14022
- _forceRemove(currentNode);
14023
- } else {
14024
- arrayPop(DOMPurify.removed);
14186
+ if (value !== initValue) {
14187
+ try {
14188
+ if (namespaceURI) {
14189
+ currentNode.setAttributeNS(namespaceURI, name, value);
14190
+ } else {
14191
+ currentNode.setAttribute(name, value);
14192
+ }
14193
+ if (_isClobbered(currentNode)) {
14194
+ _forceRemove(currentNode);
14195
+ } else {
14196
+ arrayPop(DOMPurify.removed);
14197
+ }
14198
+ } catch (_4) {
14199
+ _removeAttribute(name, currentNode);
14025
14200
  }
14026
- } catch (_3) {
14027
14201
  }
14028
14202
  }
14029
14203
  _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
@@ -14287,7 +14461,10 @@
14287
14461
  var list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, bullet).getRegex();
14288
14462
  var _tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
14289
14463
  var _comment = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
14290
- var html2 = edit("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", _comment).replace("tag", _tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
14464
+ var html2 = edit(
14465
+ "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))",
14466
+ "i"
14467
+ ).replace("comment", _comment).replace("tag", _tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
14291
14468
  var paragraph = edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
14292
14469
  var blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", paragraph).getRegex();
14293
14470
  var blockNormal = {
@@ -14305,7 +14482,9 @@
14305
14482
  table: noopTest,
14306
14483
  text: blockText
14307
14484
  };
14308
- var gfmTable = edit("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
14485
+ var gfmTable = edit(
14486
+ "^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"
14487
+ ).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
14309
14488
  var blockGfm = {
14310
14489
  ...blockNormal,
14311
14490
  lheading: lheadingGfm,
@@ -14314,7 +14493,9 @@
14314
14493
  };
14315
14494
  var blockPedantic = {
14316
14495
  ...blockNormal,
14317
- html: edit(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", _comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
14496
+ html: edit(
14497
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
14498
+ ).replace("comment", _comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
14318
14499
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
14319
14500
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
14320
14501
  fences: noopTest,
@@ -14322,7 +14503,7 @@
14322
14503
  lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
14323
14504
  paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", lheading).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
14324
14505
  };
14325
- var escape$1 = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
14506
+ var escape2 = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
14326
14507
  var inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
14327
14508
  var br = /^( {2,}|\\)\n(?!\s*$)/;
14328
14509
  var inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
@@ -14340,13 +14521,18 @@
14340
14521
  var emStrongRDelimAstCore = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
14341
14522
  var emStrongRDelimAst = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
14342
14523
  var emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm).replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm).replace(/punct/g, _punctuationGfmStrongEm).getRegex();
14343
- var emStrongRDelimUnd = edit("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
14524
+ var emStrongRDelimUnd = edit(
14525
+ "^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)",
14526
+ "gu"
14527
+ ).replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
14344
14528
  var anyPunctuation = edit(/\\(punct)/, "gu").replace(/punct/g, _punctuation).getRegex();
14345
14529
  var autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
14346
14530
  var _inlineComment = edit(_comment).replace("(?:-->|$)", "-->").getRegex();
14347
- var tag = edit("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", _inlineComment).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
14531
+ var tag = edit(
14532
+ "^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>"
14533
+ ).replace("comment", _inlineComment).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
14348
14534
  var _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
14349
- var link = edit(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label", _inlineLabel).replace("href", /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
14535
+ var link = edit(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", _inlineLabel).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
14350
14536
  var reflink = edit(/^!?\[(label)\]\[(ref)\]/).replace("label", _inlineLabel).replace("ref", _blockLabel).getRegex();
14351
14537
  var nolink = edit(/^!?\[(ref)\](?:\[\])?/).replace("ref", _blockLabel).getRegex();
14352
14538
  var reflinkSearch = edit("reflink|nolink(?!\\()", "g").replace("reflink", reflink).replace("nolink", nolink).getRegex();
@@ -14362,7 +14548,7 @@
14362
14548
  emStrongLDelim,
14363
14549
  emStrongRDelimAst,
14364
14550
  emStrongRDelimUnd,
14365
- escape: escape$1,
14551
+ escape: escape2,
14366
14552
  link,
14367
14553
  nolink,
14368
14554
  punctuation,
@@ -14410,17 +14596,17 @@
14410
14596
  "'": "&#39;"
14411
14597
  };
14412
14598
  var getEscapeReplacement = (ch) => escapeReplacements[ch];
14413
- function escape2(html3, encode) {
14599
+ function escape22(html22, encode) {
14414
14600
  if (encode) {
14415
- if (other.escapeTest.test(html3)) {
14416
- return html3.replace(other.escapeReplace, getEscapeReplacement);
14601
+ if (other.escapeTest.test(html22)) {
14602
+ return html22.replace(other.escapeReplace, getEscapeReplacement);
14417
14603
  }
14418
14604
  } else {
14419
- if (other.escapeTestNoEncode.test(html3)) {
14420
- return html3.replace(other.escapeReplaceNoEncode, getEscapeReplacement);
14605
+ if (other.escapeTestNoEncode.test(html22)) {
14606
+ return html22.replace(other.escapeReplaceNoEncode, getEscapeReplacement);
14421
14607
  }
14422
14608
  }
14423
- return html3;
14609
+ return html22;
14424
14610
  }
14425
14611
  function cleanUrl(href) {
14426
14612
  try {
@@ -14470,7 +14656,9 @@
14470
14656
  let suffLen = 0;
14471
14657
  while (suffLen < l4) {
14472
14658
  const currChar = str.charAt(l4 - suffLen - 1);
14473
- if (currChar === c4 && true) {
14659
+ if (currChar === c4 && !invert) {
14660
+ suffLen++;
14661
+ } else if (currChar !== c4 && invert) {
14474
14662
  suffLen++;
14475
14663
  } else {
14476
14664
  break;
@@ -14495,32 +14683,26 @@
14495
14683
  }
14496
14684
  }
14497
14685
  }
14686
+ if (level > 0) {
14687
+ return -2;
14688
+ }
14498
14689
  return -1;
14499
14690
  }
14500
14691
  function outputLink(cap, link2, raw, lexer2, rules) {
14501
14692
  const href = link2.href;
14502
14693
  const title = link2.title || null;
14503
14694
  const text2 = cap[1].replace(rules.other.outputLinkReplace, "$1");
14504
- if (cap[0].charAt(0) !== "!") {
14505
- lexer2.state.inLink = true;
14506
- const token = {
14507
- type: "link",
14508
- raw,
14509
- href,
14510
- title,
14511
- text: text2,
14512
- tokens: lexer2.inlineTokens(text2)
14513
- };
14514
- lexer2.state.inLink = false;
14515
- return token;
14516
- }
14517
- return {
14518
- type: "image",
14695
+ lexer2.state.inLink = true;
14696
+ const token = {
14697
+ type: cap[0].charAt(0) === "!" ? "image" : "link",
14519
14698
  raw,
14520
14699
  href,
14521
14700
  title,
14522
- text: text2
14701
+ text: text2,
14702
+ tokens: lexer2.inlineTokens(text2)
14523
14703
  };
14704
+ lexer2.state.inLink = false;
14705
+ return token;
14524
14706
  }
14525
14707
  function indentCodeCompensation(raw, text2, rules) {
14526
14708
  const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);
@@ -15002,6 +15184,9 @@ ${currentText}` : currentText;
15002
15184
  }
15003
15185
  } else {
15004
15186
  const lastParenIndex = findClosingBracket(cap[2], "()");
15187
+ if (lastParenIndex === -2) {
15188
+ return;
15189
+ }
15005
15190
  if (lastParenIndex > -1) {
15006
15191
  const start3 = cap[0].indexOf("!") === 0 ? 5 : 4;
15007
15192
  const linkLen = start3 + cap[1].length + lastParenIndex;
@@ -15085,12 +15270,12 @@ ${currentText}` : currentText;
15085
15270
  const lastCharLength = [...match2[0]][0].length;
15086
15271
  const raw = src.slice(0, lLength + match2.index + lastCharLength + rLength);
15087
15272
  if (Math.min(lLength, rLength) % 2) {
15088
- const text3 = raw.slice(1, -1);
15273
+ const text22 = raw.slice(1, -1);
15089
15274
  return {
15090
15275
  type: "em",
15091
15276
  raw,
15092
- text: text3,
15093
- tokens: this.lexer.inlineTokens(text3)
15277
+ text: text22,
15278
+ tokens: this.lexer.inlineTokens(text22)
15094
15279
  };
15095
15280
  }
15096
15281
  const text2 = raw.slice(2, -2);
@@ -15455,12 +15640,12 @@ ${currentText}` : currentText;
15455
15640
  }
15456
15641
  }
15457
15642
  }
15458
- while ((match2 = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
15459
- maskedSrc = maskedSrc.slice(0, match2.index) + "[" + "a".repeat(match2[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
15460
- }
15461
15643
  while ((match2 = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
15462
15644
  maskedSrc = maskedSrc.slice(0, match2.index) + "++" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
15463
15645
  }
15646
+ while ((match2 = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
15647
+ maskedSrc = maskedSrc.slice(0, match2.index) + "[" + "a".repeat(match2[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
15648
+ }
15464
15649
  let keepPrevChar = false;
15465
15650
  let prevChar = "";
15466
15651
  while (src) {
@@ -15592,9 +15777,9 @@ ${currentText}` : currentText;
15592
15777
  const langString = (lang || "").match(other.notSpaceStart)?.[0];
15593
15778
  const code = text2.replace(other.endingNewline, "") + "\n";
15594
15779
  if (!langString) {
15595
- return "<pre><code>" + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
15780
+ return "<pre><code>" + (escaped ? code : escape22(code, true)) + "</code></pre>\n";
15596
15781
  }
15597
- return '<pre><code class="language-' + escape2(langString) + '">' + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
15782
+ return '<pre><code class="language-' + escape22(langString) + '">' + (escaped ? code : escape22(code, true)) + "</code></pre>\n";
15598
15783
  }
15599
15784
  blockquote({ tokens }) {
15600
15785
  const body = this.parser.parse(tokens);
@@ -15616,8 +15801,8 @@ ${body}</blockquote>
15616
15801
  const ordered = token.ordered;
15617
15802
  const start3 = token.start;
15618
15803
  let body = "";
15619
- for (let j4 = 0; j4 < token.items.length; j4++) {
15620
- const item = token.items[j4];
15804
+ for (let j5 = 0; j5 < token.items.length; j5++) {
15805
+ const item = token.items[j5];
15621
15806
  body += this.listitem(item);
15622
15807
  }
15623
15808
  const type = ordered ? "ol" : "ul";
@@ -15632,7 +15817,7 @@ ${body}</blockquote>
15632
15817
  if (item.tokens[0]?.type === "paragraph") {
15633
15818
  item.tokens[0].text = checkbox + " " + item.tokens[0].text;
15634
15819
  if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === "text") {
15635
- item.tokens[0].tokens[0].text = checkbox + " " + escape2(item.tokens[0].tokens[0].text);
15820
+ item.tokens[0].tokens[0].text = checkbox + " " + escape22(item.tokens[0].tokens[0].text);
15636
15821
  item.tokens[0].tokens[0].escaped = true;
15637
15822
  }
15638
15823
  } else {
@@ -15661,13 +15846,13 @@ ${body}</blockquote>
15661
15846
  table(token) {
15662
15847
  let header = "";
15663
15848
  let cell = "";
15664
- for (let j4 = 0; j4 < token.header.length; j4++) {
15665
- cell += this.tablecell(token.header[j4]);
15849
+ for (let j5 = 0; j5 < token.header.length; j5++) {
15850
+ cell += this.tablecell(token.header[j5]);
15666
15851
  }
15667
15852
  header += this.tablerow({ text: cell });
15668
15853
  let body = "";
15669
- for (let j4 = 0; j4 < token.rows.length; j4++) {
15670
- const row = token.rows[j4];
15854
+ for (let j5 = 0; j5 < token.rows.length; j5++) {
15855
+ const row = token.rows[j5];
15671
15856
  cell = "";
15672
15857
  for (let k4 = 0; k4 < row.length; k4++) {
15673
15858
  cell += this.tablecell(row[k4]);
@@ -15700,7 +15885,7 @@ ${text2}</tr>
15700
15885
  return `<em>${this.parser.parseInline(tokens)}</em>`;
15701
15886
  }
15702
15887
  codespan({ text: text2 }) {
15703
- return `<code>${escape2(text2, true)}</code>`;
15888
+ return `<code>${escape22(text2, true)}</code>`;
15704
15889
  }
15705
15890
  br(token) {
15706
15891
  return "<br>";
@@ -15717,26 +15902,29 @@ ${text2}</tr>
15717
15902
  href = cleanHref;
15718
15903
  let out = '<a href="' + href + '"';
15719
15904
  if (title) {
15720
- out += ' title="' + escape2(title) + '"';
15905
+ out += ' title="' + escape22(title) + '"';
15721
15906
  }
15722
15907
  out += ">" + text2 + "</a>";
15723
15908
  return out;
15724
15909
  }
15725
- image({ href, title, text: text2 }) {
15910
+ image({ href, title, text: text2, tokens }) {
15911
+ if (tokens) {
15912
+ text2 = this.parser.parseInline(tokens, this.parser.textRenderer);
15913
+ }
15726
15914
  const cleanHref = cleanUrl(href);
15727
15915
  if (cleanHref === null) {
15728
- return escape2(text2);
15916
+ return escape22(text2);
15729
15917
  }
15730
15918
  href = cleanHref;
15731
15919
  let out = `<img src="${href}" alt="${text2}"`;
15732
15920
  if (title) {
15733
- out += ` title="${escape2(title)}"`;
15921
+ out += ` title="${escape22(title)}"`;
15734
15922
  }
15735
15923
  out += ">";
15736
15924
  return out;
15737
15925
  }
15738
15926
  text(token) {
15739
- return "tokens" in token && token.tokens ? this.parser.parseInline(token.tokens) : "escaped" in token && token.escaped ? token.text : escape2(token.text);
15927
+ return "tokens" in token && token.tokens ? this.parser.parseInline(token.tokens) : "escaped" in token && token.escaped ? token.text : escape22(token.text);
15740
15928
  }
15741
15929
  };
15742
15930
  var _TextRenderer = class {
@@ -15970,8 +16158,8 @@ ${text2}</tr>
15970
16158
  /**
15971
16159
  * Process HTML after marked is finished
15972
16160
  */
15973
- postprocess(html3) {
15974
- return html3;
16161
+ postprocess(html22) {
16162
+ return html22;
15975
16163
  }
15976
16164
  /**
15977
16165
  * Process all tokens before walk tokens
@@ -16207,7 +16395,7 @@ ${text2}</tr>
16207
16395
  return _Parser.parse(tokens, options2 ?? this.defaults);
16208
16396
  }
16209
16397
  parseMarkdown(blockType) {
16210
- const parse = (src, options2) => {
16398
+ const parse2 = (src, options2) => {
16211
16399
  const origOpt = { ...options2 };
16212
16400
  const opt = { ...this.defaults, ...origOpt };
16213
16401
  const throwError = this.onError(!!opt.silent, !!opt.async);
@@ -16227,7 +16415,7 @@ ${text2}</tr>
16227
16415
  const lexer2 = opt.hooks ? opt.hooks.provideLexer() : blockType ? _Lexer.lex : _Lexer.lexInline;
16228
16416
  const parser2 = opt.hooks ? opt.hooks.provideParser() : blockType ? _Parser.parse : _Parser.parseInline;
16229
16417
  if (opt.async) {
16230
- return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html3) => opt.hooks ? opt.hooks.postprocess(html3) : html3).catch(throwError);
16418
+ return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html22) => opt.hooks ? opt.hooks.postprocess(html22) : html22).catch(throwError);
16231
16419
  }
16232
16420
  try {
16233
16421
  if (opt.hooks) {
@@ -16240,22 +16428,22 @@ ${text2}</tr>
16240
16428
  if (opt.walkTokens) {
16241
16429
  this.walkTokens(tokens, opt.walkTokens);
16242
16430
  }
16243
- let html3 = parser2(tokens, opt);
16431
+ let html22 = parser2(tokens, opt);
16244
16432
  if (opt.hooks) {
16245
- html3 = opt.hooks.postprocess(html3);
16433
+ html22 = opt.hooks.postprocess(html22);
16246
16434
  }
16247
- return html3;
16435
+ return html22;
16248
16436
  } catch (e4) {
16249
16437
  return throwError(e4);
16250
16438
  }
16251
16439
  };
16252
- return parse;
16440
+ return parse2;
16253
16441
  }
16254
16442
  onError(silent, async) {
16255
16443
  return (e4) => {
16256
16444
  e4.message += "\nPlease report this to https://github.com/markedjs/marked.";
16257
16445
  if (silent) {
16258
- const msg = "<p>An error occurred:</p><pre>" + escape2(e4.message + "", true) + "</pre>";
16446
+ const msg = "<p>An error occurred:</p><pre>" + escape22(e4.message + "", true) + "</pre>";
16259
16447
  if (async) {
16260
16448
  return Promise.resolve(msg);
16261
16449
  }
@@ -16383,8 +16571,12 @@ ${text2}</tr>
16383
16571
  return;
16384
16572
  this.#setupSlimSelect();
16385
16573
  this.element.addEventListener("turbo:morph-element", (event) => {
16386
- if (event.target === this.element) {
16387
- requestAnimationFrame(() => this.#handleMorph());
16574
+ if (event.target === this.element && !this.morphing) {
16575
+ this.morphing = true;
16576
+ requestAnimationFrame(() => {
16577
+ this.#handleMorph();
16578
+ this.morphing = false;
16579
+ });
16388
16580
  }
16389
16581
  });
16390
16582
  }
@@ -16640,7 +16832,7 @@ ${text2}</tr>
16640
16832
  // src/js/controllers/select_navigator.js
16641
16833
  var select_navigator_default = class extends Controller {
16642
16834
  static targets = ["select"];
16643
- navigate(_3) {
16835
+ navigate(_4) {
16644
16836
  const url = this.selectTarget.value;
16645
16837
  const anchor = document.createElement("a");
16646
16838
  anchor.href = url;
@@ -16940,6 +17132,7 @@ ${text2}</tr>
16940
17132
  mov: "video/quicktime",
16941
17133
  dicom: "application/dicom",
16942
17134
  doc: "application/msword",
17135
+ msg: "application/vnd.ms-outlook",
16943
17136
  docm: "application/vnd.ms-word.document.macroenabled.12",
16944
17137
  docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
16945
17138
  dot: "application/msword",
@@ -17330,7 +17523,7 @@ ${text2}</tr>
17330
17523
  return "__private_" + id3++ + "_" + e4;
17331
17524
  }
17332
17525
  var packageJson2 = {
17333
- "version": "4.4.2"
17526
+ "version": "4.4.7"
17334
17527
  };
17335
17528
  var defaultUploadState = {
17336
17529
  totalProgress: 0,
@@ -17352,6 +17545,8 @@ ${text2}</tr>
17352
17545
  var _transformFile = /* @__PURE__ */ _classPrivateFieldLooseKey3("transformFile");
17353
17546
  var _startIfAutoProceed = /* @__PURE__ */ _classPrivateFieldLooseKey3("startIfAutoProceed");
17354
17547
  var _checkAndUpdateFileState = /* @__PURE__ */ _classPrivateFieldLooseKey3("checkAndUpdateFileState");
17548
+ var _getFilesToRetry = /* @__PURE__ */ _classPrivateFieldLooseKey3("getFilesToRetry");
17549
+ var _doRetryAll = /* @__PURE__ */ _classPrivateFieldLooseKey3("doRetryAll");
17355
17550
  var _handleUploadProgress = /* @__PURE__ */ _classPrivateFieldLooseKey3("handleUploadProgress");
17356
17551
  var _updateTotalProgress = /* @__PURE__ */ _classPrivateFieldLooseKey3("updateTotalProgress");
17357
17552
  var _updateTotalProgressThrottled = /* @__PURE__ */ _classPrivateFieldLooseKey3("updateTotalProgressThrottled");
@@ -17389,6 +17584,12 @@ ${text2}</tr>
17389
17584
  Object.defineProperty(this, _updateTotalProgress, {
17390
17585
  value: _updateTotalProgress2
17391
17586
  });
17587
+ Object.defineProperty(this, _doRetryAll, {
17588
+ value: _doRetryAll2
17589
+ });
17590
+ Object.defineProperty(this, _getFilesToRetry, {
17591
+ value: _getFilesToRetry2
17592
+ });
17392
17593
  Object.defineProperty(this, _checkAndUpdateFileState, {
17393
17594
  value: _checkAndUpdateFileState2
17394
17595
  });
@@ -17687,23 +17888,23 @@ ${text2}</tr>
17687
17888
  files: {}
17688
17889
  });
17689
17890
  }
17690
- addPreProcessor(fn2) {
17691
- _classPrivateFieldLooseBase3(this, _preProcessors)[_preProcessors].add(fn2);
17891
+ addPreProcessor(fn3) {
17892
+ _classPrivateFieldLooseBase3(this, _preProcessors)[_preProcessors].add(fn3);
17692
17893
  }
17693
- removePreProcessor(fn2) {
17694
- return _classPrivateFieldLooseBase3(this, _preProcessors)[_preProcessors].delete(fn2);
17894
+ removePreProcessor(fn3) {
17895
+ return _classPrivateFieldLooseBase3(this, _preProcessors)[_preProcessors].delete(fn3);
17695
17896
  }
17696
- addPostProcessor(fn2) {
17697
- _classPrivateFieldLooseBase3(this, _postProcessors)[_postProcessors].add(fn2);
17897
+ addPostProcessor(fn3) {
17898
+ _classPrivateFieldLooseBase3(this, _postProcessors)[_postProcessors].add(fn3);
17698
17899
  }
17699
- removePostProcessor(fn2) {
17700
- return _classPrivateFieldLooseBase3(this, _postProcessors)[_postProcessors].delete(fn2);
17900
+ removePostProcessor(fn3) {
17901
+ return _classPrivateFieldLooseBase3(this, _postProcessors)[_postProcessors].delete(fn3);
17701
17902
  }
17702
- addUploader(fn2) {
17703
- _classPrivateFieldLooseBase3(this, _uploaders)[_uploaders].add(fn2);
17903
+ addUploader(fn3) {
17904
+ _classPrivateFieldLooseBase3(this, _uploaders)[_uploaders].add(fn3);
17704
17905
  }
17705
- removeUploader(fn2) {
17706
- return _classPrivateFieldLooseBase3(this, _uploaders)[_uploaders].delete(fn2);
17906
+ removeUploader(fn3) {
17907
+ return _classPrivateFieldLooseBase3(this, _uploaders)[_uploaders].delete(fn3);
17707
17908
  }
17708
17909
  setMeta(data) {
17709
17910
  const updatedMeta = {
@@ -18067,37 +18268,10 @@ ${text2}</tr>
18067
18268
  });
18068
18269
  this.emit("resume-all");
18069
18270
  }
18070
- retryAll() {
18071
- const updatedFiles = {
18072
- ...this.getState().files
18073
- };
18074
- const filesToRetry = Object.keys(updatedFiles).filter((file) => {
18075
- return updatedFiles[file].error;
18076
- });
18077
- filesToRetry.forEach((file) => {
18078
- const updatedFile = {
18079
- ...updatedFiles[file],
18080
- isPaused: false,
18081
- error: null
18082
- };
18083
- updatedFiles[file] = updatedFile;
18084
- });
18085
- this.setState({
18086
- files: updatedFiles,
18087
- error: null
18088
- });
18089
- this.emit("retry-all", Object.values(updatedFiles));
18090
- if (filesToRetry.length === 0) {
18091
- return Promise.resolve({
18092
- successful: [],
18093
- failed: []
18094
- });
18095
- }
18096
- const uploadID = _classPrivateFieldLooseBase3(this, _createUpload)[_createUpload](filesToRetry, {
18097
- forceAllowNewUpload: true
18098
- // create new upload even if allowNewUpload: false
18099
- });
18100
- return _classPrivateFieldLooseBase3(this, _runUpload)[_runUpload](uploadID);
18271
+ async retryAll() {
18272
+ const result = await _classPrivateFieldLooseBase3(this, _doRetryAll)[_doRetryAll]();
18273
+ this.emit("complete", result);
18274
+ return result;
18101
18275
  }
18102
18276
  cancelAll() {
18103
18277
  this.emit("cancel-all");
@@ -18355,7 +18529,7 @@ Uppy plugins must have unique \`id\` options.`;
18355
18529
  /**
18356
18530
  * Start an upload for all the files that are not currently being uploaded.
18357
18531
  */
18358
- upload() {
18532
+ async upload() {
18359
18533
  var _classPrivateFieldLoo;
18360
18534
  if (!((_classPrivateFieldLoo = _classPrivateFieldLooseBase3(this, _plugins)[_plugins]["uploader"]) != null && _classPrivateFieldLoo.length)) {
18361
18535
  this.log("No uploader type plugins are used", "warning");
@@ -18363,6 +18537,19 @@ Uppy plugins must have unique \`id\` options.`;
18363
18537
  let {
18364
18538
  files
18365
18539
  } = this.getState();
18540
+ const filesToRetry = _classPrivateFieldLooseBase3(this, _getFilesToRetry)[_getFilesToRetry]();
18541
+ if (filesToRetry.length > 0) {
18542
+ const retryResult = await _classPrivateFieldLooseBase3(this, _doRetryAll)[_doRetryAll]();
18543
+ const hasNewFiles = this.getFiles().filter((file) => file.progress.uploadStarted == null).length > 0;
18544
+ if (!hasNewFiles) {
18545
+ this.emit("complete", retryResult);
18546
+ return retryResult;
18547
+ }
18548
+ ;
18549
+ ({
18550
+ files
18551
+ } = this.getState());
18552
+ }
18366
18553
  const onBeforeUploadResult = this.opts.onBeforeUpload(files);
18367
18554
  if (onBeforeUploadResult === false) {
18368
18555
  return Promise.reject(new Error("Not starting the upload because onBeforeUpload returned false"));
@@ -18382,7 +18569,7 @@ Uppy plugins must have unique \`id\` options.`;
18382
18569
  }
18383
18570
  }).catch((err) => {
18384
18571
  throw err;
18385
- }).then(() => {
18572
+ }).then(async () => {
18386
18573
  const {
18387
18574
  currentUploads
18388
18575
  } = this.getState();
@@ -18395,7 +18582,9 @@ Uppy plugins must have unique \`id\` options.`;
18395
18582
  }
18396
18583
  });
18397
18584
  const uploadID = _classPrivateFieldLooseBase3(this, _createUpload)[_createUpload](waitingFileIDs);
18398
- return _classPrivateFieldLooseBase3(this, _runUpload)[_runUpload](uploadID);
18585
+ const result = await _classPrivateFieldLooseBase3(this, _runUpload)[_runUpload](uploadID);
18586
+ this.emit("complete", result);
18587
+ return result;
18399
18588
  }).catch((err) => {
18400
18589
  this.emit("error", err);
18401
18590
  this.log(err, "error");
@@ -18447,6 +18636,11 @@ Uppy plugins must have unique \`id\` options.`;
18447
18636
  this.emit("restriction-failed", file, error2);
18448
18637
  return false;
18449
18638
  }
18639
+ if (missingFields.length === 0 && file.missingRequiredMetaFields) {
18640
+ this.setFileState(file.id, {
18641
+ missingRequiredMetaFields: []
18642
+ });
18643
+ }
18450
18644
  return true;
18451
18645
  }
18452
18646
  function _checkRequiredMetaFields2(files) {
@@ -18585,6 +18779,43 @@ Uppy plugins must have unique \`id\` options.`;
18585
18779
  errors
18586
18780
  };
18587
18781
  }
18782
+ function _getFilesToRetry2() {
18783
+ const {
18784
+ files
18785
+ } = this.getState();
18786
+ return Object.keys(files).filter((file) => {
18787
+ return files[file].error;
18788
+ });
18789
+ }
18790
+ async function _doRetryAll2() {
18791
+ const filesToRetry = _classPrivateFieldLooseBase3(this, _getFilesToRetry)[_getFilesToRetry]();
18792
+ const updatedFiles = {
18793
+ ...this.getState().files
18794
+ };
18795
+ filesToRetry.forEach((fileID) => {
18796
+ updatedFiles[fileID] = {
18797
+ ...updatedFiles[fileID],
18798
+ isPaused: false,
18799
+ error: null
18800
+ };
18801
+ });
18802
+ this.setState({
18803
+ files: updatedFiles,
18804
+ error: null
18805
+ });
18806
+ this.emit("retry-all", this.getFilesByIds(filesToRetry));
18807
+ if (filesToRetry.length === 0) {
18808
+ return {
18809
+ successful: [],
18810
+ failed: []
18811
+ };
18812
+ }
18813
+ const uploadID = _classPrivateFieldLooseBase3(this, _createUpload)[_createUpload](filesToRetry, {
18814
+ forceAllowNewUpload: true
18815
+ // create new upload even if allowNewUpload: false
18816
+ });
18817
+ return _classPrivateFieldLooseBase3(this, _runUpload)[_runUpload](uploadID);
18818
+ }
18588
18819
  function _updateTotalProgress2() {
18589
18820
  var _totalProgressPercent, _totalProgressPercent2;
18590
18821
  const totalProgress = _classPrivateFieldLooseBase3(this, _calculateTotalProgress)[_calculateTotalProgress]();
@@ -18862,7 +19093,7 @@ Uppy plugins must have unique \`id\` options.`;
18862
19093
  if (!currentUpload) {
18863
19094
  break;
18864
19095
  }
18865
- const fn2 = steps[step];
19096
+ const fn3 = steps[step];
18866
19097
  this.setState({
18867
19098
  currentUploads: {
18868
19099
  ...this.getState().currentUploads,
@@ -18875,7 +19106,7 @@ Uppy plugins must have unique \`id\` options.`;
18875
19106
  const {
18876
19107
  fileIDs
18877
19108
  } = currentUpload;
18878
- await fn2(fileIDs, uploadID);
19109
+ await fn3(fileIDs, uploadID);
18879
19110
  currentUpload = getCurrentUpload();
18880
19111
  }
18881
19112
  } catch (err) {
@@ -18902,11 +19133,15 @@ Uppy plugins must have unique \`id\` options.`;
18902
19133
  let result;
18903
19134
  if (currentUpload) {
18904
19135
  result = currentUpload.result;
18905
- this.emit("complete", result);
18906
19136
  _classPrivateFieldLooseBase3(this, _removeUpload)[_removeUpload](uploadID);
18907
19137
  }
18908
19138
  if (result == null) {
18909
19139
  this.log(`Not setting result for an upload that has been removed: ${uploadID}`);
19140
+ result = {
19141
+ successful: [],
19142
+ failed: [],
19143
+ uploadID
19144
+ };
18910
19145
  }
18911
19146
  return result;
18912
19147
  }
@@ -18916,8 +19151,8 @@ Uppy plugins must have unique \`id\` options.`;
18916
19151
  // node_modules/preact/dist/preact.module.js
18917
19152
  var n;
18918
19153
  var l;
18919
- var t;
18920
19154
  var u;
19155
+ var t;
18921
19156
  var i;
18922
19157
  var r;
18923
19158
  var o;
@@ -18930,26 +19165,26 @@ Uppy plugins must have unique \`id\` options.`;
18930
19165
  var p = {};
18931
19166
  var v = [];
18932
19167
  var y = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
18933
- var d = Array.isArray;
18934
- function w(n3, l4) {
18935
- for (var t4 in l4)
18936
- n3[t4] = l4[t4];
19168
+ var w = Array.isArray;
19169
+ function d(n3, l4) {
19170
+ for (var u4 in l4)
19171
+ n3[u4] = l4[u4];
18937
19172
  return n3;
18938
19173
  }
18939
19174
  function g(n3) {
18940
19175
  n3 && n3.parentNode && n3.parentNode.removeChild(n3);
18941
19176
  }
18942
- function _(l4, t4, u4) {
19177
+ function _(l4, u4, t4) {
18943
19178
  var i4, r4, o4, e4 = {};
18944
- for (o4 in t4)
18945
- "key" == o4 ? i4 = t4[o4] : "ref" == o4 ? r4 = t4[o4] : e4[o4] = t4[o4];
18946
- if (arguments.length > 2 && (e4.children = arguments.length > 3 ? n.call(arguments, 2) : u4), "function" == typeof l4 && null != l4.defaultProps)
19179
+ for (o4 in u4)
19180
+ "key" == o4 ? i4 = u4[o4] : "ref" == o4 ? r4 = u4[o4] : e4[o4] = u4[o4];
19181
+ if (arguments.length > 2 && (e4.children = arguments.length > 3 ? n.call(arguments, 2) : t4), "function" == typeof l4 && null != l4.defaultProps)
18947
19182
  for (o4 in l4.defaultProps)
18948
19183
  void 0 === e4[o4] && (e4[o4] = l4.defaultProps[o4]);
18949
19184
  return m(l4, e4, i4, r4, null);
18950
19185
  }
18951
- function m(n3, u4, i4, r4, o4) {
18952
- var e4 = { type: n3, props: u4, key: i4, ref: r4, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: null == o4 ? ++t : o4, __i: -1, __u: 0 };
19186
+ function m(n3, t4, i4, r4, o4) {
19187
+ var e4 = { type: n3, props: t4, key: i4, ref: r4, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: null == o4 ? ++u : o4, __i: -1, __u: 0 };
18953
19188
  return null == o4 && null != l.vnode && l.vnode(e4), e4;
18954
19189
  }
18955
19190
  function b() {
@@ -18964,292 +19199,627 @@ Uppy plugins must have unique \`id\` options.`;
18964
19199
  function S(n3, l4) {
18965
19200
  if (null == l4)
18966
19201
  return n3.__ ? S(n3.__, n3.__i + 1) : null;
18967
- for (var t4; l4 < n3.__k.length; l4++)
18968
- if (null != (t4 = n3.__k[l4]) && null != t4.__e)
18969
- return t4.__e;
19202
+ for (var u4; l4 < n3.__k.length; l4++)
19203
+ if (null != (u4 = n3.__k[l4]) && null != u4.__e)
19204
+ return u4.__e;
18970
19205
  return "function" == typeof n3.type ? S(n3) : null;
18971
19206
  }
18972
19207
  function C(n3) {
18973
- var l4, t4;
19208
+ var l4, u4;
18974
19209
  if (null != (n3 = n3.__) && null != n3.__c) {
18975
19210
  for (n3.__e = n3.__c.base = null, l4 = 0; l4 < n3.__k.length; l4++)
18976
- if (null != (t4 = n3.__k[l4]) && null != t4.__e) {
18977
- n3.__e = n3.__c.base = t4.__e;
19211
+ if (null != (u4 = n3.__k[l4]) && null != u4.__e) {
19212
+ n3.__e = n3.__c.base = u4.__e;
18978
19213
  break;
18979
19214
  }
18980
19215
  return C(n3);
18981
19216
  }
18982
19217
  }
18983
19218
  function M(n3) {
18984
- (!n3.__d && (n3.__d = true) && i.push(n3) && !$.__r++ || r !== l.debounceRendering) && ((r = l.debounceRendering) || o)($);
19219
+ (!n3.__d && (n3.__d = true) && i.push(n3) && !$.__r++ || r != l.debounceRendering) && ((r = l.debounceRendering) || o)($);
18985
19220
  }
18986
19221
  function $() {
18987
- for (var n3, t4, u4, r4, o4, f4, c4, s4 = 1; i.length; )
18988
- i.length > s4 && i.sort(e), n3 = i.shift(), s4 = i.length, n3.__d && (u4 = void 0, o4 = (r4 = (t4 = n3).__v).__e, f4 = [], c4 = [], t4.__P && ((u4 = w({}, r4)).__v = r4.__v + 1, l.vnode && l.vnode(u4), O(t4.__P, u4, r4, t4.__n, t4.__P.namespaceURI, 32 & r4.__u ? [o4] : null, f4, null == o4 ? S(r4) : o4, !!(32 & r4.__u), c4), u4.__v = r4.__v, u4.__.__k[u4.__i] = u4, z(f4, u4, c4), u4.__e != o4 && C(u4)));
19222
+ for (var n3, u4, t4, r4, o4, f4, c4, s4 = 1; i.length; )
19223
+ i.length > s4 && i.sort(e), n3 = i.shift(), s4 = i.length, n3.__d && (t4 = void 0, o4 = (r4 = (u4 = n3).__v).__e, f4 = [], c4 = [], u4.__P && ((t4 = d({}, r4)).__v = r4.__v + 1, l.vnode && l.vnode(t4), O(u4.__P, t4, r4, u4.__n, u4.__P.namespaceURI, 32 & r4.__u ? [o4] : null, f4, null == o4 ? S(r4) : o4, !!(32 & r4.__u), c4), t4.__v = r4.__v, t4.__.__k[t4.__i] = t4, z(f4, t4, c4), t4.__e != o4 && C(t4)));
18989
19224
  $.__r = 0;
18990
19225
  }
18991
- function I(n3, l4, t4, u4, i4, r4, o4, e4, f4, c4, s4) {
18992
- var a4, h4, y4, d4, w4, g3, _3 = u4 && u4.__k || v, m4 = l4.length;
18993
- for (f4 = P(t4, l4, _3, f4, m4), a4 = 0; a4 < m4; a4++)
18994
- null != (y4 = t4.__k[a4]) && (h4 = -1 === y4.__i ? p : _3[y4.__i] || p, y4.__i = a4, g3 = O(n3, y4, h4, i4, r4, o4, e4, f4, c4, s4), d4 = y4.__e, y4.ref && h4.ref != y4.ref && (h4.ref && q(h4.ref, null, y4), s4.push(y4.ref, y4.__c || d4, y4)), null == w4 && null != d4 && (w4 = d4), 4 & y4.__u || h4.__k === y4.__k ? f4 = A(y4, f4, n3) : "function" == typeof y4.type && void 0 !== g3 ? f4 = g3 : d4 && (f4 = d4.nextSibling), y4.__u &= -7);
18995
- return t4.__e = w4, f4;
19226
+ function I(n3, l4, u4, t4, i4, r4, o4, e4, f4, c4, s4) {
19227
+ var a4, h4, y4, w4, d4, g5, _4 = t4 && t4.__k || v, m4 = l4.length;
19228
+ for (f4 = P(u4, l4, _4, f4, m4), a4 = 0; a4 < m4; a4++)
19229
+ null != (y4 = u4.__k[a4]) && (h4 = -1 == y4.__i ? p : _4[y4.__i] || p, y4.__i = a4, g5 = O(n3, y4, h4, i4, r4, o4, e4, f4, c4, s4), w4 = y4.__e, y4.ref && h4.ref != y4.ref && (h4.ref && q(h4.ref, null, y4), s4.push(y4.ref, y4.__c || w4, y4)), null == d4 && null != w4 && (d4 = w4), 4 & y4.__u || h4.__k === y4.__k ? f4 = A(y4, f4, n3) : "function" == typeof y4.type && void 0 !== g5 ? f4 = g5 : w4 && (f4 = w4.nextSibling), y4.__u &= -7);
19230
+ return u4.__e = d4, f4;
18996
19231
  }
18997
- function P(n3, l4, t4, u4, i4) {
18998
- var r4, o4, e4, f4, c4, s4 = t4.length, a4 = s4, h4 = 0;
19232
+ function P(n3, l4, u4, t4, i4) {
19233
+ var r4, o4, e4, f4, c4, s4 = u4.length, a4 = s4, h4 = 0;
18999
19234
  for (n3.__k = new Array(i4), r4 = 0; r4 < i4; r4++)
19000
- null != (o4 = l4[r4]) && "boolean" != typeof o4 && "function" != typeof o4 ? (f4 = r4 + h4, (o4 = n3.__k[r4] = "string" == typeof o4 || "number" == typeof o4 || "bigint" == typeof o4 || o4.constructor == String ? m(null, o4, null, null, null) : d(o4) ? m(k, { children: o4 }, null, null, null) : void 0 === o4.constructor && o4.__b > 0 ? m(o4.type, o4.props, o4.key, o4.ref ? o4.ref : null, o4.__v) : o4).__ = n3, o4.__b = n3.__b + 1, e4 = null, -1 !== (c4 = o4.__i = L(o4, t4, f4, a4)) && (a4--, (e4 = t4[c4]) && (e4.__u |= 2)), null == e4 || null === e4.__v ? (-1 == c4 && (i4 > s4 ? h4-- : i4 < s4 && h4++), "function" != typeof o4.type && (o4.__u |= 4)) : c4 != f4 && (c4 == f4 - 1 ? h4-- : c4 == f4 + 1 ? h4++ : (c4 > f4 ? h4-- : h4++, o4.__u |= 4))) : n3.__k[r4] = null;
19235
+ null != (o4 = l4[r4]) && "boolean" != typeof o4 && "function" != typeof o4 ? (f4 = r4 + h4, (o4 = n3.__k[r4] = "string" == typeof o4 || "number" == typeof o4 || "bigint" == typeof o4 || o4.constructor == String ? m(null, o4, null, null, null) : w(o4) ? m(k, { children: o4 }, null, null, null) : null == o4.constructor && o4.__b > 0 ? m(o4.type, o4.props, o4.key, o4.ref ? o4.ref : null, o4.__v) : o4).__ = n3, o4.__b = n3.__b + 1, e4 = null, -1 != (c4 = o4.__i = L(o4, u4, f4, a4)) && (a4--, (e4 = u4[c4]) && (e4.__u |= 2)), null == e4 || null == e4.__v ? (-1 == c4 && (i4 > s4 ? h4-- : i4 < s4 && h4++), "function" != typeof o4.type && (o4.__u |= 4)) : c4 != f4 && (c4 == f4 - 1 ? h4-- : c4 == f4 + 1 ? h4++ : (c4 > f4 ? h4-- : h4++, o4.__u |= 4))) : n3.__k[r4] = null;
19001
19236
  if (a4)
19002
19237
  for (r4 = 0; r4 < s4; r4++)
19003
- null != (e4 = t4[r4]) && 0 == (2 & e4.__u) && (e4.__e == u4 && (u4 = S(e4)), B(e4, e4));
19004
- return u4;
19238
+ null != (e4 = u4[r4]) && 0 == (2 & e4.__u) && (e4.__e == t4 && (t4 = S(e4)), B(e4, e4));
19239
+ return t4;
19005
19240
  }
19006
- function A(n3, l4, t4) {
19007
- var u4, i4;
19241
+ function A(n3, l4, u4) {
19242
+ var t4, i4;
19008
19243
  if ("function" == typeof n3.type) {
19009
- for (u4 = n3.__k, i4 = 0; u4 && i4 < u4.length; i4++)
19010
- u4[i4] && (u4[i4].__ = n3, l4 = A(u4[i4], l4, t4));
19244
+ for (t4 = n3.__k, i4 = 0; t4 && i4 < t4.length; i4++)
19245
+ t4[i4] && (t4[i4].__ = n3, l4 = A(t4[i4], l4, u4));
19011
19246
  return l4;
19012
19247
  }
19013
- n3.__e != l4 && (l4 && n3.type && !t4.contains(l4) && (l4 = S(n3)), t4.insertBefore(n3.__e, l4 || null), l4 = n3.__e);
19248
+ n3.__e != l4 && (l4 && n3.type && !u4.contains(l4) && (l4 = S(n3)), u4.insertBefore(n3.__e, l4 || null), l4 = n3.__e);
19014
19249
  do {
19015
19250
  l4 = l4 && l4.nextSibling;
19016
19251
  } while (null != l4 && 8 == l4.nodeType);
19017
19252
  return l4;
19018
19253
  }
19019
19254
  function H(n3, l4) {
19020
- return l4 = l4 || [], null == n3 || "boolean" == typeof n3 || (d(n3) ? n3.some(function(n4) {
19255
+ return l4 = l4 || [], null == n3 || "boolean" == typeof n3 || (w(n3) ? n3.some(function(n4) {
19021
19256
  H(n4, l4);
19022
19257
  }) : l4.push(n3)), l4;
19023
19258
  }
19024
- function L(n3, l4, t4, u4) {
19025
- var i4, r4, o4 = n3.key, e4 = n3.type, f4 = l4[t4];
19026
- if (null === f4 && null == n3.key || f4 && o4 == f4.key && e4 === f4.type && 0 == (2 & f4.__u))
19027
- return t4;
19028
- if (u4 > (null != f4 && 0 == (2 & f4.__u) ? 1 : 0))
19029
- for (i4 = t4 - 1, r4 = t4 + 1; i4 >= 0 || r4 < l4.length; ) {
19259
+ function L(n3, l4, u4, t4) {
19260
+ var i4, r4, o4 = n3.key, e4 = n3.type, f4 = l4[u4];
19261
+ if (null === f4 && null == n3.key || f4 && o4 == f4.key && e4 == f4.type && 0 == (2 & f4.__u))
19262
+ return u4;
19263
+ if (t4 > (null != f4 && 0 == (2 & f4.__u) ? 1 : 0))
19264
+ for (i4 = u4 - 1, r4 = u4 + 1; i4 >= 0 || r4 < l4.length; ) {
19030
19265
  if (i4 >= 0) {
19031
- if ((f4 = l4[i4]) && 0 == (2 & f4.__u) && o4 == f4.key && e4 === f4.type)
19266
+ if ((f4 = l4[i4]) && 0 == (2 & f4.__u) && o4 == f4.key && e4 == f4.type)
19032
19267
  return i4;
19033
19268
  i4--;
19034
19269
  }
19035
19270
  if (r4 < l4.length) {
19036
- if ((f4 = l4[r4]) && 0 == (2 & f4.__u) && o4 == f4.key && e4 === f4.type)
19271
+ if ((f4 = l4[r4]) && 0 == (2 & f4.__u) && o4 == f4.key && e4 == f4.type)
19037
19272
  return r4;
19038
19273
  r4++;
19039
19274
  }
19040
19275
  }
19041
19276
  return -1;
19042
19277
  }
19043
- function T(n3, l4, t4) {
19044
- "-" == l4[0] ? n3.setProperty(l4, null == t4 ? "" : t4) : n3[l4] = null == t4 ? "" : "number" != typeof t4 || y.test(l4) ? t4 : t4 + "px";
19278
+ function T(n3, l4, u4) {
19279
+ "-" == l4[0] ? n3.setProperty(l4, null == u4 ? "" : u4) : n3[l4] = null == u4 ? "" : "number" != typeof u4 || y.test(l4) ? u4 : u4 + "px";
19045
19280
  }
19046
- function j(n3, l4, t4, u4, i4) {
19047
- var r4;
19281
+ function j(n3, l4, u4, t4, i4) {
19282
+ var r4, o4;
19048
19283
  n:
19049
19284
  if ("style" == l4)
19050
- if ("string" == typeof t4)
19051
- n3.style.cssText = t4;
19285
+ if ("string" == typeof u4)
19286
+ n3.style.cssText = u4;
19052
19287
  else {
19053
- if ("string" == typeof u4 && (n3.style.cssText = u4 = ""), u4)
19054
- for (l4 in u4)
19055
- t4 && l4 in t4 || T(n3.style, l4, "");
19056
- if (t4)
19288
+ if ("string" == typeof t4 && (n3.style.cssText = t4 = ""), t4)
19057
19289
  for (l4 in t4)
19058
- u4 && t4[l4] === u4[l4] || T(n3.style, l4, t4[l4]);
19290
+ u4 && l4 in u4 || T(n3.style, l4, "");
19291
+ if (u4)
19292
+ for (l4 in u4)
19293
+ t4 && u4[l4] == t4[l4] || T(n3.style, l4, u4[l4]);
19059
19294
  }
19060
19295
  else if ("o" == l4[0] && "n" == l4[1])
19061
- r4 = l4 != (l4 = l4.replace(f, "$1")), l4 = l4.toLowerCase() in n3 || "onFocusOut" == l4 || "onFocusIn" == l4 ? l4.toLowerCase().slice(2) : l4.slice(2), n3.l || (n3.l = {}), n3.l[l4 + r4] = t4, t4 ? u4 ? t4.t = u4.t : (t4.t = c, n3.addEventListener(l4, r4 ? a : s, r4)) : n3.removeEventListener(l4, r4 ? a : s, r4);
19296
+ r4 = l4 != (l4 = l4.replace(f, "$1")), o4 = l4.toLowerCase(), l4 = o4 in n3 || "onFocusOut" == l4 || "onFocusIn" == l4 ? o4.slice(2) : l4.slice(2), n3.l || (n3.l = {}), n3.l[l4 + r4] = u4, u4 ? t4 ? u4.u = t4.u : (u4.u = c, n3.addEventListener(l4, r4 ? a : s, r4)) : n3.removeEventListener(l4, r4 ? a : s, r4);
19062
19297
  else {
19063
19298
  if ("http://www.w3.org/2000/svg" == i4)
19064
19299
  l4 = l4.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
19065
19300
  else if ("width" != l4 && "height" != l4 && "href" != l4 && "list" != l4 && "form" != l4 && "tabIndex" != l4 && "download" != l4 && "rowSpan" != l4 && "colSpan" != l4 && "role" != l4 && "popover" != l4 && l4 in n3)
19066
19301
  try {
19067
- n3[l4] = null == t4 ? "" : t4;
19302
+ n3[l4] = null == u4 ? "" : u4;
19068
19303
  break n;
19069
19304
  } catch (n4) {
19070
19305
  }
19071
- "function" == typeof t4 || (null == t4 || false === t4 && "-" != l4[4] ? n3.removeAttribute(l4) : n3.setAttribute(l4, "popover" == l4 && 1 == t4 ? "" : t4));
19306
+ "function" == typeof u4 || (null == u4 || false === u4 && "-" != l4[4] ? n3.removeAttribute(l4) : n3.setAttribute(l4, "popover" == l4 && 1 == u4 ? "" : u4));
19072
19307
  }
19073
19308
  }
19074
19309
  function F(n3) {
19075
- return function(t4) {
19310
+ return function(u4) {
19076
19311
  if (this.l) {
19077
- var u4 = this.l[t4.type + n3];
19078
- if (null == t4.u)
19079
- t4.u = c++;
19080
- else if (t4.u < u4.t)
19312
+ var t4 = this.l[u4.type + n3];
19313
+ if (null == u4.t)
19314
+ u4.t = c++;
19315
+ else if (u4.t < t4.u)
19081
19316
  return;
19082
- return u4(l.event ? l.event(t4) : t4);
19317
+ return t4(l.event ? l.event(u4) : u4);
19083
19318
  }
19084
19319
  };
19085
19320
  }
19086
- function O(n3, t4, u4, i4, r4, o4, e4, f4, c4, s4) {
19087
- var a4, h4, p4, v4, y4, _3, m4, b3, S3, C4, M3, $3, P3, A4, H3, L3, T4, j4 = t4.type;
19088
- if (void 0 !== t4.constructor)
19321
+ function O(n3, u4, t4, i4, r4, o4, e4, f4, c4, s4) {
19322
+ var a4, h4, p4, v4, y4, _4, m4, b3, S3, C4, M3, $3, P5, A5, H4, L3, T5, j5 = u4.type;
19323
+ if (null != u4.constructor)
19089
19324
  return null;
19090
- 128 & u4.__u && (c4 = !!(32 & u4.__u), o4 = [f4 = t4.__e = u4.__e]), (a4 = l.__b) && a4(t4);
19325
+ 128 & t4.__u && (c4 = !!(32 & t4.__u), o4 = [f4 = u4.__e = t4.__e]), (a4 = l.__b) && a4(u4);
19091
19326
  n:
19092
- if ("function" == typeof j4)
19327
+ if ("function" == typeof j5)
19093
19328
  try {
19094
- if (b3 = t4.props, S3 = "prototype" in j4 && j4.prototype.render, C4 = (a4 = j4.contextType) && i4[a4.__c], M3 = a4 ? C4 ? C4.props.value : a4.__ : i4, u4.__c ? m4 = (h4 = t4.__c = u4.__c).__ = h4.__E : (S3 ? t4.__c = h4 = new j4(b3, M3) : (t4.__c = h4 = new x(b3, M3), h4.constructor = j4, h4.render = D), C4 && C4.sub(h4), h4.props = b3, h4.state || (h4.state = {}), h4.context = M3, h4.__n = i4, p4 = h4.__d = true, h4.__h = [], h4._sb = []), S3 && null == h4.__s && (h4.__s = h4.state), S3 && null != j4.getDerivedStateFromProps && (h4.__s == h4.state && (h4.__s = w({}, h4.__s)), w(h4.__s, j4.getDerivedStateFromProps(b3, h4.__s))), v4 = h4.props, y4 = h4.state, h4.__v = t4, p4)
19095
- S3 && null == j4.getDerivedStateFromProps && null != h4.componentWillMount && h4.componentWillMount(), S3 && null != h4.componentDidMount && h4.__h.push(h4.componentDidMount);
19329
+ if (b3 = u4.props, S3 = "prototype" in j5 && j5.prototype.render, C4 = (a4 = j5.contextType) && i4[a4.__c], M3 = a4 ? C4 ? C4.props.value : a4.__ : i4, t4.__c ? m4 = (h4 = u4.__c = t4.__c).__ = h4.__E : (S3 ? u4.__c = h4 = new j5(b3, M3) : (u4.__c = h4 = new x(b3, M3), h4.constructor = j5, h4.render = D), C4 && C4.sub(h4), h4.props = b3, h4.state || (h4.state = {}), h4.context = M3, h4.__n = i4, p4 = h4.__d = true, h4.__h = [], h4._sb = []), S3 && null == h4.__s && (h4.__s = h4.state), S3 && null != j5.getDerivedStateFromProps && (h4.__s == h4.state && (h4.__s = d({}, h4.__s)), d(h4.__s, j5.getDerivedStateFromProps(b3, h4.__s))), v4 = h4.props, y4 = h4.state, h4.__v = u4, p4)
19330
+ S3 && null == j5.getDerivedStateFromProps && null != h4.componentWillMount && h4.componentWillMount(), S3 && null != h4.componentDidMount && h4.__h.push(h4.componentDidMount);
19096
19331
  else {
19097
- if (S3 && null == j4.getDerivedStateFromProps && b3 !== v4 && null != h4.componentWillReceiveProps && h4.componentWillReceiveProps(b3, M3), !h4.__e && (null != h4.shouldComponentUpdate && false === h4.shouldComponentUpdate(b3, h4.__s, M3) || t4.__v == u4.__v)) {
19098
- for (t4.__v != u4.__v && (h4.props = b3, h4.state = h4.__s, h4.__d = false), t4.__e = u4.__e, t4.__k = u4.__k, t4.__k.some(function(n4) {
19099
- n4 && (n4.__ = t4);
19332
+ if (S3 && null == j5.getDerivedStateFromProps && b3 !== v4 && null != h4.componentWillReceiveProps && h4.componentWillReceiveProps(b3, M3), !h4.__e && null != h4.shouldComponentUpdate && false === h4.shouldComponentUpdate(b3, h4.__s, M3) || u4.__v == t4.__v) {
19333
+ for (u4.__v != t4.__v && (h4.props = b3, h4.state = h4.__s, h4.__d = false), u4.__e = t4.__e, u4.__k = t4.__k, u4.__k.some(function(n4) {
19334
+ n4 && (n4.__ = u4);
19100
19335
  }), $3 = 0; $3 < h4._sb.length; $3++)
19101
19336
  h4.__h.push(h4._sb[$3]);
19102
19337
  h4._sb = [], h4.__h.length && e4.push(h4);
19103
19338
  break n;
19104
19339
  }
19105
19340
  null != h4.componentWillUpdate && h4.componentWillUpdate(b3, h4.__s, M3), S3 && null != h4.componentDidUpdate && h4.__h.push(function() {
19106
- h4.componentDidUpdate(v4, y4, _3);
19341
+ h4.componentDidUpdate(v4, y4, _4);
19107
19342
  });
19108
19343
  }
19109
- if (h4.context = M3, h4.props = b3, h4.__P = n3, h4.__e = false, P3 = l.__r, A4 = 0, S3) {
19110
- for (h4.state = h4.__s, h4.__d = false, P3 && P3(t4), a4 = h4.render(h4.props, h4.state, h4.context), H3 = 0; H3 < h4._sb.length; H3++)
19111
- h4.__h.push(h4._sb[H3]);
19344
+ if (h4.context = M3, h4.props = b3, h4.__P = n3, h4.__e = false, P5 = l.__r, A5 = 0, S3) {
19345
+ for (h4.state = h4.__s, h4.__d = false, P5 && P5(u4), a4 = h4.render(h4.props, h4.state, h4.context), H4 = 0; H4 < h4._sb.length; H4++)
19346
+ h4.__h.push(h4._sb[H4]);
19112
19347
  h4._sb = [];
19113
19348
  } else
19114
19349
  do {
19115
- h4.__d = false, P3 && P3(t4), a4 = h4.render(h4.props, h4.state, h4.context), h4.state = h4.__s;
19116
- } while (h4.__d && ++A4 < 25);
19117
- h4.state = h4.__s, null != h4.getChildContext && (i4 = w(w({}, i4), h4.getChildContext())), S3 && !p4 && null != h4.getSnapshotBeforeUpdate && (_3 = h4.getSnapshotBeforeUpdate(v4, y4)), L3 = a4, null != a4 && a4.type === k && null == a4.key && (L3 = N(a4.props.children)), f4 = I(n3, d(L3) ? L3 : [L3], t4, u4, i4, r4, o4, e4, f4, c4, s4), h4.base = t4.__e, t4.__u &= -161, h4.__h.length && e4.push(h4), m4 && (h4.__E = h4.__ = null);
19350
+ h4.__d = false, P5 && P5(u4), a4 = h4.render(h4.props, h4.state, h4.context), h4.state = h4.__s;
19351
+ } while (h4.__d && ++A5 < 25);
19352
+ h4.state = h4.__s, null != h4.getChildContext && (i4 = d(d({}, i4), h4.getChildContext())), S3 && !p4 && null != h4.getSnapshotBeforeUpdate && (_4 = h4.getSnapshotBeforeUpdate(v4, y4)), L3 = a4, null != a4 && a4.type === k && null == a4.key && (L3 = N(a4.props.children)), f4 = I(n3, w(L3) ? L3 : [L3], u4, t4, i4, r4, o4, e4, f4, c4, s4), h4.base = u4.__e, u4.__u &= -161, h4.__h.length && e4.push(h4), m4 && (h4.__E = h4.__ = null);
19118
19353
  } catch (n4) {
19119
- if (t4.__v = null, c4 || null != o4)
19354
+ if (u4.__v = null, c4 || null != o4)
19120
19355
  if (n4.then) {
19121
- for (t4.__u |= c4 ? 160 : 128; f4 && 8 == f4.nodeType && f4.nextSibling; )
19356
+ for (u4.__u |= c4 ? 160 : 128; f4 && 8 == f4.nodeType && f4.nextSibling; )
19122
19357
  f4 = f4.nextSibling;
19123
- o4[o4.indexOf(f4)] = null, t4.__e = f4;
19358
+ o4[o4.indexOf(f4)] = null, u4.__e = f4;
19124
19359
  } else
19125
- for (T4 = o4.length; T4--; )
19126
- g(o4[T4]);
19360
+ for (T5 = o4.length; T5--; )
19361
+ g(o4[T5]);
19127
19362
  else
19128
- t4.__e = u4.__e, t4.__k = u4.__k;
19129
- l.__e(n4, t4, u4);
19363
+ u4.__e = t4.__e, u4.__k = t4.__k;
19364
+ l.__e(n4, u4, t4);
19130
19365
  }
19131
19366
  else
19132
- null == o4 && t4.__v == u4.__v ? (t4.__k = u4.__k, t4.__e = u4.__e) : f4 = t4.__e = V(u4.__e, t4, u4, i4, r4, o4, e4, c4, s4);
19133
- return (a4 = l.diffed) && a4(t4), 128 & t4.__u ? void 0 : f4;
19367
+ null == o4 && u4.__v == t4.__v ? (u4.__k = t4.__k, u4.__e = t4.__e) : f4 = u4.__e = V(t4.__e, u4, t4, i4, r4, o4, e4, c4, s4);
19368
+ return (a4 = l.diffed) && a4(u4), 128 & u4.__u ? void 0 : f4;
19134
19369
  }
19135
- function z(n3, t4, u4) {
19136
- for (var i4 = 0; i4 < u4.length; i4++)
19137
- q(u4[i4], u4[++i4], u4[++i4]);
19138
- l.__c && l.__c(t4, n3), n3.some(function(t5) {
19370
+ function z(n3, u4, t4) {
19371
+ for (var i4 = 0; i4 < t4.length; i4++)
19372
+ q(t4[i4], t4[++i4], t4[++i4]);
19373
+ l.__c && l.__c(u4, n3), n3.some(function(u5) {
19139
19374
  try {
19140
- n3 = t5.__h, t5.__h = [], n3.some(function(n4) {
19141
- n4.call(t5);
19375
+ n3 = u5.__h, u5.__h = [], n3.some(function(n4) {
19376
+ n4.call(u5);
19142
19377
  });
19143
19378
  } catch (n4) {
19144
- l.__e(n4, t5.__v);
19379
+ l.__e(n4, u5.__v);
19145
19380
  }
19146
19381
  });
19147
19382
  }
19148
19383
  function N(n3) {
19149
- return "object" != typeof n3 || null == n3 ? n3 : d(n3) ? n3.map(N) : w({}, n3);
19384
+ return "object" != typeof n3 || null == n3 || n3.__b && n3.__b > 0 ? n3 : w(n3) ? n3.map(N) : d({}, n3);
19150
19385
  }
19151
- function V(t4, u4, i4, r4, o4, e4, f4, c4, s4) {
19152
- var a4, h4, v4, y4, w4, _3, m4, b3 = i4.props, k4 = u4.props, x3 = u4.type;
19153
- if ("svg" == x3 ? o4 = "http://www.w3.org/2000/svg" : "math" == x3 ? o4 = "http://www.w3.org/1998/Math/MathML" : o4 || (o4 = "http://www.w3.org/1999/xhtml"), null != e4) {
19386
+ function V(u4, t4, i4, r4, o4, e4, f4, c4, s4) {
19387
+ var a4, h4, v4, y4, d4, _4, m4, b3 = i4.props, k4 = t4.props, x4 = t4.type;
19388
+ if ("svg" == x4 ? o4 = "http://www.w3.org/2000/svg" : "math" == x4 ? o4 = "http://www.w3.org/1998/Math/MathML" : o4 || (o4 = "http://www.w3.org/1999/xhtml"), null != e4) {
19154
19389
  for (a4 = 0; a4 < e4.length; a4++)
19155
- if ((w4 = e4[a4]) && "setAttribute" in w4 == !!x3 && (x3 ? w4.localName == x3 : 3 == w4.nodeType)) {
19156
- t4 = w4, e4[a4] = null;
19390
+ if ((d4 = e4[a4]) && "setAttribute" in d4 == !!x4 && (x4 ? d4.localName == x4 : 3 == d4.nodeType)) {
19391
+ u4 = d4, e4[a4] = null;
19157
19392
  break;
19158
19393
  }
19159
19394
  }
19160
- if (null == t4) {
19161
- if (null == x3)
19395
+ if (null == u4) {
19396
+ if (null == x4)
19162
19397
  return document.createTextNode(k4);
19163
- t4 = document.createElementNS(o4, x3, k4.is && k4), c4 && (l.__m && l.__m(u4, e4), c4 = false), e4 = null;
19398
+ u4 = document.createElementNS(o4, x4, k4.is && k4), c4 && (l.__m && l.__m(t4, e4), c4 = false), e4 = null;
19164
19399
  }
19165
- if (null === x3)
19166
- b3 === k4 || c4 && t4.data === k4 || (t4.data = k4);
19400
+ if (null == x4)
19401
+ b3 === k4 || c4 && u4.data == k4 || (u4.data = k4);
19167
19402
  else {
19168
- if (e4 = e4 && n.call(t4.childNodes), b3 = i4.props || p, !c4 && null != e4)
19169
- for (b3 = {}, a4 = 0; a4 < t4.attributes.length; a4++)
19170
- b3[(w4 = t4.attributes[a4]).name] = w4.value;
19403
+ if (e4 = e4 && n.call(u4.childNodes), b3 = i4.props || p, !c4 && null != e4)
19404
+ for (b3 = {}, a4 = 0; a4 < u4.attributes.length; a4++)
19405
+ b3[(d4 = u4.attributes[a4]).name] = d4.value;
19171
19406
  for (a4 in b3)
19172
- if (w4 = b3[a4], "children" == a4)
19407
+ if (d4 = b3[a4], "children" == a4)
19173
19408
  ;
19174
19409
  else if ("dangerouslySetInnerHTML" == a4)
19175
- v4 = w4;
19410
+ v4 = d4;
19176
19411
  else if (!(a4 in k4)) {
19177
19412
  if ("value" == a4 && "defaultValue" in k4 || "checked" == a4 && "defaultChecked" in k4)
19178
19413
  continue;
19179
- j(t4, a4, null, w4, o4);
19414
+ j(u4, a4, null, d4, o4);
19180
19415
  }
19181
19416
  for (a4 in k4)
19182
- w4 = k4[a4], "children" == a4 ? y4 = w4 : "dangerouslySetInnerHTML" == a4 ? h4 = w4 : "value" == a4 ? _3 = w4 : "checked" == a4 ? m4 = w4 : c4 && "function" != typeof w4 || b3[a4] === w4 || j(t4, a4, w4, b3[a4], o4);
19417
+ d4 = k4[a4], "children" == a4 ? y4 = d4 : "dangerouslySetInnerHTML" == a4 ? h4 = d4 : "value" == a4 ? _4 = d4 : "checked" == a4 ? m4 = d4 : c4 && "function" != typeof d4 || b3[a4] === d4 || j(u4, a4, d4, b3[a4], o4);
19183
19418
  if (h4)
19184
- c4 || v4 && (h4.__html === v4.__html || h4.__html === t4.innerHTML) || (t4.innerHTML = h4.__html), u4.__k = [];
19185
- else if (v4 && (t4.innerHTML = ""), I("template" === u4.type ? t4.content : t4, d(y4) ? y4 : [y4], u4, i4, r4, "foreignObject" == x3 ? "http://www.w3.org/1999/xhtml" : o4, e4, f4, e4 ? e4[0] : i4.__k && S(i4, 0), c4, s4), null != e4)
19419
+ c4 || v4 && (h4.__html == v4.__html || h4.__html == u4.innerHTML) || (u4.innerHTML = h4.__html), t4.__k = [];
19420
+ else if (v4 && (u4.innerHTML = ""), I("template" == t4.type ? u4.content : u4, w(y4) ? y4 : [y4], t4, i4, r4, "foreignObject" == x4 ? "http://www.w3.org/1999/xhtml" : o4, e4, f4, e4 ? e4[0] : i4.__k && S(i4, 0), c4, s4), null != e4)
19186
19421
  for (a4 = e4.length; a4--; )
19187
19422
  g(e4[a4]);
19188
- c4 || (a4 = "value", "progress" == x3 && null == _3 ? t4.removeAttribute("value") : void 0 !== _3 && (_3 !== t4[a4] || "progress" == x3 && !_3 || "option" == x3 && _3 !== b3[a4]) && j(t4, a4, _3, b3[a4], o4), a4 = "checked", void 0 !== m4 && m4 !== t4[a4] && j(t4, a4, m4, b3[a4], o4));
19423
+ c4 || (a4 = "value", "progress" == x4 && null == _4 ? u4.removeAttribute("value") : null != _4 && (_4 !== u4[a4] || "progress" == x4 && !_4 || "option" == x4 && _4 != b3[a4]) && j(u4, a4, _4, b3[a4], o4), a4 = "checked", null != m4 && m4 != u4[a4] && j(u4, a4, m4, b3[a4], o4));
19189
19424
  }
19190
- return t4;
19425
+ return u4;
19191
19426
  }
19192
- function q(n3, t4, u4) {
19427
+ function q(n3, u4, t4) {
19193
19428
  try {
19194
19429
  if ("function" == typeof n3) {
19195
19430
  var i4 = "function" == typeof n3.__u;
19196
- i4 && n3.__u(), i4 && null == t4 || (n3.__u = n3(t4));
19431
+ i4 && n3.__u(), i4 && null == u4 || (n3.__u = n3(u4));
19197
19432
  } else
19198
- n3.current = t4;
19433
+ n3.current = u4;
19199
19434
  } catch (n4) {
19200
- l.__e(n4, u4);
19435
+ l.__e(n4, t4);
19201
19436
  }
19202
19437
  }
19203
- function B(n3, t4, u4) {
19438
+ function B(n3, u4, t4) {
19204
19439
  var i4, r4;
19205
- if (l.unmount && l.unmount(n3), (i4 = n3.ref) && (i4.current && i4.current !== n3.__e || q(i4, null, t4)), null != (i4 = n3.__c)) {
19440
+ if (l.unmount && l.unmount(n3), (i4 = n3.ref) && (i4.current && i4.current != n3.__e || q(i4, null, u4)), null != (i4 = n3.__c)) {
19206
19441
  if (i4.componentWillUnmount)
19207
19442
  try {
19208
19443
  i4.componentWillUnmount();
19209
19444
  } catch (n4) {
19210
- l.__e(n4, t4);
19445
+ l.__e(n4, u4);
19211
19446
  }
19212
19447
  i4.base = i4.__P = null;
19213
19448
  }
19214
19449
  if (i4 = n3.__k)
19215
19450
  for (r4 = 0; r4 < i4.length; r4++)
19216
- i4[r4] && B(i4[r4], t4, u4 || "function" != typeof n3.type);
19217
- u4 || g(n3.__e), n3.__c = n3.__ = n3.__e = void 0;
19451
+ i4[r4] && B(i4[r4], u4, t4 || "function" != typeof n3.type);
19452
+ t4 || g(n3.__e), n3.__c = n3.__ = n3.__e = void 0;
19218
19453
  }
19219
- function D(n3, l4, t4) {
19220
- return this.constructor(n3, t4);
19454
+ function D(n3, l4, u4) {
19455
+ return this.constructor(n3, u4);
19221
19456
  }
19222
- function E(t4, u4, i4) {
19457
+ function E(u4, t4, i4) {
19223
19458
  var r4, o4, e4, f4;
19224
- u4 == document && (u4 = document.documentElement), l.__ && l.__(t4, u4), o4 = (r4 = "function" == typeof i4) ? null : i4 && i4.__k || u4.__k, e4 = [], f4 = [], O(u4, t4 = (!r4 && i4 || u4).__k = _(k, null, [t4]), o4 || p, p, u4.namespaceURI, !r4 && i4 ? [i4] : o4 ? null : u4.firstChild ? n.call(u4.childNodes) : null, e4, !r4 && i4 ? i4 : o4 ? o4.__e : u4.firstChild, r4, f4), z(e4, t4, f4);
19459
+ t4 == document && (t4 = document.documentElement), l.__ && l.__(u4, t4), o4 = (r4 = "function" == typeof i4) ? null : i4 && i4.__k || t4.__k, e4 = [], f4 = [], O(t4, u4 = (!r4 && i4 || t4).__k = _(k, null, [u4]), o4 || p, p, t4.namespaceURI, !r4 && i4 ? [i4] : o4 ? null : t4.firstChild ? n.call(t4.childNodes) : null, e4, !r4 && i4 ? i4 : o4 ? o4.__e : t4.firstChild, r4, f4), z(e4, u4, f4);
19225
19460
  }
19226
- function J(l4, t4, u4) {
19227
- var i4, r4, o4, e4, f4 = w({}, l4.props);
19228
- for (o4 in l4.type && l4.type.defaultProps && (e4 = l4.type.defaultProps), t4)
19229
- "key" == o4 ? i4 = t4[o4] : "ref" == o4 ? r4 = t4[o4] : f4[o4] = void 0 === t4[o4] && void 0 !== e4 ? e4[o4] : t4[o4];
19230
- return arguments.length > 2 && (f4.children = arguments.length > 3 ? n.call(arguments, 2) : u4), m(l4.type, f4, i4 || l4.key, r4 || l4.ref, null);
19461
+ function J(l4, u4, t4) {
19462
+ var i4, r4, o4, e4, f4 = d({}, l4.props);
19463
+ for (o4 in l4.type && l4.type.defaultProps && (e4 = l4.type.defaultProps), u4)
19464
+ "key" == o4 ? i4 = u4[o4] : "ref" == o4 ? r4 = u4[o4] : f4[o4] = void 0 === u4[o4] && null != e4 ? e4[o4] : u4[o4];
19465
+ return arguments.length > 2 && (f4.children = arguments.length > 3 ? n.call(arguments, 2) : t4), m(l4.type, f4, i4 || l4.key, r4 || l4.ref, null);
19231
19466
  }
19232
- n = v.slice, l = { __e: function(n3, l4, t4, u4) {
19467
+ n = v.slice, l = { __e: function(n3, l4, u4, t4) {
19233
19468
  for (var i4, r4, o4; l4 = l4.__; )
19234
19469
  if ((i4 = l4.__c) && !i4.__)
19235
19470
  try {
19236
- if ((r4 = i4.constructor) && null != r4.getDerivedStateFromError && (i4.setState(r4.getDerivedStateFromError(n3)), o4 = i4.__d), null != i4.componentDidCatch && (i4.componentDidCatch(n3, u4 || {}), o4 = i4.__d), o4)
19471
+ if ((r4 = i4.constructor) && null != r4.getDerivedStateFromError && (i4.setState(r4.getDerivedStateFromError(n3)), o4 = i4.__d), null != i4.componentDidCatch && (i4.componentDidCatch(n3, t4 || {}), o4 = i4.__d), o4)
19237
19472
  return i4.__E = i4;
19238
19473
  } catch (l5) {
19239
19474
  n3 = l5;
19240
19475
  }
19241
19476
  throw n3;
19242
- } }, t = 0, u = function(n3) {
19477
+ } }, u = 0, t = function(n3) {
19243
19478
  return null != n3 && null == n3.constructor;
19244
19479
  }, x.prototype.setState = function(n3, l4) {
19245
- var t4;
19246
- t4 = null != this.__s && this.__s !== this.state ? this.__s : this.__s = w({}, this.state), "function" == typeof n3 && (n3 = n3(w({}, t4), this.props)), n3 && w(t4, n3), null != n3 && this.__v && (l4 && this._sb.push(l4), M(this));
19480
+ var u4;
19481
+ u4 = null != this.__s && this.__s != this.state ? this.__s : this.__s = d({}, this.state), "function" == typeof n3 && (n3 = n3(d({}, u4), this.props)), n3 && d(u4, n3), null != n3 && this.__v && (l4 && this._sb.push(l4), M(this));
19247
19482
  }, x.prototype.forceUpdate = function(n3) {
19248
19483
  this.__v && (this.__e = true, n3 && this.__h.push(n3), M(this));
19249
19484
  }, x.prototype.render = k, i = [], o = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e = function(n3, l4) {
19250
19485
  return n3.__v.__b - l4.__v.__b;
19251
19486
  }, $.__r = 0, f = /(PointerCapture)$|Capture$/i, c = 0, s = F(false), a = F(true), h = 0;
19252
19487
 
19488
+ // node_modules/preact/hooks/dist/hooks.module.js
19489
+ var t2;
19490
+ var r2;
19491
+ var u2;
19492
+ var i2;
19493
+ var o2 = 0;
19494
+ var f2 = [];
19495
+ var c2 = l;
19496
+ var e2 = c2.__b;
19497
+ var a2 = c2.__r;
19498
+ var v2 = c2.diffed;
19499
+ var l2 = c2.__c;
19500
+ var m2 = c2.unmount;
19501
+ var s2 = c2.__;
19502
+ function p2(n3, t4) {
19503
+ c2.__h && c2.__h(r2, n3, o2 || t4), o2 = 0;
19504
+ var u4 = r2.__H || (r2.__H = { __: [], __h: [] });
19505
+ return n3 >= u4.__.length && u4.__.push({}), u4.__[n3];
19506
+ }
19507
+ function d2(n3) {
19508
+ return o2 = 1, h2(D2, n3);
19509
+ }
19510
+ function h2(n3, u4, i4) {
19511
+ var o4 = p2(t2++, 2);
19512
+ if (o4.t = n3, !o4.__c && (o4.__ = [i4 ? i4(u4) : D2(void 0, u4), function(n4) {
19513
+ var t4 = o4.__N ? o4.__N[0] : o4.__[0], r4 = o4.t(t4, n4);
19514
+ t4 !== r4 && (o4.__N = [r4, o4.__[1]], o4.__c.setState({}));
19515
+ }], o4.__c = r2, !r2.__f)) {
19516
+ var f4 = function(n4, t4, r4) {
19517
+ if (!o4.__c.__H)
19518
+ return true;
19519
+ var u5 = o4.__c.__H.__.filter(function(n5) {
19520
+ return !!n5.__c;
19521
+ });
19522
+ if (u5.every(function(n5) {
19523
+ return !n5.__N;
19524
+ }))
19525
+ return !c4 || c4.call(this, n4, t4, r4);
19526
+ var i5 = o4.__c.props !== n4;
19527
+ return u5.forEach(function(n5) {
19528
+ if (n5.__N) {
19529
+ var t5 = n5.__[0];
19530
+ n5.__ = n5.__N, n5.__N = void 0, t5 !== n5.__[0] && (i5 = true);
19531
+ }
19532
+ }), c4 && c4.call(this, n4, t4, r4) || i5;
19533
+ };
19534
+ r2.__f = true;
19535
+ var c4 = r2.shouldComponentUpdate, e4 = r2.componentWillUpdate;
19536
+ r2.componentWillUpdate = function(n4, t4, r4) {
19537
+ if (this.__e) {
19538
+ var u5 = c4;
19539
+ c4 = void 0, f4(n4, t4, r4), c4 = u5;
19540
+ }
19541
+ e4 && e4.call(this, n4, t4, r4);
19542
+ }, r2.shouldComponentUpdate = f4;
19543
+ }
19544
+ return o4.__N || o4.__;
19545
+ }
19546
+ function y2(n3, u4) {
19547
+ var i4 = p2(t2++, 3);
19548
+ !c2.__s && C2(i4.__H, u4) && (i4.__ = n3, i4.u = u4, r2.__H.__h.push(i4));
19549
+ }
19550
+ function A2(n3) {
19551
+ return o2 = 5, T2(function() {
19552
+ return { current: n3 };
19553
+ }, []);
19554
+ }
19555
+ function T2(n3, r4) {
19556
+ var u4 = p2(t2++, 7);
19557
+ return C2(u4.__H, r4) && (u4.__ = n3(), u4.__H = r4, u4.__h = n3), u4.__;
19558
+ }
19559
+ function q2(n3, t4) {
19560
+ return o2 = 8, T2(function() {
19561
+ return n3;
19562
+ }, t4);
19563
+ }
19564
+ function j2() {
19565
+ for (var n3; n3 = f2.shift(); )
19566
+ if (n3.__P && n3.__H)
19567
+ try {
19568
+ n3.__H.__h.forEach(z2), n3.__H.__h.forEach(B2), n3.__H.__h = [];
19569
+ } catch (t4) {
19570
+ n3.__H.__h = [], c2.__e(t4, n3.__v);
19571
+ }
19572
+ }
19573
+ c2.__b = function(n3) {
19574
+ r2 = null, e2 && e2(n3);
19575
+ }, c2.__ = function(n3, t4) {
19576
+ n3 && t4.__k && t4.__k.__m && (n3.__m = t4.__k.__m), s2 && s2(n3, t4);
19577
+ }, c2.__r = function(n3) {
19578
+ a2 && a2(n3), t2 = 0;
19579
+ var i4 = (r2 = n3.__c).__H;
19580
+ i4 && (u2 === r2 ? (i4.__h = [], r2.__h = [], i4.__.forEach(function(n4) {
19581
+ n4.__N && (n4.__ = n4.__N), n4.u = n4.__N = void 0;
19582
+ })) : (i4.__h.forEach(z2), i4.__h.forEach(B2), i4.__h = [], t2 = 0)), u2 = r2;
19583
+ }, c2.diffed = function(n3) {
19584
+ v2 && v2(n3);
19585
+ var t4 = n3.__c;
19586
+ t4 && t4.__H && (t4.__H.__h.length && (1 !== f2.push(t4) && i2 === c2.requestAnimationFrame || ((i2 = c2.requestAnimationFrame) || w2)(j2)), t4.__H.__.forEach(function(n4) {
19587
+ n4.u && (n4.__H = n4.u), n4.u = void 0;
19588
+ })), u2 = r2 = null;
19589
+ }, c2.__c = function(n3, t4) {
19590
+ t4.some(function(n4) {
19591
+ try {
19592
+ n4.__h.forEach(z2), n4.__h = n4.__h.filter(function(n5) {
19593
+ return !n5.__ || B2(n5);
19594
+ });
19595
+ } catch (r4) {
19596
+ t4.some(function(n5) {
19597
+ n5.__h && (n5.__h = []);
19598
+ }), t4 = [], c2.__e(r4, n4.__v);
19599
+ }
19600
+ }), l2 && l2(n3, t4);
19601
+ }, c2.unmount = function(n3) {
19602
+ m2 && m2(n3);
19603
+ var t4, r4 = n3.__c;
19604
+ r4 && r4.__H && (r4.__H.__.forEach(function(n4) {
19605
+ try {
19606
+ z2(n4);
19607
+ } catch (n5) {
19608
+ t4 = n5;
19609
+ }
19610
+ }), r4.__H = void 0, t4 && c2.__e(t4, r4.__v));
19611
+ };
19612
+ var k2 = "function" == typeof requestAnimationFrame;
19613
+ function w2(n3) {
19614
+ var t4, r4 = function() {
19615
+ clearTimeout(u4), k2 && cancelAnimationFrame(t4), setTimeout(n3);
19616
+ }, u4 = setTimeout(r4, 35);
19617
+ k2 && (t4 = requestAnimationFrame(r4));
19618
+ }
19619
+ function z2(n3) {
19620
+ var t4 = r2, u4 = n3.__c;
19621
+ "function" == typeof u4 && (n3.__c = void 0, u4()), r2 = t4;
19622
+ }
19623
+ function B2(n3) {
19624
+ var t4 = r2;
19625
+ n3.__c = n3.__(), r2 = t4;
19626
+ }
19627
+ function C2(n3, t4) {
19628
+ return !n3 || n3.length !== t4.length || t4.some(function(t5, r4) {
19629
+ return t5 !== n3[r4];
19630
+ });
19631
+ }
19632
+ function D2(n3, t4) {
19633
+ return "function" == typeof t4 ? t4(n3) : t4;
19634
+ }
19635
+
19636
+ // node_modules/preact/compat/dist/compat.module.js
19637
+ function g3(n3, t4) {
19638
+ for (var e4 in t4)
19639
+ n3[e4] = t4[e4];
19640
+ return n3;
19641
+ }
19642
+ function E2(n3, t4) {
19643
+ for (var e4 in n3)
19644
+ if ("__source" !== e4 && !(e4 in t4))
19645
+ return true;
19646
+ for (var r4 in t4)
19647
+ if ("__source" !== r4 && n3[r4] !== t4[r4])
19648
+ return true;
19649
+ return false;
19650
+ }
19651
+ function N2(n3, t4) {
19652
+ this.props = n3, this.context = t4;
19653
+ }
19654
+ (N2.prototype = new x()).isPureReactComponent = true, N2.prototype.shouldComponentUpdate = function(n3, t4) {
19655
+ return E2(this.props, n3) || E2(this.state, t4);
19656
+ };
19657
+ var T3 = l.__b;
19658
+ l.__b = function(n3) {
19659
+ n3.type && n3.type.__f && n3.ref && (n3.props.ref = n3.ref, n3.ref = null), T3 && T3(n3);
19660
+ };
19661
+ var A3 = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.forward_ref") || 3911;
19662
+ var F3 = l.__e;
19663
+ l.__e = function(n3, t4, e4, r4) {
19664
+ if (n3.then) {
19665
+ for (var u4, o4 = t4; o4 = o4.__; )
19666
+ if ((u4 = o4.__c) && u4.__c)
19667
+ return null == t4.__e && (t4.__e = e4.__e, t4.__k = e4.__k), u4.__c(n3, t4);
19668
+ }
19669
+ F3(n3, t4, e4, r4);
19670
+ };
19671
+ var U = l.unmount;
19672
+ function V2(n3, t4, e4) {
19673
+ return n3 && (n3.__c && n3.__c.__H && (n3.__c.__H.__.forEach(function(n4) {
19674
+ "function" == typeof n4.__c && n4.__c();
19675
+ }), n3.__c.__H = null), null != (n3 = g3({}, n3)).__c && (n3.__c.__P === e4 && (n3.__c.__P = t4), n3.__c.__e = true, n3.__c = null), n3.__k = n3.__k && n3.__k.map(function(n4) {
19676
+ return V2(n4, t4, e4);
19677
+ })), n3;
19678
+ }
19679
+ function W(n3, t4, e4) {
19680
+ return n3 && e4 && (n3.__v = null, n3.__k = n3.__k && n3.__k.map(function(n4) {
19681
+ return W(n4, t4, e4);
19682
+ }), n3.__c && n3.__c.__P === t4 && (n3.__e && e4.appendChild(n3.__e), n3.__c.__e = true, n3.__c.__P = e4)), n3;
19683
+ }
19684
+ function P3() {
19685
+ this.__u = 0, this.o = null, this.__b = null;
19686
+ }
19687
+ function j3(n3) {
19688
+ var t4 = n3.__.__c;
19689
+ return t4 && t4.__a && t4.__a(n3);
19690
+ }
19691
+ function B3() {
19692
+ this.i = null, this.l = null;
19693
+ }
19694
+ l.unmount = function(n3) {
19695
+ var t4 = n3.__c;
19696
+ t4 && t4.__R && t4.__R(), t4 && 32 & n3.__u && (n3.type = null), U && U(n3);
19697
+ }, (P3.prototype = new x()).__c = function(n3, t4) {
19698
+ var e4 = t4.__c, r4 = this;
19699
+ null == r4.o && (r4.o = []), r4.o.push(e4);
19700
+ var u4 = j3(r4.__v), o4 = false, i4 = function() {
19701
+ o4 || (o4 = true, e4.__R = null, u4 ? u4(l4) : l4());
19702
+ };
19703
+ e4.__R = i4;
19704
+ var l4 = function() {
19705
+ if (!--r4.__u) {
19706
+ if (r4.state.__a) {
19707
+ var n4 = r4.state.__a;
19708
+ r4.__v.__k[0] = W(n4, n4.__c.__P, n4.__c.__O);
19709
+ }
19710
+ var t5;
19711
+ for (r4.setState({ __a: r4.__b = null }); t5 = r4.o.pop(); )
19712
+ t5.forceUpdate();
19713
+ }
19714
+ };
19715
+ r4.__u++ || 32 & t4.__u || r4.setState({ __a: r4.__b = r4.__v.__k[0] }), n3.then(i4, i4);
19716
+ }, P3.prototype.componentWillUnmount = function() {
19717
+ this.o = [];
19718
+ }, P3.prototype.render = function(n3, e4) {
19719
+ if (this.__b) {
19720
+ if (this.__v.__k) {
19721
+ var r4 = document.createElement("div"), o4 = this.__v.__k[0].__c;
19722
+ this.__v.__k[0] = V2(this.__b, r4, o4.__O = o4.__P);
19723
+ }
19724
+ this.__b = null;
19725
+ }
19726
+ var i4 = e4.__a && _(k, null, n3.fallback);
19727
+ return i4 && (i4.__u &= -33), [_(k, null, e4.__a ? null : n3.children), i4];
19728
+ };
19729
+ var H2 = function(n3, t4, e4) {
19730
+ if (++e4[1] === e4[0] && n3.l.delete(t4), n3.props.revealOrder && ("t" !== n3.props.revealOrder[0] || !n3.l.size))
19731
+ for (e4 = n3.i; e4; ) {
19732
+ for (; e4.length > 3; )
19733
+ e4.pop()();
19734
+ if (e4[1] < e4[0])
19735
+ break;
19736
+ n3.i = e4 = e4[2];
19737
+ }
19738
+ };
19739
+ (B3.prototype = new x()).__a = function(n3) {
19740
+ var t4 = this, e4 = j3(t4.__v), r4 = t4.l.get(n3);
19741
+ return r4[0]++, function(u4) {
19742
+ var o4 = function() {
19743
+ t4.props.revealOrder ? (r4.push(u4), H2(t4, n3, r4)) : u4();
19744
+ };
19745
+ e4 ? e4(o4) : o4();
19746
+ };
19747
+ }, B3.prototype.render = function(n3) {
19748
+ this.i = null, this.l = /* @__PURE__ */ new Map();
19749
+ var t4 = H(n3.children);
19750
+ n3.revealOrder && "b" === n3.revealOrder[0] && t4.reverse();
19751
+ for (var e4 = t4.length; e4--; )
19752
+ this.l.set(t4[e4], this.i = [1, 0, this.i]);
19753
+ return n3.children;
19754
+ }, B3.prototype.componentDidUpdate = B3.prototype.componentDidMount = function() {
19755
+ var n3 = this;
19756
+ this.l.forEach(function(t4, e4) {
19757
+ H2(n3, e4, t4);
19758
+ });
19759
+ };
19760
+ var q3 = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103;
19761
+ var G2 = /^(?: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]/;
19762
+ var J2 = /^on(Ani|Tra|Tou|BeforeInp|Compo)/;
19763
+ var K2 = /[A-Z0-9]/g;
19764
+ var Q = "undefined" != typeof document;
19765
+ var X = function(n3) {
19766
+ return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n3);
19767
+ };
19768
+ function nn(n3, t4, e4) {
19769
+ return null == t4.__k && (t4.textContent = ""), E(n3, t4), "function" == typeof e4 && e4(), n3 ? n3.__c : null;
19770
+ }
19771
+ x.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(t4) {
19772
+ Object.defineProperty(x.prototype, t4, { configurable: true, get: function() {
19773
+ return this["UNSAFE_" + t4];
19774
+ }, set: function(n3) {
19775
+ Object.defineProperty(this, t4, { configurable: true, writable: true, value: n3 });
19776
+ } });
19777
+ });
19778
+ var en = l.event;
19779
+ function rn() {
19780
+ }
19781
+ function un() {
19782
+ return this.cancelBubble;
19783
+ }
19784
+ function on() {
19785
+ return this.defaultPrevented;
19786
+ }
19787
+ l.event = function(n3) {
19788
+ return en && (n3 = en(n3)), n3.persist = rn, n3.isPropagationStopped = un, n3.isDefaultPrevented = on, n3.nativeEvent = n3;
19789
+ };
19790
+ var ln;
19791
+ var cn = { enumerable: false, configurable: true, get: function() {
19792
+ return this.class;
19793
+ } };
19794
+ var fn2 = l.vnode;
19795
+ l.vnode = function(n3) {
19796
+ "string" == typeof n3.type && function(n4) {
19797
+ var t4 = n4.props, e4 = n4.type, u4 = {}, o4 = -1 === e4.indexOf("-");
19798
+ for (var i4 in t4) {
19799
+ var l4 = t4[i4];
19800
+ if (!("value" === i4 && "defaultValue" in t4 && null == l4 || Q && "children" === i4 && "noscript" === e4 || "class" === i4 || "className" === i4)) {
19801
+ var c4 = i4.toLowerCase();
19802
+ "defaultValue" === i4 && "value" in t4 && null == t4.value ? i4 = "value" : "download" === i4 && true === l4 ? l4 = "" : "translate" === c4 && "no" === l4 ? l4 = false : "o" === c4[0] && "n" === c4[1] ? "ondoubleclick" === c4 ? i4 = "ondblclick" : "onchange" !== c4 || "input" !== e4 && "textarea" !== e4 || X(t4.type) ? "onfocus" === c4 ? i4 = "onfocusin" : "onblur" === c4 ? i4 = "onfocusout" : J2.test(i4) && (i4 = c4) : c4 = i4 = "oninput" : o4 && G2.test(i4) ? i4 = i4.replace(K2, "-$&").toLowerCase() : null === l4 && (l4 = void 0), "oninput" === c4 && u4[i4 = c4] && (i4 = "oninputCapture"), u4[i4] = l4;
19803
+ }
19804
+ }
19805
+ "select" == e4 && u4.multiple && Array.isArray(u4.value) && (u4.value = H(t4.children).forEach(function(n5) {
19806
+ n5.props.selected = -1 != u4.value.indexOf(n5.props.value);
19807
+ })), "select" == e4 && null != u4.defaultValue && (u4.value = H(t4.children).forEach(function(n5) {
19808
+ n5.props.selected = u4.multiple ? -1 != u4.defaultValue.indexOf(n5.props.value) : u4.defaultValue == n5.props.value;
19809
+ })), t4.class && !t4.className ? (u4.class = t4.class, Object.defineProperty(u4, "className", cn)) : (t4.className && !t4.class || t4.class && t4.className) && (u4.class = u4.className = t4.className), n4.props = u4;
19810
+ }(n3), n3.$$typeof = q3, fn2 && fn2(n3);
19811
+ };
19812
+ var an = l.__r;
19813
+ l.__r = function(n3) {
19814
+ an && an(n3), ln = n3.__c;
19815
+ };
19816
+ var sn = l.diffed;
19817
+ l.diffed = function(n3) {
19818
+ sn && sn(n3);
19819
+ var t4 = n3.props, e4 = n3.__e;
19820
+ null != e4 && "textarea" === n3.type && "value" in t4 && t4.value !== e4.value && (e4.value = null == t4.value ? "" : t4.value), ln = null;
19821
+ };
19822
+
19253
19823
  // node_modules/@uppy/utils/lib/isDOMElement.js
19254
19824
  function isDOMElement(obj) {
19255
19825
  if (typeof obj !== "object" || obj === null)
@@ -19356,7 +19926,7 @@ Uppy plugins must have unique \`id\` options.`;
19356
19926
  function _classPrivateFieldLooseKey4(e4) {
19357
19927
  return "__private_" + id4++ + "_" + e4;
19358
19928
  }
19359
- function debounce3(fn2) {
19929
+ function debounce3(fn3) {
19360
19930
  let calling = null;
19361
19931
  let latestArgs;
19362
19932
  return function() {
@@ -19367,7 +19937,7 @@ Uppy plugins must have unique \`id\` options.`;
19367
19937
  if (!calling) {
19368
19938
  calling = Promise.resolve().then(() => {
19369
19939
  calling = null;
19370
- return fn2(...latestArgs);
19940
+ return fn3(...latestArgs);
19371
19941
  });
19372
19942
  }
19373
19943
  return calling;
@@ -19419,14 +19989,14 @@ Uppy plugins must have unique \`id\` options.`;
19419
19989
  _classPrivateFieldLooseBase4(this, _updateUI)[_updateUI] = debounce3((state) => {
19420
19990
  if (!this.uppy.getPlugin(this.id))
19421
19991
  return;
19422
- E(this.render(state, uppyRootElement), uppyRootElement);
19992
+ nn(this.render(state, uppyRootElement), uppyRootElement);
19423
19993
  this.afterUpdate();
19424
19994
  });
19425
19995
  this.uppy.log(`Installing ${callerPluginName} to a DOM element '${target}'`);
19426
19996
  if (this.opts.replaceTargetContent) {
19427
19997
  targetElement.innerHTML = "";
19428
19998
  }
19429
- E(this.render(this.uppy.getState(), uppyRootElement), uppyRootElement);
19999
+ nn(this.render(this.uppy.getState(), uppyRootElement), uppyRootElement);
19430
20000
  this.el = uppyRootElement;
19431
20001
  targetElement.appendChild(uppyRootElement);
19432
20002
  uppyRootElement.dir = this.opts.direction || getTextDirection_default(uppyRootElement) || "ltr";
@@ -20168,7 +20738,7 @@ Uppy plugins must have unique \`id\` options.`;
20168
20738
  return "__private_" + id5++ + "_" + e4;
20169
20739
  }
20170
20740
  var packageJson3 = {
20171
- "version": "4.1.2"
20741
+ "version": "4.1.3"
20172
20742
  };
20173
20743
  var speedFilterHalfLife = 2e3;
20174
20744
  var ETAFilterHalfLife = 2e3;
@@ -20749,33 +21319,33 @@ Uppy plugins must have unique \`id\` options.`;
20749
21319
  }
20750
21320
 
20751
21321
  // node_modules/exifr/dist/mini.esm.mjs
20752
- function e2(e4, t4, s4) {
21322
+ function e3(e4, t4, s4) {
20753
21323
  return t4 in e4 ? Object.defineProperty(e4, t4, { value: s4, enumerable: true, configurable: true, writable: true }) : e4[t4] = s4, e4;
20754
21324
  }
20755
- var t2 = "undefined" != typeof self ? self : global;
20756
- var s2 = "undefined" != typeof navigator;
20757
- var i2 = s2 && "undefined" == typeof HTMLImageElement;
21325
+ var t3 = "undefined" != typeof self ? self : global;
21326
+ var s3 = "undefined" != typeof navigator;
21327
+ var i3 = s3 && "undefined" == typeof HTMLImageElement;
20758
21328
  var n2 = !("undefined" == typeof global || "undefined" == typeof process || !process.versions || !process.versions.node);
20759
- var r2 = t2.Buffer;
20760
- var a2 = !!r2;
20761
- var h2 = (e4) => void 0 !== e4;
20762
- function f2(e4) {
20763
- return void 0 === e4 || (e4 instanceof Map ? 0 === e4.size : 0 === Object.values(e4).filter(h2).length);
21329
+ var r3 = t3.Buffer;
21330
+ var a3 = !!r3;
21331
+ var h3 = (e4) => void 0 !== e4;
21332
+ function f3(e4) {
21333
+ return void 0 === e4 || (e4 instanceof Map ? 0 === e4.size : 0 === Object.values(e4).filter(h3).length);
20764
21334
  }
20765
- function l2(e4) {
21335
+ function l3(e4) {
20766
21336
  let t4 = new Error(e4);
20767
21337
  throw delete t4.stack, t4;
20768
21338
  }
20769
- function o2(e4) {
21339
+ function o3(e4) {
20770
21340
  let t4 = function(e5) {
20771
21341
  let t5 = 0;
20772
21342
  return e5.ifd0.enabled && (t5 += 1024), e5.exif.enabled && (t5 += 2048), e5.makerNote && (t5 += 2048), e5.userComment && (t5 += 1024), e5.gps.enabled && (t5 += 512), e5.interop.enabled && (t5 += 100), e5.ifd1.enabled && (t5 += 1024), t5 + 2048;
20773
21343
  }(e4);
20774
21344
  return e4.jfif.enabled && (t4 += 50), e4.xmp.enabled && (t4 += 2e4), e4.iptc.enabled && (t4 += 14e3), e4.icc.enabled && (t4 += 6e3), t4;
20775
21345
  }
20776
- var u2 = (e4) => String.fromCharCode.apply(null, e4);
20777
- var d2 = "undefined" != typeof TextDecoder ? new TextDecoder("utf-8") : void 0;
20778
- var c2 = class _c {
21346
+ var u3 = (e4) => String.fromCharCode.apply(null, e4);
21347
+ var d3 = "undefined" != typeof TextDecoder ? new TextDecoder("utf-8") : void 0;
21348
+ var c3 = class _c {
20779
21349
  static from(e4, t4) {
20780
21350
  return e4 instanceof this && e4.le === t4 ? e4 : new _c(e4, void 0, void 0, t4);
20781
21351
  }
@@ -20787,14 +21357,14 @@ Uppy plugins must have unique \`id\` options.`;
20787
21357
  let i5 = new DataView(e4, t4, s4);
20788
21358
  this._swapDataView(i5);
20789
21359
  } else if (e4 instanceof Uint8Array || e4 instanceof DataView || e4 instanceof _c) {
20790
- void 0 === s4 && (s4 = e4.byteLength - t4), (t4 += e4.byteOffset) + s4 > e4.byteOffset + e4.byteLength && l2("Creating view outside of available memory in ArrayBuffer");
21360
+ void 0 === s4 && (s4 = e4.byteLength - t4), (t4 += e4.byteOffset) + s4 > e4.byteOffset + e4.byteLength && l3("Creating view outside of available memory in ArrayBuffer");
20791
21361
  let i5 = new DataView(e4.buffer, t4, s4);
20792
21362
  this._swapDataView(i5);
20793
21363
  } else if ("number" == typeof e4) {
20794
21364
  let t5 = new DataView(new ArrayBuffer(e4));
20795
21365
  this._swapDataView(t5);
20796
21366
  } else
20797
- l2("Invalid input argument for BufferView: " + e4);
21367
+ l3("Invalid input argument for BufferView: " + e4);
20798
21368
  }
20799
21369
  _swapArrayBuffer(e4) {
20800
21370
  this._swapDataView(new DataView(e4));
@@ -20809,7 +21379,7 @@ Uppy plugins must have unique \`id\` options.`;
20809
21379
  return this.byteLength - e4;
20810
21380
  }
20811
21381
  set(e4, t4, s4 = _c) {
20812
- return e4 instanceof DataView || e4 instanceof _c ? e4 = new Uint8Array(e4.buffer, e4.byteOffset, e4.byteLength) : e4 instanceof ArrayBuffer && (e4 = new Uint8Array(e4)), e4 instanceof Uint8Array || l2("BufferView.set(): Invalid data argument."), this.toUint8().set(e4, t4), new s4(this, t4, e4.byteLength);
21382
+ return e4 instanceof DataView || e4 instanceof _c ? e4 = new Uint8Array(e4.buffer, e4.byteOffset, e4.byteLength) : e4 instanceof ArrayBuffer && (e4 = new Uint8Array(e4)), e4 instanceof Uint8Array || l3("BufferView.set(): Invalid data argument."), this.toUint8().set(e4, t4), new s4(this, t4, e4.byteLength);
20813
21383
  }
20814
21384
  subarray(e4, t4) {
20815
21385
  return t4 = t4 || this._lengthToEnd(e4), new _c(this, e4, t4);
@@ -20822,18 +21392,18 @@ Uppy plugins must have unique \`id\` options.`;
20822
21392
  }
20823
21393
  getString(e4 = 0, t4 = this.byteLength) {
20824
21394
  let s4 = this.getUint8Array(e4, t4);
20825
- return i4 = s4, d2 ? d2.decode(i4) : a2 ? Buffer.from(i4).toString("utf8") : decodeURIComponent(escape(u2(i4)));
21395
+ return i4 = s4, d3 ? d3.decode(i4) : a3 ? Buffer.from(i4).toString("utf8") : decodeURIComponent(escape(u3(i4)));
20826
21396
  var i4;
20827
21397
  }
20828
21398
  getLatin1String(e4 = 0, t4 = this.byteLength) {
20829
21399
  let s4 = this.getUint8Array(e4, t4);
20830
- return u2(s4);
21400
+ return u3(s4);
20831
21401
  }
20832
21402
  getUnicodeString(e4 = 0, t4 = this.byteLength) {
20833
21403
  const s4 = [];
20834
21404
  for (let i4 = 0; i4 < t4 && e4 + i4 < this.byteLength; i4 += 2)
20835
21405
  s4.push(this.getUint16(e4 + i4));
20836
- return u2(s4);
21406
+ return u3(s4);
20837
21407
  }
20838
21408
  getInt8(e4) {
20839
21409
  return this.dataView.getInt8(e4);
@@ -20895,46 +21465,46 @@ Uppy plugins must have unique \`id\` options.`;
20895
21465
  ensureChunk() {
20896
21466
  }
20897
21467
  };
20898
- function p2(e4, t4) {
20899
- l2(`${e4} '${t4}' was not loaded, try using full build of exifr.`);
21468
+ function p3(e4, t4) {
21469
+ l3(`${e4} '${t4}' was not loaded, try using full build of exifr.`);
20900
21470
  }
20901
- var g2 = class extends Map {
21471
+ var g4 = class extends Map {
20902
21472
  constructor(e4) {
20903
21473
  super(), this.kind = e4;
20904
21474
  }
20905
21475
  get(e4, t4) {
20906
- return this.has(e4) || p2(this.kind, e4), t4 && (e4 in t4 || function(e5, t5) {
20907
- l2(`Unknown ${e5} '${t5}'.`);
20908
- }(this.kind, e4), t4[e4].enabled || p2(this.kind, e4)), super.get(e4);
21476
+ return this.has(e4) || p3(this.kind, e4), t4 && (e4 in t4 || function(e5, t5) {
21477
+ l3(`Unknown ${e5} '${t5}'.`);
21478
+ }(this.kind, e4), t4[e4].enabled || p3(this.kind, e4)), super.get(e4);
20909
21479
  }
20910
21480
  keyList() {
20911
21481
  return Array.from(this.keys());
20912
21482
  }
20913
21483
  };
20914
- var m2 = new g2("file parser");
20915
- var y2 = new g2("segment parser");
20916
- var b2 = new g2("file reader");
20917
- var w2 = t2.fetch;
20918
- function k2(e4, t4) {
20919
- return (i4 = e4).startsWith("data:") || i4.length > 1e4 ? v2(e4, t4, "base64") : n2 && e4.includes("://") ? O2(e4, t4, "url", S2) : n2 ? v2(e4, t4, "fs") : s2 ? O2(e4, t4, "url", S2) : void l2("Invalid input argument");
21484
+ var m3 = new g4("file parser");
21485
+ var y3 = new g4("segment parser");
21486
+ var b2 = new g4("file reader");
21487
+ var w3 = t3.fetch;
21488
+ function k3(e4, t4) {
21489
+ return (i4 = e4).startsWith("data:") || i4.length > 1e4 ? v3(e4, t4, "base64") : n2 && e4.includes("://") ? O2(e4, t4, "url", S2) : n2 ? v3(e4, t4, "fs") : s3 ? O2(e4, t4, "url", S2) : void l3("Invalid input argument");
20920
21490
  var i4;
20921
21491
  }
20922
21492
  async function O2(e4, t4, s4, i4) {
20923
- return b2.has(s4) ? v2(e4, t4, s4) : i4 ? async function(e5, t5) {
21493
+ return b2.has(s4) ? v3(e4, t4, s4) : i4 ? async function(e5, t5) {
20924
21494
  let s5 = await t5(e5);
20925
- return new c2(s5);
20926
- }(e4, i4) : void l2(`Parser ${s4} is not loaded`);
21495
+ return new c3(s5);
21496
+ }(e4, i4) : void l3(`Parser ${s4} is not loaded`);
20927
21497
  }
20928
- async function v2(e4, t4, s4) {
21498
+ async function v3(e4, t4, s4) {
20929
21499
  let i4 = new (b2.get(s4))(e4, t4);
20930
21500
  return await i4.read(), i4;
20931
21501
  }
20932
- var S2 = (e4) => w2(e4).then((e5) => e5.arrayBuffer());
20933
- var A2 = (e4) => new Promise((t4, s4) => {
21502
+ var S2 = (e4) => w3(e4).then((e5) => e5.arrayBuffer());
21503
+ var A4 = (e4) => new Promise((t4, s4) => {
20934
21504
  let i4 = new FileReader();
20935
21505
  i4.onloadend = () => t4(i4.result || new ArrayBuffer()), i4.onerror = s4, i4.readAsArrayBuffer(e4);
20936
21506
  });
20937
- var U = class extends Map {
21507
+ var U2 = class extends Map {
20938
21508
  get tagKeys() {
20939
21509
  return this.allKeys || (this.allKeys = Array.from(this.keys())), this.allKeys;
20940
21510
  }
@@ -20942,8 +21512,8 @@ Uppy plugins must have unique \`id\` options.`;
20942
21512
  return this.allValues || (this.allValues = Array.from(this.values())), this.allValues;
20943
21513
  }
20944
21514
  };
20945
- function x2(e4, t4, s4) {
20946
- let i4 = new U();
21515
+ function x3(e4, t4, s4) {
21516
+ let i4 = new U2();
20947
21517
  for (let [e5, t5] of s4)
20948
21518
  i4.set(e5, t5);
20949
21519
  if (Array.isArray(t4))
@@ -20953,33 +21523,33 @@ Uppy plugins must have unique \`id\` options.`;
20953
21523
  e4.set(t4, i4);
20954
21524
  return i4;
20955
21525
  }
20956
- function C2(e4, t4, s4) {
21526
+ function C3(e4, t4, s4) {
20957
21527
  let i4, n3 = e4.get(t4);
20958
21528
  for (i4 of s4)
20959
21529
  n3.set(i4[0], i4[1]);
20960
21530
  }
20961
- var B2 = /* @__PURE__ */ new Map();
20962
- var V2 = /* @__PURE__ */ new Map();
21531
+ var B4 = /* @__PURE__ */ new Map();
21532
+ var V3 = /* @__PURE__ */ new Map();
20963
21533
  var I2 = /* @__PURE__ */ new Map();
20964
21534
  var L2 = ["chunked", "firstChunkSize", "firstChunkSizeNode", "firstChunkSizeBrowser", "chunkSize", "chunkLimit"];
20965
- var T2 = ["jfif", "xmp", "icc", "iptc", "ihdr"];
20966
- var z2 = ["tiff", ...T2];
20967
- var P2 = ["ifd0", "ifd1", "exif", "gps", "interop"];
20968
- var F2 = [...z2, ...P2];
20969
- var j2 = ["makerNote", "userComment"];
20970
- var E2 = ["translateKeys", "translateValues", "reviveValues", "multiSegment"];
20971
- var M2 = [...E2, "sanitize", "mergeOutput", "silentErrors"];
20972
- var _2 = class {
21535
+ var T4 = ["jfif", "xmp", "icc", "iptc", "ihdr"];
21536
+ var z3 = ["tiff", ...T4];
21537
+ var P4 = ["ifd0", "ifd1", "exif", "gps", "interop"];
21538
+ var F4 = [...z3, ...P4];
21539
+ var j4 = ["makerNote", "userComment"];
21540
+ var E3 = ["translateKeys", "translateValues", "reviveValues", "multiSegment"];
21541
+ var M2 = [...E3, "sanitize", "mergeOutput", "silentErrors"];
21542
+ var _3 = class {
20973
21543
  get translate() {
20974
21544
  return this.translateKeys || this.translateValues || this.reviveValues;
20975
21545
  }
20976
21546
  };
20977
- var D2 = class extends _2 {
21547
+ var D3 = class extends _3 {
20978
21548
  get needed() {
20979
21549
  return this.enabled || this.deps.size > 0;
20980
21550
  }
20981
21551
  constructor(t4, s4, i4, n3) {
20982
- if (super(), e2(this, "enabled", false), e2(this, "skip", /* @__PURE__ */ new Set()), e2(this, "pick", /* @__PURE__ */ new Set()), e2(this, "deps", /* @__PURE__ */ new Set()), e2(this, "translateKeys", false), e2(this, "translateValues", false), e2(this, "reviveValues", false), this.key = t4, this.enabled = s4, this.parse = this.enabled, this.applyInheritables(n3), this.canBeFiltered = P2.includes(t4), this.canBeFiltered && (this.dict = B2.get(t4)), void 0 !== i4)
21552
+ if (super(), e3(this, "enabled", false), e3(this, "skip", /* @__PURE__ */ new Set()), e3(this, "pick", /* @__PURE__ */ new Set()), e3(this, "deps", /* @__PURE__ */ new Set()), e3(this, "translateKeys", false), e3(this, "translateValues", false), e3(this, "reviveValues", false), this.key = t4, this.enabled = s4, this.parse = this.enabled, this.applyInheritables(n3), this.canBeFiltered = P4.includes(t4), this.canBeFiltered && (this.dict = B4.get(t4)), void 0 !== i4)
20983
21553
  if (Array.isArray(i4))
20984
21554
  this.parse = this.enabled = true, this.canBeFiltered && i4.length > 0 && this.translateTagSet(i4, this.pick);
20985
21555
  else if ("object" == typeof i4) {
@@ -20989,11 +21559,11 @@ Uppy plugins must have unique \`id\` options.`;
20989
21559
  }
20990
21560
  this.applyInheritables(i4);
20991
21561
  } else
20992
- true === i4 || false === i4 ? this.parse = this.enabled = i4 : l2(`Invalid options argument: ${i4}`);
21562
+ true === i4 || false === i4 ? this.parse = this.enabled = i4 : l3(`Invalid options argument: ${i4}`);
20993
21563
  }
20994
21564
  applyInheritables(e4) {
20995
21565
  let t4, s4;
20996
- for (t4 of E2)
21566
+ for (t4 of E3)
20997
21567
  s4 = e4[t4], void 0 !== s4 && (this[t4] = s4);
20998
21568
  }
20999
21569
  translateTagSet(e4, t4) {
@@ -21006,66 +21576,66 @@ Uppy plugins must have unique \`id\` options.`;
21006
21576
  t4.add(s4);
21007
21577
  }
21008
21578
  finalizeFilters() {
21009
- !this.enabled && this.deps.size > 0 ? (this.enabled = true, X(this.pick, this.deps)) : this.enabled && this.pick.size > 0 && X(this.pick, this.deps);
21579
+ !this.enabled && this.deps.size > 0 ? (this.enabled = true, X2(this.pick, this.deps)) : this.enabled && this.pick.size > 0 && X2(this.pick, this.deps);
21010
21580
  }
21011
21581
  };
21012
- var N2 = { jfif: false, tiff: true, xmp: false, icc: false, iptc: false, ifd0: true, ifd1: false, exif: true, gps: true, interop: false, ihdr: void 0, makerNote: false, userComment: false, multiSegment: false, skip: [], pick: [], translateKeys: true, translateValues: true, reviveValues: true, sanitize: true, mergeOutput: true, silentErrors: true, chunked: true, firstChunkSize: void 0, firstChunkSizeNode: 512, firstChunkSizeBrowser: 65536, chunkSize: 65536, chunkLimit: 5 };
21582
+ var N3 = { jfif: false, tiff: true, xmp: false, icc: false, iptc: false, ifd0: true, ifd1: false, exif: true, gps: true, interop: false, ihdr: void 0, makerNote: false, userComment: false, multiSegment: false, skip: [], pick: [], translateKeys: true, translateValues: true, reviveValues: true, sanitize: true, mergeOutput: true, silentErrors: true, chunked: true, firstChunkSize: void 0, firstChunkSizeNode: 512, firstChunkSizeBrowser: 65536, chunkSize: 65536, chunkLimit: 5 };
21013
21583
  var $2 = /* @__PURE__ */ new Map();
21014
- var R = class extends _2 {
21584
+ var R = class extends _3 {
21015
21585
  static useCached(e4) {
21016
21586
  let t4 = $2.get(e4);
21017
21587
  return void 0 !== t4 || (t4 = new this(e4), $2.set(e4, t4)), t4;
21018
21588
  }
21019
21589
  constructor(e4) {
21020
- super(), true === e4 ? this.setupFromTrue() : void 0 === e4 ? this.setupFromUndefined() : Array.isArray(e4) ? this.setupFromArray(e4) : "object" == typeof e4 ? this.setupFromObject(e4) : l2(`Invalid options argument ${e4}`), void 0 === this.firstChunkSize && (this.firstChunkSize = s2 ? this.firstChunkSizeBrowser : this.firstChunkSizeNode), this.mergeOutput && (this.ifd1.enabled = false), this.filterNestedSegmentTags(), this.traverseTiffDependencyTree(), this.checkLoadedPlugins();
21590
+ super(), true === e4 ? this.setupFromTrue() : void 0 === e4 ? this.setupFromUndefined() : Array.isArray(e4) ? this.setupFromArray(e4) : "object" == typeof e4 ? this.setupFromObject(e4) : l3(`Invalid options argument ${e4}`), void 0 === this.firstChunkSize && (this.firstChunkSize = s3 ? this.firstChunkSizeBrowser : this.firstChunkSizeNode), this.mergeOutput && (this.ifd1.enabled = false), this.filterNestedSegmentTags(), this.traverseTiffDependencyTree(), this.checkLoadedPlugins();
21021
21591
  }
21022
21592
  setupFromUndefined() {
21023
21593
  let e4;
21024
21594
  for (e4 of L2)
21025
- this[e4] = N2[e4];
21595
+ this[e4] = N3[e4];
21026
21596
  for (e4 of M2)
21027
- this[e4] = N2[e4];
21028
- for (e4 of j2)
21029
- this[e4] = N2[e4];
21030
- for (e4 of F2)
21031
- this[e4] = new D2(e4, N2[e4], void 0, this);
21597
+ this[e4] = N3[e4];
21598
+ for (e4 of j4)
21599
+ this[e4] = N3[e4];
21600
+ for (e4 of F4)
21601
+ this[e4] = new D3(e4, N3[e4], void 0, this);
21032
21602
  }
21033
21603
  setupFromTrue() {
21034
21604
  let e4;
21035
21605
  for (e4 of L2)
21036
- this[e4] = N2[e4];
21606
+ this[e4] = N3[e4];
21037
21607
  for (e4 of M2)
21038
- this[e4] = N2[e4];
21039
- for (e4 of j2)
21608
+ this[e4] = N3[e4];
21609
+ for (e4 of j4)
21040
21610
  this[e4] = true;
21041
- for (e4 of F2)
21042
- this[e4] = new D2(e4, true, void 0, this);
21611
+ for (e4 of F4)
21612
+ this[e4] = new D3(e4, true, void 0, this);
21043
21613
  }
21044
21614
  setupFromArray(e4) {
21045
21615
  let t4;
21046
21616
  for (t4 of L2)
21047
- this[t4] = N2[t4];
21617
+ this[t4] = N3[t4];
21048
21618
  for (t4 of M2)
21049
- this[t4] = N2[t4];
21050
- for (t4 of j2)
21051
- this[t4] = N2[t4];
21052
- for (t4 of F2)
21053
- this[t4] = new D2(t4, false, void 0, this);
21054
- this.setupGlobalFilters(e4, void 0, P2);
21619
+ this[t4] = N3[t4];
21620
+ for (t4 of j4)
21621
+ this[t4] = N3[t4];
21622
+ for (t4 of F4)
21623
+ this[t4] = new D3(t4, false, void 0, this);
21624
+ this.setupGlobalFilters(e4, void 0, P4);
21055
21625
  }
21056
21626
  setupFromObject(e4) {
21057
21627
  let t4;
21058
- for (t4 of (P2.ifd0 = P2.ifd0 || P2.image, P2.ifd1 = P2.ifd1 || P2.thumbnail, Object.assign(this, e4), L2))
21059
- this[t4] = W(e4[t4], N2[t4]);
21628
+ for (t4 of (P4.ifd0 = P4.ifd0 || P4.image, P4.ifd1 = P4.ifd1 || P4.thumbnail, Object.assign(this, e4), L2))
21629
+ this[t4] = W2(e4[t4], N3[t4]);
21060
21630
  for (t4 of M2)
21061
- this[t4] = W(e4[t4], N2[t4]);
21062
- for (t4 of j2)
21063
- this[t4] = W(e4[t4], N2[t4]);
21064
- for (t4 of z2)
21065
- this[t4] = new D2(t4, N2[t4], e4[t4], this);
21066
- for (t4 of P2)
21067
- this[t4] = new D2(t4, N2[t4], e4[t4], this.tiff);
21068
- this.setupGlobalFilters(e4.pick, e4.skip, P2, F2), true === e4.tiff ? this.batchEnableWithBool(P2, true) : false === e4.tiff ? this.batchEnableWithUserValue(P2, e4) : Array.isArray(e4.tiff) ? this.setupGlobalFilters(e4.tiff, void 0, P2) : "object" == typeof e4.tiff && this.setupGlobalFilters(e4.tiff.pick, e4.tiff.skip, P2);
21631
+ this[t4] = W2(e4[t4], N3[t4]);
21632
+ for (t4 of j4)
21633
+ this[t4] = W2(e4[t4], N3[t4]);
21634
+ for (t4 of z3)
21635
+ this[t4] = new D3(t4, N3[t4], e4[t4], this);
21636
+ for (t4 of P4)
21637
+ this[t4] = new D3(t4, N3[t4], e4[t4], this.tiff);
21638
+ this.setupGlobalFilters(e4.pick, e4.skip, P4, F4), true === e4.tiff ? this.batchEnableWithBool(P4, true) : false === e4.tiff ? this.batchEnableWithUserValue(P4, e4) : Array.isArray(e4.tiff) ? this.setupGlobalFilters(e4.tiff, void 0, P4) : "object" == typeof e4.tiff && this.setupGlobalFilters(e4.tiff.pick, e4.tiff.skip, P4);
21069
21639
  }
21070
21640
  batchEnableWithBool(e4, t4) {
21071
21641
  for (let s4 of e4)
@@ -21081,13 +21651,13 @@ Uppy plugins must have unique \`id\` options.`;
21081
21651
  if (e4 && e4.length) {
21082
21652
  for (let e5 of i4)
21083
21653
  this[e5].enabled = false;
21084
- let t5 = K(e4, s4);
21654
+ let t5 = K3(e4, s4);
21085
21655
  for (let [e5, s5] of t5)
21086
- X(this[e5].pick, s5), this[e5].enabled = true;
21656
+ X2(this[e5].pick, s5), this[e5].enabled = true;
21087
21657
  } else if (t4 && t4.length) {
21088
- let e5 = K(t4, s4);
21658
+ let e5 = K3(t4, s4);
21089
21659
  for (let [t5, s5] of e5)
21090
- X(this[t5].skip, s5);
21660
+ X2(this[t5].skip, s5);
21091
21661
  }
21092
21662
  }
21093
21663
  filterNestedSegmentTags() {
@@ -21096,56 +21666,56 @@ Uppy plugins must have unique \`id\` options.`;
21096
21666
  }
21097
21667
  traverseTiffDependencyTree() {
21098
21668
  let { ifd0: e4, exif: t4, gps: s4, interop: i4 } = this;
21099
- i4.needed && (t4.deps.add(40965), e4.deps.add(40965)), t4.needed && e4.deps.add(34665), s4.needed && e4.deps.add(34853), this.tiff.enabled = P2.some((e5) => true === this[e5].enabled) || this.makerNote || this.userComment;
21100
- for (let e5 of P2)
21669
+ i4.needed && (t4.deps.add(40965), e4.deps.add(40965)), t4.needed && e4.deps.add(34665), s4.needed && e4.deps.add(34853), this.tiff.enabled = P4.some((e5) => true === this[e5].enabled) || this.makerNote || this.userComment;
21670
+ for (let e5 of P4)
21101
21671
  this[e5].finalizeFilters();
21102
21672
  }
21103
21673
  get onlyTiff() {
21104
- return !T2.map((e4) => this[e4].enabled).some((e4) => true === e4) && this.tiff.enabled;
21674
+ return !T4.map((e4) => this[e4].enabled).some((e4) => true === e4) && this.tiff.enabled;
21105
21675
  }
21106
21676
  checkLoadedPlugins() {
21107
- for (let e4 of z2)
21108
- this[e4].enabled && !y2.has(e4) && p2("segment parser", e4);
21677
+ for (let e4 of z3)
21678
+ this[e4].enabled && !y3.has(e4) && p3("segment parser", e4);
21109
21679
  }
21110
21680
  };
21111
- function K(e4, t4) {
21681
+ function K3(e4, t4) {
21112
21682
  let s4, i4, n3, r4, a4 = [];
21113
21683
  for (n3 of t4) {
21114
- for (r4 of (s4 = B2.get(n3), i4 = [], s4))
21684
+ for (r4 of (s4 = B4.get(n3), i4 = [], s4))
21115
21685
  (e4.includes(r4[0]) || e4.includes(r4[1])) && i4.push(r4[0]);
21116
21686
  i4.length && a4.push([n3, i4]);
21117
21687
  }
21118
21688
  return a4;
21119
21689
  }
21120
- function W(e4, t4) {
21690
+ function W2(e4, t4) {
21121
21691
  return void 0 !== e4 ? e4 : void 0 !== t4 ? t4 : void 0;
21122
21692
  }
21123
- function X(e4, t4) {
21693
+ function X2(e4, t4) {
21124
21694
  for (let s4 of t4)
21125
21695
  e4.add(s4);
21126
21696
  }
21127
- e2(R, "default", N2);
21128
- var H2 = class {
21697
+ e3(R, "default", N3);
21698
+ var H3 = class {
21129
21699
  constructor(t4) {
21130
- e2(this, "parsers", {}), e2(this, "output", {}), e2(this, "errors", []), e2(this, "pushToErrors", (e4) => this.errors.push(e4)), this.options = R.useCached(t4);
21700
+ e3(this, "parsers", {}), e3(this, "output", {}), e3(this, "errors", []), e3(this, "pushToErrors", (e4) => this.errors.push(e4)), this.options = R.useCached(t4);
21131
21701
  }
21132
21702
  async read(e4) {
21133
21703
  this.file = await function(e5, t4) {
21134
- return "string" == typeof e5 ? k2(e5, t4) : s2 && !i2 && e5 instanceof HTMLImageElement ? k2(e5.src, t4) : e5 instanceof Uint8Array || e5 instanceof ArrayBuffer || e5 instanceof DataView ? new c2(e5) : s2 && e5 instanceof Blob ? O2(e5, t4, "blob", A2) : void l2("Invalid input argument");
21704
+ return "string" == typeof e5 ? k3(e5, t4) : s3 && !i3 && e5 instanceof HTMLImageElement ? k3(e5.src, t4) : e5 instanceof Uint8Array || e5 instanceof ArrayBuffer || e5 instanceof DataView ? new c3(e5) : s3 && e5 instanceof Blob ? O2(e5, t4, "blob", A4) : void l3("Invalid input argument");
21135
21705
  }(e4, this.options);
21136
21706
  }
21137
21707
  setup() {
21138
21708
  if (this.fileParser)
21139
21709
  return;
21140
21710
  let { file: e4 } = this, t4 = e4.getUint16(0);
21141
- for (let [s4, i4] of m2)
21711
+ for (let [s4, i4] of m3)
21142
21712
  if (i4.canHandle(e4, t4))
21143
21713
  return this.fileParser = new i4(this.options, this.file, this.parsers), e4[s4] = true;
21144
- this.file.close && this.file.close(), l2("Unknown file format");
21714
+ this.file.close && this.file.close(), l3("Unknown file format");
21145
21715
  }
21146
21716
  async parse() {
21147
21717
  let { output: e4, errors: t4 } = this;
21148
- return this.setup(), this.options.silentErrors ? (await this.executeParsers().catch(this.pushToErrors), t4.push(...this.fileParser.errors)) : await this.executeParsers(), this.file.close && this.file.close(), this.options.silentErrors && t4.length > 0 && (e4.errors = t4), f2(s4 = e4) ? void 0 : s4;
21718
+ return this.setup(), this.options.silentErrors ? (await this.executeParsers().catch(this.pushToErrors), t4.push(...this.fileParser.errors)) : await this.executeParsers(), this.file.close && this.file.close(), this.options.silentErrors && t4.length > 0 && (e4.errors = t4), f3(s4 = e4) ? void 0 : s4;
21149
21719
  var s4;
21150
21720
  }
21151
21721
  async executeParsers() {
@@ -21159,7 +21729,7 @@ Uppy plugins must have unique \`id\` options.`;
21159
21729
  }
21160
21730
  async extractThumbnail() {
21161
21731
  this.setup();
21162
- let { options: e4, file: t4 } = this, s4 = y2.get("tiff", e4);
21732
+ let { options: e4, file: t4 } = this, s4 = y3.get("tiff", e4);
21163
21733
  var i4;
21164
21734
  if (t4.tiff ? i4 = { start: 0, type: "tiff" } : t4.jpeg && (i4 = await this.fileParser.getOrFindSegment("tiff")), void 0 === i4)
21165
21735
  return;
@@ -21168,11 +21738,11 @@ Uppy plugins must have unique \`id\` options.`;
21168
21738
  }
21169
21739
  };
21170
21740
  async function Y(e4, t4) {
21171
- let s4 = new H2(t4);
21741
+ let s4 = new H3(t4);
21172
21742
  return await s4.read(e4), s4.parse();
21173
21743
  }
21174
- var G = Object.freeze({ __proto__: null, parse: Y, Exifr: H2, fileParsers: m2, segmentParsers: y2, fileReaders: b2, tagKeys: B2, tagValues: V2, tagRevivers: I2, createDictionary: x2, extendDictionary: C2, fetchUrlAsArrayBuffer: S2, readBlobAsArrayBuffer: A2, chunkedProps: L2, otherSegments: T2, segments: z2, tiffBlocks: P2, segmentsAndBlocks: F2, tiffExtractables: j2, inheritables: E2, allFormatters: M2, Options: R });
21175
- var J2 = class {
21744
+ var G3 = Object.freeze({ __proto__: null, parse: Y, Exifr: H3, fileParsers: m3, segmentParsers: y3, fileReaders: b2, tagKeys: B4, tagValues: V3, tagRevivers: I2, createDictionary: x3, extendDictionary: C3, fetchUrlAsArrayBuffer: S2, readBlobAsArrayBuffer: A4, chunkedProps: L2, otherSegments: T4, segments: z3, tiffBlocks: P4, segmentsAndBlocks: F4, tiffExtractables: j4, inheritables: E3, allFormatters: M2, Options: R });
21745
+ var J3 = class {
21176
21746
  static findPosition(e4, t4) {
21177
21747
  let s4 = e4.getUint16(t4 + 2) + 2, i4 = "function" == typeof this.headerLength ? this.headerLength(e4, t4, s4) : this.headerLength, n3 = t4 + i4, r4 = s4 - i4;
21178
21748
  return { offset: t4, length: s4, headerLength: i4, start: n3, size: r4, end: n3 + r4 };
@@ -21181,10 +21751,10 @@ Uppy plugins must have unique \`id\` options.`;
21181
21751
  return new this(e4, new R({ [this.type]: t4 }), e4).parse();
21182
21752
  }
21183
21753
  normalizeInput(e4) {
21184
- return e4 instanceof c2 ? e4 : new c2(e4);
21754
+ return e4 instanceof c3 ? e4 : new c3(e4);
21185
21755
  }
21186
21756
  constructor(t4, s4 = {}, i4) {
21187
- e2(this, "errors", []), e2(this, "raw", /* @__PURE__ */ new Map()), e2(this, "handleError", (e4) => {
21757
+ e3(this, "errors", []), e3(this, "raw", /* @__PURE__ */ new Map()), e3(this, "handleError", (e4) => {
21188
21758
  if (!this.options.silentErrors)
21189
21759
  throw e4;
21190
21760
  this.errors.push(e4.message);
@@ -21197,7 +21767,7 @@ Uppy plugins must have unique \`id\` options.`;
21197
21767
  return this.translated ? this.translated : this.raw ? Object.fromEntries(this.raw) : void 0;
21198
21768
  }
21199
21769
  translateBlock(e4, t4) {
21200
- let s4 = I2.get(t4), i4 = V2.get(t4), n3 = B2.get(t4), r4 = this.options[t4], a4 = r4.reviveValues && !!s4, h4 = r4.translateValues && !!i4, f4 = r4.translateKeys && !!n3, l4 = {};
21770
+ let s4 = I2.get(t4), i4 = V3.get(t4), n3 = B4.get(t4), r4 = this.options[t4], a4 = r4.reviveValues && !!s4, h4 = r4.translateValues && !!i4, f4 = r4.translateKeys && !!n3, l4 = {};
21201
21771
  for (let [t5, r5] of e4)
21202
21772
  a4 && s4.has(t5) ? r5 = s4.get(t5)(r5) : h4 && i4.has(t5) && (r5 = this.translateValue(r5, i4.get(t5))), f4 && n3.has(t5) && (t5 = n3.get(t5) || t5), l4[t5] = r5;
21203
21773
  return l4;
@@ -21214,21 +21784,21 @@ Uppy plugins must have unique \`id\` options.`;
21214
21784
  e4[t4] ? Object.assign(e4[t4], s4) : e4[t4] = s4;
21215
21785
  }
21216
21786
  };
21217
- e2(J2, "headerLength", 4), e2(J2, "type", void 0), e2(J2, "multiSegment", false), e2(J2, "canHandle", () => false);
21218
- function q2(e4) {
21787
+ e3(J3, "headerLength", 4), e3(J3, "type", void 0), e3(J3, "multiSegment", false), e3(J3, "canHandle", () => false);
21788
+ function q4(e4) {
21219
21789
  return 192 === e4 || 194 === e4 || 196 === e4 || 219 === e4 || 221 === e4 || 218 === e4 || 254 === e4;
21220
21790
  }
21221
- function Q(e4) {
21791
+ function Q2(e4) {
21222
21792
  return e4 >= 224 && e4 <= 239;
21223
21793
  }
21224
21794
  function Z(e4, t4, s4) {
21225
- for (let [i4, n3] of y2)
21795
+ for (let [i4, n3] of y3)
21226
21796
  if (n3.canHandle(e4, t4, s4))
21227
21797
  return i4;
21228
21798
  }
21229
21799
  var ee2 = class extends class {
21230
21800
  constructor(t4, s4, i4) {
21231
- e2(this, "errors", []), e2(this, "ensureSegmentChunk", async (e4) => {
21801
+ e3(this, "errors", []), e3(this, "ensureSegmentChunk", async (e4) => {
21232
21802
  let t5 = e4.start, s5 = e4.size || 65536;
21233
21803
  if (this.file.chunked)
21234
21804
  if (this.file.available(t5, s5))
@@ -21237,10 +21807,10 @@ Uppy plugins must have unique \`id\` options.`;
21237
21807
  try {
21238
21808
  e4.chunk = await this.file.readChunk(t5, s5);
21239
21809
  } catch (t6) {
21240
- l2(`Couldn't read segment: ${JSON.stringify(e4)}. ${t6.message}`);
21810
+ l3(`Couldn't read segment: ${JSON.stringify(e4)}. ${t6.message}`);
21241
21811
  }
21242
21812
  else
21243
- this.file.byteLength > t5 + s5 ? e4.chunk = this.file.subarray(t5, s5) : void 0 === e4.size ? e4.chunk = this.file.subarray(t5) : l2("Segment unreachable: " + JSON.stringify(e4));
21813
+ this.file.byteLength > t5 + s5 ? e4.chunk = this.file.subarray(t5, s5) : void 0 === e4.size ? e4.chunk = this.file.subarray(t5) : l3("Segment unreachable: " + JSON.stringify(e4));
21244
21814
  return e4.chunk;
21245
21815
  }), this.extendOptions && this.extendOptions(t4), this.options = t4, this.file = s4, this.parsers = i4;
21246
21816
  }
@@ -21248,7 +21818,7 @@ Uppy plugins must have unique \`id\` options.`;
21248
21818
  this.options[e4].enabled && this.createParser(e4, t4);
21249
21819
  }
21250
21820
  createParser(e4, t4) {
21251
- let s4 = new (y2.get(e4))(t4, this.options, this.file);
21821
+ let s4 = new (y3.get(e4))(t4, this.options, this.file);
21252
21822
  return this.parsers[e4] = s4;
21253
21823
  }
21254
21824
  createParsers(e4) {
@@ -21266,7 +21836,7 @@ Uppy plugins must have unique \`id\` options.`;
21266
21836
  }
21267
21837
  } {
21268
21838
  constructor(...t4) {
21269
- super(...t4), e2(this, "appSegments", []), e2(this, "jpegSegments", []), e2(this, "unknownSegments", []);
21839
+ super(...t4), e3(this, "appSegments", []), e3(this, "jpegSegments", []), e3(this, "unknownSegments", []);
21270
21840
  }
21271
21841
  static canHandle(e4, t4) {
21272
21842
  return 65496 === t4;
@@ -21275,13 +21845,13 @@ Uppy plugins must have unique \`id\` options.`;
21275
21845
  await this.findAppSegments(), await this.readSegments(this.appSegments), this.mergeMultiSegments(), this.createParsers(this.mergedAppSegments || this.appSegments);
21276
21846
  }
21277
21847
  setupSegmentFinderArgs(e4) {
21278
- true === e4 ? (this.findAll = true, this.wanted = new Set(y2.keyList())) : (e4 = void 0 === e4 ? y2.keyList().filter((e5) => this.options[e5].enabled) : e4.filter((e5) => this.options[e5].enabled && y2.has(e5)), this.findAll = false, this.remaining = new Set(e4), this.wanted = new Set(e4)), this.unfinishedMultiSegment = false;
21848
+ true === e4 ? (this.findAll = true, this.wanted = new Set(y3.keyList())) : (e4 = void 0 === e4 ? y3.keyList().filter((e5) => this.options[e5].enabled) : e4.filter((e5) => this.options[e5].enabled && y3.has(e5)), this.findAll = false, this.remaining = new Set(e4), this.wanted = new Set(e4)), this.unfinishedMultiSegment = false;
21279
21849
  }
21280
21850
  async findAppSegments(e4 = 0, t4) {
21281
21851
  this.setupSegmentFinderArgs(t4);
21282
21852
  let { file: s4, findAll: i4, wanted: n3, remaining: r4 } = this;
21283
21853
  if (!i4 && this.file.chunked && (i4 = Array.from(n3).some((e5) => {
21284
- let t5 = y2.get(e5), s5 = this.options[e5];
21854
+ let t5 = y3.get(e5), s5 = this.options[e5];
21285
21855
  return t5.multiSegment && s5.multiSegment;
21286
21856
  }), i4 && await this.file.readWhole()), e4 = this.findAppSegmentsInRange(e4, s4.byteLength), !this.options.onlyTiff && s4.chunked) {
21287
21857
  let t5 = false;
@@ -21297,11 +21867,11 @@ Uppy plugins must have unique \`id\` options.`;
21297
21867
  let s4, i4, n3, r4, a4, h4, { file: f4, findAll: l4, wanted: o4, remaining: u4, options: d4 } = this;
21298
21868
  for (; e4 < t4; e4++)
21299
21869
  if (255 === f4.getUint8(e4)) {
21300
- if (s4 = f4.getUint8(e4 + 1), Q(s4)) {
21301
- if (i4 = f4.getUint16(e4 + 2), n3 = Z(f4, e4, i4), n3 && o4.has(n3) && (r4 = y2.get(n3), a4 = r4.findPosition(f4, e4), h4 = d4[n3], a4.type = n3, this.appSegments.push(a4), !l4 && (r4.multiSegment && h4.multiSegment ? (this.unfinishedMultiSegment = a4.chunkNumber < a4.chunkCount, this.unfinishedMultiSegment || u4.delete(n3)) : u4.delete(n3), 0 === u4.size)))
21870
+ if (s4 = f4.getUint8(e4 + 1), Q2(s4)) {
21871
+ if (i4 = f4.getUint16(e4 + 2), n3 = Z(f4, e4, i4), n3 && o4.has(n3) && (r4 = y3.get(n3), a4 = r4.findPosition(f4, e4), h4 = d4[n3], a4.type = n3, this.appSegments.push(a4), !l4 && (r4.multiSegment && h4.multiSegment ? (this.unfinishedMultiSegment = a4.chunkNumber < a4.chunkCount, this.unfinishedMultiSegment || u4.delete(n3)) : u4.delete(n3), 0 === u4.size)))
21302
21872
  break;
21303
- d4.recordUnknownSegments && (a4 = J2.findPosition(f4, e4), a4.marker = s4, this.unknownSegments.push(a4)), e4 += i4 + 1;
21304
- } else if (q2(s4)) {
21873
+ d4.recordUnknownSegments && (a4 = J3.findPosition(f4, e4), a4.marker = s4, this.unknownSegments.push(a4)), e4 += i4 + 1;
21874
+ } else if (q4(s4)) {
21305
21875
  if (i4 = f4.getUint16(e4 + 2), 218 === s4 && false !== d4.stopAfterSos)
21306
21876
  return;
21307
21877
  d4.recordJpegSegments && this.jpegSegments.push({ offset: e4, length: i4, marker: s4 }), e4 += i4 + 1;
@@ -21319,7 +21889,7 @@ Uppy plugins must have unique \`id\` options.`;
21319
21889
  return Array.from(r4);
21320
21890
  }(this.appSegments, "type");
21321
21891
  this.mergedAppSegments = e4.map(([e5, t4]) => {
21322
- let s4 = y2.get(e5, this.options);
21892
+ let s4 = y3.get(e5, this.options);
21323
21893
  if (s4.handleMultiSegments) {
21324
21894
  return { type: e5, chunk: s4.handleMultiSegments(t4) };
21325
21895
  }
@@ -21334,9 +21904,9 @@ Uppy plugins must have unique \`id\` options.`;
21334
21904
  return void 0 === t4 && (await this.findAppSegments(0, [e4]), t4 = this.getSegment(e4)), t4;
21335
21905
  }
21336
21906
  };
21337
- e2(ee2, "type", "jpeg"), m2.set("jpeg", ee2);
21907
+ e3(ee2, "type", "jpeg"), m3.set("jpeg", ee2);
21338
21908
  var te = [void 0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 4];
21339
- var se = class extends J2 {
21909
+ var se = class extends J3 {
21340
21910
  parseHeader() {
21341
21911
  var e4 = this.chunk.getUint16();
21342
21912
  18761 === e4 ? this.le = true : 19789 === e4 && (this.le = false), this.chunk.le = this.le, this.headerParsed = true;
@@ -21359,7 +21929,7 @@ Uppy plugins must have unique \`id\` options.`;
21359
21929
  }
21360
21930
  parseTag(e4, t4, s4) {
21361
21931
  let { chunk: i4 } = this, n3 = i4.getUint16(e4 + 2), r4 = i4.getUint32(e4 + 4), a4 = te[n3];
21362
- if (a4 * r4 <= 4 ? e4 += 8 : e4 = i4.getUint32(e4 + 8), (n3 < 1 || n3 > 13) && l2(`Invalid TIFF value type. block: ${s4.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4}`), e4 > i4.byteLength && l2(`Invalid TIFF value offset. block: ${s4.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4} is outside of chunk size ${i4.byteLength}`), 1 === n3)
21932
+ if (a4 * r4 <= 4 ? e4 += 8 : e4 = i4.getUint32(e4 + 8), (n3 < 1 || n3 > 13) && l3(`Invalid TIFF value type. block: ${s4.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4}`), e4 > i4.byteLength && l3(`Invalid TIFF value offset. block: ${s4.toUpperCase()}, tag: ${t4.toString(16)}, type: ${n3}, offset ${e4} is outside of chunk size ${i4.byteLength}`), 1 === n3)
21363
21933
  return i4.getUint8Array(e4, r4);
21364
21934
  if (2 === n3)
21365
21935
  return "" === (h4 = function(e5) {
@@ -21430,7 +22000,7 @@ Uppy plugins must have unique \`id\` options.`;
21430
22000
  case 13:
21431
22001
  return s4.getUint32(t4);
21432
22002
  default:
21433
- l2(`Invalid tiff type ${e4}`);
22003
+ l3(`Invalid tiff type ${e4}`);
21434
22004
  }
21435
22005
  }
21436
22006
  };
@@ -21465,8 +22035,8 @@ Uppy plugins must have unique \`id\` options.`;
21465
22035
  if (this.ifd0)
21466
22036
  return;
21467
22037
  let { file: e4 } = this;
21468
- this.findIfd0Offset(), this.ifd0Offset < 8 && l2("Malformed EXIF data"), !e4.chunked && this.ifd0Offset > e4.byteLength && l2(`IFD0 offset points to outside of file.
21469
- this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tiff && await e4.ensureChunk(this.ifd0Offset, o2(this.options));
22038
+ this.findIfd0Offset(), this.ifd0Offset < 8 && l3("Malformed EXIF data"), !e4.chunked && this.ifd0Offset > e4.byteLength && l3(`IFD0 offset points to outside of file.
22039
+ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tiff && await e4.ensureChunk(this.ifd0Offset, o3(this.options));
21470
22040
  let t4 = this.parseBlock(this.ifd0Offset, "ifd0");
21471
22041
  return 0 !== t4.size ? (this.exifOffset = t4.get(34665), this.interopOffset = t4.get(40965), this.gpsOffset = t4.get(34853), this.xmp = t4.get(700), this.iptc = t4.get(33723), this.icc = t4.get(34675), this.options.sanitize && (t4.delete(34665), t4.delete(40965), t4.delete(34853), t4.delete(700), t4.delete(33723), t4.delete(34675)), t4) : void 0;
21472
22042
  }
@@ -21475,7 +22045,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21475
22045
  return;
21476
22046
  if (this.ifd0 || await this.parseIfd0Block(), void 0 === this.exifOffset)
21477
22047
  return;
21478
- this.file.tiff && await this.file.ensureChunk(this.exifOffset, o2(this.options));
22048
+ this.file.tiff && await this.file.ensureChunk(this.exifOffset, o3(this.options));
21479
22049
  let e4 = this.parseBlock(this.exifOffset, "exif");
21480
22050
  return this.interopOffset || (this.interopOffset = e4.get(40965)), this.makerNote = e4.get(37500), this.userComment = e4.get(37510), this.options.sanitize && (e4.delete(40965), e4.delete(37500), e4.delete(37510)), this.unpack(e4, 41728), this.unpack(e4, 41729), e4;
21481
22051
  }
@@ -21513,8 +22083,8 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21513
22083
  }
21514
22084
  createOutput() {
21515
22085
  let e4, t4, s4, i4 = {};
21516
- for (t4 of P2)
21517
- if (e4 = this[t4], !f2(e4))
22086
+ for (t4 of P4)
22087
+ if (e4 = this[t4], !f3(e4))
21518
22088
  if (s4 = this.canTranslate ? this.translateBlock(e4, t4) : Object.fromEntries(e4), this.options.mergeOutput) {
21519
22089
  if ("ifd1" === t4)
21520
22090
  continue;
@@ -21535,14 +22105,14 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21535
22105
  var n3 = e4 + t4 / 60 + s4 / 3600;
21536
22106
  return "S" !== i4 && "W" !== i4 || (n3 *= -1), n3;
21537
22107
  }
21538
- e2(ie, "type", "tiff"), e2(ie, "headerLength", 10), y2.set("tiff", ie);
21539
- var re = Object.freeze({ __proto__: null, default: G, Exifr: H2, fileParsers: m2, segmentParsers: y2, fileReaders: b2, tagKeys: B2, tagValues: V2, tagRevivers: I2, createDictionary: x2, extendDictionary: C2, fetchUrlAsArrayBuffer: S2, readBlobAsArrayBuffer: A2, chunkedProps: L2, otherSegments: T2, segments: z2, tiffBlocks: P2, segmentsAndBlocks: F2, tiffExtractables: j2, inheritables: E2, allFormatters: M2, Options: R, parse: Y });
22108
+ e3(ie, "type", "tiff"), e3(ie, "headerLength", 10), y3.set("tiff", ie);
22109
+ var re = Object.freeze({ __proto__: null, default: G3, Exifr: H3, fileParsers: m3, segmentParsers: y3, fileReaders: b2, tagKeys: B4, tagValues: V3, tagRevivers: I2, createDictionary: x3, extendDictionary: C3, fetchUrlAsArrayBuffer: S2, readBlobAsArrayBuffer: A4, chunkedProps: L2, otherSegments: T4, segments: z3, tiffBlocks: P4, segmentsAndBlocks: F4, tiffExtractables: j4, inheritables: E3, allFormatters: M2, Options: R, parse: Y });
21540
22110
  var ae = { ifd0: false, ifd1: false, exif: false, gps: false, interop: false, sanitize: false, reviveValues: true, translateKeys: false, translateValues: false, mergeOutput: false };
21541
22111
  var he = Object.assign({}, ae, { firstChunkSize: 4e4, gps: [1, 2, 3, 4] });
21542
22112
  var le = Object.assign({}, ae, { tiff: false, ifd1: true, mergeOutput: false });
21543
22113
  var de = Object.assign({}, ae, { firstChunkSize: 4e4, ifd0: [274] });
21544
22114
  async function ce(e4) {
21545
- let t4 = new H2(de);
22115
+ let t4 = new H3(de);
21546
22116
  await t4.read(e4);
21547
22117
  let s4 = await t4.parse();
21548
22118
  if (s4 && s4.ifd0)
@@ -21575,9 +22145,9 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21575
22145
  let t4 = await ce(e4);
21576
22146
  return Object.assign({ canvas: ge, css: me }, pe[t4]);
21577
22147
  }
21578
- var be = class extends c2 {
22148
+ var be = class extends c3 {
21579
22149
  constructor(...t4) {
21580
- super(...t4), e2(this, "ranges", new we()), 0 !== this.byteLength && this.ranges.add(0, this.byteLength);
22150
+ super(...t4), e3(this, "ranges", new we()), 0 !== this.byteLength && this.ranges.add(0, this.byteLength);
21581
22151
  }
21582
22152
  _tryExtend(e4, t4, s4) {
21583
22153
  if (0 === e4 && 0 === this.byteLength && s4) {
@@ -21593,7 +22163,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21593
22163
  }
21594
22164
  _extend(e4) {
21595
22165
  let t4;
21596
- t4 = a2 ? r2.allocUnsafe(e4) : new Uint8Array(e4);
22166
+ t4 = a3 ? r3.allocUnsafe(e4) : new Uint8Array(e4);
21597
22167
  let s4 = new DataView(t4.buffer, t4.byteOffset, t4.byteLength);
21598
22168
  return t4.set(new Uint8Array(this.buffer, this.byteOffset, this.byteLength), 0), { uintView: t4, dataView: s4 };
21599
22169
  }
@@ -21614,7 +22184,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21614
22184
  };
21615
22185
  var we = class {
21616
22186
  constructor() {
21617
- e2(this, "list", []);
22187
+ e3(this, "list", []);
21618
22188
  }
21619
22189
  get length() {
21620
22190
  return this.list.length;
@@ -21638,7 +22208,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21638
22208
  }
21639
22209
  var Oe = class extends be {
21640
22210
  constructor(t4, s4) {
21641
- super(0), e2(this, "chunksRead", 0), this.input = t4, this.options = s4;
22211
+ super(0), e3(this, "chunksRead", 0), this.input = t4, this.options = s4;
21642
22212
  }
21643
22213
  async readWhole() {
21644
22214
  this.chunked = false, await this.readChunk(this.nextChunkOffset);
@@ -21678,14 +22248,14 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21678
22248
  b2.set("blob", class extends Oe {
21679
22249
  async readWhole() {
21680
22250
  this.chunked = false;
21681
- let e4 = await A2(this.input);
22251
+ let e4 = await A4(this.input);
21682
22252
  this._swapArrayBuffer(e4);
21683
22253
  }
21684
22254
  readChunked() {
21685
22255
  return this.chunked = true, this.size = this.input.size, super.readChunked();
21686
22256
  }
21687
22257
  async _readChunk(e4, t4) {
21688
- let s4 = t4 ? e4 + t4 : void 0, i4 = this.input.slice(e4, s4), n3 = await A2(i4);
22258
+ let s4 = t4 ? e4 + t4 : void 0, i4 = this.input.slice(e4, s4), n3 = await A4(i4);
21689
22259
  return this.set(n3, e4, true);
21690
22260
  }
21691
22261
  });
@@ -21920,15 +22490,15 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
21920
22490
  }
21921
22491
  let sW = targetWidth * 2 ** (steps - 1);
21922
22492
  let sH = targetHeight * 2 ** (steps - 1);
21923
- const x3 = 2;
22493
+ const x4 = 2;
21924
22494
  while (steps--) {
21925
22495
  const canvas = document.createElement("canvas");
21926
22496
  canvas.width = sW;
21927
22497
  canvas.height = sH;
21928
22498
  canvas.getContext("2d").drawImage(img, 0, 0, sW, sH);
21929
22499
  img = canvas;
21930
- sW = Math.round(sW / x3);
21931
- sH = Math.round(sH / x3);
22500
+ sW = Math.round(sW / x4);
22501
+ sH = Math.round(sH / x4);
21932
22502
  }
21933
22503
  return img;
21934
22504
  }
@@ -22104,10 +22674,9 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
22104
22674
  }
22105
22675
  async function* getFilesFromDataTransfer(dataTransfer, logDropError) {
22106
22676
  const fileSystemHandles = await Promise.all(Array.from(dataTransfer.items, async (item) => {
22107
- var _fileSystemHandle;
22108
22677
  let fileSystemHandle;
22109
22678
  const getAsEntry = () => typeof item.getAsEntry === "function" ? item.getAsEntry() : item.webkitGetAsEntry();
22110
- (_fileSystemHandle = fileSystemHandle) != null ? _fileSystemHandle : fileSystemHandle = getAsFileSystemHandleFromEntry(getAsEntry(), logDropError);
22679
+ fileSystemHandle != null ? fileSystemHandle : fileSystemHandle = getAsFileSystemHandleFromEntry(getAsEntry(), logDropError);
22111
22680
  return {
22112
22681
  fileSystemHandle,
22113
22682
  lastResortFile: item.getAsFile()
@@ -22166,154 +22735,6 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
22166
22735
  };
22167
22736
  }
22168
22737
 
22169
- // node_modules/preact/hooks/dist/hooks.module.js
22170
- var t3;
22171
- var r3;
22172
- var u3;
22173
- var i3;
22174
- var o3 = 0;
22175
- var f3 = [];
22176
- var c3 = l;
22177
- var e3 = c3.__b;
22178
- var a3 = c3.__r;
22179
- var v3 = c3.diffed;
22180
- var l3 = c3.__c;
22181
- var m3 = c3.unmount;
22182
- var s3 = c3.__;
22183
- function p3(n3, t4) {
22184
- c3.__h && c3.__h(r3, n3, o3 || t4), o3 = 0;
22185
- var u4 = r3.__H || (r3.__H = { __: [], __h: [] });
22186
- return n3 >= u4.__.length && u4.__.push({}), u4.__[n3];
22187
- }
22188
- function d3(n3) {
22189
- return o3 = 1, h3(D3, n3);
22190
- }
22191
- function h3(n3, u4, i4) {
22192
- var o4 = p3(t3++, 2);
22193
- if (o4.t = n3, !o4.__c && (o4.__ = [i4 ? i4(u4) : D3(void 0, u4), function(n4) {
22194
- var t4 = o4.__N ? o4.__N[0] : o4.__[0], r4 = o4.t(t4, n4);
22195
- t4 !== r4 && (o4.__N = [r4, o4.__[1]], o4.__c.setState({}));
22196
- }], o4.__c = r3, !r3.__f)) {
22197
- var f4 = function(n4, t4, r4) {
22198
- if (!o4.__c.__H)
22199
- return true;
22200
- var u5 = o4.__c.__H.__.filter(function(n5) {
22201
- return !!n5.__c;
22202
- });
22203
- if (u5.every(function(n5) {
22204
- return !n5.__N;
22205
- }))
22206
- return !c4 || c4.call(this, n4, t4, r4);
22207
- var i5 = o4.__c.props !== n4;
22208
- return u5.forEach(function(n5) {
22209
- if (n5.__N) {
22210
- var t5 = n5.__[0];
22211
- n5.__ = n5.__N, n5.__N = void 0, t5 !== n5.__[0] && (i5 = true);
22212
- }
22213
- }), c4 && c4.call(this, n4, t4, r4) || i5;
22214
- };
22215
- r3.__f = true;
22216
- var c4 = r3.shouldComponentUpdate, e4 = r3.componentWillUpdate;
22217
- r3.componentWillUpdate = function(n4, t4, r4) {
22218
- if (this.__e) {
22219
- var u5 = c4;
22220
- c4 = void 0, f4(n4, t4, r4), c4 = u5;
22221
- }
22222
- e4 && e4.call(this, n4, t4, r4);
22223
- }, r3.shouldComponentUpdate = f4;
22224
- }
22225
- return o4.__N || o4.__;
22226
- }
22227
- function y3(n3, u4) {
22228
- var i4 = p3(t3++, 3);
22229
- !c3.__s && C3(i4.__H, u4) && (i4.__ = n3, i4.u = u4, r3.__H.__h.push(i4));
22230
- }
22231
- function A3(n3) {
22232
- return o3 = 5, T3(function() {
22233
- return { current: n3 };
22234
- }, []);
22235
- }
22236
- function T3(n3, r4) {
22237
- var u4 = p3(t3++, 7);
22238
- return C3(u4.__H, r4) && (u4.__ = n3(), u4.__H = r4, u4.__h = n3), u4.__;
22239
- }
22240
- function q3(n3, t4) {
22241
- return o3 = 8, T3(function() {
22242
- return n3;
22243
- }, t4);
22244
- }
22245
- function j3() {
22246
- for (var n3; n3 = f3.shift(); )
22247
- if (n3.__P && n3.__H)
22248
- try {
22249
- n3.__H.__h.forEach(z3), n3.__H.__h.forEach(B3), n3.__H.__h = [];
22250
- } catch (t4) {
22251
- n3.__H.__h = [], c3.__e(t4, n3.__v);
22252
- }
22253
- }
22254
- c3.__b = function(n3) {
22255
- r3 = null, e3 && e3(n3);
22256
- }, c3.__ = function(n3, t4) {
22257
- n3 && t4.__k && t4.__k.__m && (n3.__m = t4.__k.__m), s3 && s3(n3, t4);
22258
- }, c3.__r = function(n3) {
22259
- a3 && a3(n3), t3 = 0;
22260
- var i4 = (r3 = n3.__c).__H;
22261
- i4 && (u3 === r3 ? (i4.__h = [], r3.__h = [], i4.__.forEach(function(n4) {
22262
- n4.__N && (n4.__ = n4.__N), n4.u = n4.__N = void 0;
22263
- })) : (i4.__h.forEach(z3), i4.__h.forEach(B3), i4.__h = [], t3 = 0)), u3 = r3;
22264
- }, c3.diffed = function(n3) {
22265
- v3 && v3(n3);
22266
- var t4 = n3.__c;
22267
- t4 && t4.__H && (t4.__H.__h.length && (1 !== f3.push(t4) && i3 === c3.requestAnimationFrame || ((i3 = c3.requestAnimationFrame) || w3)(j3)), t4.__H.__.forEach(function(n4) {
22268
- n4.u && (n4.__H = n4.u), n4.u = void 0;
22269
- })), u3 = r3 = null;
22270
- }, c3.__c = function(n3, t4) {
22271
- t4.some(function(n4) {
22272
- try {
22273
- n4.__h.forEach(z3), n4.__h = n4.__h.filter(function(n5) {
22274
- return !n5.__ || B3(n5);
22275
- });
22276
- } catch (r4) {
22277
- t4.some(function(n5) {
22278
- n5.__h && (n5.__h = []);
22279
- }), t4 = [], c3.__e(r4, n4.__v);
22280
- }
22281
- }), l3 && l3(n3, t4);
22282
- }, c3.unmount = function(n3) {
22283
- m3 && m3(n3);
22284
- var t4, r4 = n3.__c;
22285
- r4 && r4.__H && (r4.__H.__.forEach(function(n4) {
22286
- try {
22287
- z3(n4);
22288
- } catch (n5) {
22289
- t4 = n5;
22290
- }
22291
- }), r4.__H = void 0, t4 && c3.__e(t4, r4.__v));
22292
- };
22293
- var k3 = "function" == typeof requestAnimationFrame;
22294
- function w3(n3) {
22295
- var t4, r4 = function() {
22296
- clearTimeout(u4), k3 && cancelAnimationFrame(t4), setTimeout(n3);
22297
- }, u4 = setTimeout(r4, 100);
22298
- k3 && (t4 = requestAnimationFrame(r4));
22299
- }
22300
- function z3(n3) {
22301
- var t4 = r3, u4 = n3.__c;
22302
- "function" == typeof u4 && (n3.__c = void 0, u4()), r3 = t4;
22303
- }
22304
- function B3(n3) {
22305
- var t4 = r3;
22306
- n3.__c = n3.__(), r3 = t4;
22307
- }
22308
- function C3(n3, t4) {
22309
- return !n3 || n3.length !== t4.length || t4.some(function(t5, r4) {
22310
- return t5 !== n3[r4];
22311
- });
22312
- }
22313
- function D3(n3, t4) {
22314
- return "function" == typeof t4 ? t4(n3) : t4;
22315
- }
22316
-
22317
22738
  // node_modules/@uppy/provider-views/lib/ProviderView/AuthView.js
22318
22739
  function GoogleIcon() {
22319
22740
  return _("svg", {
@@ -22356,7 +22777,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
22356
22777
  onAuth
22357
22778
  } = _ref;
22358
22779
  const isGoogleDrive = pluginName === "Google Drive";
22359
- const onSubmit = q3((e4) => {
22780
+ const onSubmit = q2((e4) => {
22360
22781
  e4.preventDefault();
22361
22782
  onAuth();
22362
22783
  }, [onAuth]);
@@ -22824,8 +23245,8 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
22824
23245
  virtualList,
22825
23246
  utmSource
22826
23247
  } = props;
22827
- const [isShiftKeyPressed, setIsShiftKeyPressed] = d3(false);
22828
- y3(() => {
23248
+ const [isShiftKeyPressed, setIsShiftKeyPressed] = d2(false);
23249
+ y2(() => {
22829
23250
  const handleKeyUp = (e4) => {
22830
23251
  if (e4.key === "Shift")
22831
23252
  setIsShiftKeyPressed(false);
@@ -23630,17 +24051,17 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23630
24051
  const onInput = (e4) => {
23631
24052
  setSearchString(e4.target.value);
23632
24053
  };
23633
- const submit = q3((ev) => {
24054
+ const submit = q2((ev) => {
23634
24055
  ev.preventDefault();
23635
24056
  submitSearchString();
23636
24057
  }, [submitSearchString]);
23637
- const [form] = d3(() => {
24058
+ const [form] = d2(() => {
23638
24059
  const formEl = document.createElement("form");
23639
24060
  formEl.setAttribute("tabindex", "-1");
23640
24061
  formEl.id = nanoid();
23641
24062
  return formEl;
23642
24063
  });
23643
- y3(() => {
24064
+ y2(() => {
23644
24065
  document.body.appendChild(form);
23645
24066
  form.addEventListener("submit", submit);
23646
24067
  return () => {
@@ -23719,10 +24140,10 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23719
24140
  partialTree,
23720
24141
  validateAggregateRestrictions
23721
24142
  } = _ref;
23722
- const aggregateRestrictionError = T3(() => {
24143
+ const aggregateRestrictionError = T2(() => {
23723
24144
  return validateAggregateRestrictions(partialTree);
23724
24145
  }, [partialTree, validateAggregateRestrictions]);
23725
- const nOfSelectedFiles = T3(() => {
24146
+ const nOfSelectedFiles = T2(() => {
23726
24147
  return getNumberOfSelectedFiles_default(partialTree);
23727
24148
  }, [partialTree]);
23728
24149
  if (nOfSelectedFiles === 0) {
@@ -23873,7 +24294,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23873
24294
  return "__private_" + id6++ + "_" + e4;
23874
24295
  }
23875
24296
  var packageJson6 = {
23876
- "version": "4.4.2"
24297
+ "version": "4.4.5"
23877
24298
  };
23878
24299
  function defaultPickerIcon() {
23879
24300
  return _("svg", {
@@ -23932,6 +24353,19 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
23932
24353
  });
23933
24354
  return filtered;
23934
24355
  };
24356
+ this.getBreadcrumbs = () => {
24357
+ const {
24358
+ partialTree,
24359
+ currentFolderId
24360
+ } = this.plugin.getPluginState();
24361
+ return getBreadcrumbs_default(partialTree, currentFolderId);
24362
+ };
24363
+ this.getSelectedAmount = () => {
24364
+ const {
24365
+ partialTree
24366
+ } = this.plugin.getPluginState();
24367
+ return getNumberOfSelectedFiles_default(partialTree);
24368
+ };
23935
24369
  this.validateAggregateRestrictions = (partialTree) => {
23936
24370
  const checkedFiles = partialTree.filter((item) => item.type === "file" && item.status === "checked");
23937
24371
  const uppyFiles = checkedFiles.map((file) => file.data);
@@ -24165,11 +24599,10 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
24165
24599
  }
24166
24600
  const {
24167
24601
  partialTree,
24168
- currentFolderId,
24169
24602
  username,
24170
24603
  searchString
24171
24604
  } = this.plugin.getPluginState();
24172
- const breadcrumbs = getBreadcrumbs_default(partialTree, currentFolderId);
24605
+ const breadcrumbs = this.getBreadcrumbs();
24173
24606
  return _("div", {
24174
24607
  className: (0, import_classnames6.default)("uppy-ProviderBrowser", `uppy-ProviderBrowser-viewType--${opts.viewType}`)
24175
24608
  }, _(Header, {
@@ -24238,7 +24671,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
24238
24671
  // node_modules/@uppy/provider-views/lib/SearchProviderView/SearchProviderView.js
24239
24672
  var import_classnames7 = __toESM(require_classnames(), 1);
24240
24673
  var packageJson7 = {
24241
- "version": "4.4.2"
24674
+ "version": "4.4.5"
24242
24675
  };
24243
24676
  var defaultState = {
24244
24677
  loading: false,
@@ -25552,7 +25985,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
25552
25985
  // Mobile
25553
25986
  71
25554
25987
  ) : 200;
25555
- const rows = T3(() => {
25988
+ const rows = T2(() => {
25556
25989
  const sortByGhostComesFirst = (file1, file2) => Number(files[file2].isGhost) - Number(files[file1].isGhost);
25557
25990
  const fileIds = Object.keys(files);
25558
25991
  if (recoveredState)
@@ -25980,7 +26413,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
25980
26413
  state,
25981
26414
  uppy
25982
26415
  } = _ref;
25983
- const ref = A3(null);
26416
+ const ref = A2(null);
25984
26417
  return _("div", {
25985
26418
  className: (0, import_classnames10.default)("uppy-DashboardContent-panel", className),
25986
26419
  role: "tabpanel",
@@ -26241,8 +26674,8 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26241
26674
  var _file$meta$field$id;
26242
26675
  storedMetaData[field.id] = (_file$meta$field$id = file.meta[field.id]) != null ? _file$meta$field$id : "";
26243
26676
  });
26244
- const [formState, setFormState] = d3(storedMetaData);
26245
- const handleSave = q3((ev) => {
26677
+ const [formState, setFormState] = d2(storedMetaData);
26678
+ const handleSave = q2((ev) => {
26246
26679
  ev.preventDefault();
26247
26680
  saveFileCard(formState, fileCardFor);
26248
26681
  }, [saveFileCard, formState, fileCardFor]);
@@ -26255,13 +26688,13 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26255
26688
  const handleCancel = () => {
26256
26689
  toggleFileCard(false);
26257
26690
  };
26258
- const [form] = d3(() => {
26691
+ const [form] = d2(() => {
26259
26692
  const formEl = document.createElement("form");
26260
26693
  formEl.setAttribute("tabindex", "-1");
26261
26694
  formEl.id = nanoid();
26262
26695
  return formEl;
26263
26696
  });
26264
- y3(() => {
26697
+ y2(() => {
26265
26698
  document.body.appendChild(form);
26266
26699
  form.addEventListener("submit", handleSave);
26267
26700
  return () => {
@@ -26338,11 +26771,11 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26338
26771
  let {
26339
26772
  children
26340
26773
  } = _ref;
26341
- const [cachedChildren, setCachedChildren] = d3(null);
26342
- const [className, setClassName] = d3("");
26343
- const enterTimeoutRef = A3();
26344
- const leaveTimeoutRef = A3();
26345
- const animationFrameRef = A3();
26774
+ const [cachedChildren, setCachedChildren] = d2(null);
26775
+ const [className, setClassName] = d2("");
26776
+ const enterTimeoutRef = A2();
26777
+ const leaveTimeoutRef = A2();
26778
+ const animationFrameRef = A2();
26346
26779
  const handleEnterTransition = () => {
26347
26780
  setClassName(`${transitionName}-enter`);
26348
26781
  cancelAnimationFrame(animationFrameRef.current);
@@ -26368,7 +26801,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26368
26801
  }, duration);
26369
26802
  });
26370
26803
  };
26371
- y3(() => {
26804
+ y2(() => {
26372
26805
  const child = H(children)[0];
26373
26806
  if (cachedChildren === child)
26374
26807
  return;
@@ -26379,7 +26812,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26379
26812
  }
26380
26813
  setCachedChildren(child);
26381
26814
  }, [children, cachedChildren]);
26382
- y3(() => {
26815
+ y2(() => {
26383
26816
  return () => {
26384
26817
  clearTimeout(enterTimeoutRef.current);
26385
26818
  clearTimeout(leaveTimeoutRef.current);
@@ -26681,7 +27114,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
26681
27114
  return "__private_" + id7++ + "_" + e4;
26682
27115
  }
26683
27116
  var packageJson8 = {
26684
- "version": "4.3.2"
27117
+ "version": "4.3.4"
26685
27118
  };
26686
27119
  var memoize = memoizeOne.default || memoizeOne;
26687
27120
  var TAB_KEY = 9;
@@ -28209,7 +28642,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28209
28642
 
28210
28643
  // node_modules/@uppy/image-editor/lib/ImageEditor.js
28211
28644
  var packageJson9 = {
28212
- "version": "3.3.1"
28645
+ "version": "3.3.3"
28213
28646
  };
28214
28647
  var defaultCropperOptions = {
28215
28648
  viewMode: 0,
@@ -28379,13 +28812,13 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28379
28812
  });
28380
28813
  _classPrivateFieldLooseBase8(this, _uppy)[_uppy] = uppy;
28381
28814
  }
28382
- on(event, fn2) {
28383
- _classPrivateFieldLooseBase8(this, _events)[_events].push([event, fn2]);
28384
- return _classPrivateFieldLooseBase8(this, _uppy)[_uppy].on(event, fn2);
28815
+ on(event, fn3) {
28816
+ _classPrivateFieldLooseBase8(this, _events)[_events].push([event, fn3]);
28817
+ return _classPrivateFieldLooseBase8(this, _uppy)[_uppy].on(event, fn3);
28385
28818
  }
28386
28819
  remove() {
28387
- for (const [event, fn2] of _classPrivateFieldLooseBase8(this, _events)[_events].splice(0)) {
28388
- _classPrivateFieldLooseBase8(this, _uppy)[_uppy].off(event, fn2);
28820
+ for (const [event, fn3] of _classPrivateFieldLooseBase8(this, _events)[_events].splice(0)) {
28821
+ _classPrivateFieldLooseBase8(this, _uppy)[_uppy].off(event, fn3);
28389
28822
  }
28390
28823
  }
28391
28824
  onFilePause(fileID, cb) {
@@ -28563,20 +28996,20 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28563
28996
  this.limit = limit;
28564
28997
  }
28565
28998
  }
28566
- run(fn2, queueOptions) {
28999
+ run(fn3, queueOptions) {
28567
29000
  if (!_classPrivateFieldLooseBase9(this, _paused)[_paused] && _classPrivateFieldLooseBase9(this, _activeRequests)[_activeRequests] < this.limit) {
28568
- return _classPrivateFieldLooseBase9(this, _call)[_call](fn2);
29001
+ return _classPrivateFieldLooseBase9(this, _call)[_call](fn3);
28569
29002
  }
28570
- return _classPrivateFieldLooseBase9(this, _queue)[_queue](fn2, queueOptions);
29003
+ return _classPrivateFieldLooseBase9(this, _queue)[_queue](fn3, queueOptions);
28571
29004
  }
28572
- wrapSyncFunction(fn2, queueOptions) {
29005
+ wrapSyncFunction(fn3, queueOptions) {
28573
29006
  var _this = this;
28574
29007
  return function() {
28575
29008
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28576
29009
  args[_key] = arguments[_key];
28577
29010
  }
28578
29011
  const queuedRequest = _this.run(() => {
28579
- fn2(...args);
29012
+ fn3(...args);
28580
29013
  queueMicrotask(() => queuedRequest.done());
28581
29014
  return () => {
28582
29015
  };
@@ -28589,7 +29022,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28589
29022
  };
28590
29023
  };
28591
29024
  }
28592
- wrapPromiseFunction(fn2, queueOptions) {
29025
+ wrapPromiseFunction(fn3, queueOptions) {
28593
29026
  var _this2 = this;
28594
29027
  return function() {
28595
29028
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
@@ -28601,7 +29034,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28601
29034
  let cancelError;
28602
29035
  let innerPromise;
28603
29036
  try {
28604
- innerPromise = Promise.resolve(fn2(...args));
29037
+ innerPromise = Promise.resolve(fn3(...args));
28605
29038
  } catch (err) {
28606
29039
  innerPromise = Promise.reject(err);
28607
29040
  }
@@ -28678,12 +29111,12 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28678
29111
  return _classPrivateFieldLooseBase9(this, _paused)[_paused];
28679
29112
  }
28680
29113
  };
28681
- function _call2(fn2) {
29114
+ function _call2(fn3) {
28682
29115
  _classPrivateFieldLooseBase9(this, _activeRequests)[_activeRequests] += 1;
28683
29116
  let done = false;
28684
29117
  let cancelActive;
28685
29118
  try {
28686
- cancelActive = fn2();
29119
+ cancelActive = fn3();
28687
29120
  } catch (err) {
28688
29121
  _classPrivateFieldLooseBase9(this, _activeRequests)[_activeRequests] -= 1;
28689
29122
  throw err;
@@ -28724,9 +29157,9 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
28724
29157
  next.abort = handler.abort;
28725
29158
  next.done = handler.done;
28726
29159
  }
28727
- function _queue2(fn2, options2) {
29160
+ function _queue2(fn3, options2) {
28728
29161
  const handler = {
28729
- fn: fn2,
29162
+ fn: fn3,
28730
29163
  priority: (options2 == null ? void 0 : options2.priority) || 0,
28731
29164
  abort: () => {
28732
29165
  _classPrivateFieldLooseBase9(this, _dequeue)[_dequeue](handler);
@@ -29890,6 +30323,110 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
29890
30323
  }
29891
30324
  };
29892
30325
 
30326
+ // src/js/controllers/bulk_actions_controller.js
30327
+ var bulk_actions_controller_default = class extends Controller {
30328
+ static targets = ["checkbox", "checkboxAll", "toolbar", "selectedCount", "actionButton", "selectionCell"];
30329
+ static values = {
30330
+ hasActions: { type: Boolean, default: false }
30331
+ };
30332
+ connect() {
30333
+ if (this.hasActionsValue) {
30334
+ this.enableSelection();
30335
+ }
30336
+ }
30337
+ enableSelection() {
30338
+ this.selectionCellTargets.forEach((el) => el.classList.remove("hidden"));
30339
+ }
30340
+ toggle() {
30341
+ this.updateUI();
30342
+ }
30343
+ toggleAll(event) {
30344
+ const checked = event.target.checked;
30345
+ this.checkboxTargets.forEach((cb) => cb.checked = checked);
30346
+ this.updateUI();
30347
+ }
30348
+ updateUI() {
30349
+ const checked = this.checked;
30350
+ const total = this.checkboxTargets.length;
30351
+ if (this.hasCheckboxAllTarget) {
30352
+ this.checkboxAllTarget.checked = checked.length === total && total > 0;
30353
+ this.checkboxAllTarget.indeterminate = checked.length > 0 && checked.length < total;
30354
+ }
30355
+ if (this.hasToolbarTarget) {
30356
+ this.toolbarTarget.classList.toggle("hidden", checked.length === 0);
30357
+ }
30358
+ if (this.hasSelectedCountTarget) {
30359
+ this.selectedCountTarget.textContent = checked.length;
30360
+ }
30361
+ this.updateActionButtons();
30362
+ }
30363
+ updateActionButtons() {
30364
+ const checked = this.checked;
30365
+ const ids = checked.map((cb) => cb.value);
30366
+ const idsParam = ids.map((id12) => `ids[]=${encodeURIComponent(id12)}`).join("&");
30367
+ const allowedActions = this.computeAllowedActions(checked);
30368
+ this.actionButtonTargets.forEach((button) => {
30369
+ const baseUrl = button.dataset.bulkActionUrl;
30370
+ const actionName = button.dataset.bulkActionName;
30371
+ if (baseUrl) {
30372
+ button.href = idsParam ? `${baseUrl}?${idsParam}` : baseUrl;
30373
+ }
30374
+ button.style.display = allowedActions.has(actionName) ? "" : "none";
30375
+ });
30376
+ }
30377
+ // Compute the intersection of allowed actions across all selected checkboxes
30378
+ computeAllowedActions(checked) {
30379
+ if (checked.length === 0) {
30380
+ return /* @__PURE__ */ new Set();
30381
+ }
30382
+ let intersection = new Set(this.getAllowedActionsForCheckbox(checked[0]));
30383
+ for (let i4 = 1; i4 < checked.length; i4++) {
30384
+ const actions = this.getAllowedActionsForCheckbox(checked[i4]);
30385
+ intersection = new Set([...intersection].filter((a4) => actions.includes(a4)));
30386
+ }
30387
+ return intersection;
30388
+ }
30389
+ getAllowedActionsForCheckbox(checkbox) {
30390
+ const allowedActions = checkbox.dataset.allowedActions;
30391
+ return allowedActions ? allowedActions.split(",").filter((a4) => a4) : [];
30392
+ }
30393
+ get checked() {
30394
+ return this.checkboxTargets.filter((cb) => cb.checked);
30395
+ }
30396
+ get unchecked() {
30397
+ return this.checkboxTargets.filter((cb) => !cb.checked);
30398
+ }
30399
+ };
30400
+
30401
+ // src/js/controllers/filter_panel_controller.js
30402
+ var filter_panel_controller_default = class extends Controller {
30403
+ clear() {
30404
+ this.element.querySelectorAll("input, select, textarea").forEach((input) => {
30405
+ if (input.type === "checkbox" || input.type === "radio") {
30406
+ input.checked = false;
30407
+ } else if (input.tagName === "SELECT") {
30408
+ input.selectedIndex = 0;
30409
+ } else if (input.type === "hidden") {
30410
+ if (input.dataset.controller === "flatpickr") {
30411
+ input.value = "";
30412
+ }
30413
+ } else {
30414
+ input.value = "";
30415
+ }
30416
+ });
30417
+ this.element.querySelectorAll('[data-controller="flatpickr"]').forEach((input) => {
30418
+ const controller = this.application.getControllerForElementAndIdentifier(input, "flatpickr");
30419
+ if (controller?.picker) {
30420
+ controller.picker.clear();
30421
+ }
30422
+ });
30423
+ const form = this.element.closest("form");
30424
+ if (form) {
30425
+ form.requestSubmit();
30426
+ }
30427
+ }
30428
+ };
30429
+
29893
30430
  // src/js/controllers/register_controllers.js
29894
30431
  function register_controllers_default(application2) {
29895
30432
  application2.register("password-visibility", password_visibility_controller_default);
@@ -29913,11 +30450,13 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e4.byteLength}`), e4.tif
29913
30450
  application2.register("attachment-preview-container", attachment_preview_container_controller_default);
29914
30451
  application2.register("remote-modal", remote_modal_controller_default);
29915
30452
  application2.register("key-value-store", key_value_store_controller_default);
30453
+ application2.register("bulk-actions", bulk_actions_controller_default);
30454
+ application2.register("filter-panel", filter_panel_controller_default);
29916
30455
  }
29917
30456
 
29918
30457
  // src/js/turbo/turbo_actions.js
29919
30458
  Turbo.StreamActions.redirect = function() {
29920
- Turbo.clearCache();
30459
+ Turbo.cache.clear();
29921
30460
  const url = this.getAttribute("url");
29922
30461
  Turbo.visit(url);
29923
30462
  };
@@ -29951,12 +30490,12 @@ cropperjs/dist/cropper.js:
29951
30490
 
29952
30491
  @hotwired/turbo/dist/turbo.es2017-esm.js:
29953
30492
  (*!
29954
- Turbo 8.0.12
29955
- Copyright © 2024 37signals LLC
30493
+ Turbo 8.0.13
30494
+ Copyright © 2025 37signals LLC
29956
30495
  *)
29957
30496
 
29958
30497
  dompurify/dist/purify.es.mjs:
29959
- (*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE *)
30498
+ (*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE *)
29960
30499
 
29961
30500
  @uppy/utils/lib/Translator.js:
29962
30501
  (**