@react-aria/interactions 3.8.4 → 3.10.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.
package/dist/main.js CHANGED
@@ -1,35 +1,31 @@
1
1
  var $goTMa$reactariautils = require("@react-aria/utils");
2
2
  var $goTMa$react = require("react");
3
3
 
4
- function $parcel$exportWildcard(dest, source) {
5
- Object.keys(source).forEach(function(key) {
6
- if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
7
- return;
8
- }
9
-
10
- Object.defineProperty(dest, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return source[key];
14
- }
15
- });
16
- });
17
-
18
- return dest;
4
+ function $parcel$export(e, n, v, s) {
5
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
19
6
  }
20
7
  function $parcel$interopDefault(a) {
21
8
  return a && a.__esModule ? a.default : a;
22
9
  }
23
- function $parcel$export(e, n, v, s) {
24
- Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
25
- }
26
- var $e1dbec26039c051d$exports = {};
27
10
 
28
- $parcel$export($e1dbec26039c051d$exports, "Pressable", () => $e1dbec26039c051d$export$27c701ed9e449e99);
11
+ $parcel$export(module.exports, "Pressable", () => $e1dbec26039c051d$export$27c701ed9e449e99);
12
+ $parcel$export(module.exports, "PressResponder", () => $3596bae48579386f$export$3351871ee4b288b8);
13
+ $parcel$export(module.exports, "useFocus", () => $5cb73d0ce355b0dc$export$f8168d8dd8fd66e6);
14
+ $parcel$export(module.exports, "isFocusVisible", () => $e77252a287ef94ab$export$b9b3dfddab17db27);
15
+ $parcel$export(module.exports, "getInteractionModality", () => $e77252a287ef94ab$export$630ff653c5ada6a9);
16
+ $parcel$export(module.exports, "setInteractionModality", () => $e77252a287ef94ab$export$8397ddfc504fdb9a);
17
+ $parcel$export(module.exports, "useInteractionModality", () => $e77252a287ef94ab$export$98e20ec92f614cfe);
18
+ $parcel$export(module.exports, "useFocusVisible", () => $e77252a287ef94ab$export$ffd9e5021c1fb2d6);
19
+ $parcel$export(module.exports, "useFocusVisibleListener", () => $e77252a287ef94ab$export$ec71b4b83ac08ec3);
20
+ $parcel$export(module.exports, "useFocusWithin", () => $d16842bbd0359d1b$export$420e68273165f4ec);
21
+ $parcel$export(module.exports, "useHover", () => $ffbc150311c75f01$export$ae780daf29e6d456);
22
+ $parcel$export(module.exports, "useInteractOutside", () => $edcfa848c42f94f4$export$872b660ac5a1ff98);
23
+ $parcel$export(module.exports, "useKeyboard", () => $892d64db2a3c53b0$export$8f71654801c2f7cd);
24
+ $parcel$export(module.exports, "useMove", () => $c09386fc48fa427d$export$36da96379f79f245);
25
+ $parcel$export(module.exports, "usePress", () => $0294ea432cd92340$export$45712eceda6fad21);
26
+ $parcel$export(module.exports, "useScrollWheel", () => $a3dbce0aed7087e2$export$2123ff2b87c81ca);
27
+ $parcel$export(module.exports, "useLongPress", () => $3cd7b5d0eebf0ca9$export$c24ed0104d07eab9);
29
28
 
30
- var $0294ea432cd92340$exports = {};
31
-
32
- $parcel$export($0294ea432cd92340$exports, "usePress", () => $0294ea432cd92340$export$45712eceda6fad21);
33
29
 
34
30
  // Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element
35
31
  // rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually
@@ -43,7 +39,7 @@ function $f7e14e656343df57$export$16a4697467175487(target) {
43
39
  document.documentElement.style.webkitUserSelect = 'none';
44
40
  }
45
41
  $f7e14e656343df57$var$state = 'disabled';
46
- } else if (target) {
42
+ } else if (target instanceof HTMLElement || target instanceof SVGElement) {
47
43
  // If not iOS, store the target's original user-select and change to user-select: none
48
44
  // Ignore state since it doesn't apply for non iOS
49
45
  $f7e14e656343df57$var$modifiedElementMap.set(target, target.style.userSelect);
@@ -70,13 +66,15 @@ function $f7e14e656343df57$export$b0d6fa1ab32e3295(target) {
70
66
  }
71
67
  });
72
68
  }, 300);
73
- } else // If not iOS, restore the target's original user-select if any
69
+ } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any
74
70
  // Ignore state since it doesn't apply for non iOS
75
- if (target && $f7e14e656343df57$var$modifiedElementMap.has(target)) {
76
- let targetOldUserSelect = $f7e14e656343df57$var$modifiedElementMap.get(target);
77
- if (target.style.userSelect === 'none') target.style.userSelect = targetOldUserSelect;
78
- if (target.getAttribute('style') === '') target.removeAttribute('style');
79
- $f7e14e656343df57$var$modifiedElementMap.delete(target);
71
+ {
72
+ if (target && $f7e14e656343df57$var$modifiedElementMap.has(target)) {
73
+ let targetOldUserSelect = $f7e14e656343df57$var$modifiedElementMap.get(target);
74
+ if (target.style.userSelect === 'none') target.style.userSelect = targetOldUserSelect;
75
+ if (target.getAttribute('style') === '') target.removeAttribute('style');
76
+ $f7e14e656343df57$var$modifiedElementMap.delete(target);
77
+ }
80
78
  }
81
79
  }
82
80
 
@@ -84,7 +82,6 @@ function $f7e14e656343df57$export$b0d6fa1ab32e3295(target) {
84
82
 
85
83
 
86
84
 
87
-
88
85
  function $625cf83917e112ad$export$60278871457622de(event) {
89
86
  // JAWS/NVDA with Firefox.
90
87
  if (event.mozInputSource === 0 && event.isTrusted) return true;
@@ -128,61 +125,58 @@ function $625cf83917e112ad$export$715c682d09d639cc(onBlur) {
128
125
  onBlur: onBlur,
129
126
  observer: null
130
127
  });
131
- let state1 = stateRef.current;
132
- state1.onBlur = onBlur;
128
+ stateRef.current.onBlur = onBlur;
133
129
  // Clean up MutationObserver on unmount. See below.
134
130
  // eslint-disable-next-line arrow-body-style
135
131
  $goTMa$reactariautils.useLayoutEffect(()=>{
132
+ const state = stateRef.current;
136
133
  return ()=>{
137
- if (state1.observer) {
138
- state1.observer.disconnect();
139
- state1.observer = null;
134
+ if (state.observer) {
135
+ state.observer.disconnect();
136
+ state.observer = null;
140
137
  }
141
138
  };
142
- }, [
143
- state1
144
- ]);
139
+ }, []);
145
140
  // This function is called during a React onFocus event.
146
- return (e1)=>{
141
+ return $goTMa$react.useCallback((e1)=>{
147
142
  // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142
148
143
  // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a
149
144
  // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.
150
145
  // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.
151
146
  if (e1.target instanceof HTMLButtonElement || e1.target instanceof HTMLInputElement || e1.target instanceof HTMLTextAreaElement || e1.target instanceof HTMLSelectElement) {
152
- state1.isFocused = true;
147
+ stateRef.current.isFocused = true;
153
148
  let target = e1.target;
154
149
  let onBlurHandler = (e)=>{
155
150
  var // For backward compatibility, dispatch a (fake) React synthetic event.
156
- ref;
157
- let state = stateRef.current;
158
- state.isFocused = false;
159
- if (target.disabled) (ref = state.onBlur) === null || ref === void 0 ? void 0 : ref.call(state, new $625cf83917e112ad$export$905e7fc544a71f36('blur', e));
151
+ _current, ref;
152
+ stateRef.current.isFocused = false;
153
+ if (target.disabled) (ref = (_current = stateRef.current).onBlur) === null || ref === void 0 ? void 0 : ref.call(_current, new $625cf83917e112ad$export$905e7fc544a71f36('blur', e));
160
154
  // We no longer need the MutationObserver once the target is blurred.
161
- if (state.observer) {
162
- state.observer.disconnect();
163
- state.observer = null;
155
+ if (stateRef.current.observer) {
156
+ stateRef.current.observer.disconnect();
157
+ stateRef.current.observer = null;
164
158
  }
165
159
  };
166
160
  target.addEventListener('focusout', onBlurHandler, {
167
161
  once: true
168
162
  });
169
- state1.observer = new MutationObserver(()=>{
170
- if (state1.isFocused && target.disabled) {
171
- state1.observer.disconnect();
163
+ stateRef.current.observer = new MutationObserver(()=>{
164
+ if (stateRef.current.isFocused && target.disabled) {
165
+ stateRef.current.observer.disconnect();
172
166
  target.dispatchEvent(new FocusEvent('blur'));
173
167
  target.dispatchEvent(new FocusEvent('focusout', {
174
168
  bubbles: true
175
169
  }));
176
170
  }
177
171
  });
178
- state1.observer.observe(target, {
172
+ stateRef.current.observer.observe(target, {
179
173
  attributes: true,
180
174
  attributeFilter: [
181
175
  'disabled'
182
176
  ]
183
177
  });
184
178
  }
185
- };
179
+ }, []);
186
180
  }
187
181
 
188
182
 
@@ -191,6 +185,7 @@ const $01d3f539e91688c8$export$5165eccb35aaadb5 = ($parcel$interopDefault($goTMa
191
185
  $01d3f539e91688c8$export$5165eccb35aaadb5.displayName = 'PressResponderContext';
192
186
 
193
187
 
188
+
194
189
  function $0294ea432cd92340$var$usePressResponderContext(props) {
195
190
  // Consume context from <PressResponder> and merge with props.
196
191
  let context = $goTMa$react.useContext($01d3f539e91688c8$export$5165eccb35aaadb5);
@@ -345,7 +340,7 @@ function $0294ea432cd92340$export$45712eceda6fad21(props) {
345
340
  removeAllGlobalListeners();
346
341
  // If the target is a link, trigger the click method to open the URL,
347
342
  // but defer triggering pressEnd until onClick event handler.
348
- if (state.target.contains(target) && $0294ea432cd92340$var$isHTMLAnchorLink(state.target) || state.target.getAttribute('role') === 'link') state.target.click();
343
+ if (state.target instanceof HTMLElement && (state.target.contains(target) && $0294ea432cd92340$var$isHTMLAnchorLink(state.target) || state.target.getAttribute('role') === 'link')) state.target.click();
349
344
  }
350
345
  };
351
346
  if (typeof PointerEvent !== 'undefined') {
@@ -633,7 +628,7 @@ function $0294ea432cd92340$var$isOverTarget(point, target) {
633
628
  }
634
629
  function $0294ea432cd92340$var$shouldPreventDefault(target) {
635
630
  // We cannot prevent default if the target is a draggable element.
636
- return !target.draggable;
631
+ return !(target instanceof HTMLElement) || !target.draggable;
637
632
  }
638
633
  function $0294ea432cd92340$var$shouldPreventDefaultKeyboard(target) {
639
634
  return !((target.tagName === 'INPUT' || target.tagName === 'BUTTON') && target.type === 'submit');
@@ -643,8 +638,9 @@ function $0294ea432cd92340$var$isVirtualPointerEvent(event) {
643
638
  // Android TalkBack double tap will sometimes return a event with width and height of 1
644
639
  // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.
645
640
  // Cannot use "event.pressure === 0" as the sole check due to Safari pointer events always returning pressure === 0
646
- // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216
647
- return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0;
641
+ // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush
642
+ // Talkback double tap from Windows Firefox touch screen press
643
+ return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';
648
644
  }
649
645
 
650
646
 
@@ -665,9 +661,6 @@ const $e1dbec26039c051d$export$27c701ed9e449e99 = /*#__PURE__*/ ($parcel$interop
665
661
  });
666
662
 
667
663
 
668
- var $3596bae48579386f$exports = {};
669
-
670
- $parcel$export($3596bae48579386f$exports, "PressResponder", () => $3596bae48579386f$export$3351871ee4b288b8);
671
664
 
672
665
 
673
666
 
@@ -693,46 +686,41 @@ const $3596bae48579386f$export$3351871ee4b288b8 = /*#__PURE__*/ ($parcel$interop
693
686
  });
694
687
 
695
688
 
696
- var $5cb73d0ce355b0dc$exports = {};
697
689
 
698
- $parcel$export($5cb73d0ce355b0dc$exports, "useFocus", () => $5cb73d0ce355b0dc$export$f8168d8dd8fd66e6);
699
690
 
700
691
  function $5cb73d0ce355b0dc$export$f8168d8dd8fd66e6(props) {
701
- let onBlur;
702
- if (!props.isDisabled && (props.onBlur || props.onFocusChange)) onBlur = (e)=>{
692
+ let { isDisabled: isDisabled , onFocus: onFocusProp , onBlur: onBlurProp , onFocusChange: onFocusChange } = props;
693
+ const onBlur = $goTMa$react.useCallback((e)=>{
703
694
  if (e.target === e.currentTarget) {
704
- if (props.onBlur) props.onBlur(e);
705
- if (props.onFocusChange) props.onFocusChange(false);
695
+ if (onBlurProp) onBlurProp(e);
696
+ if (onFocusChange) onFocusChange(false);
706
697
  return true;
707
698
  }
708
- };
709
- else onBlur = null;
710
- let onSyntheticFocus = $625cf83917e112ad$export$715c682d09d639cc(onBlur);
711
- let onFocus;
712
- if (!props.isDisabled && (props.onFocus || props.onFocusChange || props.onBlur)) onFocus = (e)=>{
699
+ }, [
700
+ onBlurProp,
701
+ onFocusChange
702
+ ]);
703
+ const onSyntheticFocus = $625cf83917e112ad$export$715c682d09d639cc(onBlur);
704
+ const onFocus = $goTMa$react.useCallback((e)=>{
713
705
  if (e.target === e.currentTarget) {
714
- if (props.onFocus) props.onFocus(e);
715
- if (props.onFocusChange) props.onFocusChange(true);
706
+ if (onFocusProp) onFocusProp(e);
707
+ if (onFocusChange) onFocusChange(true);
716
708
  onSyntheticFocus(e);
717
709
  }
718
- };
710
+ }, [
711
+ onFocusChange,
712
+ onFocusProp,
713
+ onSyntheticFocus
714
+ ]);
719
715
  return {
720
716
  focusProps: {
721
- onFocus: onFocus,
722
- onBlur: onBlur
717
+ onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,
718
+ onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : null
723
719
  }
724
720
  };
725
721
  }
726
722
 
727
723
 
728
- var $e77252a287ef94ab$exports = {};
729
-
730
- $parcel$export($e77252a287ef94ab$exports, "isFocusVisible", () => $e77252a287ef94ab$export$b9b3dfddab17db27);
731
- $parcel$export($e77252a287ef94ab$exports, "getInteractionModality", () => $e77252a287ef94ab$export$630ff653c5ada6a9);
732
- $parcel$export($e77252a287ef94ab$exports, "setInteractionModality", () => $e77252a287ef94ab$export$8397ddfc504fdb9a);
733
- $parcel$export($e77252a287ef94ab$exports, "useInteractionModality", () => $e77252a287ef94ab$export$98e20ec92f614cfe);
734
- $parcel$export($e77252a287ef94ab$exports, "useFocusVisible", () => $e77252a287ef94ab$export$ffd9e5021c1fb2d6);
735
- $parcel$export($e77252a287ef94ab$exports, "useFocusVisibleListener", () => $e77252a287ef94ab$export$ec71b4b83ac08ec3);
736
724
 
737
725
 
738
726
 
@@ -890,33 +878,45 @@ function $e77252a287ef94ab$export$ec71b4b83ac08ec3(fn, deps, opts) {
890
878
  }
891
879
 
892
880
 
893
- var $d16842bbd0359d1b$exports = {};
894
-
895
- $parcel$export($d16842bbd0359d1b$exports, "useFocusWithin", () => $d16842bbd0359d1b$export$420e68273165f4ec);
896
881
 
897
882
 
898
883
  function $d16842bbd0359d1b$export$420e68273165f4ec(props) {
884
+ let { isDisabled: isDisabled , onBlurWithin: onBlurWithin , onFocusWithin: onFocusWithin , onFocusWithinChange: onFocusWithinChange } = props;
899
885
  let state = $goTMa$react.useRef({
900
886
  isFocusWithin: false
901
- }).current;
902
- let onBlur = props.isDisabled ? null : (e)=>{
887
+ });
888
+ let onBlur = $goTMa$react.useCallback((e)=>{
903
889
  // We don't want to trigger onBlurWithin and then immediately onFocusWithin again
904
890
  // when moving focus inside the element. Only trigger if the currentTarget doesn't
905
891
  // include the relatedTarget (where focus is moving).
906
- if (state.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {
907
- state.isFocusWithin = false;
908
- if (props.onBlurWithin) props.onBlurWithin(e);
909
- if (props.onFocusWithinChange) props.onFocusWithinChange(false);
892
+ if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {
893
+ state.current.isFocusWithin = false;
894
+ if (onBlurWithin) onBlurWithin(e);
895
+ if (onFocusWithinChange) onFocusWithinChange(false);
910
896
  }
911
- };
897
+ }, [
898
+ onBlurWithin,
899
+ onFocusWithinChange,
900
+ state
901
+ ]);
912
902
  let onSyntheticFocus = $625cf83917e112ad$export$715c682d09d639cc(onBlur);
913
- let onFocus = props.isDisabled ? null : (e)=>{
914
- if (!state.isFocusWithin) {
915
- if (props.onFocusWithin) props.onFocusWithin(e);
916
- if (props.onFocusWithinChange) props.onFocusWithinChange(true);
917
- state.isFocusWithin = true;
903
+ let onFocus = $goTMa$react.useCallback((e)=>{
904
+ if (!state.current.isFocusWithin) {
905
+ if (onFocusWithin) onFocusWithin(e);
906
+ if (onFocusWithinChange) onFocusWithinChange(true);
907
+ state.current.isFocusWithin = true;
918
908
  onSyntheticFocus(e);
919
909
  }
910
+ }, [
911
+ onFocusWithin,
912
+ onFocusWithinChange,
913
+ onSyntheticFocus
914
+ ]);
915
+ if (isDisabled) return {
916
+ focusWithinProps: {
917
+ onFocus: null,
918
+ onBlur: null
919
+ }
920
920
  };
921
921
  return {
922
922
  focusWithinProps: {
@@ -927,9 +927,6 @@ function $d16842bbd0359d1b$export$420e68273165f4ec(props) {
927
927
  }
928
928
 
929
929
 
930
- var $ffbc150311c75f01$exports = {};
931
-
932
- $parcel$export($ffbc150311c75f01$exports, "useHover", () => $ffbc150311c75f01$export$ae780daf29e6d456);
933
930
 
934
931
  // iOS fires onPointerEnter twice: once with pointerType="touch" and again with pointerType="mouse".
935
932
  // We want to ignore these emulated events so they do not trigger hover behavior.
@@ -1049,9 +1046,6 @@ function $ffbc150311c75f01$export$ae780daf29e6d456(props) {
1049
1046
  }
1050
1047
 
1051
1048
 
1052
- var $edcfa848c42f94f4$exports = {};
1053
-
1054
- $parcel$export($edcfa848c42f94f4$exports, "useInteractOutside", () => $edcfa848c42f94f4$export$872b660ac5a1ff98);
1055
1049
 
1056
1050
  function $edcfa848c42f94f4$export$872b660ac5a1ff98(props) {
1057
1051
  let { ref: ref , onInteractOutside: onInteractOutside , isDisabled: isDisabled , onInteractOutsideStart: onInteractOutsideStart } = props;
@@ -1130,9 +1124,6 @@ function $edcfa848c42f94f4$var$isValidEvent(event, ref) {
1130
1124
  }
1131
1125
 
1132
1126
 
1133
- var $892d64db2a3c53b0$exports = {};
1134
-
1135
- $parcel$export($892d64db2a3c53b0$exports, "useKeyboard", () => $892d64db2a3c53b0$export$8f71654801c2f7cd);
1136
1127
  function $951fbcbbca8db6ce$export$48d1ea6320830260(handler) {
1137
1128
  if (!handler) return;
1138
1129
  let shouldStopPropagation = true;
@@ -1169,9 +1160,6 @@ function $892d64db2a3c53b0$export$8f71654801c2f7cd(props) {
1169
1160
  }
1170
1161
 
1171
1162
 
1172
- var $c09386fc48fa427d$exports = {};
1173
-
1174
- $parcel$export($c09386fc48fa427d$exports, "useMove", () => $c09386fc48fa427d$export$36da96379f79f245);
1175
1163
 
1176
1164
 
1177
1165
 
@@ -1386,9 +1374,6 @@ function $c09386fc48fa427d$export$36da96379f79f245(props) {
1386
1374
 
1387
1375
 
1388
1376
 
1389
- var $a3dbce0aed7087e2$exports = {};
1390
-
1391
- $parcel$export($a3dbce0aed7087e2$exports, "useScrollWheel", () => $a3dbce0aed7087e2$export$2123ff2b87c81ca);
1392
1377
 
1393
1378
 
1394
1379
  function $a3dbce0aed7087e2$export$2123ff2b87c81ca(props, ref) {
@@ -1410,9 +1395,6 @@ function $a3dbce0aed7087e2$export$2123ff2b87c81ca(props, ref) {
1410
1395
  }
1411
1396
 
1412
1397
 
1413
- var $3cd7b5d0eebf0ca9$exports = {};
1414
-
1415
- $parcel$export($3cd7b5d0eebf0ca9$exports, "useLongPress", () => $3cd7b5d0eebf0ca9$export$c24ed0104d07eab9);
1416
1398
 
1417
1399
 
1418
1400
 
@@ -1475,18 +1457,6 @@ function $3cd7b5d0eebf0ca9$export$c24ed0104d07eab9(props) {
1475
1457
  }
1476
1458
 
1477
1459
 
1478
- $parcel$exportWildcard(module.exports, $e1dbec26039c051d$exports);
1479
- $parcel$exportWildcard(module.exports, $3596bae48579386f$exports);
1480
- $parcel$exportWildcard(module.exports, $5cb73d0ce355b0dc$exports);
1481
- $parcel$exportWildcard(module.exports, $e77252a287ef94ab$exports);
1482
- $parcel$exportWildcard(module.exports, $d16842bbd0359d1b$exports);
1483
- $parcel$exportWildcard(module.exports, $ffbc150311c75f01$exports);
1484
- $parcel$exportWildcard(module.exports, $edcfa848c42f94f4$exports);
1485
- $parcel$exportWildcard(module.exports, $892d64db2a3c53b0$exports);
1486
- $parcel$exportWildcard(module.exports, $c09386fc48fa427d$exports);
1487
- $parcel$exportWildcard(module.exports, $0294ea432cd92340$exports);
1488
- $parcel$exportWildcard(module.exports, $a3dbce0aed7087e2$exports);
1489
- $parcel$exportWildcard(module.exports, $3cd7b5d0eebf0ca9$exports);
1490
1460
 
1491
1461
 
1492
1462
  //# sourceMappingURL=main.js.map