From 4162390a5e9842baa2e620d2cfde3a199343942d Mon Sep 17 00:00:00 2001 From: d4vidi Date: Wed, 5 Mar 2025 17:23:37 +0200 Subject: [PATCH 01/29] Apply color animations on tab-switching (Android-only) (#7975) --- .../reactnativenavigation/FeatureToggles.kt | 6 +- .../NavigationActivity.java | 4 +- .../utils/ColorUtils.java | 11 + .../utils/SystemUiUtils.kt | 29 +-- .../bottomtabs/BottomTabPresenter.java | 1 - .../bottomtabs/BottomTabsController.java | 13 +- .../component/ComponentPresenter.java | 18 ++ .../component/ComponentViewController.java | 22 +- .../stack/StackController.java | 41 ++-- .../viewcontrollers/stack/StackPresenter.java | 19 +- .../stack/statusbar/StatusBarController.kt | 9 - .../stack/statusbar/StatusBarPresenter.kt | 9 - .../stack/topbar/TopBarController.kt | 37 ++- .../statusbar/StatusBarPresenter.kt | 212 ++++++++++++++++++ .../viewcontroller/Presenter.java | 188 +--------------- .../viewcontroller/StatusBarColorAnimator.kt | 28 +++ .../viewcontroller/ViewController.java | 41 +++- .../ViewControllerVisibilityInfo.kt | 5 + .../com/reactnativenavigation/BaseTest.kt | 2 + .../mocks/TitleBarReactViewCreatorMock.java | 4 +- .../bottomtabs/BottomTabsControllerTest.kt | 2 + .../stack/TopBarControllerTest.kt | 7 +- .../playground/MainApplication.java | 3 +- playground/src/screens/NavigationScreen.tsx | 7 + 24 files changed, 440 insertions(+), 278 deletions(-) delete mode 100644 lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarController.kt delete mode 100644 lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarPresenter.kt create mode 100644 lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt create mode 100644 lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/StatusBarColorAnimator.kt create mode 100644 lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/FeatureToggles.kt b/lib/android/app/src/main/java/com/reactnativenavigation/FeatureToggles.kt index 72323ca1f5e..94db1c69c93 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/FeatureToggles.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/FeatureToggles.kt @@ -3,11 +3,13 @@ package com.reactnativenavigation import androidx.annotation.VisibleForTesting enum class RNNToggles { - TOP_BAR_COLOR_ANIMATION, + TOP_BAR_COLOR_ANIMATION__PUSH, + TOP_BAR_COLOR_ANIMATION__TABS, } private val ToggleDefaults = mapOf( - RNNToggles.TOP_BAR_COLOR_ANIMATION to false + RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH to false, + RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS to false, ) object RNNFeatureToggles { diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java b/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java index 481aaf07220..f3f0d5a57ee 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java @@ -3,7 +3,6 @@ import android.annotation.TargetApi; import android.content.Intent; import android.content.res.Configuration; -import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.view.KeyEvent; @@ -12,8 +11,8 @@ import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.modules.core.PermissionAwareActivity; import com.facebook.react.modules.core.PermissionListener; -import com.reactnativenavigation.options.Options; import com.reactnativenavigation.viewcontrollers.overlay.OverlayManager; +import com.reactnativenavigation.viewcontrollers.statusbar.StatusBarPresenter; import com.reactnativenavigation.viewcontrollers.viewcontroller.RootPresenter; import com.reactnativenavigation.react.JsDevReloadHandler; import com.reactnativenavigation.react.ReactGateway; @@ -51,6 +50,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { navigator.bindViews(); getReactGateway().onActivityCreated(this); setBackPressedCallback(); + StatusBarPresenter.Companion.init(this); } @Override diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ColorUtils.java b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ColorUtils.java index cc5afbfd659..99cab710c7a 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ColorUtils.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ColorUtils.java @@ -1,5 +1,7 @@ package com.reactnativenavigation.utils; +import android.graphics.Color; + public class ColorUtils { public static double[] colorToLAB(int color) { final double[] result = new double[3]; @@ -10,4 +12,13 @@ public static double[] colorToLAB(int color) { public static int labToColor(double[] lab) { return androidx.core.graphics.ColorUtils.LABToColor(lab[0], lab[1], lab[2]); } + + public static boolean isColorLight(int color) { + double darkness = 1 - (0.299 * Color.red(color) + 0.587 * Color.green(color) + 0.114 * Color.blue(color)) / 255; + return darkness < 0.5; + } + + public static int setAlpha(int color, int alpha) { + return (color & 0x00FFFFFF) | (alpha << 24); + } } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt b/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt index 95e244e72a0..16d01b2ba8e 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt @@ -3,7 +3,6 @@ package com.reactnativenavigation.utils import android.app.Activity import android.graphics.Color import android.graphics.Rect -import android.os.Build import android.view.View import android.view.Window import androidx.annotation.ColorInt @@ -16,7 +15,6 @@ import kotlin.math.ceil object SystemUiUtils { private const val STATUS_BAR_HEIGHT_M = 24 - private const val STATUS_BAR_HEIGHT_L = 25 internal const val STATUS_BAR_HEIGHT_TRANSLUCENCY = 0.65f private var statusBarHeight = -1 var navigationBarDefaultColor = -1 @@ -38,7 +36,7 @@ object SystemUiUtils { val contentViewTop = contentView.top abs(contentViewTop - statusBarHeight) } - } ?: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) STATUS_BAR_HEIGHT_M else STATUS_BAR_HEIGHT_L + } ?: STATUS_BAR_HEIGHT_M statusBarHeight } return res @@ -77,8 +75,6 @@ object SystemUiUtils { @JvmStatic fun setStatusBarColorScheme(window: Window?, view: View, isDark: Boolean) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return - window?.let { WindowInsetsControllerCompat(window, view).isAppearanceLightStatusBars = isDark // Workaround: on devices with api 30 status bar icons flickers or get hidden when removing view @@ -121,18 +117,17 @@ object SystemUiUtils { @ColorInt color: Int, translucent: Boolean ) { - val opaqueColor = - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { - Color.BLACK - } else { - val colorAlpha = Color.alpha(color) - val alpha = if (translucent && colorAlpha == 255) STATUS_BAR_HEIGHT_TRANSLUCENCY else colorAlpha/255.0f - val red: Int = Color.red(color) - val green: Int = Color.green(color) - val blue: Int = Color.blue(color) - Color.argb(ceil(alpha * 255).toInt(), red, green, blue) - } - window?.statusBarColor = opaqueColor + val colorAlpha = Color.alpha(color) + val alpha = if (translucent && colorAlpha == 255) STATUS_BAR_HEIGHT_TRANSLUCENCY else colorAlpha/255.0f + val red: Int = Color.red(color) + val green: Int = Color.green(color) + val blue: Int = Color.blue(color) + val opaqueColor = Color.argb(ceil(alpha * 255).toInt(), red, green, blue) + setStatusBarColor(window, opaqueColor) + } + + fun setStatusBarColor(window: Window?, color: Int) { + window?.statusBarColor = color } @JvmStatic diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java index 0a49cf669a4..b69caa509b7 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java @@ -9,7 +9,6 @@ import androidx.annotation.NonNull; -import com.aurelhubert.ahbottomnavigation.AHTextView; import com.aurelhubert.ahbottomnavigation.notification.AHNotification; import com.reactnativenavigation.options.BottomTabOptions; import com.reactnativenavigation.options.DotIndicatorOptions; diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java index e61df575d94..fa1ea72b4ee 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java @@ -271,11 +271,11 @@ public void selectTab(final int newIndex) { private void selectTab(int newIndex, boolean enableSelectionHistory) { saveTabSelection(newIndex, enableSelectionHistory); tabsAttacher.onTabSelected(tabs.get(newIndex)); - getCurrentView().setVisibility(View.INVISIBLE); + getCurrentChild().onDeselected(); + + ViewController previouslyVisible = getCurrentChild(); bottomTabs.setCurrentItem(newIndex, false); - getCurrentView().setVisibility(View.VISIBLE); - getCurrentChild().onViewWillAppear(); - getCurrentChild().onViewDidAppear(); + getCurrentChild().onSelected(previouslyVisible); } private void saveTabSelection(int newIndex, boolean enableSelectionHistory) { @@ -287,11 +287,6 @@ private void saveTabSelection(int newIndex, boolean enableSelectionHistory) { } } - @NonNull - private ViewGroup getCurrentView() { - return tabs.get(bottomTabs.getCurrentItem()).getView(); - } - public Animator getPushAnimation(Options appearingOptions) { return presenter.getPushAnimation(appearingOptions); } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentPresenter.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentPresenter.java index e98973678e0..1f915f9875d 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentPresenter.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentPresenter.java @@ -1,6 +1,12 @@ package com.reactnativenavigation.viewcontrollers.component; +import android.animation.Animator; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import com.reactnativenavigation.options.Options; +import com.reactnativenavigation.viewcontrollers.statusbar.StatusBarPresenter; import com.reactnativenavigation.views.component.ComponentLayout; public class ComponentPresenter extends ComponentPresenterBase { @@ -35,4 +41,16 @@ public void onConfigurationChanged(ComponentLayout view, Options options) { Options withDefault = options.withDefaultOptions(defaultOptions); setBackgroundColor(view, withDefault); } + + @Nullable + public Animator getStatusBarPushAnimation(@NonNull Options appearingOptions) { + Options appearingOptionsWithDefault = appearingOptions.copy().withDefaultOptions(defaultOptions); + return StatusBarPresenter.instance.getStatusBarPushAnimation(appearingOptionsWithDefault); + } + + @Nullable + public Animator getStatusBarPopAnimation(@NonNull Options appearingOptions, @NonNull Options disappearingOptions) { + Options appearingOptionsWithDefault = appearingOptions.copy().withDefaultOptions(defaultOptions); + return StatusBarPresenter.instance.getStatusBarPopAnimation(appearingOptionsWithDefault, disappearingOptions); + } } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java index b9e7d271e43..8e63201baf4 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java @@ -17,13 +17,12 @@ import com.reactnativenavigation.utils.SystemUiUtils; import com.reactnativenavigation.viewcontrollers.child.ChildController; import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry; -import com.reactnativenavigation.viewcontrollers.stack.statusbar.StatusBarController; import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter; import com.reactnativenavigation.viewcontrollers.viewcontroller.ReactViewCreator; import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener; import com.reactnativenavigation.views.component.ComponentLayout; -public class ComponentViewController extends ChildController implements StatusBarController { +public class ComponentViewController extends ChildController { private final String componentName; private final ComponentPresenter presenter; private final ReactViewCreator viewCreator; @@ -65,27 +64,16 @@ public void setDefaultOptions(Options defaultOptions) { presenter.setDefaultOptions(defaultOptions); } - @Override - public StatusBarController getStatusBarController() { - return this; - } - @Nullable @Override - public Animator getStatusBarPushAnimation(@NonNull Options appearingOptions) { - if (super.presenter != null) { - return super.presenter.getStatusBarPushAnimation(appearingOptions); - } - return null; + public Animator getPushAnimations(Options appearingOptions) { + return this.presenter.getStatusBarPushAnimation(appearingOptions); } @Nullable @Override - public Animator getStatusBarPopAnimation(@NonNull Options appearingOptions, @NonNull Options disappearingOptions) { - if (super.presenter != null) { - return super.presenter.getStatusBarPopAnimation(appearingOptions, disappearingOptions); - } - return null; + public Animator getPopAnimations(Options appearingOptions, Options disappearingOptions) { + return this.presenter.getStatusBarPopAnimation(appearingOptions, disappearingOptions); } @Override diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java index e9411f047e7..dfc5cc670c7 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java @@ -1,10 +1,23 @@ package com.reactnativenavigation.viewcontrollers.stack; +import static com.reactnativenavigation.react.Constants.HARDWARE_BACK_BUTTON_ID; +import static com.reactnativenavigation.utils.CollectionUtils.requireLast; +import static com.reactnativenavigation.utils.CoordinatorLayoutUtils.matchParentWithBehaviour; +import static com.reactnativenavigation.utils.CoordinatorLayoutUtils.updateBottomMargin; +import static com.reactnativenavigation.utils.ObjectUtils.perform; + import android.app.Activity; import android.content.res.Configuration; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.annotation.RestrictTo; +import androidx.annotation.Size; +import androidx.annotation.VisibleForTesting; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.viewpager.widget.ViewPager; + import com.facebook.react.ReactRootView; import com.reactnativenavigation.options.ButtonOptions; import com.reactnativenavigation.options.Options; @@ -18,7 +31,9 @@ import com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController; import com.reactnativenavigation.viewcontrollers.stack.topbar.button.BackButtonHelper; import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter; +import com.reactnativenavigation.viewcontrollers.viewcontroller.TopBarVisibilityInfo; import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController; +import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewControllerVisibilityInfo; import com.reactnativenavigation.views.component.Component; import com.reactnativenavigation.views.stack.StackBehaviour; import com.reactnativenavigation.views.stack.StackLayout; @@ -31,19 +46,6 @@ import java.util.Iterator; import java.util.List; -import androidx.annotation.NonNull; -import androidx.annotation.RestrictTo; -import androidx.annotation.Size; -import androidx.annotation.VisibleForTesting; -import androidx.coordinatorlayout.widget.CoordinatorLayout; -import androidx.viewpager.widget.ViewPager; - -import static com.reactnativenavigation.react.Constants.HARDWARE_BACK_BUTTON_ID; -import static com.reactnativenavigation.utils.CollectionUtils.*; -import static com.reactnativenavigation.utils.CoordinatorLayoutUtils.matchParentWithBehaviour; -import static com.reactnativenavigation.utils.CoordinatorLayoutUtils.updateBottomMargin; -import static com.reactnativenavigation.utils.ObjectUtils.perform; - public class StackController extends ParentController { private IdStack> stack = new IdStack<>(); @@ -95,6 +97,19 @@ public ViewController getCurrentChild() { return stack.peek(); } + @Override + public void onSelected(ViewController previousVC) { + presenter.bindNewViewController(previousVC, this); + super.onSelected(previousVC); + } + + @NonNull + @Override + public ViewControllerVisibilityInfo getVisibilityInfo() { + TopBarVisibilityInfo topBarInfo = topBarController.getVisibilityInfo(); + return new ViewControllerVisibilityInfo(topBarInfo); + } + @Override public void onAttachToParent() { if (!isEmpty() && !getCurrentChild().isDestroyed() && !isViewShown()) { diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java index 11cfc850ab9..09807552e18 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java @@ -37,6 +37,7 @@ import com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonPresenter; import com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver; import com.reactnativenavigation.viewcontrollers.stack.topbar.title.TitleBarReactViewController; +import com.reactnativenavigation.viewcontrollers.statusbar.StatusBarPresenter; import com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView; import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController; import com.reactnativenavigation.views.stack.topbar.TopBar; @@ -191,6 +192,12 @@ public void onChildDestroyed(ViewController child) { componentLeftButtons.remove(child.getView()); } + public void bindNewViewController(ViewController previousVC, ViewController newVC) { + Options options = newVC.resolveCurrentOptions(defaultOptions); + topBarController.bindNewViewController(previousVC, newVC); + StatusBarPresenter.instance.bindViewController(options.statusBar); + } + private void destroyButtons(@Nullable Map buttons) { if (buttons != null) forEach(buttons.values(), ViewController::destroy); @@ -423,17 +430,17 @@ public List getAdditionalPushAnimations( Options appearingOptions) { return CollectionUtils.asList( topBarController.getPushAnimation(appearingOptions, getTopBarTranslationAnimationDelta(stack, appearingCtrl)), - perform(appearingCtrl.getStatusBarController(), null, sbc -> sbc.getStatusBarPushAnimation(appearingOptions)), - perform(bottomTabsController, null, btc -> btc.getPushAnimation(appearingOptions)) - ); + perform(appearingCtrl, null, vc -> vc.getPushAnimations(appearingOptions)), + perform(bottomTabsController, null, btc -> btc.getPushAnimation(appearingOptions) + )); } public List getAdditionalPopAnimations(Options appearingOptions, Options disappearingOptions, ViewController appearingCtrl) { return CollectionUtils.asList( topBarController.getPopAnimation(appearingOptions, disappearingOptions), - perform(appearingCtrl.getStatusBarController(), null, sbc -> sbc.getStatusBarPopAnimation(appearingOptions, disappearingOptions)), - perform(bottomTabsController, null, btc -> btc.getPopAnimation(appearingOptions, disappearingOptions)) - ); + perform(appearingCtrl, null, vc -> vc.getPopAnimations(appearingOptions, disappearingOptions)), + perform(bottomTabsController, null, btc -> btc.getPopAnimation(appearingOptions, disappearingOptions) + )); } public List getAdditionalSetRootAnimations(StackController stack, ViewController appearing, diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarController.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarController.kt deleted file mode 100644 index 98e8a037dfa..00000000000 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarController.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.reactnativenavigation.viewcontrollers.stack.statusbar - -import android.animation.Animator -import com.reactnativenavigation.options.Options - -interface StatusBarController { - fun getStatusBarPushAnimation(appearingOptions: Options): Animator? - fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator? -} diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarPresenter.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarPresenter.kt deleted file mode 100644 index 06412dec790..00000000000 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarPresenter.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.reactnativenavigation.viewcontrollers.stack.statusbar - -import android.animation.Animator -import com.reactnativenavigation.options.Options - -interface StatusBarPresenter { - fun getStatusBarPushAnimation(appearingOptions: Options): Animator? - fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator? -} diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/TopBarController.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/TopBarController.kt index 1438a3e6999..bb2ec2f8245 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/TopBarController.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/TopBarController.kt @@ -4,12 +4,14 @@ import android.animation.Animator import android.animation.AnimatorSet import android.content.Context import android.graphics.drawable.ColorDrawable +import android.os.Build import android.view.MenuItem import android.view.View import androidx.core.animation.addListener +import androidx.core.animation.doOnEnd import androidx.viewpager.widget.ViewPager import com.reactnativenavigation.RNNFeatureToggles -import com.reactnativenavigation.RNNToggles.TOP_BAR_COLOR_ANIMATION +import com.reactnativenavigation.RNNToggles import com.reactnativenavigation.options.Alignment import com.reactnativenavigation.options.AnimationOptions import com.reactnativenavigation.options.Options @@ -20,6 +22,8 @@ import com.reactnativenavigation.utils.ViewUtils import com.reactnativenavigation.utils.resetViewProperties import com.reactnativenavigation.viewcontrollers.stack.topbar.button.ButtonController import com.reactnativenavigation.viewcontrollers.stack.topbar.title.TitleBarReactViewController +import com.reactnativenavigation.viewcontrollers.viewcontroller.TopBarVisibilityInfo +import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController import com.reactnativenavigation.views.animations.ColorAnimator import com.reactnativenavigation.views.stack.StackLayout import com.reactnativenavigation.views.stack.topbar.TopBar @@ -43,6 +47,9 @@ open class TopBarController( val leftButtonCount: Int get() = leftButtonBar.buttonCount + val visibilityInfo: TopBarVisibilityInfo + get() = TopBarVisibilityInfo(view.isShown, getBackgroundColor()) + fun createView(context: Context, parent: StackLayout): TopBar { if (!::view.isInitialized) { view = createTopBar(context, parent) @@ -73,6 +80,14 @@ open class TopBarController( } } + fun getBackgroundColor(): Int? { + return if (view.background is ColorDrawable) { + (view.background as ColorDrawable).color + } else { + null + } + } + fun getRightButton(index: Int): MenuItem = rightButtonBar.getButton(index) fun getPushAnimation(appearingOptions: Options, additionalDy: Float = 0f): Animator? { @@ -132,6 +147,24 @@ open class TopBarController( ) } + fun bindNewViewController(previousVC: ViewController<*>?, newVC: ViewController<*>?) { + if (!RNNFeatureToggles.isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS)) { + return + } + + previousVC?.visibilityInfo?.topBarVisibilityInfo?.solidColor?.let { fromColor -> + newVC?.visibilityInfo?.topBarVisibilityInfo?.solidColor?.let { toColor -> + colorAnimator.getAnimation(view, fromColor, toColor).apply { + doOnEnd { + hasPendingColorAnim = false + } + hasPendingColorAnim = true + start() + } + } + } + } + fun show() { if (ViewUtils.isVisible(view) || appearAnimator.isAnimatingShow()) return view.resetViewProperties() @@ -191,7 +224,7 @@ open class TopBarController( if (targetColor.hasValue() && view.background is ColorDrawable - && RNNFeatureToggles.isEnabled(TOP_BAR_COLOR_ANIMATION)) { + && RNNFeatureToggles.isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH)) { return colorAnimator.getAnimation( view, (view.background as ColorDrawable).color, diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt new file mode 100644 index 00000000000..6b060ed4dc6 --- /dev/null +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt @@ -0,0 +1,212 @@ +package com.reactnativenavigation.viewcontrollers.statusbar + +import android.animation.Animator +import android.app.Activity +import android.graphics.Color +import android.view.View +import android.view.Window +import com.reactnativenavigation.RNNFeatureToggles.isEnabled +import com.reactnativenavigation.RNNToggles +import com.reactnativenavigation.options.Options +import com.reactnativenavigation.options.StatusBarOptions +import com.reactnativenavigation.options.StatusBarOptions.TextColorScheme +import com.reactnativenavigation.options.params.Bool +import com.reactnativenavigation.utils.ColorUtils.isColorLight +import com.reactnativenavigation.utils.StubAnimationListener.Companion.onAnimatorEnd +import com.reactnativenavigation.utils.SystemUiUtils.clearStatusBarTranslucency +import com.reactnativenavigation.utils.SystemUiUtils.getStatusBarColor +import com.reactnativenavigation.utils.SystemUiUtils.hideStatusBar +import com.reactnativenavigation.utils.SystemUiUtils.isTranslucent +import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarColor +import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarColorScheme +import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarTranslucent +import com.reactnativenavigation.utils.SystemUiUtils.showStatusBar +import com.reactnativenavigation.viewcontrollers.viewcontroller.StatusBarColorAnimator +import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController +import java.lang.ref.WeakReference + +class StatusBarPresenter private constructor( + activity: Activity, + private val sbColorAnimator: StatusBarColorAnimator = StatusBarColorAnimator(activity)) { + + private val window = WeakReference(activity.window) + private var hasPendingColorAnim = false + + fun applyOptions(viewController: ViewController<*>, options: StatusBarOptions) { + if (!hasPendingColorAnim) { + setStatusBarBackgroundColor(options) + setTranslucent(options) + } + setTextColorScheme(options) + setStatusBarVisible(viewController, options.visible) + } + + fun mergeOptions(view: View, statusBar: StatusBarOptions) { + mergeStatusBarBackgroundColor(statusBar) + mergeTextColorScheme(statusBar) + mergeTranslucent(statusBar) + mergeStatusBarVisible(view, statusBar.visible) + } + + fun onConfigurationChanged(options: StatusBarOptions) { + setStatusBarBackgroundColor(options) + setTextColorScheme(options) + } + + fun bindViewController(newOptions: StatusBarOptions) { + if (!isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS)) { + return + } + + if (newOptions.backgroundColor.canApplyValue()) { + val currentColor = getCurrentStatusBarBackgroundColor() ?: return + val newColor = getStatusBarBackgroundColor(newOptions) + createStatusBarColorAnimation( + from = currentColor, + to = newColor, + translucent = newOptions.translucent.isTrue, + ).start() + } + } + + fun getStatusBarPushAnimation(appearingOptions: Options): Animator? = + if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH)) { + getStatusBarColorAnimation(appearingOptions.statusBar) + } else null + + fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator? = + if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH)) { + getStatusBarColorAnimation(appearingOptions.statusBar) + } else null + + private fun setStatusBarBackgroundColor(statusBar: StatusBarOptions) { + if (statusBar.backgroundColor.canApplyValue()) { + val statusBarBackgroundColor: Int = getStatusBarBackgroundColor(statusBar) + setStatusBarBackgroundColor(statusBarBackgroundColor, statusBar.translucent.isTrue) + } + } + + private fun setStatusBarBackgroundColor(color: Int, translucent: Boolean) { + setStatusBarColor(window.get(), color, translucent) + } + + private fun getStatusBarBackgroundColor(statusBar: StatusBarOptions): Int { + val defaultColor = + if (statusBar.visible.isTrueOrUndefined) Color.BLACK else Color.TRANSPARENT + return statusBar.backgroundColor.get(defaultColor)!! + } + + private fun setTextColorScheme(statusBar: StatusBarOptions) { + val view = window.get()?.decorView + //View.post is a Workaround, added to solve internal Samsung + //Android 9 issues. For more info see https://github.com/wix/react-native-navigation/pull/7231 + view?.post { + setStatusBarColorScheme( + window.get(), + view, + isDarkTextColorScheme(statusBar) + ) + } + } + + private fun setTranslucent(options: StatusBarOptions) { + val window = window.get() + if (options.translucent.isTrue) { + setStatusBarTranslucent(window) + } else if (isTranslucent(window)) { + clearStatusBarTranslucency(window) + } + } + + private fun setStatusBarVisible(viewController: ViewController<*>, visible: Bool) { + val window = window.get() ?: return + val view = if (viewController.view != null) viewController.view else window.decorView + if (visible.isFalse) { + hideStatusBar(window, view) + } else { + showStatusBar(window, view) + } + } + + private fun mergeStatusBarBackgroundColor(statusBar: StatusBarOptions) { + if (statusBar.backgroundColor.hasValue()) { + val statusBarBackgroundColor = getStatusBarBackgroundColor(statusBar) + setStatusBarColor( + window.get(), statusBarBackgroundColor, + statusBar.translucent.isTrue + ) + } + } + + private fun mergeTextColorScheme(statusBar: StatusBarOptions) { + if (!statusBar.textColorScheme.hasValue()) return + setTextColorScheme(statusBar) + } + + private fun mergeTranslucent(options: StatusBarOptions) { + val window: Window = window.get() ?: return + if (options.translucent.isTrue) { + setStatusBarTranslucent(window) + } else if (options.translucent.isFalse && isTranslucent(window)) { + clearStatusBarTranslucency(window) + } + } + + private fun mergeStatusBarVisible(view: View, visible: Bool) { + if (visible.hasValue()) { + if (visible.isTrue) { + showStatusBar(window.get(), view) + } else { + hideStatusBar(window.get(), view) + } + } + } + + private fun isDarkTextColorScheme(statusBar: StatusBarOptions): Boolean { + if (statusBar.textColorScheme == TextColorScheme.Dark) { + return true + } + + if (statusBar.textColorScheme == TextColorScheme.Light) { + return false + } + return isColorLight(getStatusBarBackgroundColor(statusBar)) + } + + private fun getStatusBarColorAnimation(statusBarOptions: StatusBarOptions): Animator? { + if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS)) { + getCurrentStatusBarBackgroundColor()?.let { currentColor -> + val targetColor = statusBarOptions.backgroundColor + + if (targetColor.hasValue()) { + val translucent = statusBarOptions.translucent.isTrue + return createStatusBarColorAnimation( + from = currentColor, + to = targetColor.get(), + translucent = translucent, + ) + } + } + } + return null + } + + private fun createStatusBarColorAnimation(from: Int, to: Int, translucent: Boolean): Animator = + sbColorAnimator.getAnimator(from, to, translucent).apply { + addListener(onAnimatorEnd { + hasPendingColorAnim = false + }) + hasPendingColorAnim = true + } + + private fun getCurrentStatusBarBackgroundColor() = + getStatusBarColor(window.get()) + + companion object { + lateinit var instance: StatusBarPresenter + + fun init(activity: Activity) { + instance = StatusBarPresenter(activity) + } + } +} diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java index a41b1a32eed..f1e16de088b 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java @@ -1,9 +1,7 @@ package com.reactnativenavigation.viewcontrollers.viewcontroller; -import static com.reactnativenavigation.utils.StubAnimationListener.onAnimatorEnd; +import static com.reactnativenavigation.utils.ColorUtils.isColorLight; -import android.animation.Animator; -import android.animation.ValueAnimator; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; @@ -12,44 +10,24 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.MarginLayoutParams; -import android.view.Window; -import androidx.annotation.NonNull; - -import com.reactnativenavigation.RNNFeatureToggles; -import com.reactnativenavigation.RNNToggles; -import com.reactnativenavigation.options.AnimationOptions; import com.reactnativenavigation.options.NavigationBarOptions; import com.reactnativenavigation.options.Options; import com.reactnativenavigation.options.OrientationOptions; import com.reactnativenavigation.options.StatusBarOptions; -import com.reactnativenavigation.options.StatusBarOptions.TextColorScheme; import com.reactnativenavigation.options.layout.LayoutInsets; -import com.reactnativenavigation.options.params.Bool; -import com.reactnativenavigation.options.params.ThemeColour; import com.reactnativenavigation.utils.SystemUiUtils; import com.reactnativenavigation.viewcontrollers.navigator.Navigator; import com.reactnativenavigation.viewcontrollers.parent.ParentController; -import com.reactnativenavigation.viewcontrollers.stack.statusbar.StatusBarPresenter; -import com.reactnativenavigation.views.animations.ColorAnimator; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import com.reactnativenavigation.viewcontrollers.statusbar.StatusBarPresenter; -public class Presenter implements StatusBarPresenter { +public class Presenter { private final Activity activity; - private final ColorAnimator colorAnimator; private Options defaultOptions; - private Boolean hasPendingColorAnim = false; public Presenter(Activity activity, Options defaultOptions) { - this(activity, defaultOptions, new ColorAnimator()); - } - - public Presenter(Activity activity, Options defaultOptions, ColorAnimator colorAnimator) { this.activity = activity; - this.colorAnimator = colorAnimator; this.defaultOptions = defaultOptions; } @@ -77,13 +55,13 @@ public void applyOptions(ViewController view, Options options) { Options withDefaultOptions = options.copy().withDefaultOptions(defaultOptions); applyOrientation(withDefaultOptions.layout.orientation); applyViewOptions(view, withDefaultOptions); - applyStatusBarOptions(view, withDefaultOptions); + applyStatusBarOptions(view, withDefaultOptions.statusBar); applyNavigationBarOptions(withDefaultOptions.navigationBar); } public void onViewBroughtToFront(ViewController viewController, Options options) { Options withDefaultOptions = options.copy().withDefaultOptions(defaultOptions); - applyStatusBarOptions(viewController, withDefaultOptions); + applyStatusBarOptions(viewController, withDefaultOptions.statusBar); } private void applyOrientation(OrientationOptions options) { @@ -126,152 +104,12 @@ private void applyBackgroundColor(ViewController view, Options options) { } } - private void applyStatusBarOptions(ViewController viewController, Options options) { - StatusBarOptions statusBar = options.copy().withDefaultOptions(defaultOptions).statusBar; - - if (!hasPendingColorAnim) { - setStatusBarBackgroundColor(statusBar); - } - setTextColorScheme(statusBar); - setTranslucent(statusBar); - setStatusBarVisible(viewController, statusBar.visible); - } - - @Nullable - @Override - public Animator getStatusBarPushAnimation(@NotNull Options appearingOptions) { - StatusBarOptions statusBarOptions = appearingOptions.statusBar; - return getStatusBarColorAnimation(statusBarOptions); - } - - @androidx.annotation.Nullable - @Override - public Animator getStatusBarPopAnimation(@NonNull Options appearingOptions, @NonNull Options disappearingOptions) { - StatusBarOptions statusBarOptions = appearingOptions.statusBar; - return getStatusBarColorAnimation(statusBarOptions); - } - - private Animator getStatusBarColorAnimation(StatusBarOptions statusBarOptions) { - if (RNNFeatureToggles.isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION)) { - ThemeColour targetColor = statusBarOptions.backgroundColor; - - if (targetColor.hasValue()) { - boolean translucent = statusBarOptions.translucent.isTrue(); - ValueAnimator animator = colorAnimator.getAnimation( - getCurrentStatusBarBackgroundColor(), - targetColor.get() - ); - - animator.addUpdateListener(animation -> - setStatusBarBackgroundColor((int) animation.getAnimatedValue(), translucent)); - - animator.addListener(onAnimatorEnd(animation -> { - hasPendingColorAnim = false; - return null; - })); - - hasPendingColorAnim = true; - return animator; - } - } - hasPendingColorAnim = false; - return null; - } - - private void setTranslucent(StatusBarOptions options) { - Window window = activity.getWindow(); - if (options.translucent.isTrue()) { - SystemUiUtils.setStatusBarTranslucent(window); - } else if (SystemUiUtils.isTranslucent(window)) { - SystemUiUtils.clearStatusBarTranslucency(window); - } - } - - private void setStatusBarVisible(ViewController viewController, Bool visible) { - final View view = viewController.view != null ? viewController.view : activity.getWindow().getDecorView(); - if (visible.isFalse()) { - SystemUiUtils.hideStatusBar(activity.getWindow(), view); - } else { - SystemUiUtils.showStatusBar(activity.getWindow(), view); - } - } - - private void setStatusBarBackgroundColor(StatusBarOptions statusBar) { - if (statusBar.backgroundColor.canApplyValue()) { - final int statusBarBackgroundColor = getStatusBarBackgroundColor(statusBar); - setStatusBarBackgroundColor(statusBarBackgroundColor, statusBar.translucent.isTrue()); - } - } - - private void setStatusBarBackgroundColor(int color, Boolean translucent) { - SystemUiUtils.setStatusBarColor(activity.getWindow(), color, translucent); - } - - private boolean isDarkTextColorScheme(StatusBarOptions statusBar) { - if (statusBar.textColorScheme == TextColorScheme.Dark) { - return true; - } else if (statusBar.textColorScheme == TextColorScheme.Light) { - return false; - } - - return isColorLight(getStatusBarBackgroundColor(statusBar)); + private void applyStatusBarOptions(ViewController viewController, StatusBarOptions options) { + StatusBarPresenter.instance.applyOptions(viewController, options); } - private int getStatusBarBackgroundColor(StatusBarOptions statusBar) { - int defaultColor = statusBar.visible.isTrueOrUndefined() ? Color.BLACK : Color.TRANSPARENT; - return statusBar.backgroundColor.get(defaultColor); - } - - private int getCurrentStatusBarBackgroundColor() { - return SystemUiUtils.getStatusBarColor(activity.getWindow()); - } - - private void setTextColorScheme(StatusBarOptions statusBar) { - final View view = activity.getWindow().getDecorView(); - //View.post is a Workaround, added to solve internal Samsung - //Android 9 issues. For more info see https://github.com/wix/react-native-navigation/pull/7231 - view.post(() -> { - SystemUiUtils.setStatusBarColorScheme(activity.getWindow(), view, isDarkTextColorScheme(statusBar)); - }); - } - - private void mergeStatusBarOptions(View view, StatusBarOptions statusBar) { - mergeStatusBarBackgroundColor(statusBar); - mergeTextColorScheme(statusBar); - mergeTranslucent(statusBar); - mergeStatusBarVisible(view, statusBar.visible); - } - - private void mergeStatusBarBackgroundColor(StatusBarOptions statusBar) { - if (statusBar.backgroundColor.hasValue()) { - final int statusBarBackgroundColor = getStatusBarBackgroundColor(statusBar); - SystemUiUtils.setStatusBarColor(activity.getWindow(), statusBarBackgroundColor, - statusBar.translucent.isTrue()); - } - } - - private void mergeTextColorScheme(StatusBarOptions statusBar) { - if (!statusBar.textColorScheme.hasValue()) return; - setTextColorScheme(statusBar); - } - - private void mergeTranslucent(StatusBarOptions options) { - Window window = activity.getWindow(); - if (options.translucent.isTrue()) { - SystemUiUtils.setStatusBarTranslucent(window); - } else if (options.translucent.isFalse() && SystemUiUtils.isTranslucent(window)) { - SystemUiUtils.clearStatusBarTranslucency(window); - } - } - - private void mergeStatusBarVisible(View view, Bool visible) { - if (visible.hasValue()) { - if (visible.isTrue()) { - SystemUiUtils.showStatusBar(activity.getWindow(), view); - } else { - SystemUiUtils.hideStatusBar(activity.getWindow(), view); - } - } + private void mergeStatusBarOptions(View view, StatusBarOptions statusBarOptions) { + StatusBarPresenter.instance.mergeOptions(view, statusBarOptions); } private void applyNavigationBarOptions(NavigationBarOptions options) { @@ -309,16 +147,10 @@ private void setNavigationBarBackgroundColor(NavigationBarOptions navigationBar) } } - private boolean isColorLight(int color) { - double darkness = 1 - (0.299 * Color.red(color) + 0.587 * Color.green(color) + 0.114 * Color.blue(color)) / 255; - return darkness < 0.5; - } - public void onConfigurationChanged(ViewController controller, Options options) { Options withDefault = options.withDefaultOptions(defaultOptions); setNavigationBarBackgroundColor(withDefault.navigationBar); - setStatusBarBackgroundColor(withDefault.statusBar); - setTextColorScheme(withDefault.statusBar); + StatusBarPresenter.instance.onConfigurationChanged(withDefault.statusBar); applyBackgroundColor(controller, withDefault); } } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/StatusBarColorAnimator.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/StatusBarColorAnimator.kt new file mode 100644 index 00000000000..795d285efea --- /dev/null +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/StatusBarColorAnimator.kt @@ -0,0 +1,28 @@ +package com.reactnativenavigation.viewcontrollers.viewcontroller + +import android.animation.ValueAnimator +import android.app.Activity +import com.reactnativenavigation.utils.ColorUtils +import com.reactnativenavigation.utils.SystemUiUtils +import com.reactnativenavigation.views.animations.ColorAnimator +import java.lang.ref.WeakReference + +private const val STATUS_BAR_TRANSLUCENCY_ALPHA = (SystemUiUtils.STATUS_BAR_HEIGHT_TRANSLUCENCY * 255).toInt() + +class StatusBarColorAnimator(val activity: Activity) { + private val colorAnimator = ColorAnimator() + private val window = WeakReference(activity.window) + + fun getAnimator(from: Int, to: Int, isTranslucent: Boolean): ValueAnimator = + colorAnimator.getAnimation( + from = from, + to = embedTranslucency(to, isTranslucent) + ).apply { + addUpdateListener { animation -> + SystemUiUtils.setStatusBarColor(window.get(), animation.animatedValue as Int) + } + } + + private fun embedTranslucency(color: Int, isTranslucent: Boolean): Int = + if (!isTranslucent) color else ColorUtils.setAlpha(color, STATUS_BAR_TRANSLUCENCY_ALPHA) +} diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java index a25ee7c869d..32f90d47db2 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java @@ -3,6 +3,7 @@ import static com.reactnativenavigation.utils.CollectionUtils.forEach; import static com.reactnativenavigation.utils.ObjectUtils.perform; +import android.animation.Animator; import android.app.Activity; import android.content.res.Configuration; import android.view.View; @@ -12,11 +13,11 @@ import androidx.annotation.CallSuper; import androidx.annotation.CheckResult; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.coordinatorlayout.widget.CoordinatorLayout; -import com.reactnativenavigation.BuildConfig; import com.reactnativenavigation.options.Options; import com.reactnativenavigation.options.params.Bool; import com.reactnativenavigation.options.params.NullBool; @@ -27,7 +28,6 @@ import com.reactnativenavigation.utils.UiUtils; import com.reactnativenavigation.viewcontrollers.parent.ParentController; import com.reactnativenavigation.viewcontrollers.stack.StackController; -import com.reactnativenavigation.viewcontrollers.stack.statusbar.StatusBarController; import com.reactnativenavigation.viewcontrollers.viewcontroller.overlay.ViewControllerOverlay; import com.reactnativenavigation.views.BehaviourAdapter; import com.reactnativenavigation.views.component.Component; @@ -92,10 +92,6 @@ public ViewController(Activity activity, String id, YellowBoxDelegate yellowBoxD options = initialOptions.copy(); } - public StatusBarController getStatusBarController() { - return null; - } - public void setWaitForRender(Bool waitForRender) { this.waitForRender = waitForRender; } @@ -118,10 +114,34 @@ public void removeOnAppearedListener(Runnable onAppearedListener) { public abstract T createView(); + public void onSelected(ViewController previousVC) { + setVisible(); + } + + public void onDeselected() { + setInvisible(); + } + + public void setVisible() { + getView().setVisibility(View.VISIBLE); + + onViewWillAppear(); + onViewDidAppear(); + } + + public void setInvisible() { + getView().setVisibility(View.INVISIBLE); + } + public void setViewVisibilityListener(ViewVisibilityListener viewVisibilityListener) { this.viewVisibilityListener = viewVisibilityListener; } + @NonNull + public ViewControllerVisibilityInfo getVisibilityInfo() { + return new ViewControllerVisibilityInfo(null); + } + @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public void ensureViewIsCreated() { getView(); @@ -177,7 +197,6 @@ public void applyOptions(Options options) { } public void setDefaultOptions(Options defaultOptions) { - } public Activity getActivity() { @@ -357,6 +376,14 @@ public void onChildViewRemoved(View view, View view1) { } + public Animator getPushAnimations(Options appearingOptions) { + return null; + } + + public Animator getPopAnimations(Options appearingOptions, Options disappearingOptions) { + return null; + } + protected void runOnPreDraw(Func1 task) { if (!isDestroyed) UiUtils.runOnPreDrawOnce(getView(), task); } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt new file mode 100644 index 00000000000..c04b014dca5 --- /dev/null +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt @@ -0,0 +1,5 @@ +package com.reactnativenavigation.viewcontrollers.viewcontroller + +data class TopBarVisibilityInfo(val isShown: Boolean, val solidColor: Int?) + +data class ViewControllerVisibilityInfo(val topBarVisibilityInfo: TopBarVisibilityInfo?) diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt index 4a7d078a7d7..cadb5347ec2 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt @@ -59,6 +59,8 @@ abstract class BaseTest { Mockito.`when`(res.getColor(ArgumentMatchers.anyInt())).thenReturn(0x00000) Mockito.`when`(res.getColor(ArgumentMatchers.anyInt(), ArgumentMatchers.any())) .thenReturn(0x00000) + + RNNFeatureToggles.init() } diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java b/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java index 03d29ca938c..16787818630 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java @@ -1,13 +1,13 @@ package com.reactnativenavigation.mocks; +import static org.mockito.Mockito.mock; + import android.app.Activity; import com.facebook.react.ReactInstanceManager; import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactView; import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactViewCreator; -import static org.mockito.Mockito.mock; - public class TitleBarReactViewCreatorMock extends TitleBarReactViewCreator { public TitleBarReactViewCreatorMock() { super(mock(ReactInstanceManager.class)); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt index abc19305509..ee9091bf0ac 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt @@ -27,6 +27,7 @@ import com.reactnativenavigation.viewcontrollers.bottomtabs.attacher.BottomTabsA import com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry import com.reactnativenavigation.viewcontrollers.fakes.FakeParentController import com.reactnativenavigation.viewcontrollers.stack.StackController +import com.reactnativenavigation.viewcontrollers.statusbar.StatusBarPresenter import com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController import com.reactnativenavigation.views.bottomtabs.BottomTabs @@ -67,6 +68,7 @@ class BottomTabsControllerTest : BaseTest() { activity = newActivity() childRegistry = ChildControllersRegistry() eventEmitter = Mockito.mock(EventEmitter::class.java) + StatusBarPresenter.init(activity) prepareViewsForTests() saveStatusBarHeight(63) } diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt index 2a1dc4f8052..c0b24b83a93 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt @@ -217,7 +217,7 @@ class TopBarControllerTest : BaseTest() { val colorAnimator = ValueAnimator() givenColorAnimator(colorAnimator, BKG_COLOR) givenTopBarBackgroundAsColor() - givenFeatureToggleOverrides(RNNToggles.TOP_BAR_COLOR_ANIMATION to false) + givenFeatureToggleOverrides(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH to false) val result = uut.getPushAnimation(options) assertThat(result).isNull() @@ -286,7 +286,7 @@ class TopBarControllerTest : BaseTest() { val disappearOpts = OptionHelper.emptyOptions() givenColorAnimator(colorAnimator, BKG_COLOR) givenTopBarBackgroundAsColor() - givenFeatureToggleOverrides(RNNToggles.TOP_BAR_COLOR_ANIMATION to false) + givenFeatureToggleOverrides(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH to false) val result = uut.getPopAnimation(appearOpts, disappearOpts) assertThat(result).isNull() @@ -357,8 +357,9 @@ class TopBarControllerTest : BaseTest() { } private fun initFeatureToggles() { + RNNFeatureToggles.clear() RNNFeatureToggles.init( - RNNToggles.TOP_BAR_COLOR_ANIMATION to true + RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH to true ) } diff --git a/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java b/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java index 3853724e73d..60638bb5912 100644 --- a/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java +++ b/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java @@ -49,7 +49,8 @@ protected boolean isNewArchEnabled() { public MainApplication() { super(new HashMap<>() {{ - put(RNNToggles.TOP_BAR_COLOR_ANIMATION, true); + put(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH, true); + put(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS, true); }}); } diff --git a/playground/src/screens/NavigationScreen.tsx b/playground/src/screens/NavigationScreen.tsx index f188dcdd430..d2e4da5b6c7 100644 --- a/playground/src/screens/NavigationScreen.tsx +++ b/playground/src/screens/NavigationScreen.tsx @@ -29,10 +29,17 @@ interface Props extends NavigationProps {} export default class NavigationScreen extends NavigationComponent { static options() { return { + statusBar: { + backgroundColor: 'orange', + translucent: false, + }, topBar: { title: { text: 'Navigation', }, + background: { + color: 'orange', + }, }, bottomTab: { text: 'Navigation', From 9205aa0db68c47149c76936c2b9b20c44d319e32 Mon Sep 17 00:00:00 2001 From: mobileoss Date: Wed, 5 Mar 2025 15:44:36 +0000 Subject: [PATCH 02/29] Update package.json version to 7.44.0 [buildkite skip] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 292dd82dbed..3735d45f06e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-navigation", - "version": "7.41.0", + "version": "7.44.0", "description": "React Native Navigation - truly native navigation for iOS and Android", "license": "MIT", "nativePackage": true, From 749936cdc422040d1bc9b2aeedfcb6cd710ab8e2 Mon Sep 17 00:00:00 2001 From: d4vidi Date: Mon, 31 Mar 2025 15:07:48 +0300 Subject: [PATCH 03/29] Fix npm registry and recreate package-lock.json (#7987) --- .npmrc | 2 + package-lock.json | 8392 +++++++++++++++++++++++++-------------------- 2 files changed, 4592 insertions(+), 3802 deletions(-) diff --git a/.npmrc b/.npmrc index 521a9f7c077..abaf5ae7b53 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,3 @@ legacy-peer-deps=true +registry=https://registry.npmjs.org +strict-ssl=true diff --git a/package-lock.json b/package-lock.json index e0df980ca26..7aa3614f786 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,54 +1,57 @@ { "name": "react-native-navigation", - "version": "7.41.0", + "version": "7.44.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "react-native-navigation", - "version": "7.41.0", + "version": "7.44.0", "license": "MIT", "dependencies": { "hoist-non-react-statics": "3.x.x", "lodash": "4.17.x", "prop-types": "15.x.x", - "react-lifecycles-compat": "2.0.0", + "react-lifecycles-compat": "^3.0.4", "tslib": "1.9.3" }, "bin": { "rnn-link": "autolink/postlink/run.js" }, "devDependencies": { - "@babel/core": "7.22.9", + "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "7.10.1", "@babel/plugin-proposal-export-namespace-from": "7.10.1", - "@babel/preset-env": "^7.22.9", - "@babel/runtime": "7.22.6", - "@babel/types": "7.22.5", - "@react-native-community/blur": "^4.4.1", - "@react-native-community/datetimepicker": "^3.4.7", - "@react-native-community/eslint-config": "2.0.0", - "@react-native-community/netinfo": "^5.9.4", - "@react-native/babel-preset": "^0.73.18", - "@react-native/metro-config": "^0.73.2", - "@react-native/typescript-config": "^0.73.1", + "@babel/preset-env": "^7.25.3", + "@babel/runtime": "^7.25.0", + "@babel/types": "7.25.0", + "@react-native-community/cli": "15.0.1", + "@react-native-community/cli-platform-android": "15.0.1", + "@react-native-community/cli-platform-ios": "15.0.1", + "@react-native-community/datetimepicker": "^8.2.0", + "@react-native-community/eslint-config": "3.2.0", + "@react-native-community/netinfo": "^11.4.1", + "@react-native/babel-preset": "0.76.6", + "@react-native/eslint-config": "0.76.6", + "@react-native/metro-config": "0.76.6", + "@react-native/typescript-config": "0.76.6", "@testing-library/jest-native": "^5.4.2", - "@testing-library/react-native": "^12.0.1", - "@types/hoist-non-react-statics": "^3.0.1", + "@testing-library/react-native": "^13.0.1", + "@types/hoist-non-react-statics": "^3.3.6", "@types/jasmine": "3.5.10", "@types/jest": "27.0.2", "@types/lodash": "^4.14.149", - "@types/react": "16.9.41", - "@types/react-native": "0.63.1", - "@types/react-test-renderer": "16.9.2", - "@typescript-eslint/eslint-plugin": "4.33.0", - "@typescript-eslint/parser": "4.33.0", + "@types/react": "^18.2.6", + "@types/react-test-renderer": "^18.0.0", + "@typescript-eslint/eslint-plugin": "8.21.0", + "@typescript-eslint/parser": "8.21.0", "babel-jest": "^27.0.0", "clang-format": "^1.4.0", - "detox": "20.19.5", + "detox": "20.32.0", "detox-testing-library-rnn-adapter": "^2.0.3", - "eslint": "7.32.0", + "eslint": "^8.19.0", "eslint-config-prettier": "6.11.0", + "eslint-formatter-codeframe": "^7.32.1", "eslint-plugin-prettier": "3.1.4", "github-release-notes": "https://github.com/yogevbd/github-release-notes/tarball/e601b3dba72dcd6cba323c1286ea6dd0c0110b58", "husky": "4.2.5", @@ -58,22 +61,22 @@ "metro-react-native-babel-preset": "^0.76.2", "pixelmatch": "^5.2.1", "pngjs": "^6.0.0", - "prettier": "2.1.2", - "react": "18.2.0", - "react-native": "0.73.3", + "prettier": "2.8.8", + "react": "18.3.1", + "react-native": "0.76.6", "react-native-fast-image": "^8.6.3", - "react-native-gesture-handler": "2.14.1", - "react-native-reanimated": "3.16.1", + "react-native-gesture-handler": "^2.22.1", + "react-native-reanimated": "3.16.7", "react-native-ui-lib": "7.3.6", "react-redux": "5.x.x", - "react-test-renderer": "18.2.0", + "react-test-renderer": "18.3.1", "redux": "3.x.x", "remx": "3.x.x", "semver": "5.x.x", "shell-utils": "1.x.x", "ts-mockito": "^2.3.1", "typedoc": "0.x.x", - "typescript": "5.5.4" + "typescript": "5.0.4" }, "peerDependencies": { "react": "*", @@ -88,7 +91,7 @@ }, "node_modules/@ampproject/remapping": { "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@ampproject/remapping/-/remapping-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { @@ -101,7 +104,7 @@ }, "node_modules/@babel/code-frame": { "version": "7.26.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/code-frame/-/code-frame-7.26.2.tgz", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "dependencies": { @@ -114,34 +117,34 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.10", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", + "json5": "^2.2.3", "semver": "^6.3.1" }, "engines": { @@ -152,9 +155,49 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.27.0.tgz", + "integrity": "sha512-dtnzmSjXfgL/HDgMcmsLSzyGbEosi4DrGWoCNfuI+W4IkVJw6izpTe7LtOdwAXnkDqw5yweboYCTkM2rQizCng==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -162,13 +205,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz", + "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==", "dev": true, "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -178,9 +221,9 @@ } }, "node_modules/@babel/generator/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -192,7 +235,7 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "dependencies": { @@ -203,9 +246,9 @@ } }, "node_modules/@babel/helper-annotate-as-pure/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -216,12 +259,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz", + "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.26.5", + "@babel/compat-data": "^7.26.8", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -233,7 +276,7 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -241,17 +284,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", - "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz", + "integrity": "sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/traverse": "^7.27.0", "semver": "^6.3.1" }, "engines": { @@ -263,7 +306,7 @@ }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -271,9 +314,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.26.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", - "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.0.tgz", + "integrity": "sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", @@ -289,7 +332,7 @@ }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -297,9 +340,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -314,7 +357,7 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.24.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, "dependencies": { @@ -324,22 +367,9 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "dependencies": { @@ -351,9 +381,9 @@ } }, "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -365,7 +395,7 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "dependencies": { @@ -377,9 +407,9 @@ } }, "node_modules/@babel/helper-module-imports/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -391,7 +421,7 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "dependencies": { @@ -408,7 +438,7 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "dependencies": { @@ -419,9 +449,9 @@ } }, "node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -433,7 +463,7 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, "engines": { @@ -442,7 +472,7 @@ }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, "dependencies": { @@ -459,7 +489,7 @@ }, "node_modules/@babel/helper-replace-supers": { "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, "dependencies": { @@ -476,7 +506,7 @@ }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "dependencies": { @@ -488,9 +518,9 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -502,7 +532,7 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "engines": { @@ -511,7 +541,7 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "engines": { @@ -520,7 +550,7 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "engines": { @@ -529,7 +559,7 @@ }, "node_modules/@babel/helper-wrap-function": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, "dependencies": { @@ -542,9 +572,9 @@ } }, "node_modules/@babel/helper-wrap-function/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -555,22 +585,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -582,7 +612,7 @@ }, "node_modules/@babel/highlight": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/highlight/-/highlight-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", "dev": true, "dependencies": { @@ -597,7 +627,7 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { @@ -609,7 +639,7 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { @@ -623,7 +653,7 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { @@ -632,13 +662,13 @@ }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { @@ -647,7 +677,7 @@ }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { @@ -656,7 +686,7 @@ }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { @@ -667,12 +697,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/parser/-/parser-7.26.7.tgz", - "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, "dependencies": { - "@babel/types": "^7.26.7" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -682,9 +712,9 @@ } }, "node_modules/@babel/parser/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -696,7 +726,7 @@ }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, "dependencies": { @@ -712,7 +742,7 @@ }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, "dependencies": { @@ -727,7 +757,7 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, "dependencies": { @@ -742,7 +772,7 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, "dependencies": { @@ -759,7 +789,7 @@ }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, "dependencies": { @@ -775,7 +805,7 @@ }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", "dev": true, @@ -794,7 +824,7 @@ }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, @@ -811,7 +841,7 @@ }, "node_modules/@babel/plugin-proposal-export-default-from": { "version": "7.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.1.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.1.tgz", "integrity": "sha512-Xfc1CfHapIkwZ/+AI+j4Ha3g233ol0EEdy6SmnUuQQiZX78SfQXHd8tmntc5zqCkwPnIHoiZa6l6p0OAvxYXHw==", "dev": true, "dependencies": { @@ -824,7 +854,7 @@ }, "node_modules/@babel/plugin-proposal-export-namespace-from": { "version": "7.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.1.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.1.tgz", "integrity": "sha512-eR4CoYb6mh5y9LWjnb4CyUatuhtZ8pNLXLDi46GkqtF7WPafFqXycHdvF5qWviozZVGRSAmHzdayc8wUReCdjA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", "dev": true, @@ -838,7 +868,7 @@ }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dev": true, @@ -855,7 +885,7 @@ }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", "dev": true, @@ -872,7 +902,7 @@ }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.20.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dev": true, @@ -892,7 +922,7 @@ }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.18.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", "dev": true, @@ -909,7 +939,7 @@ }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", "dev": true, @@ -927,7 +957,7 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, "engines": { @@ -939,7 +969,7 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { @@ -951,7 +981,7 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "dependencies": { @@ -963,7 +993,7 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { @@ -975,7 +1005,7 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { @@ -990,7 +1020,7 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { @@ -1002,7 +1032,7 @@ }, "node_modules/@babel/plugin-syntax-export-default-from": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.25.9.tgz", "integrity": "sha512-9MhJ/SMTsVqsd69GyQg89lYR4o9T+oDGv5F6IsigxxqFVOyR/IflDLYP8WDI1l8fkhNGGktqkvL5qwNCtGEpgQ==", "dev": true, "dependencies": { @@ -1017,7 +1047,7 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "dependencies": { @@ -1029,7 +1059,7 @@ }, "node_modules/@babel/plugin-syntax-flow": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", "dev": true, "dependencies": { @@ -1044,7 +1074,7 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, "dependencies": { @@ -1059,7 +1089,7 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "dependencies": { @@ -1074,7 +1104,7 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { @@ -1086,7 +1116,7 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "dependencies": { @@ -1098,7 +1128,7 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, "dependencies": { @@ -1113,7 +1143,7 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { @@ -1125,7 +1155,7 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { @@ -1137,7 +1167,7 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { @@ -1149,7 +1179,7 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { @@ -1161,7 +1191,7 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { @@ -1173,7 +1203,7 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { @@ -1185,7 +1215,7 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { @@ -1200,7 +1230,7 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { @@ -1215,7 +1245,7 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, "dependencies": { @@ -1230,7 +1260,7 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { @@ -1246,7 +1276,7 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "dependencies": { @@ -1260,14 +1290,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", - "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/traverse": "^7.26.8" }, "engines": { "node": ">=6.9.0" @@ -1278,7 +1308,7 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, "dependencies": { @@ -1295,7 +1325,7 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, "dependencies": { @@ -1309,12 +1339,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz", + "integrity": "sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1325,7 +1355,7 @@ }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, "dependencies": { @@ -1341,7 +1371,7 @@ }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, "dependencies": { @@ -1357,7 +1387,7 @@ }, "node_modules/@babel/plugin-transform-classes": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "dependencies": { @@ -1377,7 +1407,7 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "dependencies": { @@ -1393,7 +1423,7 @@ }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "dependencies": { @@ -1408,7 +1438,7 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, "dependencies": { @@ -1424,7 +1454,7 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, "dependencies": { @@ -1439,7 +1469,7 @@ }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "dependencies": { @@ -1455,7 +1485,7 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, "dependencies": { @@ -1470,7 +1500,7 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.26.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dev": true, "dependencies": { @@ -1485,7 +1515,7 @@ }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, "dependencies": { @@ -1500,7 +1530,7 @@ }, "node_modules/@babel/plugin-transform-flow-strip-types": { "version": "7.26.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.26.5.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.26.5.tgz", "integrity": "sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ==", "dev": true, "dependencies": { @@ -1515,12 +1545,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", - "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { @@ -1532,7 +1562,7 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, "dependencies": { @@ -1549,7 +1579,7 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, "dependencies": { @@ -1564,7 +1594,7 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, "dependencies": { @@ -1579,7 +1609,7 @@ }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, "dependencies": { @@ -1594,7 +1624,7 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, "dependencies": { @@ -1609,7 +1639,7 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, "dependencies": { @@ -1625,7 +1655,7 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.26.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, "dependencies": { @@ -1641,7 +1671,7 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "dependencies": { @@ -1659,7 +1689,7 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, "dependencies": { @@ -1675,7 +1705,7 @@ }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "dependencies": { @@ -1691,7 +1721,7 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "dependencies": { @@ -1706,7 +1736,7 @@ }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.26.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, "dependencies": { @@ -1721,7 +1751,7 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, "dependencies": { @@ -1736,7 +1766,7 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "dependencies": { @@ -1753,7 +1783,7 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "dependencies": { @@ -1769,7 +1799,7 @@ }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, "dependencies": { @@ -1784,7 +1814,7 @@ }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "dependencies": { @@ -1800,7 +1830,7 @@ }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "dependencies": { @@ -1815,7 +1845,7 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, "dependencies": { @@ -1831,7 +1861,7 @@ }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, "dependencies": { @@ -1848,7 +1878,7 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "dependencies": { @@ -1863,7 +1893,7 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", "dev": true, "dependencies": { @@ -1878,7 +1908,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "dev": true, "dependencies": { @@ -1897,7 +1927,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", "dev": true, "dependencies": { @@ -1912,7 +1942,7 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", "dev": true, "dependencies": { @@ -1926,9 +1956,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -1939,12 +1969,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz", + "integrity": "sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1956,7 +1986,7 @@ }, "node_modules/@babel/plugin-transform-regexp-modifiers": { "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, "dependencies": { @@ -1972,7 +2002,7 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dev": true, "dependencies": { @@ -1986,15 +2016,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", - "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", + "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -2007,7 +2037,7 @@ }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -2016,7 +2046,7 @@ }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "dependencies": { @@ -2031,7 +2061,7 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "dependencies": { @@ -2047,7 +2077,7 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "dependencies": { @@ -2061,12 +2091,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", - "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -2076,9 +2106,9 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", - "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz", + "integrity": "sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.26.5" @@ -2091,13 +2121,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.7.tgz", - "integrity": "sha512-5cJurntg+AT+cgelGP9Bt788DKiAw9gIMSMU2NJrLAilnj0m8WZWUNZPSLOmadYsujHutpgElO+50foX+ib/Wg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz", + "integrity": "sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.27.0", "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9" @@ -2111,7 +2141,7 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "dependencies": { @@ -2126,7 +2156,7 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "dependencies": { @@ -2142,7 +2172,7 @@ }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "dependencies": { @@ -2158,7 +2188,7 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, "dependencies": { @@ -2173,12 +2203,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/preset-env/-/preset-env-7.26.7.tgz", - "integrity": "sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.26.5", + "@babel/compat-data": "^7.26.8", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", @@ -2192,7 +2222,7 @@ "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", "@babel/plugin-transform-async-to-generator": "^7.25.9", "@babel/plugin-transform-block-scoped-functions": "^7.26.5", "@babel/plugin-transform-block-scoping": "^7.25.9", @@ -2207,7 +2237,7 @@ "@babel/plugin-transform-dynamic-import": "^7.25.9", "@babel/plugin-transform-exponentiation-operator": "^7.26.3", "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", "@babel/plugin-transform-function-name": "^7.25.9", "@babel/plugin-transform-json-strings": "^7.25.9", "@babel/plugin-transform-literals": "^7.25.9", @@ -2235,7 +2265,7 @@ "@babel/plugin-transform-shorthand-properties": "^7.25.9", "@babel/plugin-transform-spread": "^7.25.9", "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", "@babel/plugin-transform-typeof-symbol": "^7.26.7", "@babel/plugin-transform-unicode-escapes": "^7.25.9", "@babel/plugin-transform-unicode-property-regex": "^7.25.9", @@ -2243,9 +2273,9 @@ "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", + "core-js-compat": "^3.40.0", "semver": "^6.3.1" }, "engines": { @@ -2257,7 +2287,7 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -2266,7 +2296,7 @@ }, "node_modules/@babel/preset-flow": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/preset-flow/-/preset-flow-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.25.9.tgz", "integrity": "sha512-EASHsAhE+SSlEzJ4bzfusnXSHiU+JfAYzj+jbw2vgQKgq5HrUr8qs+vgtiEL5dOH6sEweI+PNt2D7AqrDSHyqQ==", "dev": true, "dependencies": { @@ -2283,7 +2313,7 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { @@ -2296,16 +2326,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", - "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.0.tgz", + "integrity": "sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "@babel/plugin-syntax-jsx": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.25.9", - "@babel/plugin-transform-typescript": "^7.25.9" + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-typescript": "^7.27.0" }, "engines": { "node": ">=6.9.0" @@ -2316,7 +2346,7 @@ }, "node_modules/@babel/register": { "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/register/-/register-7.25.9.tgz", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", "dev": true, "dependencies": { @@ -2335,7 +2365,7 @@ }, "node_modules/@babel/register/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/make-dir/-/make-dir-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { @@ -2347,35 +2377,35 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -2386,16 +2416,35 @@ } }, "node_modules/@babel/traverse": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/traverse/-/traverse-7.26.7.tgz", - "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map": { + "name": "@babel/traverse", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.27.0", + "@babel/parser": "^7.27.0", + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2403,10 +2452,23 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse--for-generate-function-map/node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/traverse/node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -2417,13 +2479,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", + "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2432,13 +2494,13 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, "node_modules/@egjs/hammerjs": { "version": "2.0.17", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", "dev": true, "dependencies": { @@ -2448,29 +2510,71 @@ "node": ">=0.8.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { @@ -2484,9 +2588,25 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/globals/-/globals-13.24.0.tgz", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { @@ -2499,47 +2619,71 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@flatten-js/interval-tree": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@flatten-js/interval-tree/-/interval-tree-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/@flatten-js/interval-tree/-/interval-tree-1.1.3.tgz", "integrity": "sha512-xhFWUBoHJFF77cJO1D6REjdgJEMRf2Y2Z+eKEPav8evGKcLSnj1ud5pLXQSbGuxF3VSvT1rWhMfVpXEKJLTL+A==", "dev": true }, "node_modules/@gerrit0/mini-shiki": { - "version": "1.27.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@gerrit0/mini-shiki/-/mini-shiki-1.27.2.tgz", - "integrity": "sha512-GeWyHz8ao2gBiUW4OJnQDxXQnFgZQwwQk05t/CVVgNBN7/rK8XZ7xY6YhLVv9tH3VppWWmr9DCl3MwemB/i+Og==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.1.tgz", + "integrity": "sha512-HbzRC6MKB6U8kQhczz0APKPIzFHTrcqhaC7es2EXInq1SpjPVnpVSIsBe6hNoLWqqCx1n5VKiPXq6PfXnHZKOQ==", "dev": true, "dependencies": { - "@shikijs/engine-oniguruma": "^1.27.2", - "@shikijs/types": "^1.27.2", - "@shikijs/vscode-textmate": "^10.0.1" + "@shikijs/engine-oniguruma": "^3.2.1", + "@shikijs/types": "^3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@hapi/hoek": { "version": "9.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@hapi/hoek/-/hoek-9.3.0.tgz", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", "dev": true }, "node_modules/@hapi/topo": { "version": "5.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@hapi/topo/-/topo-5.1.0.tgz", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", "dev": true, "dependencies": { @@ -2547,30 +2691,65 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@isaacs/cliui/-/cliui-8.0.2.tgz", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { @@ -2587,7 +2766,7 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "engines": { @@ -2599,7 +2778,7 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-6.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { @@ -2611,13 +2790,13 @@ }, "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/emoji-regex/-/emoji-regex-9.2.2.tgz", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-5.1.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { @@ -2634,7 +2813,7 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-7.1.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { @@ -2649,7 +2828,7 @@ }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { @@ -2666,7 +2845,7 @@ }, "node_modules/@isaacs/ttlcache": { "version": "1.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", "dev": true, "engines": { @@ -2675,7 +2854,7 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { @@ -2689,9 +2868,61 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@istanbuljs/schema/-/schema-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { @@ -2700,7 +2931,7 @@ }, "node_modules/@jest/console": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/console/-/console-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dev": true, "dependencies": { @@ -2717,7 +2948,7 @@ }, "node_modules/@jest/core": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/core/-/core-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", "dev": true, "dependencies": { @@ -2764,7 +2995,7 @@ }, "node_modules/@jest/core/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { @@ -2777,9 +3008,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/core/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { @@ -2791,7 +3034,7 @@ }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "dev": true, "dependencies": { @@ -2803,7 +3046,7 @@ }, "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { @@ -2820,7 +3063,7 @@ }, "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { "version": "17.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-17.0.33.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { @@ -2829,7 +3072,7 @@ }, "node_modules/@jest/environment": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/environment/-/environment-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "dev": true, "dependencies": { @@ -2844,7 +3087,7 @@ }, "node_modules/@jest/fake-timers": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", "dev": true, "dependencies": { @@ -2861,7 +3104,7 @@ }, "node_modules/@jest/globals": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/globals/-/globals-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dev": true, "dependencies": { @@ -2875,7 +3118,7 @@ }, "node_modules/@jest/reporters": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/reporters/-/reporters-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dev": true, "dependencies": { @@ -2919,7 +3162,7 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/schemas/-/schemas-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { @@ -2931,7 +3174,7 @@ }, "node_modules/@jest/source-map": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/source-map/-/source-map-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", "dev": true, "dependencies": { @@ -2945,7 +3188,7 @@ }, "node_modules/@jest/test-result": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/test-result/-/test-result-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dev": true, "dependencies": { @@ -2960,7 +3203,7 @@ }, "node_modules/@jest/test-sequencer": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dev": true, "dependencies": { @@ -2975,7 +3218,7 @@ }, "node_modules/@jest/transform": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/transform/-/transform-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", "dev": true, "dependencies": { @@ -2999,9 +3242,15 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, "node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dev": true, "dependencies": { @@ -3017,7 +3266,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, "dependencies": { @@ -3031,7 +3280,7 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { @@ -3040,7 +3289,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { @@ -3049,7 +3298,7 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { @@ -3059,13 +3308,13 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { @@ -3073,9 +3322,18 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { @@ -3088,7 +3346,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { @@ -3097,7 +3355,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { @@ -3110,13 +3368,13 @@ }, "node_modules/@one-ini/wasm": { "version": "0.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@one-ini/wasm/-/wasm-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "optional": true, @@ -3124,149 +3382,99 @@ "node": ">=14" } }, - "node_modules/@react-native-community/blur": { - "version": "4.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/blur/-/blur-4.4.1.tgz", - "integrity": "sha512-XBSsRiYxE/MOEln2ayunShfJtWztHwUxLFcSL20o+HNNRnuUDv+GXkF6FmM2zE8ZUfrnhQ/zeTqvnuDPGw6O8A==", - "dev": true, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, "node_modules/@react-native-community/cli": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli/-/cli-12.3.2.tgz", - "integrity": "sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ==", - "dev": true, - "dependencies": { - "@react-native-community/cli-clean": "12.3.2", - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-doctor": "12.3.2", - "@react-native-community/cli-hermes": "12.3.2", - "@react-native-community/cli-plugin-metro": "12.3.2", - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native-community/cli-types": "12.3.2", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-15.0.1.tgz", + "integrity": "sha512-xIGPytx2bj5HxFk0c7S25AVuJowHmEFg5LFC9XosKc0TSOjP1r6zGC6OqC/arQV/pNuqmZN2IFnpgJn0Bn+hhQ==", + "dev": true, + "dependencies": { + "@react-native-community/cli-clean": "15.0.1", + "@react-native-community/cli-config": "15.0.1", + "@react-native-community/cli-debugger-ui": "15.0.1", + "@react-native-community/cli-doctor": "15.0.1", + "@react-native-community/cli-server-api": "15.0.1", + "@react-native-community/cli-tools": "15.0.1", + "@react-native-community/cli-types": "15.0.1", "chalk": "^4.1.2", "commander": "^9.4.1", "deepmerge": "^4.3.0", "execa": "^5.0.0", - "find-up": "^4.1.0", + "find-up": "^5.0.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", "prompts": "^2.4.2", "semver": "^7.5.2" }, "bin": { - "react-native": "build/bin.js" + "rnc-cli": "build/bin.js" }, "engines": { "node": ">=18" } }, "node_modules/@react-native-community/cli-clean": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz", - "integrity": "sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-15.0.1.tgz", + "integrity": "sha512-flGTfT005UZvW2LAXVowZ/7ri22oiiZE4pPgMvc8klRxO5uofKIRuohgiHybHtiCo/HNqIz45JmZJvuFrhc4Ow==", "dev": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "15.0.1", "chalk": "^4.1.2", - "execa": "^5.0.0" + "execa": "^5.0.0", + "fast-glob": "^3.3.2" } }, "node_modules/@react-native-community/cli-config": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-config/-/cli-config-12.3.2.tgz", - "integrity": "sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-15.0.1.tgz", + "integrity": "sha512-SL3/9zIyzQQPKWei0+W1gNHxCPurrxqpODUWnVLoP38DNcvYCGtsRayw/4DsXgprZfBC+FsscNpd3IDJrG59XA==", "dev": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-tools": "15.0.1", "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", + "cosmiconfig": "^9.0.0", "deepmerge": "^4.3.0", - "glob": "^7.1.3", + "fast-glob": "^3.3.2", "joi": "^17.2.1" } }, - "node_modules/@react-native-community/cli-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/@react-native-community/cli-config-apple": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config-apple/-/cli-config-apple-15.0.1.tgz", + "integrity": "sha512-GEHUx4NRp9W9or6vygn0TgNeFkcJdNjrtko0vQEJAS4gJdWqP/9LqqwJNlUfaW5jHBN7TKALAMlfRmI12Op3sg==", "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, - "engines": { - "node": ">=4" + "@react-native-community/cli-tools": "15.0.1", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2" } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz", - "integrity": "sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-15.0.1.tgz", + "integrity": "sha512-xkT2TLS8zg5r7Vl9l/2f7JVUoFECnVBS+B5ivrSu2PNZhKkr9lRmJFxC9aVLFb5lIxQQKNDvEyiIDNfP7wjJiA==", "dev": true, "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz", - "integrity": "sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-15.0.1.tgz", + "integrity": "sha512-YCu44lZR3zZxJJYVTqYZFz9cT9KBfbKI4q2MnKOvkamt00XY3usooMqfuwBAdvM/yvpx7M5w8kbM/nPyj4YCvQ==", "dev": true, "dependencies": { - "@react-native-community/cli-config": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", + "@react-native-community/cli-config": "15.0.1", + "@react-native-community/cli-platform-android": "15.0.1", + "@react-native-community/cli-platform-apple": "15.0.1", + "@react-native-community/cli-platform-ios": "15.0.1", + "@react-native-community/cli-tools": "15.0.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", + "envinfo": "^7.13.0", "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", "semver": "^7.5.2", @@ -3275,81 +3483,93 @@ "yaml": "^2.2.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/@react-native-community/cli-platform-android": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-15.0.1.tgz", + "integrity": "sha512-QlAMomj6H6TY6pHwjTYMsHDQLP5eLzjAmyW1qb03w/kyS/72elK2bjsklNWJrscFY9TMQLqw7qoAsXf1m5t/dg==", "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@react-native-community/cli-tools": "15.0.1", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2", + "fast-xml-parser": "^4.4.1", + "logkitty": "^0.7.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/@react-native-community/cli-platform-apple": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-15.0.1.tgz", + "integrity": "sha512-iQj1Dt2fr/Q7X2CQhyhWnece3eLDCark1osfiwpViksOfTH2WdpNS3lIwlFcIKhsieFU7YYwbNuFqQ3tF9Dlvw==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@react-native-community/cli-config-apple": "15.0.1", + "@react-native-community/cli-tools": "15.0.1", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.4.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/@react-native-community/cli-platform-ios": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-15.0.1.tgz", + "integrity": "sha512-6pKzXEIgGL20eE1uOn8iSsNBlMzO1LG+pQOk+7mvD172EPhKm/lRzUVDX5gO/2jvsGoNw6VUW0JX1FI2firwqA==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@react-native-community/cli-platform-apple": "15.0.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/@react-native-community/cli-server-api": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-15.0.1.tgz", + "integrity": "sha512-f3rb3t1ELLaMSX5/LWO/IykglBIgiP3+pPnyl8GphHnBpf3bdIcp7fHlHLemvHE06YxT2nANRxRPjy1gNskenA==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "@react-native-community/cli-debugger-ui": "15.0.1", + "@react-native-community/cli-tools": "15.0.1", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^6.2.3" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "node_modules/@react-native-community/cli-tools": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-15.0.1.tgz", + "integrity": "sha512-N79A+u/94roanfmNohVcNGu6Xg+0idh63JHZFLC9OJJuZwTifGMLDfSTHZATpR1J7rebozQ5ClcSUePavErnSg==", + "dev": true, + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "open": "^6.2.0", + "ora": "^5.4.1", + "prompts": "^2.4.2", + "semver": "^7.5.2", + "shell-quote": "^1.7.3", + "sudo-prompt": "^9.0.0" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -3359,371 +3579,505 @@ "node": ">=10" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/@react-native-community/cli-types": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-15.0.1.tgz", + "integrity": "sha512-sWiJ62kkGu2mgYni2dsPxOMBzpwTjNsDH1ubY4mqcNEI9Zmzs0vRwwDUEhYqwNGys9+KpBKoZRrT2PAlhO84xA==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" + "joi": "^17.2.1" } }, - "node_modules/@react-native-community/cli-doctor/node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { - "yaml": "bin.mjs" + "semver": "bin/semver.js" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/@react-native-community/cli-hermes": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz", - "integrity": "sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA==", + "node_modules/@react-native-community/datetimepicker": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-8.3.0.tgz", + "integrity": "sha512-K/KgaJbLtjMpx4PaG4efrVIcSe6+DbLufeX1lwPB5YY8i3sq9dOh6WcAcMTLbaRTUpurebQTkl7puHPFm9GalA==", "dev": true, "dependencies": { - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" + "invariant": "^2.2.4" + }, + "peerDependencies": { + "expo": ">=50.0.0", + "react": "*", + "react-native": "*", + "react-native-windows": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "react-native-windows": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz", - "integrity": "sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg==", + "node_modules/@react-native-community/eslint-config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", + "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", "dev": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.2.4", - "glob": "^7.1.3", - "logkitty": "^0.7.1" + "@babel/core": "^7.14.0", + "@babel/eslint-parser": "^7.18.2", + "@react-native-community/eslint-plugin": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.30.5", + "@typescript-eslint/parser": "^5.30.5", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^26.5.3", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" } }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz", - "integrity": "sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "dependencies": { - "@react-native-community/cli-tools": "12.3.2", - "chalk": "^4.1.2", - "execa": "^5.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-plugin-metro": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz", - "integrity": "sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g==", - "dev": true - }, - "node_modules/@react-native-community/cli-server-api": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz", - "integrity": "sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "dependencies": { - "@react-native-community/cli-debugger-ui": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.1", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@react-native-community/cli-tools": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz", - "integrity": "sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ==", + "node_modules/@react-native-community/eslint-config/node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^7.5.2", - "shell-quote": "^1.7.3", - "sudo-prompt": "^9.0.0" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@react-native-community/eslint-config/node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-tools/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/@react-native-community/eslint-config/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@react-native-community/cli-tools/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@react-native-community/eslint-config/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native-community/cli-tools/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/@react-native-community/eslint-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", + "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", + "dev": true + }, + "node_modules/@react-native-community/netinfo": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-11.4.1.tgz", + "integrity": "sha512-B0BYAkghz3Q2V09BF88RA601XursIEA111tnc2JOaN7axJWmNefmfjZqw/KdSxKZp7CZUuPpjBmz/WCR9uaHYg==", + "dev": true, + "peerDependencies": { + "react-native": ">=0.59" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.76.6.tgz", + "integrity": "sha512-YI8HoReYiIwdFQs+k9Q9qpFTnsyYikZxgs/UVtVbhKixXDQF6F9LLvj2naOx4cfV+RGybNKxwmDl1vUok/dRFQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.6.tgz", + "integrity": "sha512-yFC9I/aDBOBz3ZMlqKn2NY/mDUtCksUNZ7AQmBiTAeVTUP0ujEjE0hTOx5Qd+kok7A7hwZEX87HdSgjiJZfr5g==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "@react-native/codegen": "0.76.6" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@react-native-community/cli-tools/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/@react-native/babel-preset": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.76.6.tgz", + "integrity": "sha512-ojlVWY6S/VE/nb9hIRetPMTsW9ZmGb2R3dnToEXAtQQDz41eHMHXbkw/k2h0THp6qhas25ruNvn3N5n2o+lBzg==", "dev": true, "dependencies": { - "whatwg-url": "^5.0.0" + "@babel/core": "^7.25.2", + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.25.2", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/template": "^7.25.0", + "@react-native/babel-plugin-codegen": "0.76.6", + "babel-plugin-syntax-hermes-parser": "^0.25.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=18" }, "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "@babel/core": "*" } }, - "node_modules/@react-native-community/cli-tools/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/@react-native/babel-preset/node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.25.9.tgz", + "integrity": "sha512-ykqgwNfSnNOB+C8fV5X4mG3AVmvu+WVxcaU9xHHtBb7PCrPeweMmPjGsn8eMaeJg6SJuoUuZENeeSWaarWqonQ==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/@react-native/codegen": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.76.6.tgz", + "integrity": "sha512-BABb3e5G/+hyQYEYi0AODWh2km2d8ERoASZr6Hv90pVXdUHRYR+yxCatX7vSd9rnDUYndqRTzD0hZWAucPNAKg==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.23.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/@react-native-community/cli-tools/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/@react-native/community-cli-plugin": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.76.6.tgz", + "integrity": "sha512-nETlc/+U5cESVluzzgN0OcVfcoMijGBaDWzOaJhoYUodcuqnqtu75XsSEc7yzlYjwNQG+vF83mu9CQGezruNMA==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "@react-native/dev-middleware": "0.76.6", + "@react-native/metro-babel-transformer": "0.76.6", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "invariant": "^2.2.4", + "metro": "^0.81.0", + "metro-config": "^0.81.0", + "metro-core": "^0.81.0", + "node-fetch": "^2.2.0", + "readline": "^1.3.0", + "semver": "^7.1.3" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@react-native-community/cli-server-api": "*" + }, + "peerDependenciesMeta": { + "@react-native-community/cli-server-api": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-tools/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/@react-native/community-cli-plugin/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/@react-native-community/cli-tools/node_modules/semver": { + "node_modules/@react-native/community-cli-plugin/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -3733,21 +4087,21 @@ "node": ">=10" } }, - "node_modules/@react-native-community/cli-tools/node_modules/tr46": { + "node_modules/@react-native/community-cli-plugin/node_modules/tr46": { "version": "0.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tr46/-/tr46-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/@react-native-community/cli-tools/node_modules/webidl-conversions": { + "node_modules/@react-native/community-cli-plugin/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "node_modules/@react-native-community/cli-tools/node_modules/whatwg-url": { + "node_modules/@react-native/community-cli-plugin/node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-url/-/whatwg-url-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "dependencies": { @@ -3755,124 +4109,161 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/@react-native-community/cli-types": { - "version": "12.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/cli-types/-/cli-types-12.3.2.tgz", - "integrity": "sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog==", - "dev": true, - "dependencies": { - "joi": "^17.2.1" - } - }, - "node_modules/@react-native-community/cli/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "node_modules/@react-native/debugger-frontend": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.76.6.tgz", + "integrity": "sha512-kP97xMQjiANi5/lmf8MakS7d8FTJl+BqYHQMqyvNiY+eeWyKnhqW2GL2v3eEUBAuyPBgJGivuuO4RvjZujduJg==", "dev": true, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=18" } }, - "node_modules/@react-native-community/cli/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/@react-native/dev-middleware": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.76.6.tgz", + "integrity": "sha512-1bAyd2/X48Nzb45s5l2omM75vy764odx/UnDs4sJfFCuK+cupU4nRPgl0XWIqgdM/2+fbQ3E4QsVS/WIKTFxvQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.76.6", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "selfsigned": "^2.4.1", + "serve-static": "^1.13.1", + "ws": "^6.2.3" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=18" } }, - "node_modules/@react-native-community/cli/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@react-native/dev-middleware/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "is-docker": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@react-native-community/cli/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/@react-native/dev-middleware/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dev": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@react-native-community/datetimepicker": { - "version": "3.5.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/datetimepicker/-/datetimepicker-3.5.2.tgz", - "integrity": "sha512-TWRuAtr/DnrEcRewqvXMLea2oB+YF+SbtuYLHguALLxNJQLl/RFB7aTNZeF+OoH75zKFqtXECXV1/uxQUpA+sg==", + "node_modules/@react-native/eslint-config": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.76.6.tgz", + "integrity": "sha512-s7dsWapoB2oTgwhS8cjJmls9qsAOEbodWnFVeDkGytcjlOWDEYdDSqOhJXuwAqNmkZP1noXmcqRATo+gCnY20A==", "dev": true, "dependencies": { - "invariant": "^2.2.4" + "@babel/core": "^7.25.2", + "@babel/eslint-parser": "^7.25.1", + "@react-native/eslint-plugin": "0.76.6", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-ft-flow": "^2.0.1", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-react": "^7.30.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-native": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": ">=8", + "prettier": ">=2" } }, - "node_modules/@react-native-community/eslint-config": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/eslint-config/-/eslint-config-2.0.0.tgz", - "integrity": "sha512-vHaMMfvMp9BWCQQ0lNIXibOJTcXIbYUQ8dSUsMOsrXgVkeVQJj88OwrKS00rQyqwMaC4/a6HuDiFzYUkGKOpVg==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "dependencies": { - "@react-native-community/eslint-plugin": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^3.1.0", - "@typescript-eslint/parser": "^3.1.0", - "babel-eslint": "^10.1.0", - "eslint-config-prettier": "^6.10.1", - "eslint-plugin-eslint-comments": "^3.1.2", - "eslint-plugin-flowtype": "2.50.3", - "eslint-plugin-jest": "22.4.1", - "eslint-plugin-prettier": "3.1.2", - "eslint-plugin-react": "^7.20.0", - "eslint-plugin-react-hooks": "^4.0.4", - "eslint-plugin-react-native": "^3.8.1", - "prettier": "^2.0.2" + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": ">=6" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/eslint-plugin": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", - "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "3.10.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^3.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -3880,50 +4271,43 @@ } } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/parser": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/parser/-/parser-3.10.1.tgz", - "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.10.1", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-visitor-keys": "^1.1.0" + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -3931,36 +4315,36 @@ } } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3972,488 +4356,254 @@ } } }, - "node_modules/@react-native-community/eslint-config/node_modules/@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@react-native-community/eslint-config/node_modules/eslint-plugin-prettier": { - "version": "3.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", - "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" }, "peerDependencies": { - "eslint": ">= 5.0.0", - "prettier": ">= 1.13.0" + "eslint": "^8.56.0" } }, - "node_modules/@react-native-community/eslint-config/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/@react-native/eslint-config/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=6" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@react-native-community/eslint-config/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native-community/eslint-config/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@react-native/eslint-config/node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@react-native-community/eslint-plugin": { - "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", - "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", - "dev": true - }, - "node_modules/@react-native-community/netinfo": { - "version": "5.9.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native-community/netinfo/-/netinfo-5.9.10.tgz", - "integrity": "sha512-1NPlBA2Hu/KWc3EnQcDRPRX0x8Dg9tuQlQQVWVQjlg+u+PjCq7ANEtbikOFKp5yQqfF8tqzU5+84/IfDO8zpiA==", - "dev": true, - "peerDependencies": { - "react-native": ">=0.59" - } - }, - "node_modules/@react-native/assets-registry": { - "version": "0.73.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", - "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", - "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", - "dev": true, - "dependencies": { - "@react-native/codegen": "0.73.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/babel-preset": { - "version": "0.73.21", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", - "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": ">=18" + "eslint-config-prettier": "bin/cli.js" }, "peerDependencies": { - "@babel/core": "*" + "eslint": ">=7.0.0" } }, - "node_modules/@react-native/codegen": { - "version": "0.73.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/codegen/-/codegen-0.73.3.tgz", - "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest": { + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" + "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": ">=18" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.73.14", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.14.tgz", - "integrity": "sha512-KzIwsTvAJrXPtwhGOSm+OcJH1B8TpY8cS4xxzu/e2qv3a2n4VLePHTPAfco1tmvekV8OHWvvD9JSIX7i2fB1gg==", - "dev": true, - "dependencies": { - "@react-native-community/cli-server-api": "12.3.2", - "@react-native-community/cli-tools": "12.3.2", - "@react-native/dev-middleware": "0.73.7", - "@react-native/metro-babel-transformer": "0.73.14", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.3.tgz", - "integrity": "sha512-+zQrDDbz6lB48LyzFHxNCgXDCBHH+oTRdXAjikRcBUdeG9St9ABbYFLtb799zSxLOrCqFVyXqhJR2vlgLLEbcg==", - "dev": true, - "dependencies": { - "@react-native/codegen": "0.73.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-preset": { - "version": "0.73.20", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/babel-preset/-/babel-preset-0.73.20.tgz", - "integrity": "sha512-fU9NqkusbfFq71l4BWQfqqD/lLcLC0MZ++UYgieA3j8lIEppJTLVauv2RwtD2yltBkjebgYEC5Rwvt1l0MUBXw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.3", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0", + "jest": "*" }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/codegen": { - "version": "0.73.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/codegen/-/codegen-0.73.2.tgz", - "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/metro-babel-transformer": { - "version": "0.73.14", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.14.tgz", - "integrity": "sha512-5wLeYw/lormpSqYfI9H/geZ/EtPmi+x5qLkEit15Q/70hkzYo/M+aWztUtbOITfgTEOP8d6ybROzoGsqgyZLcw==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.20", - "hermes-parser": "0.15.0", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "whatwg-url": "^5.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "4.x || >=6.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "encoding": "^0.1.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { - "encoding": { + "typescript": { "optional": true } } }, - "node_modules/@react-native/community-cli-plugin/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.73.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", - "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", - "dev": true, + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@react-native/dev-middleware": { - "version": "0.73.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", - "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", + "node_modules/@react-native/eslint-config/node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@react-native/eslint-config/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/@react-native/dev-middleware/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/@react-native/eslint-config/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">=10" } }, - "node_modules/@react-native/dev-middleware/node_modules/open": { - "version": "7.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "node_modules/@react-native/eslint-config/node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, "engines": { - "node": ">=8" + "node": ">=16" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/@react-native/dev-middleware/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/@react-native/dev-middleware/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/@react-native/eslint-plugin": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.76.6.tgz", + "integrity": "sha512-pAqN77lBXyfRcKN2D17AqWJLKkHNV/ZevPKKIGZ2LbLeM8POWsYcNnGtaO+glny8LbE+ZSBEXknMSIN+PrDk/A==", "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "engines": { + "node": ">=18" } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.73.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", - "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.76.6.tgz", + "integrity": "sha512-sDzpf4eiynryoS6bpYCweGoxSmWgCSx9lzBoxIIW+S6siyGiTaffzZHWCm8mIn9UZsSPlEO37q62ggnR9Zu/OA==", "dev": true, "engines": { "node": ">=18" } }, "node_modules/@react-native/js-polyfills": { - "version": "0.73.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", - "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.76.6.tgz", + "integrity": "sha512-cDD7FynxWYxHkErZzAJtzPGhJ13JdOgL+R0riTh0hCovOfIUz9ItffdLQv2nx48lnvMTQ+HZXMnGOZnsFCNzQw==", "dev": true, "engines": { "node": ">=18" } }, "node_modules/@react-native/metro-babel-transformer": { - "version": "0.73.15", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", - "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.6.tgz", + "integrity": "sha512-xSBi9jPliThu5HRSJvluqUlDOLLEmf34zY/U7RDDjEbZqC0ufPcPS7c5XsSg0GDPiXc7lgjBVesPZsKFkoIBgA==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.21", - "hermes-parser": "0.15.0", + "@babel/core": "^7.25.2", + "@react-native/babel-preset": "0.76.6", + "hermes-parser": "0.23.1", "nullthrows": "^1.1.1" }, "engines": { @@ -4464,15 +4614,15 @@ } }, "node_modules/@react-native/metro-config": { - "version": "0.73.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/metro-config/-/metro-config-0.73.5.tgz", - "integrity": "sha512-3bNWoHzOzP/+qoLJtRhOVXrnxKmSY3i4y5PXyMQlIvvOI/GQbXulPpEZxK/yUrf1MmeXHLLFufFbQWlfDEDoxA==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.76.6.tgz", + "integrity": "sha512-R//+5BT/1hXv3ZjFjgF5uvR4xBpiHbw9Ci9AtCebPaAslQL8FXqAtwhn1Fjrl+ECo1Nhe25B/Lzl9WMWmI9X0w==", "dev": true, "dependencies": { - "@react-native/js-polyfills": "0.73.1", - "@react-native/metro-babel-transformer": "0.73.15", - "metro-config": "^0.80.3", - "metro-runtime": "^0.80.3" + "@react-native/js-polyfills": "0.76.6", + "@react-native/metro-babel-transformer": "0.76.6", + "metro-config": "^0.81.0", + "metro-runtime": "^0.81.0" }, "engines": { "node": ">=18" @@ -4480,26 +4630,26 @@ }, "node_modules/@react-native/normalize-color": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==", "dev": true }, "node_modules/@react-native/normalize-colors": { - "version": "0.73.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", - "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.6.tgz", + "integrity": "sha512-1n4udXH2Cla31iA/8eLRdhFHpYUYK1NKWCn4m1Sr9L4SarWKAYuRFliK1fcLvPPALCFoFlWvn8I0ekdUOHMzDQ==", "dev": true }, "node_modules/@react-native/typescript-config": { - "version": "0.73.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/typescript-config/-/typescript-config-0.73.1.tgz", - "integrity": "sha512-7Wrmdp972ZO7xvDid+xRGtvX6xz47cpGj7Y7VKlUhSVFFqbOGfB5WCpY1vMr6R/fjl+Og2fRw+TETN2+JnJi0w==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.76.6.tgz", + "integrity": "sha512-i1gh+wLaAwG6ZVe2Mkoa10RJznsfOC1crRh0JAobCHaTaA/ZmuFScBTRzRE60pO5Oz6HWM1qbQST+JM+5LiMuA==", "dev": true }, "node_modules/@react-native/virtualized-lists": { - "version": "0.73.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", - "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.76.6.tgz", + "integrity": "sha512-0HUWVwJbRq1BWFOu11eOWGTSmK9nMHhoMPyoI27wyWcl/nqUx7HOxMbRVq0DsTCyATSMPeF+vZ6o1REapcNWKw==", "dev": true, "dependencies": { "invariant": "^2.2.4", @@ -4509,12 +4659,19 @@ "node": ">=18" }, "peerDependencies": { + "@types/react": "^18.2.6", + "react": "*", "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@sentry-internal/tracing": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry-internal/tracing/-/tracing-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.3.tgz", "integrity": "sha512-Ausx+Jw1pAMbIBHStoQ6ZqDZR60PsCByvHdw/jdH9AqPrNE9xlBSf9EwcycvmrzwyKspSLaB52grlje2cRIUMg==", "dev": true, "dependencies": { @@ -4528,7 +4685,7 @@ }, "node_modules/@sentry/core": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry/core/-/core-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", "dev": true, "dependencies": { @@ -4541,7 +4698,7 @@ }, "node_modules/@sentry/integrations": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry/integrations/-/integrations-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.3.tgz", "integrity": "sha512-6i/lYp0BubHPDTg91/uxHvNui427df9r17SsIEXa2eKDwQ9gW2qRx5IWgvnxs2GV/GfSbwcx4swUB3RfEWrXrQ==", "dev": true, "dependencies": { @@ -4556,7 +4713,7 @@ }, "node_modules/@sentry/node": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry/node/-/node-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.120.3.tgz", "integrity": "sha512-t+QtekZedEfiZjbkRAk1QWJPnJlFBH/ti96tQhEq7wmlk3VszDXraZvLWZA0P2vXyglKzbWRGkT31aD3/kX+5Q==", "dev": true, "dependencies": { @@ -4572,7 +4729,7 @@ }, "node_modules/@sentry/types": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry/types/-/types-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", "dev": true, "engines": { @@ -4581,7 +4738,7 @@ }, "node_modules/@sentry/utils": { "version": "7.120.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sentry/utils/-/utils-7.120.3.tgz", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", "dev": true, "dependencies": { @@ -4592,34 +4749,34 @@ } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.29.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", - "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz", + "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==", "dev": true, "dependencies": { - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1" + "@shikijs/types": "3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/types": { - "version": "1.29.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@shikijs/types/-/types-1.29.2.tgz", - "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz", + "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==", "dev": true, "dependencies": { - "@shikijs/vscode-textmate": "^10.0.1", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", - "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", "dev": true }, "node_modules/@sideway/address": { "version": "4.1.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sideway/address/-/address-4.1.5.tgz", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dev": true, "dependencies": { @@ -4628,25 +4785,25 @@ }, "node_modules/@sideway/formula": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sideway/formula/-/formula-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", "dev": true }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sinclair/typebox/-/typebox-0.27.8.tgz", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@sinonjs/commons": { "version": "1.8.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sinonjs/commons/-/commons-1.8.6.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, "dependencies": { @@ -4655,7 +4812,7 @@ }, "node_modules/@sinonjs/fake-timers": { "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dev": true, "dependencies": { @@ -4664,7 +4821,7 @@ }, "node_modules/@testing-library/jest-native": { "version": "5.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@testing-library/jest-native/-/jest-native-5.4.3.tgz", + "resolved": "https://registry.npmjs.org/@testing-library/jest-native/-/jest-native-5.4.3.tgz", "integrity": "sha512-/sSDGaOuE+PJ1Z9Kp4u7PQScSVVXGud59I/qsBFFJvIbcn4P6yYw6cBnBmbPF+X9aRIsTJRDl6gzw5ZkJNm66w==", "deprecated": "DEPRECATED: This package is no longer maintained.\nPlease use the built-in Jest matchers available in @testing-library/react-native v12.4+.\n\nSee migration guide: https://callstack.github.io/react-native-testing-library/docs/migration/jest-matchers", "dev": true, @@ -4681,21 +4838,57 @@ "react-test-renderer": ">=16.0.0" } }, + "node_modules/@testing-library/jest-native/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-native/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@testing-library/jest-native/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/@testing-library/react-native": { - "version": "12.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@testing-library/react-native/-/react-native-12.9.0.tgz", - "integrity": "sha512-wIn/lB1FjV2N4Q7i9PWVRck3Ehwq5pkhAef5X5/bmQ78J/NoOsGbVY2/DG5Y9Lxw+RfE+GvSEh/fe5Tz6sKSvw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/@testing-library/react-native/-/react-native-13.2.0.tgz", + "integrity": "sha512-3FX+vW/JScXkoH8VSCRTYF4KCHC56y4AI6TMDISfLna6r+z8kaSEmxH1I6NVaFOxoWX9yaHDyI26xh7BykmqKw==", "dev": true, "dependencies": { + "chalk": "^4.1.2", "jest-matcher-utils": "^29.7.0", "pretty-format": "^29.7.0", "redent": "^3.0.0" }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "jest": ">=28.0.0", - "react": ">=16.8.0", - "react-native": ">=0.59", - "react-test-renderer": ">=16.8.0" + "jest": ">=29.0.0", + "react": ">=18.2.0", + "react-native": ">=0.71", + "react-test-renderer": ">=18.2.0" }, "peerDependenciesMeta": { "jest": { @@ -4703,9 +4896,41 @@ } } }, + "node_modules/@testing-library/react-native/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/react-native/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@testing-library/react-native/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/@tootallnate/once": { "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@tootallnate/once/-/once-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, "engines": { @@ -4714,7 +4939,7 @@ }, "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/babel__core/-/babel__core-7.20.5.tgz", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { @@ -4727,7 +4952,7 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { @@ -4736,7 +4961,7 @@ }, "node_modules/@types/babel__template": { "version": "7.4.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/babel__template/-/babel__template-7.4.4.tgz", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { @@ -4745,23 +4970,17 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz", + "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, "node_modules/@types/graceful-fs": { "version": "4.1.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, "dependencies": { @@ -4770,13 +4989,13 @@ }, "node_modules/@types/hammerjs": { "version": "2.0.46", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/hammerjs/-/hammerjs-2.0.46.tgz", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz", "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==", "dev": true }, "node_modules/@types/hast": { "version": "3.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/hast/-/hast-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "dependencies": { @@ -4785,7 +5004,7 @@ }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", "dev": true, "dependencies": { @@ -4795,13 +5014,13 @@ }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "dependencies": { @@ -4810,7 +5029,7 @@ }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "dependencies": { @@ -4819,13 +5038,13 @@ }, "node_modules/@types/jasmine": { "version": "3.5.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/jasmine/-/jasmine-3.5.10.tgz", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz", "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==", "dev": true }, "node_modules/@types/jest": { "version": "27.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/jest/-/jest-27.0.2.tgz", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", "dev": true, "dependencies": { @@ -4835,7 +5054,7 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -4847,7 +5066,7 @@ }, "node_modules/@types/jest/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { @@ -4856,7 +5075,7 @@ }, "node_modules/@types/jest/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { @@ -4871,7 +5090,7 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -4885,92 +5104,98 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/json-schema/-/json-schema-7.0.15.tgz", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/lodash": { - "version": "4.17.15", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==", + "version": "4.17.16", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", "dev": true }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "22.13.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz", + "integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==", "dev": true, "dependencies": { "undici-types": "~6.20.0" } }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/parse-json": { "version": "4.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/parse-json/-/parse-json-4.0.2.tgz", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true }, "node_modules/@types/prettier": { "version": "2.7.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/prettier/-/prettier-2.7.3.tgz", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, "node_modules/@types/prop-types": { "version": "15.7.14", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/prop-types/-/prop-types-15.7.14.tgz", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", "dev": true }, "node_modules/@types/react": { - "version": "16.9.41", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/react/-/react-16.9.41.tgz", - "integrity": "sha512-6cFei7F7L4wwuM+IND/Q2cV1koQUvJ8iSV+Gwn0c3kvABZ691g7sp3hfEQHOUBJtccl1gPi+EyNjMIl9nGA0ug==", + "version": "18.3.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz", + "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==", "dev": true, "dependencies": { "@types/prop-types": "*", - "csstype": "^2.2.0" - } - }, - "node_modules/@types/react-native": { - "version": "0.63.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/react-native/-/react-native-0.63.1.tgz", - "integrity": "sha512-mo2DAgliCqdNyivBa0/JL8JIkebt9TU0ATmsvtUvypIP5qN+YJekbVPpHt6WLXEZyBm7LtmIqxbjIHqeoaojsg==", - "dev": true, - "dependencies": { - "@types/react": "*" + "csstype": "^3.0.2" } }, "node_modules/@types/react-test-renderer": { - "version": "16.9.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/react-test-renderer/-/react-test-renderer-16.9.2.tgz", - "integrity": "sha512-4eJr1JFLIAlWhzDkBCkhrOIWOvOxcCAfQh+jiKg7l/nNZcCIL2MHl2dZhogIFKyHzedVWHaVP1Yydq/Ruu4agw==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-18.3.1.tgz", + "integrity": "sha512-vAhnk0tG2eGa37lkU9+s5SoroCsRI08xnsWFiAXOuPH2jqzMbcXvKExXViPi1P5fIklDeCvXqyrdmipFaSkZrA==", "dev": true, "dependencies": { - "@types/react": "*" + "@types/react": "^18" } }, + "node_modules/@types/semver": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true }, "node_modules/@types/unist": { "version": "3.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/unist/-/unist-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "dev": true }, "node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dev": true, "dependencies": { @@ -4979,129 +5204,110 @@ }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", + "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/type-utils": "8.21.0", + "@typescript-eslint/utils": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "node_modules/@typescript-eslint/parser": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz", + "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/typescript-estree": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", + "debug": "^4.3.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz", + "integrity": "sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz", + "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "@typescript-eslint/typescript-estree": "8.21.0", + "@typescript-eslint/utils": "8.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz", + "integrity": "sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==", "dev": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -5109,71 +5315,111 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz", + "integrity": "sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/visitor-keys": "8.21.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { "semver": "bin/semver.js" }, - "engines": { - "node": ">=10" + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.21.0.tgz", + "integrity": "sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.21.0", + "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/typescript-estree": "8.21.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz", + "integrity": "sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "8.21.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true + }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/abab/-/abab-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "deprecated": "Use your platform's native atob() and btoa() methods instead", "dev": true }, "node_modules/abbrev": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/abbrev/-/abbrev-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true, "engines": { @@ -5182,7 +5428,7 @@ }, "node_modules/abort-controller": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/abort-controller/-/abort-controller-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, "dependencies": { @@ -5194,13 +5440,13 @@ }, "node_modules/abs-svg-path": { "version": "0.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", "dev": true }, "node_modules/accepts": { "version": "1.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/accepts/-/accepts-1.3.8.tgz", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { @@ -5211,10 +5457,19 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5225,7 +5480,7 @@ }, "node_modules/acorn-globals": { "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn-globals/-/acorn-globals-6.0.0.tgz", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, "dependencies": { @@ -5233,9 +5488,21 @@ "acorn-walk": "^7.1.1" } }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "peerDependencies": { @@ -5244,7 +5511,7 @@ }, "node_modules/acorn-walk": { "version": "7.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn-walk/-/acorn-walk-7.2.0.tgz", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, "engines": { @@ -5253,7 +5520,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/agent-base/-/agent-base-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { @@ -5265,7 +5532,7 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/aggregate-error/-/aggregate-error-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "dependencies": { @@ -5278,7 +5545,7 @@ }, "node_modules/ajv": { "version": "8.17.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ajv/-/ajv-8.17.1.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { @@ -5294,13 +5561,13 @@ }, "node_modules/anser": { "version": "1.4.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/anser/-/anser-1.4.10.tgz", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", "dev": true }, "node_modules/ansi-colors": { "version": "4.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-colors/-/ansi-colors-4.1.3.tgz", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { @@ -5309,7 +5576,7 @@ }, "node_modules/ansi-escapes": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, "engines": { @@ -5318,7 +5585,7 @@ }, "node_modules/ansi-fragments": { "version": "0.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", "dev": true, "dependencies": { @@ -5327,18 +5594,9 @@ "strip-ansi": "^5.0.0" } }, - "node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-fragments/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { @@ -5350,7 +5608,7 @@ }, "node_modules/ansi-fragments/node_modules/astral-regex": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/astral-regex/-/astral-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, "engines": { @@ -5359,7 +5617,7 @@ }, "node_modules/ansi-fragments/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { @@ -5368,13 +5626,13 @@ }, "node_modules/ansi-fragments/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/ansi-fragments/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "engines": { @@ -5383,7 +5641,7 @@ }, "node_modules/ansi-fragments/node_modules/slice-ansi": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/slice-ansi/-/slice-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "dependencies": { @@ -5395,21 +5653,9 @@ "node": ">=6" } }, - "node_modules/ansi-fragments/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { @@ -5418,7 +5664,7 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { @@ -5433,7 +5679,7 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/anymatch/-/anymatch-3.1.3.tgz", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { @@ -5446,34 +5692,22 @@ }, "node_modules/appdirsjs": { "version": "1.2.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/appdirsjs/-/appdirsjs-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", "dev": true }, "node_modules/argparse": { "version": "1.0.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/argparse/-/argparse-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } }, - "node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dev": true, - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "dependencies": { @@ -5489,7 +5723,7 @@ }, "node_modules/array-includes": { "version": "3.1.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array-includes/-/array-includes-3.1.8.tgz", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { @@ -5509,7 +5743,7 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array-union/-/array-union-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { @@ -5518,7 +5752,7 @@ }, "node_modules/array.prototype.findlast": { "version": "1.2.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, "dependencies": { @@ -5538,7 +5772,7 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "dependencies": { @@ -5556,7 +5790,7 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "dependencies": { @@ -5574,7 +5808,7 @@ }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { @@ -5590,7 +5824,7 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "dependencies": { @@ -5611,13 +5845,13 @@ }, "node_modules/asap": { "version": "2.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/asap/-/asap-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, "node_modules/ast-types": { "version": "0.15.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ast-types/-/ast-types-0.15.2.tgz", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", "dev": true, "dependencies": { @@ -5629,13 +5863,13 @@ }, "node_modules/ast-types/node_modules/tslib": { "version": "2.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tslib/-/tslib-2.8.1.tgz", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/astral-regex/-/astral-regex-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { @@ -5644,13 +5878,13 @@ }, "node_modules/async": { "version": "3.2.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/async/-/async-3.2.6.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "node_modules/async-function": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/async-function/-/async-function-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, "engines": { @@ -5659,19 +5893,19 @@ }, "node_modules/async-limiter": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/async-limiter/-/async-limiter-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, "dependencies": { @@ -5686,7 +5920,7 @@ }, "node_modules/axios": { "version": "0.21.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/axios/-/axios-0.21.4.tgz", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "dependencies": { @@ -5695,46 +5929,16 @@ }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/babel-jest": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-jest/-/babel-jest-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "dev": true, "dependencies": { @@ -5756,7 +5960,7 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { @@ -5772,7 +5976,7 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dev": true, "dependencies": { @@ -5786,13 +5990,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/helper-define-polyfill-provider": "^0.6.4", "semver": "^6.3.1" }, "peerDependencies": { @@ -5801,7 +6005,7 @@ }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -5809,33 +6013,57 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz", + "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==", + "dev": true, + "dependencies": { + "hermes-parser": "0.25.1" + } + }, + "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true + }, + "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "dependencies": { + "hermes-estree": "0.25.1" + } + }, "node_modules/babel-plugin-transform-flow-enums": { "version": "0.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", "dev": true, "dependencies": { @@ -5844,13 +6072,13 @@ }, "node_modules/babel-plugin-transform-inline-environment-variables": { "version": "0.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-plugin-transform-inline-environment-variables/-/babel-plugin-transform-inline-environment-variables-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-environment-variables/-/babel-plugin-transform-inline-environment-variables-0.0.2.tgz", "integrity": "sha512-8gobU7uuTIjz62aXTEZOH5yhuIPojNVAgLK0xnepdGS19aqOEphy7FVWBsojPa14yrQGM/w63uDox4thYcHCnA==", "dev": true }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "dependencies": { @@ -5876,7 +6104,7 @@ }, "node_modules/babel-preset-jest": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dev": true, "dependencies": { @@ -5892,7 +6120,7 @@ }, "node_modules/babel-runtime": { "version": "6.26.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/babel-runtime/-/babel-runtime-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dev": true, "dependencies": { @@ -5902,25 +6130,25 @@ }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { "version": "0.11.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/base-64": { "version": "0.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/base-64/-/base-64-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==", "dev": true }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/base64-js/-/base64-js-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ @@ -5940,7 +6168,7 @@ }, "node_modules/bl": { "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bl/-/bl-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "dependencies": { @@ -5951,7 +6179,7 @@ }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/readable-stream/-/readable-stream-3.6.2.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { @@ -5965,58 +6193,29 @@ }, "node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bluebird/-/bluebird-3.7.2.tgz", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, "node_modules/boolean": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/boolean/-/boolean-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true }, - "node_modules/bower": { - "version": "1.8.14", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bower/-/bower-1.8.14.tgz", - "integrity": "sha512-8Rq058FD91q9Nwthyhw0la9fzpBz0iwZTrt51LWl+w+PnJgZk9J+5wp3nibsJcIUPglMYXr4NRBaR+TUj0OkBQ==", - "dev": true, - "bin": { - "bower": "bin/bower" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bower-auto-release": { - "version": "1.1.358", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bower-auto-release/-/bower-auto-release-1.1.358.tgz", - "integrity": "sha512-uWpR29K93+Ue3UJJPiVH9Q3L5+kpAQN7LlB8zdQe0unvVn4sTIIzrdSYkuIml55TEvSFewtov6OB3jmpAY4jsQ==", - "dev": true, - "dependencies": { - "bower": "^1.7.9", - "command-line-args": "^3.0.0" - }, - "bin": { - "bower-auto-release": "index.js" - }, - "optionalDependencies": { - "wnpm-ci": "*" - } - }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/braces/-/braces-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { @@ -6028,13 +6227,13 @@ }, "node_modules/browser-process-hrtime": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, "node_modules/browserslist": { "version": "4.24.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/browserslist/-/browserslist-4.24.4.tgz", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "funding": [ @@ -6066,7 +6265,7 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bser/-/bser-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { @@ -6075,7 +6274,7 @@ }, "node_modules/buffer": { "version": "5.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/buffer/-/buffer-5.7.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ @@ -6099,13 +6298,13 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/buffer-from/-/buffer-from-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/bunyamin": { "version": "1.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bunyamin/-/bunyamin-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/bunyamin/-/bunyamin-1.6.3.tgz", "integrity": "sha512-m1hAijFhu8pFiidsVc0XEDic46uxPK+mKNLqkb5mluNx0nTolNzx/DjwMqHChQWCgfOLMjKYJJ2uPTQLE6t4Ng==", "dev": true, "dependencies": { @@ -6132,7 +6331,7 @@ }, "node_modules/bunyan": { "version": "1.8.15", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bunyan/-/bunyan-1.8.15.tgz", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", "dev": true, "engines": [ @@ -6150,7 +6349,7 @@ }, "node_modules/bunyan-debug-stream": { "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bunyan-debug-stream/-/bunyan-debug-stream-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/bunyan-debug-stream/-/bunyan-debug-stream-3.1.1.tgz", "integrity": "sha512-LfMcz4yKM6s9BP5dfT63Prb5B2hAjReLAfQzLbNQF7qBHtn3P1v+/yn0SZ6UAr4PC3VZRX/QzK7HYkkY0ytokQ==", "dev": true, "dependencies": { @@ -6170,7 +6369,7 @@ }, "node_modules/bytes": { "version": "3.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bytes/-/bytes-3.1.2.tgz", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "engines": { @@ -6179,13 +6378,13 @@ }, "node_modules/caf": { "version": "15.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/caf/-/caf-15.0.1.tgz", + "resolved": "https://registry.npmjs.org/caf/-/caf-15.0.1.tgz", "integrity": "sha512-Xp/IK6vMwujxWZXra7djdYzPdPnEQKa7Mudu2wZgDQ3TJry1I0TgtjEgwZHpoBcMp68j4fb0/FZ1SJyMEgJrXQ==", "dev": true }, "node_modules/call-bind": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/call-bind/-/call-bind-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "dependencies": { @@ -6202,9 +6401,9 @@ } }, "node_modules/call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, "dependencies": { "es-errors": "^1.3.0", @@ -6215,13 +6414,13 @@ } }, "node_modules/call-bound": { - "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -6232,7 +6431,7 @@ }, "node_modules/caller-callsite": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/caller-callsite/-/caller-callsite-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "dev": true, "dependencies": { @@ -6244,7 +6443,7 @@ }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/callsites/-/callsites-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "dev": true, "engines": { @@ -6253,7 +6452,7 @@ }, "node_modules/caller-path": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/caller-path/-/caller-path-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "dev": true, "dependencies": { @@ -6265,7 +6464,7 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/callsites/-/callsites-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "engines": { @@ -6274,7 +6473,7 @@ }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/camelcase/-/camelcase-5.3.1.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { @@ -6282,9 +6481,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001697", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz", - "integrity": "sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==", + "version": "1.0.30001707", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", + "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", "dev": true, "funding": [ { @@ -6303,7 +6502,7 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { @@ -6319,7 +6518,7 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/char-regex/-/char-regex-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "engines": { @@ -6328,13 +6527,13 @@ }, "node_modules/chardet": { "version": "0.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chardet/-/chardet-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==", "dev": true }, "node_modules/child-process-promise": { "version": "2.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/child-process-promise/-/child-process-promise-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz", "integrity": "sha512-Fi4aNdqBsr0mv+jgWxcZ/7rAIC2mgihrptyVI4foh/rrjY/3BNjfP9+oaiFx/fzim+1ZyCNBae0DlyfQhSugog==", "dev": true, "dependencies": { @@ -6345,7 +6544,7 @@ }, "node_modules/chrome-launcher": { "version": "0.15.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", "dev": true, "dependencies": { @@ -6361,10 +6560,22 @@ "node": ">=12.13.0" } }, + "node_modules/chrome-launcher/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", + "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", "dev": true, "dependencies": { "@types/node": "*", @@ -6375,9 +6586,21 @@ "rimraf": "^3.0.2" } }, + "node_modules/chromium-edge-launcher/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chromium-edge-launcher/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mkdirp/-/mkdirp-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "bin": { @@ -6389,19 +6612,19 @@ }, "node_modules/ci-info": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, "node_modules/cjs-module-lexer": { "version": "1.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "dev": true }, "node_modules/clang-format": { "version": "1.8.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/clang-format/-/clang-format-1.8.0.tgz", + "resolved": "https://registry.npmjs.org/clang-format/-/clang-format-1.8.0.tgz", "integrity": "sha512-pK8gzfu55/lHzIpQ1givIbWfn3eXnU7SfxqIwVgnn5jEM6j4ZJYjpFqFs4iSBPNedzRMmfjYjuQhu657WAXHXw==", "dev": true, "dependencies": { @@ -6417,7 +6640,7 @@ }, "node_modules/clean-stack": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/clean-stack/-/clean-stack-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, "engines": { @@ -6426,7 +6649,7 @@ }, "node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-cursor/-/cli-cursor-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "dependencies": { @@ -6437,17 +6660,20 @@ } }, "node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-truncate": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-truncate/-/cli-truncate-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, "dependencies": { @@ -6463,7 +6689,7 @@ }, "node_modules/cli-truncate/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -6475,15 +6701,27 @@ "node": ">=8" } }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-width": { "version": "2.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-width/-/cli-width-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cliui/-/cliui-8.0.1.tgz", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { @@ -6497,7 +6735,7 @@ }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -6509,9 +6747,21 @@ "node": ">=8" } }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { @@ -6528,7 +6778,7 @@ }, "node_modules/clone": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/clone/-/clone-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, "engines": { @@ -6537,7 +6787,7 @@ }, "node_modules/clone-deep": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/clone-deep/-/clone-deep-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { @@ -6551,7 +6801,7 @@ }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/co/-/co-4.6.0.tgz", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "engines": { @@ -6561,13 +6811,13 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "node_modules/color": { "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color/-/color-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "dependencies": { @@ -6577,7 +6827,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { @@ -6589,13 +6839,13 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "node_modules/color-string": { "version": "1.9.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-string/-/color-string-1.9.1.tgz", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, "dependencies": { @@ -6605,7 +6855,7 @@ }, "node_modules/color/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { @@ -6614,19 +6864,19 @@ }, "node_modules/color/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/colorette": { "version": "1.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/colorette/-/colorette-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/combined-stream/-/combined-stream-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "dependencies": { @@ -6638,58 +6888,44 @@ }, "node_modules/command-exists": { "version": "1.2.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/command-exists/-/command-exists-1.2.9.tgz", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", "dev": true }, - "node_modules/command-line-args": { - "version": "3.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/command-line-args/-/command-line-args-3.0.5.tgz", - "integrity": "sha512-M29kjOI24VF4HqatnqVyDqyeq3SYYZbq6LWv/AdVZ5LvrcqVNSN2XeYPrBxcO19T8YkGmyCqTUqYR07DFjVhyg==", + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "dependencies": { - "array-back": "^1.0.4", - "feature-detect-es6": "^1.3.1", - "find-replace": "^1.0.2", - "typical": "^2.6.0" - }, - "bin": { - "command-line-args": "bin.js" + "engines": { + "node": "^12.20.0 || >=14" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, "node_modules/commondir": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commondir/-/commondir-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "node_modules/commons-validator-js": { - "version": "1.0.1668", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commons-validator-js/-/commons-validator-js-1.0.1668.tgz", - "integrity": "sha512-zGSjqN958s9P9nFyK0qs8ipKnh+g+DFMpcnz7BajJrzsPDd8KdbyfostuZiT1l6Vm/WxiMHTxAzWFLGiMRpUCA==", + "version": "1.0.1669", + "resolved": "https://registry.npmjs.org/commons-validator-js/-/commons-validator-js-1.0.1669.tgz", + "integrity": "sha512-T6rxAirPJuBpf9oPvn+ayNgGMAgaLcvDLfP1kzyMKpp+5AK2ARczHQK/r80SKRnR6fP6ElXOWGtH4zeAJ9DjmQ==", "dev": true, "dependencies": { - "bower-auto-release": "^1.1.358", "lodash.includes": "^4.3.0", - "punycode": "^1.4.1", - "wnpm-ci": "^8.0.131" + "punycode": "^1.4.1" } }, "node_modules/compare-versions": { "version": "3.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/compare-versions/-/compare-versions-3.6.0.tgz", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", "dev": true }, "node_modules/compressible": { "version": "2.0.18", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/compressible/-/compressible-2.0.18.tgz", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "dependencies": { @@ -6700,9 +6936,9 @@ } }, "node_modules/compression": { - "version": "1.7.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/compression/-/compression-1.7.5.tgz", - "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", + "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", "dev": true, "dependencies": { "bytes": "3.1.2", @@ -6719,7 +6955,7 @@ }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -6728,28 +6964,19 @@ }, "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/config-chain": { "version": "1.1.13", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/config-chain/-/config-chain-1.1.13.tgz", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "dependencies": { @@ -6759,7 +6986,7 @@ }, "node_modules/connect": { "version": "3.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/connect/-/connect-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { @@ -6774,7 +7001,7 @@ }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -6783,13 +7010,13 @@ }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/connectivity": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/connectivity/-/connectivity-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/connectivity/-/connectivity-1.0.2.tgz", "integrity": "sha512-tJNDVKFu1Ep15egdPC6ivGGZsNjriYTUaALoXTPdbsJdcekI5HTsi5DjoP43yEOl5Pjae7fQeeeNGugEzzNpWw==", "dev": true, "dependencies": { @@ -6800,26 +7027,26 @@ } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "node_modules/core-js": { "version": "2.6.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/core-js/-/core-js-2.6.12.tgz", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", "dev": true, "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.40.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/core-js-compat/-/core-js-compat-3.40.0.tgz", - "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", + "version": "3.41.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", + "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", "dev": true, "dependencies": { - "browserslist": "^4.24.3" + "browserslist": "^4.24.4" }, "funding": { "type": "opencollective", @@ -6828,29 +7055,57 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/core-util-is/-/core-util-is-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/cross-spawn": { "version": "4.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-4.0.2.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", "dev": true, "dependencies": { @@ -6860,7 +7115,7 @@ }, "node_modules/cross-spawn/node_modules/lru-cache": { "version": "4.1.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lru-cache/-/lru-cache-4.1.5.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "dependencies": { @@ -6870,19 +7125,19 @@ }, "node_modules/cross-spawn/node_modules/yallist": { "version": "2.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yallist/-/yallist-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, "node_modules/cssom": { "version": "0.4.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cssom/-/cssom-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", "dev": true }, "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cssstyle/-/cssstyle-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { @@ -6894,19 +7149,19 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cssom/-/cssom-0.3.8.tgz", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "node_modules/data-urls": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/data-urls/-/data-urls-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "dependencies": { @@ -6920,7 +7175,7 @@ }, "node_modules/data-view-buffer": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "dependencies": { @@ -6937,7 +7192,7 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, "dependencies": { @@ -6954,7 +7209,7 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, "dependencies": { @@ -6971,7 +7226,7 @@ }, "node_modules/date-fns": { "version": "2.30.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/date-fns/-/date-fns-2.30.0.tgz", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, "dependencies": { @@ -6987,13 +7242,13 @@ }, "node_modules/dayjs": { "version": "1.11.13", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/dayjs/-/dayjs-1.11.13.tgz", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "dev": true }, "node_modules/debug": { "version": "4.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-4.4.0.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { @@ -7010,7 +7265,7 @@ }, "node_modules/decamelize": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/decamelize/-/decamelize-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, "engines": { @@ -7022,25 +7277,25 @@ }, "node_modules/decimal.js": { "version": "10.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/decimal.js/-/decimal.js-10.5.0.tgz", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", "dev": true }, "node_modules/dedent": { "version": "0.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/dedent/-/dedent-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/deep-is/-/deep-is-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/deepmerge/-/deepmerge-4.3.1.tgz", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "engines": { @@ -7049,7 +7304,7 @@ }, "node_modules/defaults": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/defaults/-/defaults-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { @@ -7061,7 +7316,7 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { @@ -7078,7 +7333,7 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/define-properties/-/define-properties-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { @@ -7095,22 +7350,16 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "engines": { "node": ">=0.4.0" } }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", - "dev": true - }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/depd/-/depd-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "engines": { @@ -7118,22 +7367,19 @@ } }, "node_modules/deprecated-react-native-prop-types": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", - "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz", + "integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==", "dev": true, "dependencies": { - "@react-native/normalize-colors": "^0.73.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=18" + "@react-native/normalize-color": "*", + "invariant": "*", + "prop-types": "*" } }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/destroy/-/destroy-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { @@ -7143,7 +7389,7 @@ }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/detect-newline/-/detect-newline-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "engines": { @@ -7152,14 +7398,14 @@ }, "node_modules/detect-node": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/detect-node/-/detect-node-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "node_modules/detox": { - "version": "20.19.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/detox/-/detox-20.19.5.tgz", - "integrity": "sha512-gLNp2rGLMSjrCpY6Xx3drK8jEkhUqrwRCbn27Q5AayFUGHeN7702wU1hLjWEdmJzRCmFUOmOeHR+j+l5N7xEDw==", + "version": "20.32.0", + "resolved": "https://registry.npmjs.org/detox/-/detox-20.32.0.tgz", + "integrity": "sha512-xi2FSkoZ+8XYbfOFaMpC1uMKiuRlx0AXjnzTwuCGxjCsntM+YIU/zlACRjmsIAH4pHt7yVlJeV8xZyVGqIeeOg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -7169,13 +7415,14 @@ "caf": "^15.0.1", "chalk": "^4.0.0", "child-process-promise": "^2.2.0", + "detox-copilot": "^0.0.27", "execa": "^5.1.1", "find-up": "^5.0.0", "fs-extra": "^11.0.0", "funpermaproxy": "^1.1.0", "glob": "^8.0.3", "ini": "^1.3.4", - "jest-environment-emit": "^1.0.5", + "jest-environment-emit": "^1.0.8", "json-cycle": "^1.3.0", "lodash": "^4.17.11", "multi-sort-stream": "^1.0.3", @@ -7214,9 +7461,16 @@ } } }, + "node_modules/detox-copilot": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/detox-copilot/-/detox-copilot-0.0.27.tgz", + "integrity": "sha512-H2febTNp0arVx2A8rvM1C2BwDiBEP/2Ya8Hd1mVyV66rR5u8om1gdIypaRGm+plpTLCHhlefe4+7qLtHgVzpng==", + "deprecated": "This package has been renamed to @wix-pilot/core. Please update your dependencies accordingly.", + "dev": true + }, "node_modules/detox-testing-library-rnn-adapter": { "version": "2.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/detox-testing-library-rnn-adapter/-/detox-testing-library-rnn-adapter-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/detox-testing-library-rnn-adapter/-/detox-testing-library-rnn-adapter-2.0.4.tgz", "integrity": "sha512-dtU54nJ68e2Fh3ozzttE+peiOwaELQHOD/ggDNeodcgF1p4BG+5ed7xBHO/fZJtS5iwxVCHk6deL6oJslKpdHw==", "dev": true, "peerDependencies": { @@ -7227,34 +7481,23 @@ "react-native-navigation": "*" } }, - "node_modules/detox/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/detox/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/detox/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.14" } }, "node_modules/detox/node_modules/glob": { "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/glob/-/glob-8.1.0.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, @@ -7272,24 +7515,21 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/detox/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/detox/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, "node_modules/detox/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimatch/-/minimatch-5.1.6.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { @@ -7299,51 +7539,63 @@ "node": ">=10" } }, - "node_modules/detox/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/detox/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/detox/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/detox/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/detox/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/detox/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">= 10.0.0" + } + }, + "node_modules/detox/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "engines": { @@ -7352,7 +7604,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/dir-glob/-/dir-glob-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { @@ -7364,7 +7616,7 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/doctrine/-/doctrine-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { @@ -7376,7 +7628,7 @@ }, "node_modules/domexception": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/domexception/-/domexception-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "deprecated": "Use your platform's native DOMException instead", "dev": true, @@ -7389,7 +7641,7 @@ }, "node_modules/domexception/node_modules/webidl-conversions": { "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true, "engines": { @@ -7398,7 +7650,7 @@ }, "node_modules/dtrace-provider": { "version": "0.8.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", "dev": true, "hasInstallScript": true, @@ -7412,7 +7664,7 @@ }, "node_modules/dunder-proto": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/dunder-proto/-/dunder-proto-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, "dependencies": { @@ -7426,7 +7678,7 @@ }, "node_modules/duplexer2": { "version": "0.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/duplexer2/-/duplexer2-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, "dependencies": { @@ -7435,13 +7687,13 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, "node_modules/easy-stack": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/easy-stack/-/easy-stack-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", "dev": true, "engines": { @@ -7450,7 +7702,7 @@ }, "node_modules/editorconfig": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/editorconfig/-/editorconfig-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, "dependencies": { @@ -7466,18 +7718,9 @@ "node": ">=14" } }, - "node_modules/editorconfig/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/editorconfig/node_modules/commander": { "version": "10.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commander/-/commander-10.0.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, "engines": { @@ -7486,7 +7729,7 @@ }, "node_modules/editorconfig/node_modules/minimatch": { "version": "9.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimatch/-/minimatch-9.0.1.tgz", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "dependencies": { @@ -7501,7 +7744,7 @@ }, "node_modules/editorconfig/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -7513,19 +7756,19 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ee-first/-/ee-first-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.92", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/electron-to-chromium/-/electron-to-chromium-1.5.92.tgz", - "integrity": "sha512-BeHgmNobs05N1HMmMZ7YIuHfYBGlq/UmvlsTgg+fsbFs9xVMj+xJHFg19GN04+9Q+r8Xnh9LXqaYIyEWElnNgQ==", + "version": "1.5.128", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.128.tgz", + "integrity": "sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==", "dev": true }, "node_modules/emittery": { "version": "0.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/emittery/-/emittery-0.8.1.tgz", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true, "engines": { @@ -7537,13 +7780,13 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/emoji-regex/-/emoji-regex-8.0.0.tgz", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "node_modules/encodeurl": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/encodeurl/-/encodeurl-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "engines": { @@ -7552,7 +7795,7 @@ }, "node_modules/encoding": { "version": "0.1.13", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/encoding/-/encoding-0.1.13.tgz", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, "dependencies": { @@ -7561,7 +7804,7 @@ }, "node_modules/encoding/node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/iconv-lite/-/iconv-lite-0.6.3.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { @@ -7573,7 +7816,7 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/end-of-stream/-/end-of-stream-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { @@ -7582,7 +7825,7 @@ }, "node_modules/enquirer": { "version": "2.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/enquirer/-/enquirer-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, "dependencies": { @@ -7593,9 +7836,21 @@ "node": ">=8.6" } }, + "node_modules/enquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/entities/-/entities-4.5.0.tgz", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { @@ -7605,9 +7860,18 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/envinfo": { "version": "7.14.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/envinfo/-/envinfo-7.14.0.tgz", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", "dev": true, "bin": { @@ -7619,7 +7883,7 @@ }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/error-ex/-/error-ex-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { @@ -7628,7 +7892,7 @@ }, "node_modules/error-stack-parser": { "version": "2.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, "dependencies": { @@ -7637,7 +7901,7 @@ }, "node_modules/errorhandler": { "version": "1.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/errorhandler/-/errorhandler-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", "dev": true, "dependencies": { @@ -7650,7 +7914,7 @@ }, "node_modules/es-abstract": { "version": "1.23.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-abstract/-/es-abstract-1.23.9.tgz", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "dev": true, "dependencies": { @@ -7715,7 +7979,7 @@ }, "node_modules/es-define-property": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-define-property/-/es-define-property-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "engines": { @@ -7724,7 +7988,7 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, "engines": { @@ -7733,7 +7997,7 @@ }, "node_modules/es-iterator-helpers": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dev": true, "dependencies": { @@ -7760,7 +8024,7 @@ }, "node_modules/es-object-atoms": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "dependencies": { @@ -7772,7 +8036,7 @@ }, "node_modules/es-set-tostringtag": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "dependencies": { @@ -7786,17 +8050,20 @@ } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "dependencies": { @@ -7813,13 +8080,13 @@ }, "node_modules/es6-error": { "version": "4.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/es6-error/-/es6-error-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escalade/-/escalade-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { @@ -7828,13 +8095,13 @@ }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-html/-/escape-html-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { @@ -7846,7 +8113,7 @@ }, "node_modules/escodegen": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escodegen/-/escodegen-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "dependencies": { @@ -7866,58 +8133,56 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -7925,7 +8190,7 @@ }, "node_modules/eslint-config-prettier": { "version": "6.11.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", "dev": true, "dependencies": { @@ -7938,9 +8203,31 @@ "eslint": ">=3.14.1" } }, + "node_modules/eslint-formatter-codeframe": { + "version": "7.32.1", + "resolved": "https://registry.npmjs.org/eslint-formatter-codeframe/-/eslint-formatter-codeframe-7.32.1.tgz", + "integrity": "sha512-DK/3Q3+zVKq/7PdSYiCxPrsDF8H/TRMK5n8Hziwr4IMkMy+XiKSwbpj25AdajS63I/B61Snetq4uVvX9fOLyAg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint-formatter-codeframe/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, "node_modules/eslint-plugin-eslint-comments": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", "dev": true, "dependencies": { @@ -7959,43 +8246,181 @@ }, "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "2.50.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", - "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "node_modules/eslint-plugin-ft-flow": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz", + "integrity": "sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==", "dev": true, "dependencies": { - "lodash": "^4.17.10" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" }, "engines": { - "node": ">=4" + "node": ">=12.22.0" }, "peerDependencies": { - "eslint": ">=2.0.0" + "@babel/eslint-parser": "^7.12.0", + "eslint": "^8.1.0" } }, "node_modules/eslint-plugin-jest": { - "version": "22.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz", - "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==", + "version": "26.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", + "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": ">=5" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-jest/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/eslint-plugin-prettier": { "version": "3.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", "dev": true, "dependencies": { @@ -8011,7 +8436,7 @@ }, "node_modules/eslint-plugin-react": { "version": "7.37.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", "dev": true, "dependencies": { @@ -8043,7 +8468,7 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "engines": { @@ -8054,27 +8479,36 @@ } }, "node_modules/eslint-plugin-react-native": { - "version": "3.11.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-react-native/-/eslint-plugin-react-native-3.11.0.tgz", - "integrity": "sha512-7F3OTwrtQPfPFd+VygqKA2VZ0f2fz0M4gJmry/TRE18JBb94/OtMxwbL7Oqwu7FGyrdeIOWnXQbBAveMcSTZIA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz", + "integrity": "sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==", "dev": true, "dependencies": { - "@babel/traverse": "^7.7.4", "eslint-plugin-react-native-globals": "^0.1.1" }, "peerDependencies": { - "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7" + "eslint": "^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8" } }, "node_modules/eslint-plugin-react-native-globals": { "version": "0.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==", "dev": true }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/doctrine/-/doctrine-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { @@ -8084,9 +8518,21 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve/-/resolve-2.0.0-next.5.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { @@ -8103,7 +8549,7 @@ }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -8112,7 +8558,7 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-scope/-/eslint-scope-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { @@ -8125,52 +8571,25 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/estraverse/-/estraverse-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "engines": { "node": ">=4.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, "engines": { "node": ">=10" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, "node_modules/eslint/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { @@ -8184,9 +8603,25 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-7.0.6.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { @@ -8198,33 +8633,37 @@ "node": ">= 8" } }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/globals": { "version": "13.24.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/globals/-/globals-13.24.0.tgz", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { @@ -8237,36 +8676,51 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/eslint/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" + "node": "*" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/eslint/node_modules/which": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { @@ -8280,31 +8734,37 @@ } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "bin": { @@ -8317,7 +8777,7 @@ }, "node_modules/esquery": { "version": "1.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/esquery/-/esquery-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { @@ -8329,7 +8789,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/esrecurse/-/esrecurse-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { @@ -8341,7 +8801,7 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/estraverse/-/estraverse-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { @@ -8350,7 +8810,7 @@ }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/esutils/-/esutils-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "engines": { @@ -8359,7 +8819,7 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/etag/-/etag-1.8.1.tgz", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "engines": { @@ -8368,7 +8828,7 @@ }, "node_modules/event-pubsub": { "version": "4.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/event-pubsub/-/event-pubsub-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", "dev": true, "engines": { @@ -8377,7 +8837,7 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/event-target-shim/-/event-target-shim-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, "engines": { @@ -8386,7 +8846,7 @@ }, "node_modules/execa": { "version": "5.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/execa/-/execa-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { @@ -8409,7 +8869,7 @@ }, "node_modules/execa/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-7.0.6.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { @@ -8423,7 +8883,7 @@ }, "node_modules/execa/node_modules/which": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { @@ -8438,7 +8898,7 @@ }, "node_modules/exeunt": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/exeunt/-/exeunt-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/exeunt/-/exeunt-1.1.0.tgz", "integrity": "sha512-dd++Yn/0Fp+gtJ04YHov7MeAii+LFivJc6KqnJNfplzLVUkUDrfKoQDTLlCgzcW15vY5hKlHasWeIsQJ8agHsw==", "dev": true, "engines": { @@ -8447,7 +8907,7 @@ }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/exit/-/exit-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { @@ -8456,7 +8916,7 @@ }, "node_modules/expect": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/expect/-/expect-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dev": true, "dependencies": { @@ -8471,7 +8931,7 @@ }, "node_modules/expect/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -8483,7 +8943,7 @@ }, "node_modules/expect/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { @@ -8492,7 +8952,7 @@ }, "node_modules/expect/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { @@ -8507,7 +8967,7 @@ }, "node_modules/expect/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { @@ -8522,7 +8982,7 @@ }, "node_modules/expect/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -8536,19 +8996,19 @@ }, "node_modules/expect/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "dev": true }, "node_modules/external-editor": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "dependencies": { @@ -8562,19 +9022,19 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-diff/-/fast-diff-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "node_modules/fast-glob": { "version": "3.3.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-glob/-/fast-glob-3.3.3.tgz", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { @@ -8588,21 +9048,33 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fast-uri": { "version": "3.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-uri/-/fast-uri-3.0.6.tgz", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ @@ -8617,31 +9089,27 @@ ] }, "node_modules/fast-xml-parser": { - "version": "4.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz", - "integrity": "sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", + "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" } ], "dependencies": { - "strnum": "^1.0.5" + "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" } }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -8649,28 +9117,16 @@ }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fb-watchman/-/fb-watchman-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { "bser": "2.1.1" } }, - "node_modules/feature-detect-es6": { - "version": "1.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/feature-detect-es6/-/feature-detect-es6-1.5.0.tgz", - "integrity": "sha512-DzWPIGzTnfp3/KK1d/YPfmgLqeDju9F2DQYBL35VusgSApcA7XGqVtXfR4ETOOFEzdFJ3J7zh0Gkk011TiA4uQ==", - "dev": true, - "dependencies": { - "array-back": "^1.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/figures": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/figures/-/figures-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, "dependencies": { @@ -8682,7 +9138,7 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { @@ -8691,7 +9147,7 @@ }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { @@ -8703,7 +9159,7 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fill-range/-/fill-range-7.1.1.tgz", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { @@ -8715,7 +9171,7 @@ }, "node_modules/finalhandler": { "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/finalhandler/-/finalhandler-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "dependencies": { @@ -8733,7 +9189,7 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -8742,13 +9198,13 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/find-cache-dir": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "dependencies": { @@ -8762,7 +9218,7 @@ }, "node_modules/find-cache-dir/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-up/-/find-up-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { @@ -8774,7 +9230,7 @@ }, "node_modules/find-cache-dir/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/locate-path/-/locate-path-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { @@ -8787,7 +9243,7 @@ }, "node_modules/find-cache-dir/node_modules/make-dir": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/make-dir/-/make-dir-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { @@ -8798,9 +9254,24 @@ "node": ">=6" } }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-cache-dir/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-locate/-/p-locate-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { @@ -8812,7 +9283,7 @@ }, "node_modules/find-cache-dir/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-exists/-/path-exists-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { @@ -8821,7 +9292,7 @@ }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pkg-dir/-/pkg-dir-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "dependencies": { @@ -8831,35 +9302,25 @@ "node": ">=6" } }, - "node_modules/find-replace": { - "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==", - "dev": true, - "dependencies": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-versions": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/find-versions/-/find-versions-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", "dev": true, "dependencies": { @@ -8871,7 +9332,7 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/flat/-/flat-5.0.2.tgz", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, "bin": { @@ -8880,7 +9341,7 @@ }, "node_modules/flat-cache": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/flat-cache/-/flat-cache-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { @@ -8893,21 +9354,21 @@ } }, "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "node_modules/flow-enums-runtime": { "version": "0.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", "dev": true }, "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "version": "0.266.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.266.1.tgz", + "integrity": "sha512-dON6h+yO7FGa/FO5NQCZuZHN0o3I23Ev6VYOJf9d8LpdrArHPt39wE++LLmueNV/hNY5hgWGIIrgnrDkRcXkPg==", "dev": true, "engines": { "node": ">=0.4.0" @@ -8915,7 +9376,7 @@ }, "node_modules/follow-redirects": { "version": "1.15.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/follow-redirects/-/follow-redirects-1.15.9.tgz", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "dev": true, "funding": [ @@ -8934,9 +9395,9 @@ } }, "node_modules/for-each": { - "version": "0.3.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/for-each/-/for-each-0.3.4.tgz", - "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "dependencies": { "is-callable": "^1.2.7" @@ -8949,12 +9410,12 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -8966,7 +9427,7 @@ }, "node_modules/foreground-child/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-7.0.6.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { @@ -8980,7 +9441,7 @@ }, "node_modules/foreground-child/node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/signal-exit/-/signal-exit-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { @@ -8992,7 +9453,7 @@ }, "node_modules/foreground-child/node_modules/which": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { @@ -9006,14 +9467,15 @@ } }, "node_modules/form-data": { - "version": "3.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/form-data/-/form-data-3.0.2.tgz", - "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.3.tgz", + "integrity": "sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -9021,7 +9483,7 @@ }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fresh/-/fresh-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "engines": { @@ -9029,28 +9491,28 @@ } }, "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=14.14" + "node": ">=6 <7 || >=8" } }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fsevents/-/fsevents-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, @@ -9064,7 +9526,7 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "funding": { @@ -9073,7 +9535,7 @@ }, "node_modules/function.prototype.name": { "version": "1.1.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "dependencies": { @@ -9091,15 +9553,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/functions-have-names/-/functions-have-names-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, "funding": { @@ -9108,7 +9564,7 @@ }, "node_modules/funpermaproxy": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/funpermaproxy/-/funpermaproxy-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/funpermaproxy/-/funpermaproxy-1.1.0.tgz", "integrity": "sha512-2Sp1hWuO8m5fqeFDusyhKqYPT+7rGLw34N3qonDcdRP8+n7M7Gl/yKp/q7oCxnnJ6pWCectOmLFJpsMU/++KrQ==", "dev": true, "engines": { @@ -9117,7 +9573,7 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/gensync/-/gensync-1.0.0-beta.2.tgz", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "engines": { @@ -9126,7 +9582,7 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-caller-file/-/get-caller-file-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "engines": { @@ -9134,17 +9590,17 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", + "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.0", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", @@ -9159,13 +9615,13 @@ }, "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-package-type/-/get-package-type-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, "engines": { @@ -9174,7 +9630,7 @@ }, "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-proto/-/get-proto-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, "dependencies": { @@ -9187,7 +9643,7 @@ }, "node_modules/get-stdin": { "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-stdin/-/get-stdin-6.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true, "engines": { @@ -9196,7 +9652,7 @@ }, "node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-stream/-/get-stream-6.0.1.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "engines": { @@ -9208,7 +9664,7 @@ }, "node_modules/get-symbol-description": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, "dependencies": { @@ -9225,7 +9681,7 @@ }, "node_modules/github-api": { "version": "3.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/github-api/-/github-api-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/github-api/-/github-api-3.4.0.tgz", "integrity": "sha512-2yYqYS6Uy4br1nw0D3VrlYWxtGTkUhIZrumBrcBwKdBOzMT8roAe8IvI6kjIOkxqxapKR5GkEsHtz3Du/voOpA==", "dev": true, "dependencies": { @@ -9237,7 +9693,7 @@ }, "node_modules/github-api/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -9246,7 +9702,7 @@ }, "node_modules/github-api/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, @@ -9284,7 +9740,7 @@ }, "node_modules/github-release-notes/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { @@ -9296,7 +9752,7 @@ }, "node_modules/github-release-notes/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { @@ -9308,9 +9764,18 @@ "node": ">=4" } }, + "node_modules/github-release-notes/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/github-release-notes/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { @@ -9319,13 +9784,19 @@ }, "node_modules/github-release-notes/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/github-release-notes/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/github-release-notes/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { @@ -9334,16 +9805,43 @@ }, "node_modules/github-release-notes/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" } }, + "node_modules/github-release-notes/node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/github-release-notes/node_modules/ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.1", + "log-symbols": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/github-release-notes/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { @@ -9355,7 +9853,7 @@ }, "node_modules/glob": { "version": "7.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/glob/-/glob-7.2.3.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, @@ -9375,20 +9873,42 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/global-agent": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/global-agent/-/global-agent-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", "dev": true, "dependencies": { @@ -9405,7 +9925,7 @@ }, "node_modules/global-agent/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -9417,7 +9937,7 @@ }, "node_modules/global-agent/node_modules/serialize-error": { "version": "7.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/serialize-error/-/serialize-error-7.0.1.tgz", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", "dev": true, "dependencies": { @@ -9432,7 +9952,7 @@ }, "node_modules/global-agent/node_modules/type-fest": { "version": "0.13.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.13.1.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true, "engines": { @@ -9444,7 +9964,7 @@ }, "node_modules/globals": { "version": "11.12.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/globals/-/globals-11.12.0.tgz", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { @@ -9453,7 +9973,7 @@ }, "node_modules/globalthis": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/globalthis/-/globalthis-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "dependencies": { @@ -9469,7 +9989,7 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/globby/-/globby-11.1.0.tgz", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { @@ -9489,7 +10009,7 @@ }, "node_modules/gopd": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/gopd/-/gopd-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "engines": { @@ -9501,19 +10021,25 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/graceful-fs/-/graceful-fs-4.2.11.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/harmony-reflect": { "version": "1.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", "dev": true }, "node_modules/has-bigints": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-bigints/-/has-bigints-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, "engines": { @@ -9525,7 +10051,7 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-flag/-/has-flag-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { @@ -9534,7 +10060,7 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { @@ -9546,7 +10072,7 @@ }, "node_modules/has-proto": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-proto/-/has-proto-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "dependencies": { @@ -9561,7 +10087,7 @@ }, "node_modules/has-symbols": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-symbols/-/has-symbols-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "engines": { @@ -9573,7 +10099,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { @@ -9588,7 +10114,7 @@ }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { @@ -9599,44 +10125,23 @@ } }, "node_modules/hermes-estree": { - "version": "0.15.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-estree/-/hermes-estree-0.15.0.tgz", - "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", "dev": true }, "node_modules/hermes-parser": { - "version": "0.15.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-parser/-/hermes-parser-0.15.0.tgz", - "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", - "dev": true, - "dependencies": { - "hermes-estree": "0.15.0" - } - }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", "dev": true, "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/hermes-profile-transformer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" + "hermes-estree": "0.23.1" } }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "dependencies": { "react-is": "^16.7.0" @@ -9644,7 +10149,7 @@ }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "dependencies": { @@ -9656,13 +10161,13 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/html-escaper/-/html-escaper-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/http-errors/-/http-errors-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { @@ -9678,7 +10183,7 @@ }, "node_modules/http-errors/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/statuses/-/statuses-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { @@ -9687,7 +10192,7 @@ }, "node_modules/http-proxy-agent": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "dependencies": { @@ -9701,7 +10206,7 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { @@ -9714,7 +10219,7 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/human-signals/-/human-signals-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "engines": { @@ -9723,7 +10228,7 @@ }, "node_modules/husky": { "version": "4.2.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/husky/-/husky-4.2.5.tgz", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", "dev": true, "hasInstallScript": true, @@ -9751,9 +10256,34 @@ "url": "https://opencollective.com/husky" } }, + "node_modules/husky/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/husky/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/iconv-lite/-/iconv-lite-0.4.24.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { @@ -9765,7 +10295,7 @@ }, "node_modules/identity-obj-proxy": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dev": true, "dependencies": { @@ -9777,7 +10307,7 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ieee754/-/ieee754-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ @@ -9797,7 +10327,7 @@ }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ignore/-/ignore-5.3.2.tgz", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { @@ -9806,7 +10336,7 @@ }, "node_modules/image-size": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/image-size/-/image-size-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.0.tgz", "integrity": "sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==", "dev": true, "dependencies": { @@ -9821,13 +10351,13 @@ }, "node_modules/immediate": { "version": "3.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/immediate/-/immediate-3.0.6.tgz", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "dev": true }, "node_modules/import-fresh": { "version": "3.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/import-fresh/-/import-fresh-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "dependencies": { @@ -9843,7 +10373,7 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve-from/-/resolve-from-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { @@ -9852,7 +10382,7 @@ }, "node_modules/import-local": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/import-local/-/import-local-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "dependencies": { @@ -9871,7 +10401,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { @@ -9880,7 +10410,7 @@ }, "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/indent-string/-/indent-string-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "engines": { @@ -9889,7 +10419,7 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, @@ -9900,19 +10430,19 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ini/-/ini-1.3.8.tgz", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "node_modules/inquirer": { "version": "3.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/inquirer/-/inquirer-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "dependencies": { @@ -9934,7 +10464,7 @@ }, "node_modules/inquirer/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { @@ -9943,7 +10473,7 @@ }, "node_modules/inquirer/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { @@ -9955,7 +10485,7 @@ }, "node_modules/inquirer/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { @@ -9969,7 +10499,7 @@ }, "node_modules/inquirer/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { @@ -9978,13 +10508,13 @@ }, "node_modules/inquirer/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/inquirer/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { @@ -9993,7 +10523,7 @@ }, "node_modules/inquirer/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { @@ -10002,7 +10532,7 @@ }, "node_modules/inquirer/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { @@ -10014,7 +10544,7 @@ }, "node_modules/inquirer/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { @@ -10026,7 +10556,7 @@ }, "node_modules/install": { "version": "0.10.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/install/-/install-0.10.4.tgz", + "resolved": "https://registry.npmjs.org/install/-/install-0.10.4.tgz", "integrity": "sha512-+IRyOastuPmLVx9zlVXJoKErSqz1Ma5at9A7S8yfsj3W+Kg95faPoh3bPDtMrZ/grz4PRmXzrswmlzfLlYyLOw==", "dev": true, "engines": { @@ -10035,7 +10565,7 @@ }, "node_modules/internal-slot": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/internal-slot/-/internal-slot-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "dependencies": { @@ -10049,22 +10579,16 @@ }, "node_modules/invariant": { "version": "2.2.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/invariant/-/invariant-2.2.4.tgz", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "dependencies": { "loose-envify": "^1.0.0" } }, - "node_modules/ip": { - "version": "1.1.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", - "dev": true - }, "node_modules/is-array-buffer": { "version": "3.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "dependencies": { @@ -10081,13 +10605,13 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-arrayish/-/is-arrayish-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-async-function": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-async-function/-/is-async-function-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, "dependencies": { @@ -10106,7 +10630,7 @@ }, "node_modules/is-bigint": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-bigint/-/is-bigint-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "dependencies": { @@ -10121,7 +10645,7 @@ }, "node_modules/is-boolean-object": { "version": "1.2.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "dependencies": { @@ -10137,7 +10661,7 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-callable/-/is-callable-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { @@ -10149,7 +10673,7 @@ }, "node_modules/is-core-module": { "version": "2.16.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-core-module/-/is-core-module-2.16.1.tgz", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "dependencies": { @@ -10164,7 +10688,7 @@ }, "node_modules/is-data-view": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-data-view/-/is-data-view-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "dependencies": { @@ -10181,7 +10705,7 @@ }, "node_modules/is-date-object": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-date-object/-/is-date-object-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "dependencies": { @@ -10197,7 +10721,7 @@ }, "node_modules/is-directory": { "version": "0.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-directory/-/is-directory-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "dev": true, "engines": { @@ -10206,7 +10730,7 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-docker/-/is-docker-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "bin": { @@ -10221,7 +10745,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { @@ -10230,7 +10754,7 @@ }, "node_modules/is-finalizationregistry": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, "dependencies": { @@ -10245,7 +10769,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { @@ -10254,7 +10778,7 @@ }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "engines": { @@ -10263,7 +10787,7 @@ }, "node_modules/is-generator-function": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-generator-function/-/is-generator-function-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, "dependencies": { @@ -10281,7 +10805,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-glob/-/is-glob-4.0.3.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { @@ -10293,7 +10817,7 @@ }, "node_modules/is-interactive": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-interactive/-/is-interactive-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, "engines": { @@ -10302,7 +10826,7 @@ }, "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-map/-/is-map-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, "engines": { @@ -10314,7 +10838,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-number/-/is-number-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { @@ -10323,7 +10847,7 @@ }, "node_modules/is-number-object": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-number-object/-/is-number-object-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "dependencies": { @@ -10339,16 +10863,25 @@ }, "node_modules/is-obj": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "engines": { @@ -10357,7 +10890,7 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-plain-object/-/is-plain-object-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { @@ -10369,13 +10902,13 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "node_modules/is-regex": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-regex/-/is-regex-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "dependencies": { @@ -10393,7 +10926,7 @@ }, "node_modules/is-regexp": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-regexp/-/is-regexp-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "dev": true, "engines": { @@ -10402,7 +10935,7 @@ }, "node_modules/is-set": { "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-set/-/is-set-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, "engines": { @@ -10414,7 +10947,7 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, "dependencies": { @@ -10429,7 +10962,7 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-stream/-/is-stream-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { @@ -10441,7 +10974,7 @@ }, "node_modules/is-string": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-string/-/is-string-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "dependencies": { @@ -10457,7 +10990,7 @@ }, "node_modules/is-symbol": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-symbol/-/is-symbol-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "dependencies": { @@ -10474,7 +11007,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.15", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-typed-array/-/is-typed-array-1.1.15.tgz", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "dependencies": { @@ -10489,13 +11022,13 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-typedarray/-/is-typedarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "engines": { @@ -10507,7 +11040,7 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-weakmap/-/is-weakmap-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "engines": { @@ -10519,7 +11052,7 @@ }, "node_modules/is-weakref": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-weakref/-/is-weakref-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "dependencies": { @@ -10534,7 +11067,7 @@ }, "node_modules/is-weakset": { "version": "2.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-weakset/-/is-weakset-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "dependencies": { @@ -10549,32 +11082,29 @@ } }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isarray/-/isarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isexe/-/isexe-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "node_modules/isobject": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isobject/-/isobject-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { @@ -10583,7 +11113,7 @@ }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { @@ -10592,7 +11122,7 @@ }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { @@ -10608,7 +11138,7 @@ }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { @@ -10617,7 +11147,7 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { @@ -10631,7 +11161,7 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { @@ -10645,7 +11175,7 @@ }, "node_modules/istanbul-reports": { "version": "3.1.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { @@ -10658,7 +11188,7 @@ }, "node_modules/iterator.prototype": { "version": "1.1.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, "dependencies": { @@ -10675,7 +11205,7 @@ }, "node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jackspeak/-/jackspeak-3.4.3.tgz", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { @@ -10690,7 +11220,7 @@ }, "node_modules/jest": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest/-/jest-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "dev": true, "dependencies": { @@ -10715,7 +11245,7 @@ }, "node_modules/jest-changed-files": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dev": true, "dependencies": { @@ -10729,7 +11259,7 @@ }, "node_modules/jest-circus": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-circus/-/jest-circus-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", "dev": true, "dependencies": { @@ -10759,7 +11289,7 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -10771,7 +11301,7 @@ }, "node_modules/jest-circus/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { @@ -10780,7 +11310,7 @@ }, "node_modules/jest-circus/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { @@ -10795,7 +11325,7 @@ }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { @@ -10810,7 +11340,7 @@ }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -10824,13 +11354,13 @@ }, "node_modules/jest-circus/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-cli": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-cli/-/jest-cli-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dev": true, "dependencies": { @@ -10864,7 +11394,7 @@ }, "node_modules/jest-cli/node_modules/cliui": { "version": "7.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cliui/-/cliui-7.0.4.tgz", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { @@ -10875,7 +11405,7 @@ }, "node_modules/jest-cli/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -10887,9 +11417,21 @@ "node": ">=8" } }, + "node_modules/jest-cli/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-cli/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { @@ -10906,7 +11448,7 @@ }, "node_modules/jest-cli/node_modules/yargs": { "version": "16.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs/-/yargs-16.2.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { @@ -10924,7 +11466,7 @@ }, "node_modules/jest-cli/node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs-parser/-/yargs-parser-20.2.9.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { @@ -10933,7 +11475,7 @@ }, "node_modules/jest-config": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-config/-/jest-config-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dev": true, "dependencies": { @@ -10976,7 +11518,7 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -10988,7 +11530,7 @@ }, "node_modules/jest-config/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ @@ -11003,7 +11545,7 @@ }, "node_modules/jest-config/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11017,13 +11559,13 @@ }, "node_modules/jest-config/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-diff": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "dependencies": { @@ -11036,18 +11578,50 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/jest-diff/node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-get-type/-/jest-get-type-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/jest-docblock": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-docblock/-/jest-docblock-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dev": true, "dependencies": { @@ -11059,7 +11633,7 @@ }, "node_modules/jest-each": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-each/-/jest-each-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dev": true, "dependencies": { @@ -11075,7 +11649,7 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11087,7 +11661,7 @@ }, "node_modules/jest-each/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11101,13 +11675,13 @@ }, "node_modules/jest-each/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-environment-emit": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-environment-emit/-/jest-environment-emit-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/jest-environment-emit/-/jest-environment-emit-1.0.8.tgz", "integrity": "sha512-WNqvxBLH0yNojHJQ99Y21963aT7UTavxV3PgiBQFi8zwrlnKU6HvkB6LOvQrbk5I8mI8JEKvcoOrQOvBVMLIXQ==", "dev": true, "dependencies": { @@ -11150,7 +11724,7 @@ }, "node_modules/jest-environment-emit/node_modules/bunyan": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/bunyan/-/bunyan-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-2.0.5.tgz", "integrity": "sha512-Jvl74TdxCN6rSP9W1I6+UOUtwslTDqsSFkDqZlFb/ilaSvQ+bZAnXT/GT97IZ5L+Vph0joPZPhxUyn6FLNmFAA==", "dev": true, "engines": [ @@ -11169,15 +11743,27 @@ "safe-json-stringify": "~1" } }, + "node_modules/jest-environment-emit/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-environment-emit/node_modules/tslib": { "version": "2.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tslib/-/tslib-2.8.1.tgz", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, "node_modules/jest-environment-jsdom": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dev": true, "dependencies": { @@ -11195,7 +11781,7 @@ }, "node_modules/jest-environment-node": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dev": true, "dependencies": { @@ -11212,7 +11798,7 @@ }, "node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, "engines": { @@ -11221,7 +11807,7 @@ }, "node_modules/jest-haste-map": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dev": true, "dependencies": { @@ -11247,7 +11833,7 @@ }, "node_modules/jest-jasmine2": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "dev": true, "dependencies": { @@ -11275,7 +11861,7 @@ }, "node_modules/jest-jasmine2/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11287,7 +11873,7 @@ }, "node_modules/jest-jasmine2/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { @@ -11296,7 +11882,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { @@ -11311,7 +11897,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { @@ -11326,7 +11912,7 @@ }, "node_modules/jest-jasmine2/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11340,13 +11926,13 @@ }, "node_modules/jest-jasmine2/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-leak-detector": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dev": true, "dependencies": { @@ -11359,7 +11945,7 @@ }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11371,7 +11957,7 @@ }, "node_modules/jest-leak-detector/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11385,13 +11971,13 @@ }, "node_modules/jest-leak-detector/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-matcher-utils": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "dependencies": { @@ -11404,18 +11990,50 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/jest-matcher-utils/node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-get-type/-/jest-get-type-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dev": true, "dependencies": { @@ -11435,7 +12053,7 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11447,7 +12065,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11461,13 +12079,13 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-mock": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-mock/-/jest-mock-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dev": true, "dependencies": { @@ -11480,7 +12098,7 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { @@ -11497,7 +12115,7 @@ }, "node_modules/jest-regex-util": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "dev": true, "engines": { @@ -11506,7 +12124,7 @@ }, "node_modules/jest-resolve": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-resolve/-/jest-resolve-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "dev": true, "dependencies": { @@ -11527,7 +12145,7 @@ }, "node_modules/jest-resolve-dependencies": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", "dev": true, "dependencies": { @@ -11541,7 +12159,7 @@ }, "node_modules/jest-runner": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-runner/-/jest-runner-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", "dev": true, "dependencies": { @@ -11573,7 +12191,7 @@ }, "node_modules/jest-runtime": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-runtime/-/jest-runtime-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", "dev": true, "dependencies": { @@ -11606,7 +12224,7 @@ }, "node_modules/jest-serializer": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-serializer/-/jest-serializer-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", "dev": true, "dependencies": { @@ -11619,7 +12237,7 @@ }, "node_modules/jest-snapshot": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "dev": true, "dependencies": { @@ -11652,7 +12270,7 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11664,7 +12282,7 @@ }, "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, "engines": { @@ -11673,7 +12291,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { @@ -11688,7 +12306,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "dependencies": { @@ -11703,7 +12321,7 @@ }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11717,13 +12335,13 @@ }, "node_modules/jest-snapshot/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-snapshot/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -11735,7 +12353,7 @@ }, "node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dev": true, "dependencies": { @@ -11752,7 +12370,7 @@ }, "node_modules/jest-util/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ @@ -11767,7 +12385,7 @@ }, "node_modules/jest-validate": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-validate/-/jest-validate-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", "dev": true, "dependencies": { @@ -11784,7 +12402,7 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { @@ -11796,7 +12414,7 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { @@ -11808,7 +12426,7 @@ }, "node_modules/jest-validate/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { @@ -11822,13 +12440,13 @@ }, "node_modules/jest-validate/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/jest-watcher": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-watcher/-/jest-watcher-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dev": true, "dependencies": { @@ -11846,7 +12464,7 @@ }, "node_modules/jest-watcher/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { @@ -11861,7 +12479,7 @@ }, "node_modules/jest-watcher/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { @@ -11873,7 +12491,7 @@ }, "node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-worker/-/jest-worker-27.5.1.tgz", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { @@ -11887,7 +12505,7 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-8.1.1.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { @@ -11902,7 +12520,7 @@ }, "node_modules/joi": { "version": "17.13.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/joi/-/joi-17.13.3.tgz", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dev": true, "dependencies": { @@ -11915,21 +12533,21 @@ }, "node_modules/js-base64": { "version": "2.6.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-base64/-/js-base64-2.6.4.tgz", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", "dev": true }, "node_modules/js-beautify": { - "version": "1.15.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-beautify/-/js-beautify-1.15.1.tgz", - "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", + "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", "dev": true, "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^1.0.4", - "glob": "^10.3.3", + "glob": "^10.4.2", "js-cookie": "^3.0.5", - "nopt": "^7.2.0" + "nopt": "^7.2.1" }, "bin": { "css-beautify": "js/bin/css-beautify.js", @@ -11940,18 +12558,9 @@ "node": ">=14" } }, - "node_modules/js-beautify/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/js-beautify/node_modules/glob": { "version": "10.4.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/glob/-/glob-10.4.5.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { @@ -11969,24 +12578,9 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/js-beautify/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/js-cookie": { "version": "3.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-cookie/-/js-cookie-3.0.5.tgz", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", "dev": true, "engines": { @@ -11995,7 +12589,7 @@ }, "node_modules/js-message": { "version": "1.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-message/-/js-message-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", "dev": true, "engines": { @@ -12004,7 +12598,7 @@ }, "node_modules/js-queue": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-queue/-/js-queue-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", "dev": true, "dependencies": { @@ -12016,12 +12610,12 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-tokens/-/js-tokens-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/js-yaml/-/js-yaml-3.14.1.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { @@ -12034,19 +12628,19 @@ }, "node_modules/jsc-android": { "version": "250231.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsc-android/-/jsc-android-250231.0.0.tgz", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", "dev": true }, "node_modules/jsc-safe-url": { "version": "0.2.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", "dev": true }, "node_modules/jscodeshift": { "version": "0.14.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jscodeshift/-/jscodeshift-0.14.0.tgz", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", "dev": true, "dependencies": { @@ -12079,7 +12673,7 @@ }, "node_modules/jscodeshift/node_modules/write-file-atomic": { "version": "2.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "dependencies": { @@ -12090,7 +12684,7 @@ }, "node_modules/jsdom": { "version": "16.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsdom/-/jsdom-16.7.0.tgz", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "dependencies": { @@ -12134,21 +12728,30 @@ } } }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "node_modules/jsdom/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/jsesc": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsesc/-/jsesc-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "bin": { @@ -12160,13 +12763,13 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-buffer/-/json-buffer-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, "node_modules/json-cycle": { "version": "1.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-cycle/-/json-cycle-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/json-cycle/-/json-cycle-1.5.0.tgz", "integrity": "sha512-GOehvd5PO2FeZ5T4c+RxobeT5a1PiGpF4u9/3+UvrMU4bhnVqzJY7hm39wg8PDCqkU91fWGH8qjWR4bn+wgq9w==", "dev": true, "engines": { @@ -12175,37 +12778,37 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "node_modules/json2yaml": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json2yaml/-/json2yaml-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/json2yaml/-/json2yaml-1.1.0.tgz", "integrity": "sha512-/xse+m0SlllfZahQrNOelmLrFNfeZv4QG0QKlvg7VsPSGIxpB3X+ggLkdffwmI1DdQ3o9XjZX+K+EOI1epdKgg==", "dev": true, "dependencies": { @@ -12223,7 +12826,7 @@ }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/json5/-/json5-2.2.3.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { @@ -12234,20 +12837,17 @@ } }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/jsx-ast-utils": { "version": "3.3.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "dependencies": { @@ -12262,7 +12862,7 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/keyv/-/keyv-4.5.4.tgz", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { @@ -12271,7 +12871,7 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/kind-of/-/kind-of-6.0.3.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { @@ -12280,7 +12880,7 @@ }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/kleur/-/kleur-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, "engines": { @@ -12289,7 +12889,7 @@ }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/leven/-/leven-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "engines": { @@ -12298,7 +12898,7 @@ }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/levn/-/levn-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { @@ -12311,7 +12911,7 @@ }, "node_modules/lie": { "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lie/-/lie-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", "dev": true, "dependencies": { @@ -12320,7 +12920,7 @@ }, "node_modules/lighthouse-logger": { "version": "1.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", "dev": true, "dependencies": { @@ -12330,7 +12930,7 @@ }, "node_modules/lighthouse-logger/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -12339,19 +12939,19 @@ }, "node_modules/lighthouse-logger/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "node_modules/linkify-it": { "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/linkify-it/-/linkify-it-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "dependencies": { @@ -12360,7 +12960,7 @@ }, "node_modules/lint-staged": { "version": "10.2.11", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lint-staged/-/lint-staged-10.2.11.tgz", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.11.tgz", "integrity": "sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==", "dev": true, "dependencies": { @@ -12389,16 +12989,32 @@ }, "node_modules/lint-staged/node_modules/commander": { "version": "5.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/commander/-/commander-5.1.0.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true, "engines": { "node": ">= 6" } }, + "node_modules/lint-staged/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lint-staged/node_modules/cross-spawn": { "version": "7.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-7.0.6.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { @@ -12412,7 +13028,7 @@ }, "node_modules/lint-staged/node_modules/execa": { "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/execa/-/execa-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { @@ -12435,7 +13051,7 @@ }, "node_modules/lint-staged/node_modules/get-stream": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-stream/-/get-stream-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { @@ -12450,7 +13066,7 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/human-signals/-/human-signals-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "engines": { @@ -12459,7 +13075,7 @@ }, "node_modules/lint-staged/node_modules/which": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { @@ -12472,9 +13088,18 @@ "node": ">= 8" } }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/listr2": { "version": "2.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/listr2/-/listr2-2.6.2.tgz", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.6.2.tgz", "integrity": "sha512-6x6pKEMs8DSIpA/tixiYY2m/GcbgMplMVmhQAaLFxEtNSKLeWTGjtmU57xvv6QCm2XcqzyNXL/cTSVf4IChCRA==", "dev": true, "dependencies": { @@ -12496,7 +13121,7 @@ }, "node_modules/listr2/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { @@ -12505,7 +13130,7 @@ }, "node_modules/listr2/node_modules/figures": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/figures/-/figures-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { @@ -12520,7 +13145,7 @@ }, "node_modules/localforage": { "version": "1.10.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/localforage/-/localforage-1.10.0.tgz", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", "dev": true, "dependencies": { @@ -12528,73 +13153,70 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash/-/lodash-4.17.21.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash-es/-/lodash-es-4.17.21.tgz", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "node_modules/lodash.includes": { "version": "4.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.includes/-/lodash.includes-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", "dev": true }, "node_modules/lodash.isfunction": { "version": "3.0.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", "dev": true }, "node_modules/lodash.isobjectlike": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.isobjectlike/-/lodash.isobjectlike-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobjectlike/-/lodash.isobjectlike-4.0.0.tgz", "integrity": "sha512-bbRt0Dief0yqjkTgpvzisSxnsmY3ZgVJvokHL30UE+ytsvnpNfiNaCJL4XBEWek8koQmrwZidBHb7coXC5vXlA==", "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.merge/-/lodash.merge-4.6.2.tgz", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "node_modules/lodash.throttle": { "version": "4.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "dev": true }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/log-symbols/-/log-symbols-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { @@ -12610,7 +13232,7 @@ }, "node_modules/log-update": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/log-update/-/log-update-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "dependencies": { @@ -12628,7 +13250,7 @@ }, "node_modules/log-update/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { @@ -12643,7 +13265,7 @@ }, "node_modules/log-update/node_modules/cli-cursor": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cli-cursor/-/cli-cursor-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { @@ -12655,7 +13277,7 @@ }, "node_modules/log-update/node_modules/restore-cursor": { "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/restore-cursor/-/restore-cursor-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { @@ -12668,7 +13290,7 @@ }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/slice-ansi/-/slice-ansi-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { @@ -12685,7 +13307,7 @@ }, "node_modules/log-update/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { @@ -12697,7 +13319,7 @@ }, "node_modules/logkitty": { "version": "0.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/logkitty/-/logkitty-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", "dev": true, "dependencies": { @@ -12711,7 +13333,7 @@ }, "node_modules/logkitty/node_modules/cliui": { "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cliui/-/cliui-6.0.0.tgz", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { @@ -12722,16 +13344,68 @@ }, "node_modules/logkitty/node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/logkitty/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -12743,15 +13417,27 @@ "node": ">=8" } }, + "node_modules/logkitty/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/logkitty/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/y18n/-/y18n-4.0.3.tgz", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/logkitty/node_modules/yargs": { "version": "15.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs/-/yargs-15.4.1.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { @@ -12773,7 +13459,7 @@ }, "node_modules/logkitty/node_modules/yargs-parser": { "version": "18.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs-parser/-/yargs-parser-18.1.3.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { @@ -12786,7 +13472,7 @@ }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/loose-envify/-/loose-envify-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -12797,7 +13483,7 @@ }, "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lru-cache/-/lru-cache-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { @@ -12806,13 +13492,13 @@ }, "node_modules/lunr": { "version": "2.3.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lunr/-/lunr-2.3.9.tgz", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/make-dir/-/make-dir-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { @@ -12827,7 +13513,7 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "7.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-7.7.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "bin": { @@ -12839,7 +13525,7 @@ }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/makeerror/-/makeerror-1.0.12.tgz", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { @@ -12848,7 +13534,7 @@ }, "node_modules/markdown-it": { "version": "14.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/markdown-it/-/markdown-it-14.1.0.tgz", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "dependencies": { @@ -12865,19 +13551,19 @@ }, "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/argparse/-/argparse-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "node_modules/marky": { "version": "1.2.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/marky/-/marky-1.2.5.tgz", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", "dev": true }, "node_modules/matcher": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/matcher/-/matcher-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "dev": true, "dependencies": { @@ -12889,7 +13575,7 @@ }, "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "engines": { @@ -12898,25 +13584,25 @@ }, "node_modules/mdurl": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mdurl/-/mdurl-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true }, "node_modules/memoize-one": { "version": "5.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/memoize-one/-/memoize-one-5.2.1.tgz", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/merge-stream/-/merge-stream-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/merge2/-/merge2-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { @@ -12924,50 +13610,48 @@ } }, "node_modules/metro": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro/-/metro-0.80.12.tgz", - "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.81.4.tgz", + "integrity": "sha512-78f0aBNPuwXW7GFnSc+Y0vZhbuQorXxdgqQfvSRqcSizqwg9cwF27I05h47tL8AzQcizS1JZncvq4xf5u/Qykw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", "accepts": "^1.3.7", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^2.2.0", - "denodeify": "^1.2.1", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.23.1", + "hermes-parser": "0.25.1", "image-size": "^1.0.2", "invariant": "^2.2.4", - "jest-worker": "^29.6.3", + "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.12", - "metro-cache": "0.80.12", - "metro-cache-key": "0.80.12", - "metro-config": "0.80.12", - "metro-core": "0.80.12", - "metro-file-map": "0.80.12", - "metro-resolver": "0.80.12", - "metro-runtime": "0.80.12", - "metro-source-map": "0.80.12", - "metro-symbolicate": "0.80.12", - "metro-transform-plugins": "0.80.12", - "metro-transform-worker": "0.80.12", + "metro-babel-transformer": "0.81.4", + "metro-cache": "0.81.4", + "metro-cache-key": "0.81.4", + "metro-config": "0.81.4", + "metro-core": "0.81.4", + "metro-file-map": "0.81.4", + "metro-resolver": "0.81.4", + "metro-runtime": "0.81.4", + "metro-source-map": "0.81.4", + "metro-symbolicate": "0.81.4", + "metro-transform-plugins": "0.81.4", + "metro-transform-worker": "0.81.4", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" @@ -12976,87 +13660,87 @@ "metro": "src/cli.js" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-babel-transformer": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", - "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.81.4.tgz", + "integrity": "sha512-WW0yswWrW+eTVK9sYD+b1HwWOiUlZlUoomiw9TIOk0C+dh2V90Wttn/8g62kYi0Y4i+cJfISerB2LbV4nuRGTA==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", + "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", - "hermes-parser": "0.23.1", + "hermes-parser": "0.25.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.23.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-estree/-/hermes-estree-0.23.1.tgz", - "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", "dev": true }, "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.23.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-parser/-/hermes-parser-0.23.1.tgz", - "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", "dev": true, "dependencies": { - "hermes-estree": "0.23.1" + "hermes-estree": "0.25.1" } }, "node_modules/metro-cache": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-cache/-/metro-cache-0.80.12.tgz", - "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.81.4.tgz", + "integrity": "sha512-sxCPH3gowDxazSaZZrwdNPEpnxR8UeXDnvPjBF9+5btDBNN2DpWvDAXPvrohkYkFImhc0LajS2V7eOXvu9PnvQ==", "dev": true, "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", - "metro-core": "0.80.12" + "metro-core": "0.81.4" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-cache-key": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-cache-key/-/metro-cache-key-0.80.12.tgz", - "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.81.4.tgz", + "integrity": "sha512-3SaWQybvf1ivasjBegIxzVKLJzOpcz+KsnGwXFOYADQq0VN4cnM7tT+u2jkOhk6yJiiO1WIjl68hqyMOQJRRLg==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-config": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-config/-/metro-config-0.80.12.tgz", - "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.81.4.tgz", + "integrity": "sha512-QnhMy3bRiuimCTy7oi5Ug60javrSa3lPh0gpMAspQZHY9h6y86jwHtZPLtlj8hdWQESIlrbeL8inMSF6qI/i9Q==", "dev": true, "dependencies": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", "flow-enums-runtime": "^0.0.6", - "jest-validate": "^29.6.3", - "metro": "0.80.12", - "metro-cache": "0.80.12", - "metro-core": "0.80.12", - "metro-runtime": "0.80.12" + "jest-validate": "^29.7.0", + "metro": "0.81.4", + "metro-cache": "0.81.4", + "metro-core": "0.81.4", + "metro-runtime": "0.81.4" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-config/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { @@ -13073,16 +13757,28 @@ }, "node_modules/metro-config/node_modules/@types/yargs": { "version": "17.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-17.0.33.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/metro-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/metro-config/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { @@ -13094,7 +13790,7 @@ }, "node_modules/metro-config/node_modules/cosmiconfig": { "version": "5.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "dev": true, "dependencies": { @@ -13109,7 +13805,7 @@ }, "node_modules/metro-config/node_modules/import-fresh": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/import-fresh/-/import-fresh-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", "dev": true, "dependencies": { @@ -13122,7 +13818,7 @@ }, "node_modules/metro-config/node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-get-type/-/jest-get-type-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "engines": { @@ -13131,7 +13827,7 @@ }, "node_modules/metro-config/node_modules/jest-validate": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-validate/-/jest-validate-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "dependencies": { @@ -13148,20 +13844,40 @@ }, "node_modules/metro-config/node_modules/parse-json": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parse-json/-/parse-json-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/metro-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/metro-config/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/metro-config/node_modules/resolve-from": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve-from/-/resolve-from-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, "engines": { @@ -13169,47 +13885,42 @@ } }, "node_modules/metro-core": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-core/-/metro-core-0.80.12.tgz", - "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.81.4.tgz", + "integrity": "sha512-GdL4IgmgJhrMA/rTy2lRqXKeXfC77Rg+uvhUEkbhyfj/oz7PrdSgvIFzziapjdHwk1XYq0KyFh/CcVm8ZawG6A==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.12" + "metro-resolver": "0.81.4" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-file-map": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-file-map/-/metro-file-map-0.80.12.tgz", - "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.81.4.tgz", + "integrity": "sha512-qUIBzkiqOi3qEuscu4cJ83OYQ4hVzjON19FAySWqYys9GKCmxlKa7LkmwqdpBso6lQl+JXZ7nCacX90w5wQvPA==", "dev": true, "dependencies": { - "anymatch": "^3.0.3", "debug": "^2.2.0", "fb-watchman": "^2.0.0", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", - "jest-worker": "^29.6.3", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", "nullthrows": "^1.1.1", "walker": "^1.0.7" }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=18.18" } }, "node_modules/metro-file-map/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { @@ -13226,7 +13937,7 @@ }, "node_modules/metro-file-map/node_modules/@types/yargs": { "version": "17.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-17.0.33.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { @@ -13235,7 +13946,7 @@ }, "node_modules/metro-file-map/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ @@ -13250,7 +13961,7 @@ }, "node_modules/metro-file-map/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -13259,7 +13970,7 @@ }, "node_modules/metro-file-map/node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-util/-/jest-util-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { @@ -13276,7 +13987,7 @@ }, "node_modules/metro-file-map/node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-worker/-/jest-worker-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { @@ -13291,13 +14002,13 @@ }, "node_modules/metro-file-map/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/metro-file-map/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-8.1.1.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { @@ -13311,21 +14022,21 @@ } }, "node_modules/metro-minify-terser": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", - "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.81.4.tgz", + "integrity": "sha512-oVvq/AGvqmbhuijJDZZ9npeWzaVyeBwQKtdlnjcQ9fH7nR15RiBr5y2zTdgTEdynqOIb1Kc16l8CQIUSzOWVFA==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-react-native-babel-preset": { "version": "0.76.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz", "integrity": "sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ==", "dev": true, "dependencies": { @@ -13378,7 +14089,7 @@ }, "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": { "version": "0.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-refresh/-/react-refresh-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", "dev": true, "engines": { @@ -13386,71 +14097,67 @@ } }, "node_modules/metro-resolver": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-resolver/-/metro-resolver-0.80.12.tgz", - "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.81.4.tgz", + "integrity": "sha512-Ng7G2mXjSExMeRzj6GC19G6IJ0mfIbOLgjArsMWJgtt9ViZiluCwgWsMW9juBC5NSwjJxUMK2x6pC5NIMFLiHA==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-runtime": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-runtime/-/metro-runtime-0.80.12.tgz", - "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.81.4.tgz", + "integrity": "sha512-fBoRgqkF69CwyPtBNxlDi5ha26Zc8f85n2THXYoh13Jn/Bkg8KIDCdKPp/A1BbSeNnkH/++H2EIIfnmaff4uRg==", "dev": true, "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18" - } - }, - "node_modules/metro-runtime/node_modules/@babel/runtime": { - "version": "7.26.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@babel/runtime/-/runtime-7.26.7.tgz", - "integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" + "node": ">=18.18" } }, - "node_modules/metro-runtime/node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, "node_modules/metro-source-map": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-source-map/-/metro-source-map-0.80.12.tgz", - "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.81.4.tgz", + "integrity": "sha512-IOwVQ7mLqoqvsL70RZtl1EyE3f9jp43kVsAsb/B/zoWmu0/k4mwEhGLTxmjdXRkLJqPqPrh7WmFChAEf9trW4Q==", "dev": true, "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", + "@babel/traverse": "^7.25.3", + "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", + "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-symbolicate": "0.80.12", + "metro-symbolicate": "0.81.4", "nullthrows": "^1.1.1", - "ob1": "0.80.12", + "ob1": "0.81.4", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=18" + "node": ">=18.18" + } + }, + "node_modules/metro-source-map/node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/metro-source-map/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { @@ -13458,29 +14165,28 @@ } }, "node_modules/metro-symbolicate": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", - "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.81.4.tgz", + "integrity": "sha512-rWxTmYVN6/BOSaMDUHT8HgCuRf6acd0AjHkenYlHpmgxg7dqdnAG1hLq999q2XpW5rX+cMamZD5W5Ez2LqGaag==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-source-map": "0.80.12", + "metro-source-map": "0.81.4", "nullthrows": "^1.1.1", "source-map": "^0.5.6", - "through2": "^2.0.1", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-symbolicate/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { @@ -13488,49 +14194,75 @@ } }, "node_modules/metro-transform-plugins": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", - "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.81.4.tgz", + "integrity": "sha512-nlP069nDXm4v28vbll4QLApAlvVtlB66rP6h+ml8Q/CCQCPBXu2JLaoxUmkIOJQjLhMRUcgTyQHq+TXWJhydOQ==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/metro-transform-worker": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", - "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.81.4.tgz", + "integrity": "sha512-lKAeRZ8EUMtx2cA/Y4KvICr9bIr5SE03iK3lm+l9wyn2lkjLUuPjYVep159inLeDqC6AtSubsA8MZLziP7c03g==", "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", - "metro": "0.80.12", - "metro-babel-transformer": "0.80.12", - "metro-cache": "0.80.12", - "metro-cache-key": "0.80.12", - "metro-minify-terser": "0.80.12", - "metro-source-map": "0.80.12", - "metro-transform-plugins": "0.80.12", + "metro": "0.81.4", + "metro-babel-transformer": "0.81.4", + "metro-cache": "0.81.4", + "metro-cache-key": "0.81.4", + "metro-minify-terser": "0.81.4", + "metro-source-map": "0.81.4", + "metro-transform-plugins": "0.81.4", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=18" + "node": ">=18.18" + } + }, + "node_modules/metro-transform-worker/node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/metro/node_modules/@babel/types": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/metro/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { @@ -13547,7 +14279,7 @@ }, "node_modules/metro/node_modules/@types/yargs": { "version": "17.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-17.0.33.tgz", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { @@ -13556,7 +14288,7 @@ }, "node_modules/metro/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -13564,23 +14296,23 @@ } }, "node_modules/metro/node_modules/hermes-estree": { - "version": "0.23.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-estree/-/hermes-estree-0.23.1.tgz", - "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", "dev": true }, "node_modules/metro/node_modules/hermes-parser": { - "version": "0.23.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hermes-parser/-/hermes-parser-0.23.1.tgz", - "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", "dev": true, "dependencies": { - "hermes-estree": "0.23.1" + "hermes-estree": "0.25.1" } }, "node_modules/metro/node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-util/-/jest-util-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { @@ -13597,7 +14329,7 @@ }, "node_modules/metro/node_modules/jest-util/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ @@ -13612,7 +14344,7 @@ }, "node_modules/metro/node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-worker/-/jest-worker-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { @@ -13627,13 +14359,13 @@ }, "node_modules/metro/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/metro/node_modules/serialize-error": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/serialize-error/-/serialize-error-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", "dev": true, "engines": { @@ -13642,7 +14374,7 @@ }, "node_modules/metro/node_modules/source-map": { "version": "0.5.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { @@ -13651,7 +14383,7 @@ }, "node_modules/metro/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-8.1.1.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { @@ -13666,13 +14398,34 @@ }, "node_modules/metro/node_modules/throat": { "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/throat/-/throat-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/micromatch/-/micromatch-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { @@ -13685,7 +14438,7 @@ }, "node_modules/mime": { "version": "2.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mime/-/mime-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, "bin": { @@ -13696,9 +14449,9 @@ } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, "engines": { "node": ">= 0.6" @@ -13706,7 +14459,7 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mime-types/-/mime-types-2.1.35.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { @@ -13716,9 +14469,18 @@ "node": ">= 0.6" } }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mimic-fn/-/mimic-fn-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { @@ -13727,7 +14489,7 @@ }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/min-indent/-/min-indent-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, "engines": { @@ -13735,20 +14497,23 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimist/-/minimist-1.2.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "funding": { @@ -13757,7 +14522,7 @@ }, "node_modules/minipass": { "version": "7.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minipass/-/minipass-7.1.2.tgz", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { @@ -13766,7 +14531,7 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mkdirp/-/mkdirp-0.5.6.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { @@ -13778,13 +14543,13 @@ }, "node_modules/mobx": { "version": "4.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mobx/-/mobx-4.3.1.tgz", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-4.3.1.tgz", "integrity": "sha512-v0AmLALk7hyKU6PIJyiQ0/JUfUKmeHBrKApXdV214KpYxiZxRaRn81Ucb+cL8LvaBldL0dQVOOskbdZlWxh7dQ==", "dev": true }, "node_modules/mobx-react": { "version": "5.4.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mobx-react/-/mobx-react-5.4.4.tgz", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.4.4.tgz", "integrity": "sha512-2mTzpyEjVB/RGk2i6KbcmP4HWcAUFox5ZRCrGvSyz49w20I4C4qql63grPpYrS9E9GKwgydBHQlA4y665LuRCQ==", "dev": true, "dependencies": { @@ -13796,15 +14561,9 @@ "react": "^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/mobx-react/node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "dev": true - }, "node_modules/moment": { "version": "2.30.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/moment/-/moment-2.30.1.tgz", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "dev": true, "optional": true, @@ -13814,19 +14573,19 @@ }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.1.3.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/multi-sort-stream": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/multi-sort-stream/-/multi-sort-stream-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/multi-sort-stream/-/multi-sort-stream-1.0.4.tgz", "integrity": "sha512-hAZ8JOEQFbgdLe8HWZbb7gdZg0/yAIHF00Qfo3kd0rXFv96nXe+/bPTrKHZ2QMHugGX4FiAyET1Lt+jiB+7Qlg==", "dev": true }, "node_modules/multipipe": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/multipipe/-/multipipe-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-4.0.0.tgz", "integrity": "sha512-jzcEAzFXoWwWwUbvHCNPwBlTz3WCWe/jPcXSmTfbo/VjRwRTfvLZ/bdvtiTdqCe8d4otCSsPCbhGYcX+eggpKQ==", "dev": true, "dependencies": { @@ -13836,13 +14595,13 @@ }, "node_modules/mute-stream": { "version": "0.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mute-stream/-/mute-stream-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", "dev": true }, "node_modules/mv": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mv/-/mv-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", "dev": true, "optional": true, @@ -13855,9 +14614,20 @@ "node": ">=0.8.0" } }, + "node_modules/mv/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/mv/node_modules/glob": { "version": "6.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/glob/-/glob-6.0.4.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, @@ -13873,9 +14643,22 @@ "node": "*" } }, + "node_modules/mv/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/mv/node_modules/rimraf": { "version": "2.4.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rimraf/-/rimraf-2.4.5.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, @@ -13888,21 +14671,27 @@ } }, "node_modules/nan": { - "version": "2.22.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", "dev": true, "optional": true }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/natural-compare/-/natural-compare-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/ncp": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ncp/-/ncp-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", "dev": true, "optional": true, @@ -13911,9 +14700,9 @@ } }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "dev": true, "engines": { "node": ">= 0.6" @@ -13921,28 +14710,22 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/neo-async/-/neo-async-2.6.2.tgz", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node_modules/nocache": { "version": "3.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/nocache/-/nocache-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", "dev": true, "engines": { "node": ">=12.0.0" } }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "dev": true - }, "node_modules/node-dir": { "version": "0.1.17", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-dir/-/node-dir-0.1.17.tgz", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", "dev": true, "dependencies": { @@ -13952,9 +14735,31 @@ "node": ">= 0.10.5" } }, + "node_modules/node-dir/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-dir/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/node-fetch": { "version": "1.7.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-fetch/-/node-fetch-1.7.3.tgz", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dev": true, "dependencies": { @@ -13964,22 +14769,31 @@ }, "node_modules/node-fetch/node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-stream/-/is-stream-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-int64/-/node-int64-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node_modules/node-ipc": { "version": "9.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-ipc/-/node-ipc-9.2.1.tgz", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", "dev": true, "dependencies": { @@ -13993,13 +14807,13 @@ }, "node_modules/node-releases": { "version": "2.0.19", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-releases/-/node-releases-2.0.19.tgz", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, "node_modules/node-stream-zip": { "version": "1.15.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", "dev": true, "engines": { @@ -14012,7 +14826,7 @@ }, "node_modules/node-version": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/node-version/-/node-version-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz", "integrity": "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==", "dev": true, "engines": { @@ -14021,7 +14835,7 @@ }, "node_modules/nopt": { "version": "7.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/nopt/-/nopt-7.2.1.tgz", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, "dependencies": { @@ -14036,7 +14850,7 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/normalize-path/-/normalize-path-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { @@ -14045,7 +14859,7 @@ }, "node_modules/normalize-svg-path": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", "dev": true, "dependencies": { @@ -14054,7 +14868,7 @@ }, "node_modules/npm": { "version": "6.14.18", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/npm/-/npm-6.14.18.tgz", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.18.tgz", "integrity": "sha512-p3SjqSchSuNQUqbJBgwdv0L3O6bKkaSfQrQzJsskNpNKLg0g37c5xTXFV0SqTlX9GWvoGxBELVJMRWq0J8oaLA==", "bundleDependencies": [ "abbrev", @@ -14317,7 +15131,7 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/npm-run-path/-/npm-run-path-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { @@ -18868,31 +19682,31 @@ }, "node_modules/nullthrows": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/nullthrows/-/nullthrows-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", "dev": true }, "node_modules/nwsapi": { - "version": "2.2.16", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/nwsapi/-/nwsapi-2.2.16.tgz", - "integrity": "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==", + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", "dev": true }, "node_modules/ob1": { - "version": "0.80.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ob1/-/ob1-0.80.12.tgz", - "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", + "version": "0.81.4", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.81.4.tgz", + "integrity": "sha512-EZLYM8hfPraC2SYOR5EWLFAPV5e6g+p83m2Jth9bzCpFxP1NDQJYXdmXRB2bfbaWQSmm6NkIQlbzk7uU5lLfgg==", "dev": true, "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=18" + "node": ">=18.18" } }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object-assign/-/object-assign-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" @@ -18900,7 +19714,7 @@ }, "node_modules/object-assign-deep": { "version": "0.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object-assign-deep/-/object-assign-deep-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/object-assign-deep/-/object-assign-deep-0.3.1.tgz", "integrity": "sha512-cCorkmYgUTUaE7fSft9IfZOnq2pta7h8hQJL5ks6YCIqS+BFwDdFSFm13IASqnwD4ZwQLmgoVShFcqpbPvaVQw==", "dev": true, "engines": { @@ -18909,7 +19723,7 @@ }, "node_modules/object-inspect": { "version": "1.13.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object-inspect/-/object-inspect-1.13.4.tgz", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "engines": { @@ -18921,7 +19735,7 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object-keys/-/object-keys-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { @@ -18930,7 +19744,7 @@ }, "node_modules/object.assign": { "version": "4.1.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object.assign/-/object.assign-4.1.7.tgz", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "dependencies": { @@ -18949,14 +19763,15 @@ } }, "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -18964,7 +19779,7 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object.fromentries/-/object.fromentries-2.0.8.tgz", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { @@ -18982,7 +19797,7 @@ }, "node_modules/object.values": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/object.values/-/object.values-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "dependencies": { @@ -19000,7 +19815,7 @@ }, "node_modules/on-finished": { "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/on-finished/-/on-finished-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, "dependencies": { @@ -19012,7 +19827,7 @@ }, "node_modules/on-headers": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/on-headers/-/on-headers-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, "engines": { @@ -19021,7 +19836,7 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { @@ -19030,7 +19845,7 @@ }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/onetime/-/onetime-5.1.2.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { @@ -19045,7 +19860,7 @@ }, "node_modules/open": { "version": "6.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/open/-/open-6.4.0.tgz", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", "dev": true, "dependencies": { @@ -19055,18 +19870,9 @@ "node": ">=8" } }, - "node_modules/open/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/opencollective-postinstall": { "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", "dev": true, "bin": { @@ -19075,7 +19881,7 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/optionator/-/optionator-0.9.4.tgz", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { @@ -19091,106 +19897,68 @@ } }, "node_modules/ora": { - "version": "1.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ora/-/ora-1.4.0.tgz", - "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, "dependencies": { - "chalk": "^2.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.1", - "log-symbols": "^2.1.0" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/ora/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ora/node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "chalk": "^2.0.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/ora/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "engines": { @@ -19199,7 +19967,7 @@ }, "node_modules/own-keys": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/own-keys/-/own-keys-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "dependencies": { @@ -19214,45 +19982,39 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-map/-/p-map-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "dependencies": { @@ -19267,7 +20029,7 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/p-try/-/p-try-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { @@ -19276,13 +20038,13 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parent-module/-/parent-module-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { @@ -19294,7 +20056,7 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parse-json/-/parse-json-5.2.0.tgz", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { @@ -19312,19 +20074,19 @@ }, "node_modules/parse-svg-path": { "version": "0.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", "dev": true }, "node_modules/parse5": { "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parse5/-/parse5-6.0.1.tgz", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/parseurl/-/parseurl-1.3.3.tgz", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, "engines": { @@ -19333,7 +20095,7 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-exists/-/path-exists-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { @@ -19342,7 +20104,7 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { @@ -19351,7 +20113,7 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-key/-/path-key-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { @@ -19360,13 +20122,13 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-scurry": { "version": "1.11.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-scurry/-/path-scurry-1.11.1.tgz", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { @@ -19382,13 +20144,13 @@ }, "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/lru-cache/-/lru-cache-10.4.3.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/path-type/-/path-type-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { @@ -19397,13 +20159,13 @@ }, "node_modules/picocolors": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/picocolors/-/picocolors-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/picomatch/-/picomatch-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { @@ -19415,7 +20177,7 @@ }, "node_modules/pify": { "version": "4.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pify/-/pify-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { @@ -19423,9 +20185,9 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "engines": { "node": ">= 6" @@ -19433,7 +20195,7 @@ }, "node_modules/pixelmatch": { "version": "5.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pixelmatch/-/pixelmatch-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", "dev": true, "dependencies": { @@ -19445,7 +20207,7 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pkg-dir/-/pkg-dir-4.2.0.tgz", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { @@ -19455,9 +20217,61 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/please-upgrade-node": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, "dependencies": { @@ -19466,7 +20280,7 @@ }, "node_modules/pngjs": { "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pngjs/-/pngjs-6.0.0.tgz", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "dev": true, "engines": { @@ -19474,9 +20288,9 @@ } }, "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "engines": { "node": ">= 0.4" @@ -19484,7 +20298,7 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/prelude-ls/-/prelude-ls-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "engines": { @@ -19492,20 +20306,23 @@ } }, "node_modules/prettier": { - "version": "2.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/prettier/-/prettier-2.1.2.tgz", - "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "dependencies": { @@ -19516,55 +20333,60 @@ } }, "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/pretty-format/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" } }, "node_modules/pretty-format/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/promise": { "version": "8.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/promise/-/promise-8.3.0.tgz", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dev": true, "dependencies": { @@ -19573,13 +20395,13 @@ }, "node_modules/promise-polyfill": { "version": "6.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ==", "dev": true }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/prompts/-/prompts-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { @@ -19592,7 +20414,7 @@ }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/prop-types/-/prop-types-15.8.1.tgz", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dependencies": { "loose-envify": "^1.4.0", @@ -19602,7 +20424,7 @@ }, "node_modules/proper-lockfile": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/proper-lockfile/-/proper-lockfile-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-3.2.0.tgz", "integrity": "sha512-iMghHHXv2bsxl6NchhEaFck8tvX3F9cknEEh1SUpguUOBjN7PAAW9BLzmbc1g/mCD1gY3EE2EABBHPJfFdHFmA==", "dev": true, "dependencies": { @@ -19613,19 +20435,19 @@ }, "node_modules/proto-list": { "version": "1.2.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/proto-list/-/proto-list-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pseudomap/-/pseudomap-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "node_modules/psl": { "version": "1.15.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/psl/-/psl-1.15.0.tgz", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", "dev": true, "dependencies": { @@ -19637,7 +20459,7 @@ }, "node_modules/psl/node_modules/punycode": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode/-/punycode-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { @@ -19646,7 +20468,7 @@ }, "node_modules/pump": { "version": "3.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pump/-/pump-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "dev": true, "dependencies": { @@ -19656,13 +20478,13 @@ }, "node_modules/punycode": { "version": "1.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode/-/punycode-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true }, "node_modules/punycode.js": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode.js/-/punycode.js-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, "engines": { @@ -19671,13 +20493,13 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/querystringify/-/querystringify-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "node_modules/queue": { "version": "6.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/queue/-/queue-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", "dev": true, "dependencies": { @@ -19686,7 +20508,7 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/queue-microtask/-/queue-microtask-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ @@ -19706,7 +20528,7 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/range-parser/-/range-parser-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, "engines": { @@ -19714,9 +20536,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dev": true, "dependencies": { "loose-envify": "^1.1.0" @@ -19726,18 +20548,39 @@ } }, "node_modules/react-devtools-core": { - "version": "4.28.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-devtools-core/-/react-devtools-core-4.28.5.tgz", - "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.2.tgz", + "integrity": "sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==", "dev": true, "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" } }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/react-freeze": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-freeze/-/react-freeze-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz", "integrity": "sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==", "dev": true, "engines": { @@ -19749,57 +20592,57 @@ }, "node_modules/react-is": { "version": "16.13.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-16.13.1.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-lifecycles-compat": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-lifecycles-compat/-/react-lifecycles-compat-2.0.0.tgz", - "integrity": "sha512-txfpPCQYiazVdcbMRhatqWKcAxJweUu2wDXvts5/7Wyp6+Y9cHojqXHsLPEckzutfHlxZhG8Oiundbmp8Fd6eQ==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-native": { - "version": "0.73.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native/-/react-native-0.73.3.tgz", - "integrity": "sha512-RSQDtT2DNUcmB4IgmW9NhRb5wqvXFl6DI2NEJmt0ps2OrVHpoA8Tkq+lkFOA/fvPscJKtFKEHFBDSR5UHR3PUw==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.76.6.tgz", + "integrity": "sha512-AsRi+ud6v6ADH7ZtSOY42kRB4nbM0KtSu450pGO4pDudl4AEK/AF96ai88snb2/VJJSGGa/49QyJVFXxz/qoFg==", "dev": true, "dependencies": { "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "12.3.2", - "@react-native-community/cli-platform-android": "12.3.2", - "@react-native-community/cli-platform-ios": "12.3.2", - "@react-native/assets-registry": "0.73.1", - "@react-native/codegen": "0.73.2", - "@react-native/community-cli-plugin": "0.73.14", - "@react-native/gradle-plugin": "0.73.4", - "@react-native/js-polyfills": "0.73.1", - "@react-native/normalize-colors": "0.73.2", - "@react-native/virtualized-lists": "0.73.4", + "@react-native/assets-registry": "0.76.6", + "@react-native/codegen": "0.76.6", + "@react-native/community-cli-plugin": "0.76.6", + "@react-native/gradle-plugin": "0.76.6", + "@react-native/js-polyfills": "0.76.6", + "@react-native/normalize-colors": "0.76.6", + "@react-native/virtualized-lists": "0.76.6", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", + "babel-jest": "^29.7.0", + "babel-plugin-syntax-hermes-parser": "^0.23.1", "base64-js": "^1.5.1", "chalk": "^4.0.0", - "deprecated-react-native-prop-types": "^5.0.0", + "commander": "^12.0.0", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", "invariant": "^2.2.4", "jest-environment-node": "^29.6.3", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", + "metro-runtime": "^0.81.0", + "metro-source-map": "^0.81.0", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", + "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^4.27.7", + "react-devtools-core": "^5.3.1", "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", + "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", + "ws": "^6.2.3", "yargs": "^17.6.2" }, "bin": { @@ -19809,12 +20652,18 @@ "node": ">=18" }, "peerDependencies": { - "react": "18.2.0" + "@types/react": "^18.2.6", + "react": "^18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/react-native-fast-image": { "version": "8.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz", + "resolved": "https://registry.npmjs.org/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz", "integrity": "sha512-Sdw4ESidXCXOmQ9EcYguNY2swyoWmx53kym2zRsvi+VeFCHEdkO+WG1DK+6W81juot40bbfLNhkc63QnWtesNg==", "dev": true, "peerDependencies": { @@ -19823,16 +20672,14 @@ } }, "node_modules/react-native-gesture-handler": { - "version": "2.14.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz", - "integrity": "sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.25.0.tgz", + "integrity": "sha512-NPjJi6mislXxvjxQPU9IYwBjb1Uejp8GvAbE1Lhh+xMIMEvmgAvVIp5cz1P+xAbV6uYcRRArm278+tEInGOqWg==", "dev": true, "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", @@ -19840,9 +20687,9 @@ } }, "node_modules/react-native-reanimated": { - "version": "3.16.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-reanimated/-/react-native-reanimated-3.16.1.tgz", - "integrity": "sha512-Wnbo7toHZ6kPLAD8JWKoKCTfNoqYOMW5vUEP76Rr4RBmJCrdXj6oauYP0aZnZq8NCbiP5bwwu7+RECcWtoetnQ==", + "version": "3.16.7", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.16.7.tgz", + "integrity": "sha512-qoUUQOwE1pHlmQ9cXTJ2MX9FQ9eHllopCLiWOkDkp6CER95ZWeXhJCP4cSm6AD4jigL5jHcZf/SkWrg8ttZUsw==", "dev": true, "dependencies": { "@babel/plugin-transform-arrow-functions": "^7.0.0-0", @@ -19863,15 +20710,9 @@ "react-native": "*" } }, - "node_modules/react-native-reanimated/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "node_modules/react-native-redash": { "version": "12.6.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-redash/-/react-native-redash-12.6.1.tgz", + "resolved": "https://registry.npmjs.org/react-native-redash/-/react-native-redash-12.6.1.tgz", "integrity": "sha512-SChHzssVr512PfZxGCcVMmlAzQ20k5BkC8BiSfZls6bFohLiJT3ih6Of9mPmaTENCQWe7ywTx7gzr3tAnIu2mg==", "dev": true, "dependencies": { @@ -19889,7 +20730,7 @@ }, "node_modules/react-native-text-size": { "version": "4.0.0-rc.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-text-size/-/react-native-text-size-4.0.0-rc.1.tgz", + "resolved": "https://registry.npmjs.org/react-native-text-size/-/react-native-text-size-4.0.0-rc.1.tgz", "integrity": "sha512-CysqjU2jK6Yc+a+kEI222pUyTY2ywcU2HqbFqf1KHymW6OPTdvBBHqbEJKL0QiLhQaFYDbqicM+h990s9TP00g==", "dev": true, "peerDependencies": { @@ -19898,7 +20739,7 @@ }, "node_modules/react-native-ui-lib": { "version": "7.3.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-native-ui-lib/-/react-native-ui-lib-7.3.6.tgz", + "resolved": "https://registry.npmjs.org/react-native-ui-lib/-/react-native-ui-lib-7.3.6.tgz", "integrity": "sha512-mzgaa1X0fmP/Gwfqo5FVpEoZmpPom/Lv15FAyOGKK0y/RQLorxSlLF346aggBYl6jYGawzk06YUNl4kbThUcgA==", "dev": true, "dependencies": { @@ -19925,20 +20766,9 @@ "react-native-reanimated": ">=2.0.0" } }, - "node_modules/react-native-ui-lib/node_modules/deprecated-react-native-prop-types": { - "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz", - "integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==", - "dev": true, - "dependencies": { - "@react-native/normalize-color": "*", - "invariant": "*", - "prop-types": "*" - } - }, "node_modules/react-native/node_modules/@jest/environment": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/environment/-/environment-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "dependencies": { @@ -19953,7 +20783,7 @@ }, "node_modules/react-native/node_modules/@jest/fake-timers": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "dependencies": { @@ -19968,9 +20798,35 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/react-native/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/react-native/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "dependencies": { @@ -19985,30 +20841,9 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/@react-native/codegen": { - "version": "0.73.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@react-native/codegen/-/codegen-0.73.2.tgz", - "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, "node_modules/react-native/node_modules/@sinonjs/commons": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sinonjs/commons/-/commons-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "dependencies": { @@ -20017,25 +20852,98 @@ }, "node_modules/react-native/node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/react-native/node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/react-native/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-native/node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/react-native/node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/react-native/node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.23.1.tgz", + "integrity": "sha512-uNLD0tk2tLUjGFdmCk+u/3FEw2o+BAwW4g+z2QVlxJrzZYOOPADroEcNtTPt5lNiScctaUmnsTkVEnOwZUOLhA==", + "dev": true, + "dependencies": { + "hermes-parser": "0.23.1" } }, - "node_modules/react-native/node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "node_modules/react-native/node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/react-native/node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ @@ -20048,9 +20956,18 @@ "node": ">=8" } }, + "node_modules/react-native/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/react-native/node_modules/jest-environment-node": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "dependencies": { @@ -20065,61 +20982,54 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/jest-message-util": { + "node_modules/react-native/node_modules/jest-haste-map": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "walker": "^1.0.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/react-native/node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/react-native/node_modules/jest-message-util/node_modules/pretty-format": { + "node_modules/react-native/node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/jest-message-util/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, "node_modules/react-native/node_modules/jest-mock": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-mock/-/jest-mock-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "dependencies": { @@ -20131,9 +21041,18 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/react-native/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/react-native/node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jest-util/-/jest-util-29.7.0.tgz", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "dependencies": { @@ -20148,64 +21067,90 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "node_modules/react-native/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/pretty-format/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "node_modules/react-native/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-native/node_modules/pretty-format/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "node_modules/react-native/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/react-native/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/react-native/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "node_modules/react-native/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "node_modules/react-native/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "async-limiter": "~1.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/react-redux": { "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-redux/-/react-redux-5.1.2.tgz", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.2.tgz", "integrity": "sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==", "dev": true, "dependencies": { @@ -20222,15 +21167,9 @@ "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" } }, - "node_modules/react-redux/node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "dev": true - }, "node_modules/react-refresh": { "version": "0.14.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-refresh/-/react-refresh-0.14.2.tgz", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, "engines": { @@ -20239,7 +21178,7 @@ }, "node_modules/react-shallow-renderer": { "version": "16.15.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", "dev": true, "dependencies": { @@ -20251,28 +21190,28 @@ } }, "node_modules/react-test-renderer": { - "version": "18.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-test-renderer/-/react-test-renderer-18.2.0.tgz", - "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz", + "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==", "dev": true, "dependencies": { - "react-is": "^18.2.0", + "react-is": "^18.3.1", "react-shallow-renderer": "^16.15.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-test-renderer/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, "node_modules/react-test-renderer/node_modules/scheduler": { "version": "0.23.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/scheduler/-/scheduler-0.23.2.tgz", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dev": true, "dependencies": { @@ -20281,7 +21220,7 @@ }, "node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/readable-stream/-/readable-stream-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { @@ -20296,19 +21235,19 @@ }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "node_modules/readline": { "version": "1.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/readline/-/readline-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", "dev": true }, "node_modules/recast": { "version": "0.21.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/recast/-/recast-0.21.5.tgz", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", "dev": true, "dependencies": { @@ -20323,13 +21262,13 @@ }, "node_modules/recast/node_modules/tslib": { "version": "2.8.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tslib/-/tslib-2.8.1.tgz", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, "node_modules/redent": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/redent/-/redent-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "dependencies": { @@ -20342,7 +21281,7 @@ }, "node_modules/redux": { "version": "3.7.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/redux/-/redux-3.7.2.tgz", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "dev": true, "dependencies": { @@ -20354,7 +21293,7 @@ }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "dependencies": { @@ -20376,13 +21315,13 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerate/-/regenerate-1.4.2.tgz", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, "dependencies": { @@ -20393,14 +21332,14 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "node_modules/regenerator-transform": { "version": "0.15.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { @@ -20409,13 +21348,13 @@ }, "node_modules/regex-match-all": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regex-match-all/-/regex-match-all-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/regex-match-all/-/regex-match-all-1.0.2.tgz", "integrity": "sha512-cE0A/w9APf+4aN/YMUhXYIjDyY29QGdfy7Y0QZZGh37O4C9wFwjj5Uiuqt7QBqT/luqcbOpKHkgbGWSIJ4DMzg==", "dev": true }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "dependencies": { @@ -20433,21 +21372,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "6.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regexpu-core/-/regexpu-core-6.2.0.tgz", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "dependencies": { @@ -20464,13 +21391,13 @@ }, "node_modules/regjsgen": { "version": "0.8.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regjsgen/-/regjsgen-0.8.0.tgz", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "dev": true }, "node_modules/regjsparser": { "version": "0.12.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/regjsparser/-/regjsparser-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "dependencies": { @@ -20482,7 +21409,7 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "3.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsesc/-/jsesc-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, "bin": { @@ -20494,7 +21421,7 @@ }, "node_modules/remedial": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/remedial/-/remedial-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz", "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==", "dev": true, "engines": { @@ -20503,7 +21430,7 @@ }, "node_modules/remx": { "version": "3.0.611", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/remx/-/remx-3.0.611.tgz", + "resolved": "https://registry.npmjs.org/remx/-/remx-3.0.611.tgz", "integrity": "sha512-CIVaNrwIkKRpmYFnA/OOI49T8OBN6NIHUOzefK3G3VEb4mvu3EblMqeBUbnAuY17KahYEE8xtsBR5pxcWBps6Q==", "dev": true, "dependencies": { @@ -20520,13 +21447,13 @@ }, "node_modules/remx/node_modules/hoist-non-react-statics": { "version": "2.5.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", "dev": true }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/require-directory/-/require-directory-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { @@ -20535,7 +21462,7 @@ }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/require-from-string/-/require-from-string-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "engines": { @@ -20544,7 +21471,7 @@ }, "node_modules/require-from-url": { "version": "3.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/require-from-url/-/require-from-url-3.1.3.tgz", + "resolved": "https://registry.npmjs.org/require-from-url/-/require-from-url-3.1.3.tgz", "integrity": "sha512-SWYVQr6rZMumhsE0MGL3caGtBNDBPQRm7JV4fsxb8Nc+LR42QkmLPP56P+Y9jncZLNrrk4SpE/Ozaf8Jo3ialA==", "dev": true, "engines": { @@ -20553,13 +21480,13 @@ }, "node_modules/require-main-filename": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/require-main-filename/-/require-main-filename-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "node_modules/require-yaml": { "version": "0.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/require-yaml/-/require-yaml-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/require-yaml/-/require-yaml-0.0.1.tgz", "integrity": "sha512-M6eVEgLPRbeOhgSCnOTtdrOOEQzbXRchg24Xa13c39dMuraFKdI9emUo97Rih0YEFzSICmSKg8w4RQp+rd9pOQ==", "dev": true, "dependencies": { @@ -20568,13 +21495,13 @@ }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/requires-port/-/requires-port-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "node_modules/resolve": { "version": "1.22.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve/-/resolve-1.22.10.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "dependencies": { @@ -20594,7 +21521,7 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { @@ -20606,7 +21533,7 @@ }, "node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve-from/-/resolve-from-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { @@ -20615,7 +21542,7 @@ }, "node_modules/resolve.exports": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/resolve.exports/-/resolve.exports-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", "dev": true, "engines": { @@ -20624,7 +21551,7 @@ }, "node_modules/restore-cursor": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/restore-cursor/-/restore-cursor-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "dependencies": { @@ -20637,7 +21564,7 @@ }, "node_modules/restore-cursor/node_modules/mimic-fn": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mimic-fn/-/mimic-fn-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, "engines": { @@ -20646,7 +21573,7 @@ }, "node_modules/restore-cursor/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/onetime/-/onetime-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "dependencies": { @@ -20658,7 +21585,7 @@ }, "node_modules/retry": { "version": "0.12.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/retry/-/retry-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, "engines": { @@ -20666,9 +21593,9 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "engines": { "iojs": ">=1.0.0", @@ -20677,7 +21604,7 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rimraf/-/rimraf-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, @@ -20693,7 +21620,7 @@ }, "node_modules/roarr": { "version": "2.15.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/roarr/-/roarr-2.15.4.tgz", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", "dev": true, "dependencies": { @@ -20710,13 +21637,13 @@ }, "node_modules/roarr/node_modules/sprintf-js": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/sprintf-js/-/sprintf-js-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "node_modules/run-async": { "version": "2.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/run-async/-/run-async-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, "engines": { @@ -20725,7 +21652,7 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/run-parallel/-/run-parallel-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ @@ -20748,13 +21675,13 @@ }, "node_modules/rx-lite": { "version": "4.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rx-lite/-/rx-lite-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==", "dev": true }, "node_modules/rx-lite-aggregates": { "version": "4.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==", "dev": true, "dependencies": { @@ -20763,7 +21690,7 @@ }, "node_modules/rxjs": { "version": "6.6.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rxjs/-/rxjs-6.6.7.tgz", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { @@ -20775,7 +21702,7 @@ }, "node_modules/safe-array-concat": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "dependencies": { @@ -20794,13 +21721,13 @@ }, "node_modules/safe-array-concat/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isarray/-/isarray-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-buffer/-/safe-buffer-5.2.1.tgz", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ @@ -20820,14 +21747,14 @@ }, "node_modules/safe-json-stringify": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", "dev": true, "optional": true }, "node_modules/safe-push-apply": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "dependencies": { @@ -20843,13 +21770,13 @@ }, "node_modules/safe-push-apply/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isarray/-/isarray-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, "node_modules/safe-regex-test": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "dependencies": { @@ -20866,13 +21793,13 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "node_modules/sanitize-filename": { "version": "1.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", "dev": true, "dependencies": { @@ -20881,7 +21808,7 @@ }, "node_modules/saxes": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/saxes/-/saxes-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "dependencies": { @@ -20893,16 +21820,29 @@ }, "node_modules/scheduler": { "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", "dev": true, "dependencies": { "loose-envify": "^1.1.0" } }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/semver": { "version": "5.7.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver/-/semver-5.7.2.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { @@ -20911,13 +21851,13 @@ }, "node_modules/semver-compare": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "dev": true }, "node_modules/semver-regex": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/semver-regex/-/semver-regex-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", "dev": true, "engines": { @@ -20926,7 +21866,7 @@ }, "node_modules/send": { "version": "0.19.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/send/-/send-0.19.0.tgz", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "dependencies": { @@ -20950,7 +21890,7 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { @@ -20959,13 +21899,13 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/send/node_modules/mime": { "version": "1.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/mime/-/mime-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "bin": { @@ -20977,7 +21917,7 @@ }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/on-finished/-/on-finished-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { @@ -20989,7 +21929,7 @@ }, "node_modules/send/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/statuses/-/statuses-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { @@ -20998,7 +21938,7 @@ }, "node_modules/serialize-error": { "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/serialize-error/-/serialize-error-8.1.0.tgz", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", "dev": true, "dependencies": { @@ -21013,7 +21953,7 @@ }, "node_modules/serve-static": { "version": "1.16.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/serve-static/-/serve-static-1.16.2.tgz", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "dependencies": { @@ -21028,7 +21968,7 @@ }, "node_modules/serve-static/node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/encodeurl/-/encodeurl-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "engines": { @@ -21037,13 +21977,13 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { @@ -21060,7 +22000,7 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/set-function-name/-/set-function-name-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { @@ -21075,7 +22015,7 @@ }, "node_modules/set-proto": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/set-proto/-/set-proto-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, "dependencies": { @@ -21089,13 +22029,13 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/setprototypeof/-/setprototypeof-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "node_modules/shallow-clone": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/shallow-clone/-/shallow-clone-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { @@ -21107,7 +22047,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/shebang-command/-/shebang-command-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { @@ -21119,7 +22059,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/shebang-regex/-/shebang-regex-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { @@ -21128,7 +22068,7 @@ }, "node_modules/shell-quote": { "version": "1.8.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/shell-quote/-/shell-quote-1.8.2.tgz", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", "dev": true, "engines": { @@ -21140,7 +22080,7 @@ }, "node_modules/shell-utils": { "version": "1.0.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/shell-utils/-/shell-utils-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/shell-utils/-/shell-utils-1.0.10.tgz", "integrity": "sha512-p1xuqhj3jgcXiV8wGoF1eL/NOvapN9tyGDoObqKwvZTUZn7fIzK75swLTEHfGa7sObeN9vxFplHw/zgYUYRTsg==", "dev": true, "dependencies": { @@ -21149,7 +22089,7 @@ }, "node_modules/side-channel": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/side-channel/-/side-channel-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "dependencies": { @@ -21168,7 +22108,7 @@ }, "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/side-channel-list/-/side-channel-list-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "dependencies": { @@ -21184,7 +22124,7 @@ }, "node_modules/side-channel-map": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/side-channel-map/-/side-channel-map-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "dependencies": { @@ -21202,7 +22142,7 @@ }, "node_modules/side-channel-weakmap": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "dependencies": { @@ -21221,13 +22161,13 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/signal-exit/-/signal-exit-3.0.7.tgz", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "node_modules/simple-swizzle": { "version": "0.2.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, "dependencies": { @@ -21236,19 +22176,19 @@ }, "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-arrayish/-/is-arrayish-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "dev": true }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/sisteransi/-/sisteransi-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/slash/-/slash-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { @@ -21257,7 +22197,7 @@ }, "node_modules/slice-ansi": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/slice-ansi/-/slice-ansi-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "dependencies": { @@ -21270,9 +22210,9 @@ } }, "node_modules/snyk": { - "version": "1.1295.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/snyk/-/snyk-1.1295.2.tgz", - "integrity": "sha512-Unl6HD/XF2DfDEj4pySiQF5bUkc6yS/tljtO9LHgjJjfj4CRGZdNs2HmtfEJHsnda3pqBEUO71L7PXhgouzYGw==", + "version": "1.1296.1", + "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.1296.1.tgz", + "integrity": "sha512-swfGdH+Od5NHxH2xYherwDRYaWZWMBug5d5+ybuNUg+0JZzCO3edW+2Tu3/5JB7oQSw6yd97Zk21IVE3vdRVWQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -21288,7 +22228,7 @@ }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { @@ -21297,7 +22237,7 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map-support/-/source-map-support-0.5.21.tgz", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { @@ -21307,13 +22247,13 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stack-utils/-/stack-utils-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { @@ -21325,7 +22265,7 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { @@ -21334,14 +22274,14 @@ }, "node_modules/stackframe": { "version": "1.3.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stackframe/-/stackframe-1.3.4.tgz", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "dev": true }, "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "dev": true, "dependencies": { "type-fest": "^0.7.1" @@ -21352,7 +22292,7 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true, "engines": { @@ -21361,7 +22301,7 @@ }, "node_modules/statuses": { "version": "1.5.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/statuses/-/statuses-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { @@ -21370,13 +22310,13 @@ }, "node_modules/stream-chain": { "version": "2.2.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stream-chain/-/stream-chain-2.2.5.tgz", + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", "dev": true }, "node_modules/stream-json": { "version": "1.9.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stream-json/-/stream-json-1.9.1.tgz", + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", "integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==", "dev": true, "dependencies": { @@ -21385,7 +22325,7 @@ }, "node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { @@ -21394,13 +22334,13 @@ }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "node_modules/string-argv": { "version": "0.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-argv/-/string-argv-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true, "engines": { @@ -21409,7 +22349,7 @@ }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-length/-/string-length-4.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { @@ -21420,9 +22360,27 @@ "node": ">=10" } }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, "node_modules/string-width": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { @@ -21436,7 +22394,7 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -21448,9 +22406,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "3.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-regex/-/ansi-regex-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { @@ -21459,7 +22429,7 @@ }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "engines": { @@ -21468,7 +22438,7 @@ }, "node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { @@ -21480,7 +22450,7 @@ }, "node_modules/string.prototype.matchall": { "version": "4.0.12", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, "dependencies": { @@ -21507,7 +22477,7 @@ }, "node_modules/string.prototype.repeat": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, "dependencies": { @@ -21517,7 +22487,7 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "dependencies": { @@ -21538,7 +22508,7 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "dependencies": { @@ -21556,7 +22526,7 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { @@ -21573,7 +22543,7 @@ }, "node_modules/stringify-object": { "version": "3.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/stringify-object/-/stringify-object-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dev": true, "dependencies": { @@ -21586,21 +22556,21 @@ } }, "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-ansi/-/strip-ansi-6.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { @@ -21610,9 +22580,18 @@ "node": ">=8" } }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-bom/-/strip-bom-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { @@ -21621,7 +22600,7 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { @@ -21630,7 +22609,7 @@ }, "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-indent/-/strip-indent-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, "dependencies": { @@ -21642,7 +22621,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { @@ -21653,21 +22632,27 @@ } }, "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ] }, "node_modules/sudo-prompt": { "version": "9.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-color/-/supports-color-7.2.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { @@ -21679,7 +22664,7 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "dependencies": { @@ -21692,7 +22677,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "engines": { @@ -21704,13 +22689,13 @@ }, "node_modules/svg-arc-to-cubic-bezier": { "version": "3.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", "dev": true }, "node_modules/symbol-observable": { "version": "1.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/symbol-observable/-/symbol-observable-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "dev": true, "engines": { @@ -21719,60 +22704,13 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/symbol-tree/-/symbol-tree-3.2.4.tgz", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "node_modules/table": { - "version": "6.9.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/table/-/table-6.9.0.tgz", - "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/telnet-client": { "version": "1.2.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/telnet-client/-/telnet-client-1.2.8.tgz", + "resolved": "https://registry.npmjs.org/telnet-client/-/telnet-client-1.2.8.tgz", "integrity": "sha512-W+w4k3QAmULVNhBVT2Fei369kGZCh/TH25M7caJAXW+hLxwoQRuw0di3cX4l0S9fgH3Mvq7u+IFMoBDpEw/eIg==", "dev": true, "dependencies": { @@ -21785,7 +22723,7 @@ }, "node_modules/temp": { "version": "0.8.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/temp/-/temp-0.8.4.tgz", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, "dependencies": { @@ -21796,17 +22734,17 @@ } }, "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/rimraf/-/rimraf-2.6.3.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, @@ -21819,7 +22757,7 @@ }, "node_modules/tempfile": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tempfile/-/tempfile-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", "integrity": "sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==", "dev": true, "dependencies": { @@ -21830,18 +22768,9 @@ "node": ">=4" } }, - "node_modules/tempfile/node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/terminal-link/-/terminal-link-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, "dependencies": { @@ -21857,7 +22786,7 @@ }, "node_modules/terminal-link/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { @@ -21872,7 +22801,7 @@ }, "node_modules/terminal-link/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { @@ -21883,9 +22812,9 @@ } }, "node_modules/terser": { - "version": "5.38.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/terser/-/terser-5.38.0.tgz", - "integrity": "sha512-a4GD5R1TjEeuCT6ZRiYMHmIf7okbCPEuhQET8bczV6FrQMMlFXA1n+G0KKjdlFCm3TEHV77GxfZB3vZSUQGFpg==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -21900,21 +22829,15 @@ "node": ">=10" } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/test-exclude/-/test-exclude-6.0.0.tgz", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { @@ -21926,56 +22849,55 @@ "node": ">=8" } }, - "node_modules/test-value": { - "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "array-back": "^1.0.3", - "typical": "^2.6.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/text-table/-/text-table-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/throat": { "version": "6.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/throat/-/throat-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", "dev": true }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/tinycolor2": { "version": "1.6.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tinycolor2/-/tinycolor2-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "dev": true }, "node_modules/tmp": { "version": "0.0.33", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tmp/-/tmp-0.0.33.tgz", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "dependencies": { @@ -21987,13 +22909,13 @@ }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tmpl/-/tmpl-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { @@ -22002,7 +22924,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/to-regex-range/-/to-regex-range-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { @@ -22014,7 +22936,7 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/toidentifier/-/toidentifier-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "engines": { @@ -22023,7 +22945,7 @@ }, "node_modules/tough-cookie": { "version": "4.1.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tough-cookie/-/tough-cookie-4.1.4.tgz", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "dependencies": { @@ -22038,7 +22960,7 @@ }, "node_modules/tough-cookie/node_modules/punycode": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode/-/punycode-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { @@ -22047,7 +22969,7 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/universalify/-/universalify-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "engines": { @@ -22056,7 +22978,7 @@ }, "node_modules/tr46": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tr46/-/tr46-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "dependencies": { @@ -22068,7 +22990,7 @@ }, "node_modules/tr46/node_modules/punycode": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode/-/punycode-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { @@ -22077,7 +22999,7 @@ }, "node_modules/trace-event-lib": { "version": "1.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/trace-event-lib/-/trace-event-lib-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/trace-event-lib/-/trace-event-lib-1.4.1.tgz", "integrity": "sha512-TOgFolKG8JFY+9d5EohGWMvwvteRafcyfPWWNIqcuD1W/FUvxWcy2MSCZ/beYHM63oYPHYHCd3tkbgCctHVP7w==", "dev": true, "dependencies": { @@ -22089,16 +23011,28 @@ }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dev": true, "dependencies": { "utf8-byte-length": "^1.0.1" } }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-mockito": { "version": "2.6.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ts-mockito/-/ts-mockito-2.6.1.tgz", + "resolved": "https://registry.npmjs.org/ts-mockito/-/ts-mockito-2.6.1.tgz", "integrity": "sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==", "dev": true, "dependencies": { @@ -22107,12 +23041,12 @@ }, "node_modules/tslib": { "version": "1.9.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tslib/-/tslib-1.9.3.tgz", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/tsutils/-/tsutils-3.21.0.tgz", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { @@ -22127,7 +23061,7 @@ }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-check/-/type-check-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "dependencies": { @@ -22139,7 +23073,7 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-detect/-/type-detect-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { @@ -22148,7 +23082,7 @@ }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/type-fest/-/type-fest-0.20.2.tgz", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { @@ -22160,7 +23094,7 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "dependencies": { @@ -22174,7 +23108,7 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "dependencies": { @@ -22193,7 +23127,7 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "dependencies": { @@ -22214,7 +23148,7 @@ }, "node_modules/typed-array-length": { "version": "1.0.7", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typed-array-length/-/typed-array-length-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "dependencies": { @@ -22234,7 +23168,7 @@ }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { @@ -22242,91 +23176,50 @@ } }, "node_modules/typedoc": { - "version": "0.27.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typedoc/-/typedoc-0.27.6.tgz", - "integrity": "sha512-oBFRoh2Px6jFx366db0lLlihcalq/JzyCVp7Vaq1yphL/tbgx2e+bkpkCgJPunaPvPwoTOXSwasfklWHm7GfAw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.1.tgz", + "integrity": "sha512-Mn2VPNMaxoe/hlBiLriG4U55oyAa3Xo+8HbtEwV7F5WEOPXqtxzGuMZhJYHaqFJpajeQ6ZDUC2c990NAtTbdgw==", "dev": true, "dependencies": { - "@gerrit0/mini-shiki": "^1.24.0", + "@gerrit0/mini-shiki": "^3.2.1", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", - "yaml": "^2.6.1" + "yaml": "^2.7.0 " }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 18" + "node": ">= 18", + "pnpm": ">= 10" }, "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x" - } - }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typedoc/node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=12.20" } }, - "node_modules/typical": { - "version": "2.6.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", - "dev": true - }, "node_modules/uc.micro": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/uc.micro/-/uc.micro-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, "node_modules/unbox-primitive": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "dependencies": { @@ -22344,13 +23237,13 @@ }, "node_modules/undici-types": { "version": "6.20.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/undici-types/-/undici-types-6.20.0.tgz", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "engines": { @@ -22359,7 +23252,7 @@ }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "dependencies": { @@ -22372,7 +23265,7 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, "engines": { @@ -22381,7 +23274,7 @@ }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { @@ -22389,17 +23282,17 @@ } }, "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">= 4.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/unpipe/-/unpipe-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "engines": { @@ -22407,9 +23300,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -22438,7 +23331,7 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/uri-js/-/uri-js-4.4.1.tgz", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "dependencies": { @@ -22447,7 +23340,7 @@ }, "node_modules/uri-js/node_modules/punycode": { "version": "2.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/punycode/-/punycode-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { @@ -22456,7 +23349,7 @@ }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/url-parse/-/url-parse-1.5.10.tgz", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "dependencies": { @@ -22466,7 +23359,7 @@ }, "node_modules/use-memo-one": { "version": "1.1.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/use-memo-one/-/use-memo-one-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.3.tgz", "integrity": "sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==", "dev": true, "peerDependencies": { @@ -22475,25 +23368,25 @@ }, "node_modules/utf8": { "version": "2.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/utf8/-/utf8-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", "integrity": "sha512-QXo+O/QkLP/x1nyi54uQiG0XrODxdysuQvE5dtVqv7F5K2Qb6FsN+qbr6KhF5wQ20tfcV3VQp0/2x1e1MRSPWg==", "dev": true }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", "dev": true }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/utils-merge/-/utils-merge-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "engines": { @@ -22502,7 +23395,7 @@ }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/uuid/-/uuid-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, @@ -22510,15 +23403,9 @@ "uuid": "bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true - }, "node_modules/v8-to-istanbul": { "version": "8.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", "dev": true, "dependencies": { @@ -22530,9 +23417,15 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, "node_modules/v8-to-istanbul/node_modules/source-map": { "version": "0.7.4", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/source-map/-/source-map-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "engines": { @@ -22541,13 +23434,13 @@ }, "node_modules/valid-url": { "version": "1.0.9", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/valid-url/-/valid-url-1.0.9.tgz", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==", "dev": true }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/vary/-/vary-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "engines": { @@ -22556,13 +23449,13 @@ }, "node_modules/vlq": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/vlq/-/vlq-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", "dev": true }, "node_modules/w3c-hr-time": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", "dev": true, @@ -22572,7 +23465,7 @@ }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dev": true, "dependencies": { @@ -22584,7 +23477,7 @@ }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/walker/-/walker-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { @@ -22593,7 +23486,7 @@ }, "node_modules/wcwidth": { "version": "1.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wcwidth/-/wcwidth-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, "dependencies": { @@ -22602,7 +23495,7 @@ }, "node_modules/webidl-conversions": { "version": "6.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true, "engines": { @@ -22611,7 +23504,7 @@ }, "node_modules/whatwg-encoding": { "version": "1.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "dependencies": { @@ -22620,19 +23513,19 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.20", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", "dev": true }, "node_modules/whatwg-mimetype": { "version": "2.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "node_modules/whatwg-url": { "version": "8.7.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/whatwg-url/-/whatwg-url-8.7.0.tgz", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "dependencies": { @@ -22646,7 +23539,7 @@ }, "node_modules/which": { "version": "1.3.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { @@ -22658,7 +23551,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "dependencies": { @@ -22677,7 +23570,7 @@ }, "node_modules/which-builtin-type": { "version": "1.2.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "dependencies": { @@ -22704,13 +23597,13 @@ }, "node_modules/which-builtin-type/node_modules/isarray": { "version": "2.0.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/isarray/-/isarray-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-collection/-/which-collection-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "dependencies": { @@ -22728,13 +23621,13 @@ }, "node_modules/which-module": { "version": "2.0.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-module/-/which-module-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, "node_modules/which-pm-runs": { "version": "1.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, "engines": { @@ -22742,15 +23635,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.18", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which-typed-array/-/which-typed-array-1.1.18.tgz", - "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "for-each": "^0.3.3", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, @@ -22761,133 +23655,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wnpm-ci": { - "version": "8.0.131", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wnpm-ci/-/wnpm-ci-8.0.131.tgz", - "integrity": "sha512-mC+8NQOleSlx7KPj939eRXNkXzOOPL6R62nX/fb+6TbFd2TXXTdriPQxW9HlpjJ3bnp8nsaezBRlJovJwWSNPg==", - "dev": true, - "dependencies": { - "execa": "^2.0.3", - "fs-extra": "^8.1.0", - "mkdirp": "^0.5.1", - "semver": "^5.2.0", - "tmp": "^0.0.33" - }, - "bin": { - "wnpm-release": "scripts/wnpm-release.js" - } - }, - "node_modules/wnpm-ci/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wnpm-ci/node_modules/execa": { - "version": "2.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/execa/-/execa-2.1.0.tgz", - "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^3.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/wnpm-ci/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/wnpm-ci/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wnpm-ci/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/wnpm-ci/node_modules/npm-run-path": { - "version": "3.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/npm-run-path/-/npm-run-path-3.1.0.tgz", - "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wnpm-ci/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/wnpm-ci/node_modules/which": { - "version": "2.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/word-wrap/-/word-wrap-1.2.5.tgz", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { @@ -22896,7 +23666,7 @@ }, "node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { @@ -22911,7 +23681,7 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { @@ -22928,7 +23698,7 @@ }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -22940,9 +23710,21 @@ "node": ">=8" } }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -22954,15 +23736,27 @@ "node": ">=8" } }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/write-file-atomic": { "version": "3.0.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { @@ -22973,50 +23767,29 @@ } }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "dependencies": { + "async-limiter": "~1.0.0" } }, "node_modules/xml-name-validator": { "version": "3.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/xmlchars/-/xmlchars-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/y18n/-/y18n-5.0.8.tgz", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "engines": { @@ -23025,22 +23798,25 @@ }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yallist/-/yallist-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs/-/yargs-17.7.2.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { @@ -23058,7 +23834,7 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs-parser/-/yargs-parser-21.1.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { @@ -23067,7 +23843,7 @@ }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "dependencies": { @@ -23082,7 +23858,7 @@ }, "node_modules/yargs-unparser/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { @@ -23094,7 +23870,7 @@ }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { @@ -23106,9 +23882,21 @@ "node": ">=8" } }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://npm.dev.wixpress.com/api/npm/npm-repos/yocto-queue/-/yocto-queue-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { From a9a2e8ee06445a91788eeccd6a9a7ef57750a236 Mon Sep 17 00:00:00 2001 From: d4vidi Date: Thu, 3 Apr 2025 18:34:52 +0300 Subject: [PATCH 04/29] fix(sdk35): Apply inset over bottom-tabs (#7991) --- .../bottomtabs/BottomTabsController.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java index fa1ea72b4ee..a10201e5db4 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java @@ -1,5 +1,9 @@ package com.reactnativenavigation.viewcontrollers.bottomtabs; +import static com.reactnativenavigation.utils.CollectionUtils.forEach; +import static com.reactnativenavigation.utils.CollectionUtils.map; +import static com.reactnativenavigation.utils.ObjectUtils.perform; + import android.animation.Animator; import android.app.Activity; import android.content.res.Configuration; @@ -9,6 +13,8 @@ import androidx.annotation.NonNull; import androidx.annotation.RestrictTo; import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.core.graphics.Insets; +import androidx.core.view.WindowInsetsCompat; import com.aurelhubert.ahbottomnavigation.AHBottomNavigation; import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem; @@ -34,10 +40,6 @@ import java.util.LinkedList; import java.util.List; -import static com.reactnativenavigation.utils.CollectionUtils.forEach; -import static com.reactnativenavigation.utils.CollectionUtils.map; -import static com.reactnativenavigation.utils.ObjectUtils.perform; - public class BottomTabsController extends ParentController implements AHBottomNavigation.OnTabSelectedListener, TabSelector { private BottomTabsContainer bottomTabsContainer; @@ -84,6 +86,7 @@ public void setDefaultOptions(Options defaultOptions) { @Override public BottomTabsLayout createView() { BottomTabsLayout root = new BottomTabsLayout(getActivity()); + this.bottomTabsContainer = createBottomTabsContainer(); this.bottomTabs = bottomTabsContainer.getBottomTabs(); Options resolveCurrentOptions = resolveCurrentOptions(); @@ -95,6 +98,7 @@ public BottomTabsLayout createView() { bottomTabs.addItems(createTabs()); setInitialTab(resolveCurrentOptions); tabsAttacher.attach(); + return root; } @@ -299,6 +303,14 @@ public Animator getPopAnimation(Options appearingOptions, Options disappearingOp return presenter.getPopAnimation(appearingOptions, disappearingOptions); } + @Override + protected WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat insets) { + Insets sysInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + view.setPaddingRelative(0, 0, 0, sysInsets.bottom); + return WindowInsetsCompat.CONSUMED; + } + + @RestrictTo(RestrictTo.Scope.TESTS) public BottomTabs getBottomTabs() { return bottomTabs; From 9121357117e76e96ec4927ecad4a8c3480779e58 Mon Sep 17 00:00:00 2001 From: mobileoss Date: Sun, 6 Apr 2025 11:28:22 +0000 Subject: [PATCH 05/29] Update package.json version to 7.45.0 [buildkite skip] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3735d45f06e..eeccb92cf01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-navigation", - "version": "7.44.0", + "version": "7.45.0", "description": "React Native Navigation - truly native navigation for iOS and Android", "license": "MIT", "nativePackage": true, From 45098241bc97d4d1723976a1d779e0a752bbdf3d Mon Sep 17 00:00:00 2001 From: d4vidi Date: Thu, 17 Apr 2025 13:57:25 +0300 Subject: [PATCH 06/29] Revert "Feat/rn76 oldarch (#7967)" (#8003) --- .eslintrc.js | 1 - .gitignore | 1 - babel.config.js | 2 +- e2e/StaticLifecycleEvents.test.js | 5 +- e2e/assets/overlay_banner_padding.png | Bin 83562 -> 115373 bytes lib/android/app/build.gradle | 1 - .../NavigationApplication.java | 12 +- .../react/ReactView.java | 6 +- .../react/modal/ModalHostLayout.kt | 2 +- .../utils/ReactTypefaceUtils.java | 5 +- .../utils/ReactViewGroup.kt | 6 +- .../utils/ViewUtils.java | 10 +- .../viewcontroller/LayoutDirectionApplier.kt | 12 +- .../viewcontroller/RootPresenter.java | 2 +- .../animators/BackgroundColorAnimator.kt | 10 +- .../animators/BackgroundColorEvaluator.kt | 6 +- .../react/modal/ModalContentLayout.kt | 12 +- .../com/reactnativenavigation/BaseTest.java | 181 ++++++++++++++++ .../com/reactnativenavigation/BaseTest.kt | 194 ------------------ .../TestApplication.java | 9 +- .../mocks/TestReactView.java | 2 +- .../bottomtabs/BottomTabsControllerTest.kt | 2 +- .../attacher/modes/AttachModeTest.java | 1 - .../child/ChildControllerTest.java | 1 - .../child/ChildControllersRegistryTest.java | 1 - .../modal/ModalAnimatorTest.kt | 1 - .../navigator/RootPresenterTest.kt | 3 +- .../stack/BackButtonHelperTest.java | 1 - .../stack/StackAnimatorTest.kt | 1 - .../stack/TitleBarButtonControllerTest.java | 1 - .../TitleBarReactViewControllerTest.java | 1 - .../stack/TopBarButtonControllerTest.java | 1 - .../stack/TopBarControllerTest.kt | 2 - lib/ios/BottomTabsBasePresenter.m | 5 +- lib/ios/RNNAppDelegate.mm | 5 +- lib/ios/RNNConvert.h | 2 - lib/ios/RNNConvert.m | 4 - lib/ios/RNNStackPresenter.m | 4 +- lib/src/adapters/NativeEventsReceiver.ts | 6 +- lib/src/adapters/TouchablePreview.tsx | 6 +- lib/src/components/ComponentWrapper.test.tsx | 18 +- lib/src/events/EventsRegistry.test.tsx | 6 +- package.json | 66 +++--- playground/android/app/build.gradle | 21 +- .../playground/MainApplication.java | 28 ++- playground/android/build.gradle | 11 +- playground/android/gradle.properties | 1 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- playground/android/settings.gradle | 5 +- playground/ios/Podfile | 38 +++- playground/ios/PrivacyInfo.xcprivacy | 37 ---- .../ios/playground.xcodeproj/project.pbxproj | 137 +++++-------- playground/src/components/PressableScale.tsx | 5 +- playground/src/screens/OrientationScreen.tsx | 7 +- playground/src/screens/OverlayAlert.tsx | 8 +- playground/src/screens/PushedScreen.tsx | 12 +- playground/src/screens/SearchBar.tsx | 9 +- .../src/screens/StackCommandsScreen.tsx | 4 +- playground/src/screens/index.tsx | 11 +- .../sharedElementCarDealer/CarCard.tsx | 2 + .../DismissableView.tsx | 4 +- scripts/start.js | 4 +- 62 files changed, 445 insertions(+), 518 deletions(-) create mode 100644 lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java delete mode 100644 lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt delete mode 100644 playground/ios/PrivacyInfo.xcprivacy diff --git a/.eslintrc.js b/.eslintrc.js index 183615adfe7..26bb32beb3a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,6 +5,5 @@ module.exports = { plugins: ['@typescript-eslint'], env: { jest: true, - 'jest/globals': true, }, }; diff --git a/.gitignore b/.gitignore index c7a276a7644..014509c9fae 100644 --- a/.gitignore +++ b/.gitignore @@ -244,4 +244,3 @@ Mock.js Mock.d.ts Gemfile.lock -/playground/ios/.xcode.env.local diff --git a/babel.config.js b/babel.config.js index c05b94b830d..cdf7ebe6ab5 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,7 +1,7 @@ module.exports = function (api) { api && api.cache(false); return { - presets: ['module:@react-native/babel-preset'], + presets: ['module:metro-react-native-babel-preset'], plugins: [ '@babel/plugin-proposal-export-namespace-from', '@babel/plugin-proposal-export-default-from', diff --git a/e2e/StaticLifecycleEvents.test.js b/e2e/StaticLifecycleEvents.test.js index 5dd5f5e104a..dddcbc36a4c 100644 --- a/e2e/StaticLifecycleEvents.test.js +++ b/e2e/StaticLifecycleEvents.test.js @@ -1,7 +1,7 @@ import Utils from './Utils'; import TestIDs from '../playground/src/testIDs'; -const { elementByLabel, elementById, sleep } = Utils; +const { elementByLabel, elementById } = Utils; describe('static lifecycle events', () => { beforeEach(async () => { @@ -93,9 +93,6 @@ describe('static lifecycle events', () => { await elementById(TestIDs.SET_ROOT_BTN).tap(); await elementById(TestIDs.CLEAR_OVERLAY_EVENTS_BTN).tap(); await elementById(TestIDs.SET_ROOT_BTN).tap(); - // This sleep is needed in order to synchronize the test rendered with state changes. We can remove it after moving - // our mock to work with act(()=>{}) from react-test-renderer - await sleep(10); await expect(elementByLabel('setRoot complete - previous root is unmounted')).toBeVisible(); }); diff --git a/e2e/assets/overlay_banner_padding.png b/e2e/assets/overlay_banner_padding.png index bb11d3d1016578ec785b54c652aac1b4133febc4..9e4884a2a8a3b715f0ba2d91123229e2a0789146 100644 GIT binary patch literal 115373 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

9@TA1|G@s7UG_0M8 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͏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 d0cP#_tw-DN8#wdS5{t~sCQnJb1E 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 diff --git a/lib/android/app/build.gradle b/lib/android/app/build.gradle index 669e84e2024..3428f1a8820 100644 --- a/lib/android/app/build.gradle +++ b/lib/android/app/build.gradle @@ -20,7 +20,6 @@ def DEFAULT_KOTLIN_STDLIB = 'kotlin-stdlib-jdk8' def kotlinVersion = safeExtGet("RNNKotlinVersion", DEFAULT_KOTLIN_VERSION) def kotlinStdlib = safeExtGet('RNNKotlinStdlib',DEFAULT_KOTLIN_STDLIB ) def kotlinCoroutinesCore = safeExtGet('RNNKotlinCoroutinesCore', '1.5.2') - android { namespace 'com.reactnativenavigation' compileSdkVersion safeExtGetFallbackLowerBound('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java b/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java index ef02558e82f..33883cc5055 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java @@ -2,20 +2,18 @@ import android.app.Application; +import androidx.annotation.NonNull; + import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; -import com.facebook.react.soloader.OpenSourceMergedSoMapping; import com.facebook.soloader.SoLoader; import com.reactnativenavigation.react.ReactGateway; import com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalComponentCreator; import java.util.Collections; -import java.io.IOException; import java.util.HashMap; import java.util.Map; -import androidx.annotation.NonNull; - public abstract class NavigationApplication extends Application implements ReactApplication { public static NavigationApplication instance; @@ -35,11 +33,7 @@ public NavigationApplication(Map featureToggleOverrides) { @Override public void onCreate() { super.onCreate(); - try { - SoLoader.init(this, OpenSourceMergedSoMapping.INSTANCE); - } catch (IOException e) { - throw new RuntimeException(e); - } + SoLoader.init(this, false); reactGateway = createReactGateway(); } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java b/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java index 0db6f395dec..90032dfd55d 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java @@ -5,8 +5,6 @@ import android.os.Bundle; import android.view.MotionEvent; -import androidx.annotation.RestrictTo; - import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactRootView; import com.facebook.react.bridge.ReactContext; @@ -14,12 +12,14 @@ import com.facebook.react.uimanager.JSTouchDispatcher; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; +import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener; import com.reactnativenavigation.react.events.ComponentType; import com.reactnativenavigation.react.events.EventEmitter; import com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView; -import com.reactnativenavigation.viewcontrollers.viewcontroller.ScrollEventListener; import com.reactnativenavigation.views.component.Renderable; +import androidx.annotation.RestrictTo; + @SuppressLint("ViewConstructor") public class ReactView extends ReactRootView implements IReactView, Renderable { diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalHostLayout.kt b/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalHostLayout.kt index 88094c33b3a..121aa6a09f7 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalHostLayout.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/react/modal/ModalHostLayout.kt @@ -34,7 +34,7 @@ open class ModalHostLayout(reactContext: ThemedReactContext) : ViewGroup(reactCo } @TargetApi(23) - override fun dispatchProvideStructure(structure: ViewStructure) { + override fun dispatchProvideStructure(structure: ViewStructure?) { mHostView.dispatchProvideStructure(structure) } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java index 962bf9ef53c..834d734f154 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactTypefaceUtils.java @@ -18,7 +18,6 @@ import android.text.TextUtils; import androidx.annotation.Nullable; import com.facebook.react.bridge.ReadableArray; -import com.facebook.react.common.ReactConstants; import com.facebook.react.views.text.ReactFontManager; import com.facebook.react.views.text.ReactTextShadowNode; import java.util.ArrayList; @@ -97,12 +96,12 @@ public static Typeface applyStyles( int want = 0; if ((weight == Typeface.BOLD) - || ((oldStyle & Typeface.BOLD) != 0 && weight == ReactConstants.UNSET)) { + || ((oldStyle & Typeface.BOLD) != 0 && weight == ReactTextShadowNode.UNSET)) { want |= Typeface.BOLD; } if ((style == Typeface.ITALIC) - || ((oldStyle & Typeface.ITALIC) != 0 && style == ReactConstants.UNSET)) { + || ((oldStyle & Typeface.ITALIC) != 0 && style == ReactTextShadowNode.UNSET)) { want |= Typeface.ITALIC; } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt index 1053123e7da..f92580c7a80 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt @@ -1,9 +1,7 @@ package com.reactnativenavigation.utils -import com.facebook.react.common.annotations.UnstableReactNativeAPI -import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable +import com.facebook.react.views.view.ReactViewBackgroundDrawable import com.facebook.react.views.view.ReactViewGroup -@OptIn(UnstableReactNativeAPI::class) val ReactViewGroup.borderRadius: Float - get() = (background as? CSSBackgroundDrawable)?.fullBorderWidth ?: 0f \ No newline at end of file + get() = (background as? ReactViewBackgroundDrawable)?.fullBorderRadius ?: 0f \ No newline at end of file diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ViewUtils.java b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ViewUtils.java index bbd4c392318..cdce75b8ab8 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/ViewUtils.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/ViewUtils.java @@ -5,6 +5,8 @@ import android.view.ViewGroup; import android.view.ViewParent; +import com.facebook.react.views.view.ReactViewBackgroundDrawable; + import java.util.ArrayList; import java.util.List; @@ -12,9 +14,6 @@ import static com.reactnativenavigation.utils.ObjectUtils.perform; -import com.facebook.react.common.annotations.UnstableReactNativeAPI; -import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable; - public class ViewUtils { @Nullable public static T findChildByClass(ViewGroup root, Class clazz) { @@ -108,10 +107,9 @@ public static int getIndexInParent(View view) { return ((ViewGroup) parent).indexOfChild(view); } - @UnstableReactNativeAPI public static int getBackgroundColor(View view) { - if (view.getBackground() instanceof CSSBackgroundDrawable) { - return ((CSSBackgroundDrawable) view.getBackground()).getColor(); + if (view.getBackground() instanceof ReactViewBackgroundDrawable) { + return ((ReactViewBackgroundDrawable) view.getBackground()).getColor(); } throw new RuntimeException(view.getBackground().getClass().getSimpleName() + " is not ReactViewBackgroundDrawable"); } diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt index cdfc2e9e020..89216ae0c6b 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt @@ -1,19 +1,15 @@ package com.reactnativenavigation.viewcontrollers.viewcontroller -import android.annotation.SuppressLint import com.facebook.react.ReactInstanceManager import com.facebook.react.modules.i18nmanager.I18nUtil import com.reactnativenavigation.options.Options class LayoutDirectionApplier { - @SuppressLint("WrongConstant") - fun apply(root: ViewController<*>, options: Options) { - val currentContext = root.view?.context ?: return - - if (options.layout.direction.hasValue()) { + fun apply(root: ViewController<*>, options: Options, instanceManager: ReactInstanceManager) { + if (options.layout.direction.hasValue() && instanceManager.currentReactContext != null) { root.activity.window.decorView.layoutDirection = options.layout.direction.get() - I18nUtil.instance.allowRTL(currentContext, options.layout.direction.isRtl) - I18nUtil.instance.forceRTL(currentContext, options.layout.direction.isRtl) + I18nUtil.getInstance().allowRTL(instanceManager.currentReactContext, options.layout.direction.isRtl) + I18nUtil.getInstance().forceRTL(instanceManager.currentReactContext, options.layout.direction.isRtl) } } } \ No newline at end of file diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java index f7a07c09824..17c81ad2298 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/RootPresenter.java @@ -35,7 +35,7 @@ public RootPresenter(RootAnimator animator, LayoutDirectionApplier layoutDirecti } public void setRoot(ViewController appearingRoot, ViewController disappearingRoot, Options defaultOptions, CommandListener listener, ReactInstanceManager reactInstanceManager) { - layoutDirectionApplier.apply(appearingRoot, defaultOptions); + layoutDirectionApplier.apply(appearingRoot, defaultOptions, reactInstanceManager); rootLayout.addView(appearingRoot.getView(), matchParentWithBehaviour(new BehaviourDelegate(appearingRoot))); Options options = appearingRoot.resolveCurrentOptions(defaultOptions); AnimationOptions enter = options.animations.setRoot.getEnter(); diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorAnimator.kt b/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorAnimator.kt index ab7ed30b21e..4ecc1a2bbe6 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorAnimator.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorAnimator.kt @@ -4,23 +4,21 @@ import android.animation.Animator import android.animation.ObjectAnimator import android.view.View import android.view.ViewGroup -import com.facebook.react.common.annotations.UnstableReactNativeAPI -import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable import com.facebook.react.views.text.ReactTextView +import com.facebook.react.views.view.ReactViewBackgroundDrawable import com.reactnativenavigation.options.SharedElementTransitionOptions import com.reactnativenavigation.utils.* -@OptIn(UnstableReactNativeAPI::class) class BackgroundColorAnimator(from: View, to: View) : PropertyAnimatorCreator(from, to) { override fun shouldAnimateProperty(fromChild: ViewGroup, toChild: ViewGroup): Boolean { - return fromChild.background is CSSBackgroundDrawable && - toChild.background is CSSBackgroundDrawable && (fromChild.background as CSSBackgroundDrawable).color != (toChild.background as CSSBackgroundDrawable).color + return fromChild.background is ReactViewBackgroundDrawable && + toChild.background is ReactViewBackgroundDrawable && (fromChild.background as ReactViewBackgroundDrawable).color != (toChild.background as ReactViewBackgroundDrawable).color } override fun excludedViews() = listOf(ReactTextView::class.java) override fun create(options: SharedElementTransitionOptions): Animator { - val backgroundColorEvaluator = BackgroundColorEvaluator(to.background as CSSBackgroundDrawable) + val backgroundColorEvaluator = BackgroundColorEvaluator(to.background as ReactViewBackgroundDrawable) val fromColor = ColorUtils.colorToLAB(ViewUtils.getBackgroundColor(from)) val toColor = ColorUtils.colorToLAB(ViewUtils.getBackgroundColor(to)) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorEvaluator.kt b/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorEvaluator.kt index 7ce0854f019..4480113dcfb 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorEvaluator.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/BackgroundColorEvaluator.kt @@ -2,13 +2,11 @@ package com.reactnativenavigation.views.element.animators import android.animation.TypeEvaluator import androidx.core.graphics.ColorUtils -import com.facebook.react.common.annotations.UnstableReactNativeAPI -import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable +import com.facebook.react.views.view.ReactViewBackgroundDrawable -class BackgroundColorEvaluator @OptIn(UnstableReactNativeAPI::class) constructor(private val background: CSSBackgroundDrawable) : TypeEvaluator { +class BackgroundColorEvaluator(private val background: ReactViewBackgroundDrawable) : TypeEvaluator { private val color = DoubleArray(3) - @OptIn(UnstableReactNativeAPI::class) override fun evaluate(ratio: Float, from: DoubleArray, to: DoubleArray): DoubleArray { ColorUtils.blendLAB(from, to, ratio.toDouble(), color) background.color = com.reactnativenavigation.utils.ColorUtils.labToColor(color) diff --git a/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt b/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt index 551f72b1ec4..ea8516fee7f 100644 --- a/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +++ b/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt @@ -49,17 +49,17 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{ updateFirstChildView() } } - override fun onChildStartedNativeGesture(child: View, androidEvent: MotionEvent) { + override fun onChildStartedNativeGesture(child: View, androidEvent: MotionEvent?) { mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, this.getEventDispatcher()) } - override fun onChildStartedNativeGesture(androidEvent: MotionEvent) { + override fun onChildStartedNativeGesture(androidEvent: MotionEvent?) { mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, this.getEventDispatcher()) } - override fun onChildEndedNativeGesture(child: View, androidEvent: MotionEvent) { + override fun onChildEndedNativeGesture(child: View, androidEvent: MotionEvent?) { mJSTouchDispatcher.onChildEndedNativeGesture(androidEvent, this.getEventDispatcher()) } override fun requestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {} - private fun getEventDispatcher(): EventDispatcher { + private fun getEventDispatcher(): EventDispatcher? { val reactContext: ReactContext = this.getReactContext() return reactContext.getNativeModule(UIManagerModule::class.java)!!.eventDispatcher } @@ -73,12 +73,12 @@ class ModalContentLayout(context: Context?) : ReactViewGroup(context), RootView{ return this.context as ReactContext } - override fun onInterceptTouchEvent(event: MotionEvent): Boolean { + override fun onInterceptTouchEvent(event: MotionEvent?): Boolean { mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher()) return super.onInterceptTouchEvent(event) } - override fun onTouchEvent(event: MotionEvent): Boolean { + override fun onTouchEvent(event: MotionEvent?): Boolean { mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher()) super.onTouchEvent(event) return true diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java new file mode 100644 index 00000000000..7b28019b83c --- /dev/null +++ b/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.java @@ -0,0 +1,181 @@ +package com.reactnativenavigation; + +import static com.reactnativenavigation.utils.CollectionUtils.forEach; +import static org.assertj.core.api.Java6Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import android.app.Activity; +import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.os.Handler; +import android.os.Looper; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.CallSuper; +import androidx.appcompat.app.AppCompatActivity; +import androidx.coordinatorlayout.widget.CoordinatorLayout; + +import com.reactnativenavigation.options.params.Bool; +import com.reactnativenavigation.utils.Functions; +import com.reactnativenavigation.utils.SystemUiUtils; +import com.reactnativenavigation.utils.ViewUtils; +import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController; + +import org.junit.After; +import org.junit.Before; +import org.junit.runner.RunWith; +import org.mockito.ArgumentMatchers; +import org.mockito.MockedStatic; +import org.mockito.Mockito; +import org.robolectric.Robolectric; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.Shadows; +import org.robolectric.android.controller.ActivityController; +import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowLooper; + +import java.util.Arrays; + +@RunWith(RobolectricTestRunner.class) +@Config(sdk = 28, application = TestApplication.class) +public abstract class BaseTest { + private final Handler handler = new Handler(Looper.getMainLooper()); + private final ShadowLooper shadowMainLooper = Shadows.shadowOf(Looper.getMainLooper()); + protected Configuration mockConfiguration; + + @Before + public void beforeEach() { + NavigationApplication.instance = Mockito.mock(NavigationApplication.class); + mockConfiguration = Mockito.mock(Configuration.class); + Resources res = mock(Resources.class); + mockConfiguration.uiMode = Configuration.UI_MODE_NIGHT_NO; + when(res.getConfiguration()).thenReturn(mockConfiguration); + when(NavigationApplication.instance.getResources()).thenReturn(res); + when(res.getColor(ArgumentMatchers.anyInt())).thenReturn(0x00000); + when(res.getColor(ArgumentMatchers.anyInt(),any())).thenReturn(0x00000); + + RNNFeatureToggles.init(); + } + + + public void mockSystemUiUtils(int statusBarHeight, int statusBarHeightDp, Functions.Func1> mockedBlock) { + try (MockedStatic theMock = Mockito.mockStatic(SystemUiUtils.class)) { + theMock.when(() -> { + SystemUiUtils.getStatusBarHeight(any()); + }).thenReturn(statusBarHeight); + theMock.when(() -> { + SystemUiUtils.getStatusBarHeightDp(any()); + }).thenReturn(statusBarHeightDp); + mockedBlock.run(theMock); + } + } + + @After + @CallSuper + public void afterEach() { + idleMainLooper(); + RNNFeatureToggles.clear(); + } + + public Activity newActivity() { + return Robolectric.setupActivity(AppCompatActivity.class); + } + + public ActivityController newActivityController(Class clazz) { + return Robolectric.buildActivity(clazz); + } + + public void assertIsChild(ViewGroup parent, ViewController... children) { + forEach(Arrays.asList(children), c -> assertIsChild(parent, c.getView())); + } + + public void assertIsChild(ViewGroup parent, View child) { + assertThat(parent).isNotNull(); + assertThat(child).isNotNull(); + assertThat(ViewUtils.isChildOf(parent, child)).isTrue(); + } + + public void assertNotChildOf(ViewGroup parent, ViewController... children) { + forEach(Arrays.asList(children), c -> assertNotChildOf(parent, c.getView())); + } + + public void assertNotChildOf(ViewGroup parent, View child) { + assertThat(parent).isNotNull(); + assertThat(child).isNotNull(); + assertThat(ViewUtils.isChildOf(parent, child)).isFalse(); + } + + public void assertMatchParent(View view) { + assertThat(view.getLayoutParams().width).isEqualTo(ViewGroup.LayoutParams.MATCH_PARENT); + assertThat(view.getLayoutParams().height).isEqualTo(ViewGroup.LayoutParams.MATCH_PARENT); + } + + protected void disablePushAnimation(ViewController... controllers) { + for (ViewController controller : controllers) { + controller.options.animations.push.enabled = new Bool(false); + } + } + + protected void disablePopAnimation(ViewController... controllers) { + for (ViewController controller : controllers) { + controller.options.animations.pop.enabled = new Bool(false); + } + } + + protected void disableModalAnimations(ViewController... modals) { + disableShowModalAnimation(modals); + disableDismissModalAnimation(modals); + } + + protected void disableShowModalAnimation(ViewController... modals) { + for (ViewController modal : modals) { + modal.options.animations.showModal.toggle(new Bool(false)); + } + } + + protected void disableDismissModalAnimation(ViewController... modals) { + for (ViewController modal : modals) { + modal.options.animations.dismissModal.toggle(new Bool(false)); + } + } + + protected void dispatchPreDraw(View view) { + view.getViewTreeObserver().dispatchOnPreDraw(); + } + + protected void dispatchOnGlobalLayout(View view) { + view.getViewTreeObserver().dispatchOnGlobalLayout(); + } + + protected void addToParent(Context context, ViewController... controllers) { + for (ViewController controller : controllers) { + new CoordinatorLayout(context).addView(controller.getView()); + } + } + + protected View mockView(Activity activity) { + View mock = Mockito.mock(View.class); + when(mock.getContext()).thenReturn(activity); + return mock; + } + + protected void assertVisible(View view) { + assertThat(view.getVisibility()).isEqualTo(View.VISIBLE); + } + + protected void assertGone(View view) { + assertThat(view.getVisibility()).isEqualTo(View.GONE); + } + + protected void post(Runnable runnable) { + handler.post(runnable); + } + + protected void idleMainLooper() { + shadowMainLooper.idle(); + } +} diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt deleted file mode 100644 index cadb5347ec2..00000000000 --- a/lib/android/app/src/test/java/com/reactnativenavigation/BaseTest.kt +++ /dev/null @@ -1,194 +0,0 @@ -package com.reactnativenavigation - -import android.app.Activity -import android.content.Context -import android.content.res.Configuration -import android.content.res.Resources -import android.os.Handler -import android.os.Looper -import android.view.View -import android.view.ViewGroup -import androidx.annotation.CallSuper -import androidx.appcompat.app.AppCompatActivity -import androidx.coordinatorlayout.widget.CoordinatorLayout -import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags -import com.reactnativenavigation.options.params.Bool -import com.reactnativenavigation.utils.CollectionUtils -import com.reactnativenavigation.utils.Functions -import com.reactnativenavigation.utils.SystemUiUtils -import com.reactnativenavigation.utils.SystemUiUtils.getStatusBarHeight -import com.reactnativenavigation.utils.SystemUiUtils.getStatusBarHeightDp -import com.reactnativenavigation.utils.ViewUtils -import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController -import org.assertj.core.api.Java6Assertions -import org.junit.After -import org.junit.Before -import org.junit.runner.RunWith -import org.mockito.ArgumentMatchers -import org.mockito.MockedStatic -import org.mockito.Mockito -import org.mockito.Mockito.mockStatic -import org.robolectric.Robolectric -import org.robolectric.RobolectricTestRunner -import org.robolectric.Shadows -import org.robolectric.android.controller.ActivityController -import org.robolectric.annotation.Config -import org.robolectric.shadows.ShadowLooper -import java.util.Arrays - -@RunWith(RobolectricTestRunner::class) -@Config(sdk = [28], application = TestApplication::class) -abstract class BaseTest { - private val handler = Handler(Looper.getMainLooper()) - private val shadowMainLooper: ShadowLooper = Shadows.shadowOf(Looper.getMainLooper()) - - protected lateinit var mockConfiguration: Configuration - - private var mockReactNativeFeatureFlags: MockedStatic? = null - - @Before - open fun beforeEach() { - mockReactNativeFeatureFlags = mockStatic(ReactNativeFeatureFlags::class.java) - - NavigationApplication.instance = Mockito.mock(NavigationApplication::class.java) - mockConfiguration = Mockito.mock(Configuration::class.java) - val res = Mockito.mock(Resources::class.java) - mockConfiguration.uiMode = Configuration.UI_MODE_NIGHT_NO - Mockito.`when`(res.configuration).thenReturn(mockConfiguration) - Mockito.`when`(NavigationApplication.instance.resources).thenReturn(res) - Mockito.`when`(res.getColor(ArgumentMatchers.anyInt())).thenReturn(0x00000) - Mockito.`when`(res.getColor(ArgumentMatchers.anyInt(), ArgumentMatchers.any())) - .thenReturn(0x00000) - - RNNFeatureToggles.init() - } - - - fun mockSystemUiUtils( - statusBarHeight: Int, - statusBarHeightDp: Int, - mockedBlock: Functions.Func1?> - ) { - Mockito.mockStatic(SystemUiUtils::class.java).use { theMock -> - theMock.`when` { - getStatusBarHeight(ArgumentMatchers.any()) - }.thenReturn(statusBarHeight) - theMock.`when` { - getStatusBarHeightDp(ArgumentMatchers.any()) - }.thenReturn(statusBarHeightDp) - mockedBlock.run(theMock) - } - } - - @After - @CallSuper - fun afterEach() { - idleMainLooper() - mockReactNativeFeatureFlags?.close() - RNNFeatureToggles.clear(); - } - - fun newActivity(): Activity { - return Robolectric.setupActivity(AppCompatActivity::class.java) - } - - fun newActivityController(clazz: Class): ActivityController { - return Robolectric.buildActivity(clazz) - } - - fun assertIsChild(parent: ViewGroup?, vararg children: ViewController<*>?) { - CollectionUtils.forEach( - Arrays.asList(*children) - ) { c: ViewController<*> -> assertIsChild(parent, c.view) } - } - - fun assertIsChild(parent: ViewGroup?, child: View) { - Java6Assertions.assertThat(parent).isNotNull() - Java6Assertions.assertThat(child).isNotNull() - Java6Assertions.assertThat(ViewUtils.isChildOf(parent, child)).isTrue() - } - - fun assertNotChildOf(parent: ViewGroup?, vararg children: ViewController<*>?) { - CollectionUtils.forEach( - Arrays.asList(*children) - ) { c: ViewController<*> -> assertNotChildOf(parent, c.view) } - } - - fun assertNotChildOf(parent: ViewGroup?, child: View) { - Java6Assertions.assertThat(parent).isNotNull() - Java6Assertions.assertThat(child).isNotNull() - Java6Assertions.assertThat(ViewUtils.isChildOf(parent, child)).isFalse() - } - - fun assertMatchParent(view: View) { - Java6Assertions.assertThat(view.layoutParams.width) - .isEqualTo(ViewGroup.LayoutParams.MATCH_PARENT) - Java6Assertions.assertThat(view.layoutParams.height) - .isEqualTo(ViewGroup.LayoutParams.MATCH_PARENT) - } - - protected fun disablePushAnimation(vararg controllers: ViewController<*>) { - for (controller in controllers) { - controller.options.animations.push.enabled = Bool(false) - } - } - - protected fun disablePopAnimation(vararg controllers: ViewController<*>) { - for (controller in controllers) { - controller.options.animations.pop.enabled = Bool(false) - } - } - - protected fun disableModalAnimations(vararg modals: ViewController<*>) { - disableShowModalAnimation(*modals) - disableDismissModalAnimation(*modals) - } - - protected fun disableShowModalAnimation(vararg modals: ViewController<*>) { - for (modal in modals) { - modal.options.animations.showModal.toggle(Bool(false)) - } - } - - protected fun disableDismissModalAnimation(vararg modals: ViewController<*>) { - for (modal in modals) { - modal.options.animations.dismissModal.toggle(Bool(false)) - } - } - - protected fun dispatchPreDraw(view: View) { - view.viewTreeObserver.dispatchOnPreDraw() - } - - protected fun dispatchOnGlobalLayout(view: View) { - view.viewTreeObserver.dispatchOnGlobalLayout() - } - - protected fun addToParent(context: Context, vararg controllers: ViewController<*>) { - for (controller in controllers) { - CoordinatorLayout(context).addView(controller.view) - } - } - - protected fun mockView(activity: Activity): View { - val mock = Mockito.mock(View::class.java) - Mockito.`when`(mock.context).thenReturn(activity) - return mock - } - - protected fun assertVisible(view: View) { - Java6Assertions.assertThat(view.visibility).isEqualTo(View.VISIBLE) - } - - protected fun assertGone(view: View) { - Java6Assertions.assertThat(view.visibility).isEqualTo(View.GONE) - } - - protected fun post(runnable: Runnable) { - handler.post(runnable) - } - - protected fun idleMainLooper() { - shadowMainLooper.idle() - } -} diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java b/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java index 854638cd40b..b8381dab3bb 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/TestApplication.java @@ -1,12 +1,10 @@ package com.reactnativenavigation; -import android.app.Application; +import android.app.*; import com.facebook.react.ReactApplication; -import com.facebook.react.ReactHost; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; -import com.facebook.react.defaults.DefaultReactHost; import java.util.Collections; import java.util.List; @@ -35,9 +33,4 @@ public void onCreate() { public ReactNativeHost getReactNativeHost() { return host; } - - @Override - public ReactHost getReactHost() { - return DefaultReactHost.getDefaultReactHost(this, getReactNativeHost()); - } } diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java b/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java index bcfe37d1dfe..c0347caa6c9 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TestReactView.java @@ -20,7 +20,7 @@ public TestReactView(@NonNull Context context) { } @Override - public void startReactApplication(ReactInstanceManager reactInstanceManager, String moduleName, @Nullable Bundle initialProperties) { + public void startReactApplication(ReactInstanceManager reactInstanceManager, String moduleName, @Nullable Bundle initialProperties, @Nullable String initialUITemplate) { } diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt index ee9091bf0ac..a71d81bafd4 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsControllerTest.kt @@ -538,7 +538,7 @@ class BottomTabsControllerTest : BaseTest() { Mockito.`when`(child5.handleBack(any())).thenReturn(true) } - private fun spyOnStack(initialChild: ViewController<*>): StackController { + private fun spyOnStack(initialChild: ViewController<*>?): StackController { val build = TestUtils.newStackController(activity) .setInitialOptions(tabOptions) .build() diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java index 7d708a549e6..c4cb666303c 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/bottomtabs/attacher/modes/AttachModeTest.java @@ -40,7 +40,6 @@ public abstract class AttachModeTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); activity = newActivity(); childRegistry = new ChildControllersRegistry(); parent = new CoordinatorLayout(activity); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java index c1df91ab7ed..500a4136110 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllerTest.java @@ -23,7 +23,6 @@ public class ChildControllerTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); childRegistry = spy(new ChildControllersRegistry()); presenter = Mockito.mock(Presenter.class); uut = new SimpleViewController(newActivity(), childRegistry, "childId", presenter, new Options()) { diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java index 68f04f0d17d..6ba7b2266ef 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/child/ChildControllersRegistryTest.java @@ -20,7 +20,6 @@ public class ChildControllersRegistryTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); Activity activity = newActivity(); uut = new ChildControllersRegistry(); child1 = spy(new SimpleViewController(activity, uut, "child1", new Options())); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt index 3bf2497b657..8b01f725c5c 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/modal/ModalAnimatorTest.kt @@ -23,7 +23,6 @@ class ModalAnimatorTest : BaseTest() { private lateinit var mockDefaultAnimation: StackAnimationOptions private lateinit var screenAnimationListener: ScreenAnimationListener override fun beforeEach() { - super.beforeEach() val mockTransitionAnimatorCreator = spy(TransitionAnimatorCreator()) val childRegistry = mock() val enter = spy(AnimationOptions()) diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt index 455c8d39701..8c9879bbd6a 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/navigator/RootPresenterTest.kt @@ -38,7 +38,6 @@ class RootPresenterTest : BaseTest() { private lateinit var root1View: SimpleViewController.SimpleView private lateinit var root2View: SimpleViewController.SimpleView override fun beforeEach() { - super.beforeEach() activityController = newActivityController(TestActivity::class.java) activity = activityController.create().get() reactInstanceManager = Mockito.mock(ReactInstanceManager::class.java) @@ -222,7 +221,7 @@ class RootPresenterTest : BaseTest() { fun setRoot_appliesLayoutDirection() { val listener = Mockito.spy(CommandListenerAdapter()) uut.setRoot(root, null, defaultOptions, listener, reactInstanceManager) - Mockito.verify(layoutDirectionApplier).apply(root, defaultOptions) + Mockito.verify(layoutDirectionApplier).apply(root, defaultOptions, reactInstanceManager) } private fun createAnimator(): RootAnimator { diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java index 10661de40d1..8642fcf0966 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/BackButtonHelperTest.java @@ -29,7 +29,6 @@ public class BackButtonHelperTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); uut = new BackButtonHelper(); Activity activity = newActivity(); ChildControllersRegistry childRegistry = new ChildControllersRegistry(); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt index d09ceb8571a..ffbae17532d 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/StackAnimatorTest.kt @@ -25,7 +25,6 @@ class StackAnimatorTest : BaseTest() { private lateinit var commandAnimator: AnimatorSet override fun beforeEach() { - super.beforeEach() activity = newActivity() val transitionAnimatorCreator = mock { } uut = object : StackAnimator(activity, transitionAnimatorCreator) { diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java index e83abb7ac4c..04835e54038 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarButtonControllerTest.java @@ -24,7 +24,6 @@ public class TitleBarButtonControllerTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); Activity activity = newActivity(); titleBar = new ButtonBar(activity); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java index e81b9d01f01..26de282b4e8 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TitleBarReactViewControllerTest.java @@ -22,7 +22,6 @@ public class TitleBarReactViewControllerTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); viewCreator = spy(new TitleBarReactViewCreatorMock()); activity = newActivity(); component = createComponent(); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java index 29d4859cf06..e446922a358 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarButtonControllerTest.java @@ -40,7 +40,6 @@ public class TopBarButtonControllerTest extends BaseTest { @Override public void beforeEach() { - super.beforeEach(); button = new ButtonOptions(); final Activity activity = newActivity(); diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt index c0b24b83a93..c54197a2e32 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt +++ b/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/stack/TopBarControllerTest.kt @@ -48,8 +48,6 @@ class TopBarControllerTest : BaseTest() { get() = uut.view override fun beforeEach() { - super.beforeEach() - activity = newActivity() appearAnimator = spy(TopBarAppearanceAnimator()) colorAnimator = mock() diff --git a/lib/ios/BottomTabsBasePresenter.m b/lib/ios/BottomTabsBasePresenter.m index 7a40c76772e..75aa424bfd3 100644 --- a/lib/ios/BottomTabsBasePresenter.m +++ b/lib/ios/BottomTabsBasePresenter.m @@ -1,6 +1,5 @@ #import "BottomTabsBasePresenter.h" #import "RNNBottomTabsController.h" -#import "RNNConvert.h" #import "UIImage+utils.h" @implementation BottomTabsBasePresenter @@ -30,7 +29,7 @@ - (void)applyOptions:(RNNNavigationOptions *)options { [self applyBackgroundColor:[withDefault.bottomTabs.backgroundColor withDefault:nil] translucent:[withDefault.bottomTabs.translucent withDefault:NO]]; [bottomTabs setTabBarHideShadow:[withDefault.bottomTabs.hideShadow withDefault:NO]]; - [bottomTabs setTabBarStyle:[RNNConvert UIBarStyle:[withDefault.bottomTabs.barStyle + [bottomTabs setTabBarStyle:[RCTConvert UIBarStyle:[withDefault.bottomTabs.barStyle withDefault:@"default"]]]; [self applyTabBarBorder:withDefault.bottomTabs]; [self applyTabBarShadow:withDefault.bottomTabs.shadow]; @@ -61,7 +60,7 @@ - (void)mergeOptions:(RNNNavigationOptions *)mergeOptions } if (mergeOptions.bottomTabs.barStyle.hasValue) { - [bottomTabs setTabBarStyle:[RNNConvert UIBarStyle:mergeOptions.bottomTabs.barStyle.get]]; + [bottomTabs setTabBarStyle:[RCTConvert UIBarStyle:mergeOptions.bottomTabs.barStyle.get]]; } if (mergeOptions.bottomTabs.translucent.hasValue) { diff --git a/lib/ios/RNNAppDelegate.mm b/lib/ios/RNNAppDelegate.mm index 55e52f422e0..be5bea13f97 100644 --- a/lib/ios/RNNAppDelegate.mm +++ b/lib/ios/RNNAppDelegate.mm @@ -2,13 +2,14 @@ #import #if RCT_NEW_ARCH_ENABLED - +#import "RCTAppSetupUtils.h" +#import "RCTLegacyInteropComponents.h" #import #import #import #import -#import #import +#import #import #import #import diff --git a/lib/ios/RNNConvert.h b/lib/ios/RNNConvert.h index c14cb986032..b21c73b042d 100644 --- a/lib/ios/RNNConvert.h +++ b/lib/ios/RNNConvert.h @@ -7,6 +7,4 @@ + (UIModalTransitionStyle)UIModalTransitionStyle:(id)json; -+ (UIBarStyle)UIBarStyle:(id)json; - @end diff --git a/lib/ios/RNNConvert.m b/lib/ios/RNNConvert.m index c707820b8d9..873042dec5e 100644 --- a/lib/ios/RNNConvert.m +++ b/lib/ios/RNNConvert.m @@ -32,8 +32,4 @@ + (UIModalPresentationStyle)defaultModalPresentationStyle { }), UIModalPresentationFullScreen, integerValue) -RCT_ENUM_CONVERTER(UIBarStyle, - (@{@"default" : @(UIBarStyleDefault), @"black" : @(UIBarStyleBlack)}), - UIBarStyleDefault, integerValue) - @end diff --git a/lib/ios/RNNStackPresenter.m b/lib/ios/RNNStackPresenter.m index 085fd0c8ff7..357d8d615ce 100644 --- a/lib/ios/RNNStackPresenter.m +++ b/lib/ios/RNNStackPresenter.m @@ -69,7 +69,7 @@ - (void)applyOptions:(RNNNavigationOptions *)options { stack.interactivePopGestureRecognizer.delegate = _interactivePopGestureDelegate; [stack - setBarStyle:[RNNConvert UIBarStyle:[withDefault.topBar.barStyle withDefault:@"default"]]]; + setBarStyle:[RCTConvert UIBarStyle:[withDefault.topBar.barStyle withDefault:@"default"]]]; [stack setRootBackgroundImage:[withDefault.rootBackgroundImage withDefault:nil]]; [stack setNavigationBarTestId:[withDefault.topBar.testID withDefault:nil]]; [stack setNavigationBarVisible:[withDefault.topBar.visible withDefault:YES] @@ -127,7 +127,7 @@ - (void)mergeOptions:(RNNNavigationOptions *)mergeOptions } if (mergeOptions.topBar.barStyle.hasValue) { - [stack setBarStyle:[RNNConvert UIBarStyle:mergeOptions.topBar.barStyle.get]]; + [stack setBarStyle:[RCTConvert UIBarStyle:mergeOptions.topBar.barStyle.get]]; } if (mergeOptions.topBar.background.clipToBounds.hasValue) { diff --git a/lib/src/adapters/NativeEventsReceiver.ts b/lib/src/adapters/NativeEventsReceiver.ts index d6ddfc5d5a4..9cba874c013 100644 --- a/lib/src/adapters/NativeEventsReceiver.ts +++ b/lib/src/adapters/NativeEventsReceiver.ts @@ -23,14 +23,14 @@ export class NativeEventsReceiver { constructor() { try { this.emitter = new NativeEventEmitter(NativeModules.RNNEventEmitter); - } catch { - this.emitter = { + } catch (e) { + this.emitter = ({ addListener: () => { return { remove: () => undefined, }; }, - } as any as NativeEventEmitter; + } as any) as NativeEventEmitter; } } diff --git a/lib/src/adapters/TouchablePreview.tsx b/lib/src/adapters/TouchablePreview.tsx index e515ffd489f..fb2e743501d 100644 --- a/lib/src/adapters/TouchablePreview.tsx +++ b/lib/src/adapters/TouchablePreview.tsx @@ -22,8 +22,8 @@ interface GestureResponderEventWithForce extends NativeSyntheticEvent { const Touchable = Platform.OS === 'ios' && touchableComponent instanceof TouchableNativeFeedback ? TouchableWithoutFeedback - : (touchableComponent as React.Component); + : (touchableComponent as typeof React.Component); // Wrap component with Touchable for handling platform touches // and a single react View for detecting force and timing. diff --git a/lib/src/components/ComponentWrapper.test.tsx b/lib/src/components/ComponentWrapper.test.tsx index b4f8c0990cf..748a5e71e9e 100644 --- a/lib/src/components/ComponentWrapper.test.tsx +++ b/lib/src/components/ComponentWrapper.test.tsx @@ -5,7 +5,6 @@ import { ComponentWrapper } from './ComponentWrapper'; import { Store } from './Store'; import { mock, verify, instance } from 'ts-mockito'; import { ComponentEventsObserver } from '../events/ComponentEventsObserver'; -import { ReactTestRendererJSON } from 'react-test-renderer'; describe('ComponentWrapper', () => { const componentName = 'example.MyComponent'; @@ -76,7 +75,7 @@ describe('ComponentWrapper', () => { ); expect(NavigationComponent).not.toBeInstanceOf(MyComponent); const tree = renderer.create(); - expect((tree.toJSON() as ReactTestRendererJSON).children).toEqual(['Hello, World!']); + expect(tree.toJSON()!.children).toEqual(['Hello, World!']); }); it('injects props from wrapper into original component', () => { @@ -90,7 +89,7 @@ describe('ComponentWrapper', () => { const tree = renderer.create( ); - expect((tree.toJSON() as ReactTestRendererJSON).children).toEqual(['yo']); + expect(tree.toJSON()!.children).toEqual(['yo']); expect(renderCount).toHaveBeenCalledTimes(1); }); @@ -244,12 +243,11 @@ describe('ComponentWrapper', () => { }); it('renders HOC components correctly', () => { - const generator = () => (props: any) => - ( - - - - ); + const generator = () => (props: any) => ( + + + + ); uut = new ComponentWrapper(); const NavigationComponent = uut.wrap(componentName, generator, store, componentEventsObserver); const tree = renderer.create(); @@ -311,7 +309,7 @@ describe('ComponentWrapper', () => { reduxStore ); const tree = renderer.create(); - expect((tree.toJSON() as ReactTestRendererJSON).children).toEqual(['it just works']); + expect(tree.toJSON()!.children).toEqual(['it just works']); expect((NavigationComponent as any).options()).toEqual({ foo: 123 }); }); }); diff --git a/lib/src/events/EventsRegistry.test.tsx b/lib/src/events/EventsRegistry.test.tsx index 87aeef00a00..e2233fb8aff 100644 --- a/lib/src/events/EventsRegistry.test.tsx +++ b/lib/src/events/EventsRegistry.test.tsx @@ -19,9 +19,9 @@ describe('EventsRegistry', () => { it('exposes appLaunched event', () => { const subscription = {}; const cb = jest.fn(); - ( - mockNativeEventsReceiver.registerAppLaunchedListener as jest.MockedFunction - ).mockReturnValueOnce(subscription); + (mockNativeEventsReceiver.registerAppLaunchedListener as jest.MockedFunction< + any + >).mockReturnValueOnce(subscription); const result = uut.registerAppLaunchedListener(cb); diff --git a/package.json b/package.json index eeccb92cf01..7f3705d77d3 100644 --- a/package.json +++ b/package.json @@ -64,43 +64,40 @@ "hoist-non-react-statics": "3.x.x", "lodash": "4.17.x", "prop-types": "15.x.x", - "react-lifecycles-compat": "^3.0.4", + "react-lifecycles-compat": "2.0.0", "tslib": "1.9.3" }, "devDependencies": { - "@babel/core": "^7.25.2", + "@babel/core": "7.22.9", "@babel/plugin-proposal-export-default-from": "7.10.1", "@babel/plugin-proposal-export-namespace-from": "7.10.1", - "@babel/preset-env": "^7.25.3", - "@babel/runtime": "^7.25.0", - "@babel/types": "7.25.0", - "@react-native-community/cli": "15.0.1", - "@react-native-community/cli-platform-android": "15.0.1", - "@react-native-community/cli-platform-ios": "15.0.1", - "@react-native-community/datetimepicker": "^8.2.0", - "@react-native-community/eslint-config": "3.2.0", - "@react-native-community/netinfo": "^11.4.1", - "@react-native/babel-preset": "0.76.6", - "@react-native/eslint-config": "0.76.6", - "@react-native/metro-config": "0.76.6", - "@react-native/typescript-config": "0.76.6", + "@babel/runtime": "7.22.6", + "@babel/types": "7.22.5", + "@babel/preset-env": "^7.22.9", + "@react-native/metro-config": "^0.73.2", + "@react-native/babel-preset": "^0.73.18", + "@react-native/typescript-config": "^0.73.1", + "@react-native-community/blur": "^4.4.1", + "@react-native-community/datetimepicker": "^3.4.7", + "@react-native-community/eslint-config": "2.0.0", + "@react-native-community/netinfo": "^5.9.4", "@testing-library/jest-native": "^5.4.2", - "@testing-library/react-native": "^13.0.1", - "@types/hoist-non-react-statics": "^3.3.6", + "@testing-library/react-native": "^12.0.1", + "@types/hoist-non-react-statics": "^3.0.1", "@types/jasmine": "3.5.10", "@types/jest": "27.0.2", "@types/lodash": "^4.14.149", - "@types/react": "^18.2.6", - "@types/react-test-renderer": "^18.0.0", - "@typescript-eslint/eslint-plugin": "8.21.0", - "@typescript-eslint/parser": "8.21.0", + "@types/react": "16.9.41", + "@types/react-native": "0.63.1", + "@types/react-test-renderer": "16.9.2", + "@typescript-eslint/eslint-plugin": "4.33.0", + "@typescript-eslint/parser": "4.33.0", "babel-jest": "^27.0.0", "clang-format": "^1.4.0", - "detox": "20.32.0", + "detox": "20.19.5", "detox-testing-library-rnn-adapter": "^2.0.3", - "eslint": "^8.19.0", + "eslint": "7.32.0", "eslint-config-prettier": "6.11.0", - "eslint-formatter-codeframe": "^7.32.1", "eslint-plugin-prettier": "3.1.4", "github-release-notes": "https://github.com/yogevbd/github-release-notes/tarball/e601b3dba72dcd6cba323c1286ea6dd0c0110b58", "husky": "4.2.5", @@ -110,22 +107,22 @@ "metro-react-native-babel-preset": "^0.76.2", "pixelmatch": "^5.2.1", "pngjs": "^6.0.0", - "prettier": "2.8.8", - "react": "18.3.1", - "react-native": "0.76.6", + "prettier": "2.1.2", + "react": "18.2.0", + "react-native": "0.73.3", "react-native-fast-image": "^8.6.3", - "react-native-gesture-handler": "^2.22.1", - "react-native-reanimated": "3.16.7", + "react-native-gesture-handler": "2.14.1", + "react-native-reanimated": "3.16.1", "react-native-ui-lib": "7.3.6", "react-redux": "5.x.x", - "react-test-renderer": "18.3.1", + "react-test-renderer": "18.2.0", "redux": "3.x.x", "remx": "3.x.x", "semver": "5.x.x", "shell-utils": "1.x.x", "ts-mockito": "^2.3.1", "typedoc": "0.x.x", - "typescript": "5.0.4" + "typescript": "5.5.4" }, "husky": { "hooks": { @@ -171,7 +168,7 @@ "emulator": { "type": "android.emulator", "device": { - "avdName": "Pixel_3a_API_34" + "avdName": "Pixel_API_28" } } }, @@ -191,10 +188,7 @@ "type": "android.apk", "binaryPath": "playground/android/app/build/outputs/apk/debug/app-debug.apk", "start": "npm start -- --e2e", - "build": "cd playground/android && ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug", - "reversePorts": [ - 8081 - ] + "build": "cd playground/android && ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug" }, "android.release": { "type": "android.apk", diff --git a/playground/android/app/build.gradle b/playground/android/app/build.gradle index 0382536bb1b..8624bb3cc60 100644 --- a/playground/android/app/build.gradle +++ b/playground/android/app/build.gradle @@ -5,7 +5,6 @@ react { root = file("../../../") reactNativeDir = file("../../../node_modules/react-native") codegenDir = file("../../../node_modules/@react-native/codegen") - autolinkLibrariesWithApp() } @@ -23,7 +22,7 @@ android { defaultConfig { applicationId "com.reactnativenavigation.playground" - minSdkVersion rootProject.ext.get("minSdkVersion") + minSdkVersion 21 targetSdkVersion rootProject.ext.get("targetSdkVersion") versionCode 1 versionName "1.0" @@ -50,8 +49,8 @@ android { } dependencies { - implementation 'com.google.android.material:material:1.12.0' - implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.appcompat:appcompat:1.3.1' implementation("com.facebook.react:react-android") @@ -62,10 +61,15 @@ dependencies { androidTestImplementation('com.wix:detox:+') { transitive = true } androidTestImplementation 'junit:junit:4.12' - if (hermesEnabled.toBoolean()) { + if (hermesEnabled.toBoolean()) { implementation("com.facebook.react:hermes-android") - } else { - implementation jscFlavor + } else { + implementation jscFlavor + } + + debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") + debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { + exclude group:'com.squareup.okhttp3', module:'okhttp' } } @@ -73,3 +77,6 @@ task copyDownloadableDepsToLibs(type: Copy) { from configurations.implementation into 'libs' } + +apply from: file("../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle") +applyNativeModulesAppBuildGradle(project) diff --git a/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java b/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java index 60638bb5912..23d2679423c 100644 --- a/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java +++ b/playground/android/app/src/main/java/com/reactnativenavigation/playground/MainApplication.java @@ -1,16 +1,18 @@ package com.reactnativenavigation.playground; +import android.content.Context; + import com.facebook.react.PackageList; -import com.facebook.react.ReactHost; +import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; -import com.facebook.react.defaults.DefaultReactHost; import com.reactnativenavigation.NavigationApplication; import com.reactnativenavigation.RNNToggles; import com.reactnativenavigation.react.NavigationPackage; import com.reactnativenavigation.react.NavigationReactNativeHost; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -62,6 +64,7 @@ public void onCreate() { // If you opted-in for the New Architecture, we load the native entry point for this app. DefaultNewArchitectureEntryPoint.load(); } + initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); } @Override @@ -69,8 +72,23 @@ public ReactNativeHost getReactNativeHost() { return mReactNativeHost; } - @Override - public ReactHost getReactHost() { - return DefaultReactHost.getDefaultReactHost(this, getReactNativeHost()); + private static void initializeFlipper( + Context context, ReactInstanceManager reactInstanceManager) { + if (BuildConfig.DEBUG) { + try { + Class aClass = Class.forName("com.example.ReactNativeFlipper"); + aClass + .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) + .invoke(null, context, reactInstanceManager); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } } } diff --git a/playground/android/build.gradle b/playground/android/build.gradle index f851a530228..809412b1917 100644 --- a/playground/android/build.gradle +++ b/playground/android/build.gradle @@ -2,14 +2,15 @@ buildscript { ext { - kotlinVersion = "1.9.24" + kotlinVersion = "1.8.10" RNNKotlinVersion = kotlinVersion detoxKotlinVersion = kotlinVersion - compileSdkVersion = 35 - buildToolsVersion = "35.0.0" - minSdkVersion = 24 + compileSdkVersion = 34 + buildToolsVersion = "34.0.0" + minSdkVersion = 21 targetSdkVersion = 34 - ndkVersion = "26.1.10909125" + // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. + ndkVersion = "23.1.7779620" } repositories { diff --git a/playground/android/gradle.properties b/playground/android/gradle.properties index a3d21529729..3fb0cc5c8d0 100644 --- a/playground/android/gradle.properties +++ b/playground/android/gradle.properties @@ -19,6 +19,7 @@ org.gradle.jvmargs=-Xmx2048m # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.useAndroidX=true +android.enableJetifier=true android.jetifier.ignorelist=bcprov hermesEnabled=true newArchEnabled=false diff --git a/playground/android/gradle/wrapper/gradle-wrapper.properties b/playground/android/gradle/wrapper/gradle-wrapper.properties index c9faf848d3d..5fe713fe642 100644 --- a/playground/android/gradle/wrapper/gradle-wrapper.properties +++ b/playground/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Jul 28 13:48:47 IDT 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/playground/android/settings.gradle b/playground/android/settings.gradle index 2d808997909..19af8ce1cec 100644 --- a/playground/android/settings.gradle +++ b/playground/android/settings.gradle @@ -1,7 +1,6 @@ -pluginManagement { includeBuild("../../node_modules/@react-native/gradle-plugin") } -plugins { id("com.facebook.react.settings") } -extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } rootProject.name = 'Playground' +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle") +applyNativeModulesSettingsGradle(settings) include ':app' include ':react-native-navigation' project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../../lib/android/app/') diff --git a/playground/ios/Podfile b/playground/ios/Podfile index e8bbd74b449..90ea17f306d 100644 --- a/playground/ios/Podfile +++ b/playground/ios/Podfile @@ -1,4 +1,3 @@ -ENV['RCT_NEW_ARCH_ENABLED'] = '0' require Pod::Executable.execute_command('node', ['-p', 'require.resolve( "react-native/scripts/react_native_pods.rb", @@ -8,6 +7,8 @@ require Pod::Executable.execute_command('node', ['-p', platform :ios, min_ios_version_supported prepare_react_native_project! +flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled + linkage = ENV['USE_FRAMEWORKS'] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green @@ -24,6 +25,7 @@ def all_pods :path => "../../node_modules/react-native", :hermes_enabled => flags[:hermes_enabled], :fabric_enabled => flags[:fabric_enabled], + :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/../.." ) @@ -33,7 +35,41 @@ def all_pods end post_install do |installer| + __apply_Xcode_15_3_flipper_post_install_workaround(installer) + react_native_post_install(installer, "../../node_modules/react-native", :mac_catalyst_enabled => false) + + __apply_Xcode_15_unary_binary_error_workaround(installer) + + # This is to resolve "'shared_timed_mutex' is unavailable: introduced in iOS 10.0" error + installer.pods_project.targets.each do |t| + t.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4' + end + end +end + +def __apply_Xcode_15_3_flipper_post_install_workaround(installer) + installer.pods_project.targets.each do |target| + if target.name == 'Flipper' + file_path = 'Pods/Flipper/xplat/Flipper/FlipperTransportTypes.h' + contents = File.read(file_path) + unless contents.include?('#include ') + File.open(file_path, 'w') do |file| + file.puts('#include ') + file.puts(contents) + end + end + end + end +end + +def __apply_Xcode_15_unary_binary_error_workaround(installer) + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION'] + end + end end target 'playground' do diff --git a/playground/ios/PrivacyInfo.xcprivacy b/playground/ios/PrivacyInfo.xcprivacy deleted file mode 100644 index 41b8317f065..00000000000 --- a/playground/ios/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,37 +0,0 @@ - - - - - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults - NSPrivacyAccessedAPITypeReasons - - CA92.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - - NSPrivacyCollectedDataTypes - - NSPrivacyTracking - - - diff --git a/playground/ios/playground.xcodeproj/project.pbxproj b/playground/ios/playground.xcodeproj/project.pbxproj index 54df0d16e3d..195a51e534b 100644 --- a/playground/ios/playground.xcodeproj/project.pbxproj +++ b/playground/ios/playground.xcodeproj/project.pbxproj @@ -79,7 +79,6 @@ E58D265F2385888C003F36BA /* RNNBasePresenterTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E58D26422385888C003F36BA /* RNNBasePresenterTest.m */; }; E58D26602385888C003F36BA /* RNNModalManagerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E58D26432385888C003F36BA /* RNNModalManagerTest.m */; }; E58D26612385888C003F36BA /* RNNTestNoColor.m in Sources */ = {isa = PBXBuildFile; fileRef = E58D26452385888C003F36BA /* RNNTestNoColor.m */; }; - F37104B81B0A0360736BF06D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 323095228F740613FD9372D1 /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -114,7 +113,6 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 18EFC85255DC04E4B557855F /* libPods-NavigationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NavigationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 323095228F740613FD9372D1 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../PrivacyInfo.xcprivacy; sourceTree = ""; }; 33BE713009EFB937EA4BF877 /* libPods-playground.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-playground.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4259AF43A23D928FE78B4A3A /* Pods-NavigationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NavigationTests.debug.xcconfig"; path = "Target Support Files/Pods-NavigationTests/Pods-NavigationTests.debug.xcconfig"; sourceTree = ""; }; 4AE37ACF6BFBAB211EE8E7E9 /* Pods-NavigationIOS12Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NavigationIOS12Tests.release.xcconfig"; path = "Target Support Files/Pods-NavigationIOS12Tests/Pods-NavigationIOS12Tests.release.xcconfig"; sourceTree = ""; }; @@ -262,7 +260,6 @@ 13B07FB61A68108700A75B9A /* Info.plist */, 9F9A3A9525260DA900AAAF37 /* LaunchScreen.storyboard */, 13B07FB71A68108700A75B9A /* main.m */, - 323095228F740613FD9372D1 /* PrivacyInfo.xcprivacy */, ); path = playground; sourceTree = ""; @@ -609,7 +606,6 @@ files = ( 9F9A3A9625260DA900AAAF37 /* LaunchScreen.storyboard in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - F37104B81B0A0360736BF06D /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -681,10 +677,16 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-playground/Pods-playground-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -699,19 +701,11 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-playground/Pods-playground-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -769,10 +763,16 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-NavigationIOS12Tests/Pods-NavigationIOS12Tests-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -787,19 +787,11 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-NavigationTests/Pods-NavigationTests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -813,10 +805,16 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-NavigationTests/Pods-NavigationTests-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -831,19 +829,11 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SnapshotTests/Pods-SnapshotTests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -879,10 +869,16 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-SnapshotTests/Pods-SnapshotTests-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-Glog/glog.framework/glog", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/glog.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -897,19 +893,11 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-NavigationIOS12Tests/Pods-NavigationIOS12Tests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -1079,6 +1067,13 @@ "$(inherited)", "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Boost-iOSX\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/HMSegmentedControl\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", @@ -1119,9 +1114,11 @@ ); OTHER_CFLAGS = ( "$(inherited)", + "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/FlipperKit/FlipperKit.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\"", + "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Codegen/React-Codegen.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\"", "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"", @@ -1202,6 +1199,7 @@ "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", @@ -1232,46 +1230,6 @@ "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-blur\"", "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-netinfo\"", ); - OTHER_CFLAGS = ( - "$(inherited)", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/DoubleConversion/DoubleConversion.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTDeprecation/RCTDeprecation.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTFabric/React-RCTFabric.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RCTTypeSafety/RCTTypeSafety.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/RNReanimated/RNReanimated.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React/React-Core.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/ReactCommon/ReactCommon.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_Fabric/React-Fabric.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_FabricComponents/React-FabricComponents.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_NativeModulesApple/React-NativeModulesApple.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/React_RCTAppDelegate/React-RCTAppDelegate.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/folly/RCT-Folly.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/glog/glog.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/jsi/React-jsi.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/jsinspector_modern/React-jsinspector.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_debug/React-debug.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_featureflags/React-featureflags.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_nativemodule_defaults/React-defaultsnativemodule.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_nativemodule_dom/React-domnativemodule.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_nativemodule_featureflags/React-featureflagsnativemodule.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_nativemodule_idlecallbacks/React-idlecallbacksnativemodule.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_nativemodule_microtasks/React-microtasksnativemodule.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_renderer_debug/React-rendererdebug.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_renderer_graphics/React-graphics.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_renderer_imagemanager/React-ImageManager.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/react_utils/React-utils.modulemap\"", - "-fmodule-map-file=\"${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap\"", - "$(inherited)", - "$(inherited)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-Wno-comma", - "-Wno-shorten-64-to-32", - "-DREACT_NATIVE_MINOR_VERSION=76", - "-DREANIMATED_VERSION=3.16.7", - "-DNDEBUG", - ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1535,10 +1493,12 @@ "$(inherited)", "-DRN_FABRIC_ENABLED", ); - OTHER_LDFLAGS = ""; + OTHER_LDFLAGS = ( + "-Wl", + "-ld_classic", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; USE_HERMES = true; }; name = Debug; @@ -1594,7 +1554,10 @@ "$(inherited)", "-DRN_FABRIC_ENABLED", ); - OTHER_LDFLAGS = ""; + OTHER_LDFLAGS = ( + "-Wl", + "-ld_classic", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/playground/src/components/PressableScale.tsx b/playground/src/components/PressableScale.tsx index 5247ee1debe..a13adc5d394 100644 --- a/playground/src/components/PressableScale.tsx +++ b/playground/src/components/PressableScale.tsx @@ -24,8 +24,9 @@ export interface PressableScaleProps weight?: 'light' | 'medium' | 'heavy'; } -const ReanimatedTouchableWithoutFeedback = - Reanimated.createAnimatedComponent(TouchableWithoutFeedback); +const ReanimatedTouchableWithoutFeedback = Reanimated.createAnimatedComponent( + TouchableWithoutFeedback +); /** * A Pressable that scales down when pressed. Uses the JS Pressability API. diff --git a/playground/src/screens/OrientationScreen.tsx b/playground/src/screens/OrientationScreen.tsx index 6a066d40004..70575377ca1 100644 --- a/playground/src/screens/OrientationScreen.tsx +++ b/playground/src/screens/OrientationScreen.tsx @@ -5,8 +5,11 @@ import Button from '../components/Button'; import Screens from './Screens'; import testIDs from '../testIDs'; -const { LANDSCAPE_PORTRAIT_ORIENTATION_BTN, LANDSCAPE_ORIENTATION_BTN, PORTRAIT_ORIENTATION_BTN } = - testIDs; +const { + LANDSCAPE_PORTRAIT_ORIENTATION_BTN, + LANDSCAPE_ORIENTATION_BTN, + PORTRAIT_ORIENTATION_BTN, +} = testIDs; export default class OrientationScreen extends React.Component { render() { diff --git a/playground/src/screens/OverlayAlert.tsx b/playground/src/screens/OverlayAlert.tsx index b1727d479f9..a3ffcce8fe8 100644 --- a/playground/src/screens/OverlayAlert.tsx +++ b/playground/src/screens/OverlayAlert.tsx @@ -5,8 +5,12 @@ import { component } from '../commons/Layouts'; import Screens from './Screens'; import testIDs from '../testIDs'; -const { OVERLAY_ALERT_HEADER, DISMISS_BTN, SET_INTERCEPT_TOUCH, DISMISS_ALL_OVERLAYS_BUTTON } = - testIDs; +const { + OVERLAY_ALERT_HEADER, + DISMISS_BTN, + SET_INTERCEPT_TOUCH, + DISMISS_ALL_OVERLAYS_BUTTON, +} = testIDs; interface Props extends NavigationProps { incrementDismissedOverlays: any; diff --git a/playground/src/screens/PushedScreen.tsx b/playground/src/screens/PushedScreen.tsx index 3ab42aa6e6b..34fa59490de 100644 --- a/playground/src/screens/PushedScreen.tsx +++ b/playground/src/screens/PushedScreen.tsx @@ -12,7 +12,6 @@ import Root from '../components/Root'; import Navigation from '../services/Navigation'; import testIDs from '../testIDs'; import Screens from './Screens'; -import { NativeEventSubscription } from 'react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter'; const { PUSHED_SCREEN_HEADER, @@ -48,8 +47,6 @@ export default class PushedScreen extends NavigationComponent { '#C3B1E1', ]; - backHandlerSubscription: NativeEventSubscription | null = null; - static options(): Options { return { topBar: { @@ -249,14 +246,9 @@ export default class PushedScreen extends NavigationComponent { }, ]); - addBackHandler = () => { - this.backHandlerSubscription = BackHandler.addEventListener( - 'hardwareBackPress', - this.backHandler - ); - }; + addBackHandler = () => BackHandler.addEventListener('hardwareBackPress', this.backHandler); - removeBackHandler = () => this.backHandlerSubscription?.remove(); + removeBackHandler = () => BackHandler.removeEventListener('hardwareBackPress', this.backHandler); backHandler = () => { this.setState({ diff --git a/playground/src/screens/SearchBar.tsx b/playground/src/screens/SearchBar.tsx index 5ffc88e9f8c..32d170a1fe5 100644 --- a/playground/src/screens/SearchBar.tsx +++ b/playground/src/screens/SearchBar.tsx @@ -6,8 +6,13 @@ import Button from '../components/Button'; import Navigation from '../services/Navigation'; import testIDs from '../testIDs'; -const { HIDE_TOP_BAR_BTN, SHOW_TOP_BAR_BTN, SHOW_SEARCH_BAR_BTN, HIDE_SEARCH_BAR_BTN, TOP_BAR } = - testIDs; +const { + HIDE_TOP_BAR_BTN, + SHOW_TOP_BAR_BTN, + SHOW_SEARCH_BAR_BTN, + HIDE_SEARCH_BAR_BTN, + TOP_BAR, +} = testIDs; interface Props extends NavigationProps {} diff --git a/playground/src/screens/StackCommandsScreen.tsx b/playground/src/screens/StackCommandsScreen.tsx index e8b0f26bc0e..f6928655cb7 100644 --- a/playground/src/screens/StackCommandsScreen.tsx +++ b/playground/src/screens/StackCommandsScreen.tsx @@ -42,7 +42,9 @@ export default class StackCommandsScreen extends NavigationComponent new Promise((resolve) => setTimeout(() => resolve(pushId), 100))) + .then( + (pushId) => new Promise((resolve) => setTimeout(() => resolve(pushId), 100)) + ) .then((pushId) => { this.setState({ pushPromiseResult: `push promise resolved with: ${pushId}`, diff --git a/playground/src/screens/index.tsx b/playground/src/screens/index.tsx index 8c02aa71121..0d9a4a6a43c 100644 --- a/playground/src/screens/index.tsx +++ b/playground/src/screens/index.tsx @@ -128,12 +128,11 @@ function registerScreens() { const ContextScreen = require('./ContextScreen').default; Navigation.registerComponent( Screens.ContextScreen, - () => (props) => - ( - - - - ), + () => (props) => ( + + + + ), () => ContextScreen ); diff --git a/playground/src/screens/sharedElementCarDealer/CarCard.tsx b/playground/src/screens/sharedElementCarDealer/CarCard.tsx index 8f0660886c4..5457f844553 100644 --- a/playground/src/screens/sharedElementCarDealer/CarCard.tsx +++ b/playground/src/screens/sharedElementCarDealer/CarCard.tsx @@ -1,3 +1,4 @@ +import { BlurView } from '@react-native-community/blur'; import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { StyleSheet, Text, Dimensions, ViewProps, Platform } from 'react-native'; import Reanimated, { EasingNode, useValue } from 'react-native-reanimated'; @@ -76,6 +77,7 @@ export default function CarCard({ resizeMode="cover" /> + {Platform.OS === 'ios' && } + Date: Thu, 17 Apr 2025 11:24:41 +0000 Subject: [PATCH 07/29] Update package.json version to 7.46.0 [buildkite skip] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f3705d77d3..b95c911add6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-navigation", - "version": "7.45.0", + "version": "7.46.0", "description": "React Native Navigation - truly native navigation for iOS and Android", "license": "MIT", "nativePackage": true, From 1ee37472340e90c564fd03a25deed4c4529c6544 Mon Sep 17 00:00:00 2001 From: d4vidi Date: Sun, 4 May 2025 18:13:27 +0300 Subject: [PATCH 08/29] Mocked side-menus - support (#8017) --- e2e/SideMenu.test.js | 15 +++-- lib/Mock/Components/ComponentScreen.tsx | 3 +- lib/Mock/Components/LayoutComponent.tsx | 9 +++ lib/Mock/Components/SideMenu.tsx | 27 ++++++++ lib/Mock/Layouts/BottomTabsNode.ts | 6 +- lib/Mock/Layouts/LayoutNodeFactory.ts | 15 ++++- lib/Mock/Layouts/ParentNode.ts | 4 ++ lib/Mock/Layouts/SideMenu.ts | 87 +++++++++++++++++++++++++ lib/Mock/Stores/LayoutStore.ts | 52 ++++++++++++--- lib/Mock/actions/layoutActions.ts | 11 ++++ lib/Mock/mocks/NativeCommandsSender.tsx | 1 + 11 files changed, 209 insertions(+), 21 deletions(-) create mode 100644 lib/Mock/Components/SideMenu.tsx create mode 100644 lib/Mock/Layouts/SideMenu.ts diff --git a/e2e/SideMenu.test.js b/e2e/SideMenu.test.js index 176847c4f30..6199e258234 100644 --- a/e2e/SideMenu.test.js +++ b/e2e/SideMenu.test.js @@ -3,7 +3,7 @@ import TestIDs from '../playground/src/testIDs'; const { elementByLabel, elementById } = Utils; -describe.e2e('SideMenu', () => { +describe('SideMenu', () => { beforeEach(async () => { await device.launchApp({ newInstance: true }); await elementById(TestIDs.SIDE_MENU_BTN).tap(); @@ -38,13 +38,13 @@ describe.e2e('SideMenu', () => { await expect(elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN)).toBeNotVisible(); }); - it('should rotate', async () => { + it.e2e('should rotate', async () => { await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); await device.setOrientation('landscape'); await expect(elementById(TestIDs.LEFT_SIDE_MENU_PUSH_BTN)).toBeVisible(); }); - it(':ios: rotation should update drawer height', async () => { + it.e2e(':ios: rotation should update drawer height', async () => { await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); await expect(elementByLabel('left drawer height: 869')).toBeVisible(); await device.setOrientation('landscape'); @@ -53,23 +53,24 @@ describe.e2e('SideMenu', () => { await expect(elementByLabel('left drawer height: 869')).toBeVisible(); }); - it('should set left drawer width', async () => { + it.e2e('should set left drawer width', async () => { await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.SIDE_MENU_LEFT_DRAWER_HEIGHT_TEXT)).toBeVisible(); await expect(elementByLabel('left drawer width: 250')).toBeVisible(); }); - it('should change left drawer width', async () => { + it.e2e('should change left drawer width', async () => { await elementById(TestIDs.CHANGE_LEFT_SIDE_MENU_WIDTH_BTN).tap(); await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); await expect(elementByLabel('left drawer width: 50')).toBeVisible(); }); - it('should set right drawer width', async () => { + it.e2e('should set right drawer width', async () => { await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); await expect(elementByLabel('right drawer width: 250')).toBeVisible(); }); - it('should change right drawer width', async () => { + it.e2e('should change right drawer width', async () => { await elementById(TestIDs.CHANGE_RIGHT_SIDE_MENU_WIDTH_BTN).tap(); await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); await expect(elementByLabel('right drawer width: 50')).toBeVisible(); diff --git a/lib/Mock/Components/ComponentScreen.tsx b/lib/Mock/Components/ComponentScreen.tsx index 68ca7e06b66..38f97d9090b 100644 --- a/lib/Mock/Components/ComponentScreen.tsx +++ b/lib/Mock/Components/ComponentScreen.tsx @@ -25,7 +25,8 @@ export const ComponentScreen = connect( } isVisible(): boolean { - return LayoutStore.isVisibleLayout(this.props.layoutNode); + const isVisible = LayoutStore.isVisibleLayout(this.props.layoutNode); + return isVisible; } renderTabBar() { diff --git a/lib/Mock/Components/LayoutComponent.tsx b/lib/Mock/Components/LayoutComponent.tsx index b18df7200f8..3920d5418fe 100644 --- a/lib/Mock/Components/LayoutComponent.tsx +++ b/lib/Mock/Components/LayoutComponent.tsx @@ -4,6 +4,7 @@ import { BottomTabs } from './BottomTabs'; import { ComponentProps } from '../ComponentProps'; import { ComponentScreen } from './ComponentScreen'; import { Stack } from './Stack'; +import { SideMenuRoot, SideMenuCenter, SideMenuLeft, SideMenuRight } from './SideMenu'; export const LayoutComponent = class extends Component { render() { @@ -14,6 +15,14 @@ export const LayoutComponent = class extends Component { return ; case 'Component': return ; + case 'SideMenuRoot': + return ; + case 'SideMenuLeft': + return ; + case 'SideMenuCenter': + return ; + case 'SideMenuRight': + return ; } return ; diff --git a/lib/Mock/Components/SideMenu.tsx b/lib/Mock/Components/SideMenu.tsx new file mode 100644 index 00000000000..86822382083 --- /dev/null +++ b/lib/Mock/Components/SideMenu.tsx @@ -0,0 +1,27 @@ +import React, { Component } from 'react'; +import { connect } from '../connect'; +import { ComponentProps } from '../ComponentProps'; +import { LayoutComponent } from './LayoutComponent'; +import ParentNode from '../Layouts/ParentNode'; + +export const SideMenuRoot = connect( + class extends Component { + render() { + const children = this.props.layoutNode.children; + return children.map((child: ParentNode) => { + return ; + }); + } + } +); + +class SideMenuComponent extends Component { + render() { + const children = this.props.layoutNode.children; + const component = children[0]; + return ; + } +} +export const SideMenuLeft = connect(SideMenuComponent); +export const SideMenuCenter = connect(SideMenuComponent); +export const SideMenuRight = connect(SideMenuComponent); diff --git a/lib/Mock/Layouts/BottomTabsNode.ts b/lib/Mock/Layouts/BottomTabsNode.ts index be83ae665df..33ad99d4f13 100644 --- a/lib/Mock/Layouts/BottomTabsNode.ts +++ b/lib/Mock/Layouts/BottomTabsNode.ts @@ -10,8 +10,10 @@ export default class BottomTabsNode extends ParentNode { this.selectedIndex = layout.data?.options?.bottomTabs?.currentTabIndex || 0; } - mergeOptions(options: Options) { - super.mergeOptions(options); + mergeOptions(_options: Options) { + super.mergeOptions(_options); + + const { options } = this.data; if (options.bottomTabs?.currentTabIndex) { this.selectedIndex = options.bottomTabs?.currentTabIndex; switchTabByIndex(this, this.selectedIndex); diff --git a/lib/Mock/Layouts/LayoutNodeFactory.ts b/lib/Mock/Layouts/LayoutNodeFactory.ts index b73a8a5da85..1171078e1bf 100644 --- a/lib/Mock/Layouts/LayoutNodeFactory.ts +++ b/lib/Mock/Layouts/LayoutNodeFactory.ts @@ -2,6 +2,11 @@ import BottomTabs from './BottomTabsNode'; import ComponentNode from './ComponentNode'; import Stack from './StackNode'; import ParentNode from './ParentNode'; +import SideMenuRootNode, { + SideMenuLeftNode, + SideMenuRightNode, + SideMenuCenterNode, +} from './SideMenu'; export default class LayoutNodeFactory { static create(layout: any, parentNode?: ParentNode) { @@ -10,7 +15,15 @@ export default class LayoutNodeFactory { return new ComponentNode(layout, parentNode); case 'Stack': return new Stack(layout, parentNode); - default: + case 'SideMenuRoot': + return new SideMenuRootNode(layout, parentNode); + case 'SideMenuLeft': + return new SideMenuLeftNode(layout, parentNode); + case 'SideMenuCenter': + return new SideMenuCenterNode(layout, parentNode); + case 'SideMenuRight': + return new SideMenuRightNode(layout, parentNode); + default: // TODO Undo case 'BottomTabs': return new BottomTabs(layout, parentNode); } diff --git a/lib/Mock/Layouts/ParentNode.ts b/lib/Mock/Layouts/ParentNode.ts index da7326d50ff..59ef873dac5 100644 --- a/lib/Mock/Layouts/ParentNode.ts +++ b/lib/Mock/Layouts/ParentNode.ts @@ -35,6 +35,10 @@ export default class ParentNode extends Node { return this; } + applyOptions(_options: Options) { + this.parentNode?.applyOptions(_options); + } + mergeOptions(options: Options) { this.data.options = _.mergeWith(this.data.options, options, (objValue, srcValue, key) => { if (_.isArray(objValue)) { diff --git a/lib/Mock/Layouts/SideMenu.ts b/lib/Mock/Layouts/SideMenu.ts new file mode 100644 index 00000000000..f229d527fc1 --- /dev/null +++ b/lib/Mock/Layouts/SideMenu.ts @@ -0,0 +1,87 @@ +import ParentNode from './ParentNode'; +import ComponentNode from './ComponentNode'; +import { Options } from '../../src/index'; +import * as layoutActions from '../actions/layoutActions'; +import { NodeType } from './Node'; + +const isCenterChild = (child: ParentNode) => child.type === 'SideMenuCenter'; +const isLeftChild = (child: ParentNode) => child.type === 'SideMenuLeft'; +const isRightChild = (child: ParentNode) => child.type === 'SideMenuRight'; + +export default class SideMenuRootNode extends ParentNode { + visibleChild: ParentNode; + + constructor(layout: any, parentNode?: ParentNode) { + super(layout, 'SideMenuRoot', parentNode); + + this.visibleChild = this._getCenterChild(); + if (!this.visibleChild) { + throw new Error('SideMenuRootNode must have a SideMenuCenter child'); + } + } + + applyOptions(_options: Options) { + super.applyOptions(_options); + + this._updateVisibility(_options); + } + + mergeOptions(options: Options) { + super.mergeOptions(options); + + this._updateVisibility(options); + } + + /** + * @override + */ + getVisibleLayout(): ComponentNode { + return this.visibleChild.getVisibleLayout(); + } + + _updateVisibility(options: Options) { + if (options.sideMenu) { + if (options.sideMenu.left?.visible) { + this.visibleChild = this._getLeftChild(); + layoutActions.openSideMenu(this.visibleChild); + } else if (options.sideMenu.right?.visible) { + this.visibleChild = this._getRightChild(); + layoutActions.openSideMenu(this.visibleChild); + } else { + this.visibleChild = this._getCenterChild(); + layoutActions.closeSideMenu(this.visibleChild); + } + } + } + + _getCenterChild = () => this.children.find(isCenterChild) as ParentNode; + _getLeftChild = () => this.children.find(isLeftChild) as ParentNode; + _getRightChild = () => this.children.find(isRightChild) as ParentNode; +} + +export class SideMenuNode extends ParentNode { + constructor(layout: any, type: NodeType, parentNode?: ParentNode) { + super(layout, type, parentNode); + } + + getVisibleLayout() { + return this.children[0].getVisibleLayout(); + } +} + +export class SideMenuLeftNode extends SideMenuNode { + constructor(layout: any, parentNode?: ParentNode) { + super(layout, 'SideMenuLeft', parentNode); + } +} +export class SideMenuRightNode extends SideMenuNode { + constructor(layout: any, parentNode?: ParentNode) { + super(layout, 'SideMenuRight', parentNode); + } +} + +export class SideMenuCenterNode extends SideMenuNode { + constructor(layout: any, parentNode?: ParentNode) { + super(layout, 'SideMenuCenter', parentNode); + } +} diff --git a/lib/Mock/Stores/LayoutStore.ts b/lib/Mock/Stores/LayoutStore.ts index 257a91a0941..4a25e66cb16 100644 --- a/lib/Mock/Stores/LayoutStore.ts +++ b/lib/Mock/Stores/LayoutStore.ts @@ -2,8 +2,9 @@ import _ from 'lodash'; import BottomTabsNode from '../Layouts/BottomTabsNode'; import ParentNode from '../Layouts/ParentNode'; import LayoutNodeFactory from '../Layouts/LayoutNodeFactory'; -import { Options } from '../../src/interfaces/Options'; +import { SideMenuNode } from '../Layouts/SideMenu'; import StackNode from '../Layouts/StackNode'; +import { Options } from '../../src/interfaces/Options'; const remx = require('remx'); @@ -11,6 +12,7 @@ const state = remx.state({ root: {}, modals: [], overlays: [], + sideMenu: undefined, }); const setters = remx.setters({ @@ -75,6 +77,23 @@ const setters = remx.setters({ selectTabIndex(layout: BottomTabsNode, index: number) { getters.getLayoutById(layout.nodeId).selectedIndex = index; }, + openSideMenu(layout: SideMenuNode) { + if (state.sideMenu) { + throw new Error( + 'A side-menu is already open; Mocked-testing of multiple side-menu scenarios is not supported yet.' + + ' You can submit a request in https://github.com/wix/react-native-navigation/issues/new/choose.' + ); + } + state.sideMenu = layout; + }, + closeSideMenu(_layout: SideMenuNode) { + state.sideMenu = undefined; + }, + applyOptions(componentId: string, options: Options) { + const layout = getters.getLayoutById(componentId); + if (layout) layout.applyOptions(options); + else console.warn(`[RNN error] Merge options failure: cannot find layout for: ${componentId}`); + }, mergeOptions(componentId: string, options: Options) { const layout = getters.getLayoutById(componentId); if (layout) layout.mergeOptions(options); @@ -87,12 +106,26 @@ const getters = remx.getters({ return state.root; }, getVisibleLayout() { + let layout: ParentNode | undefined; if (state.modals.length > 0) { - return _.last(state.modals)!.getVisibleLayout(); - } else if (!_.isEqual(state.root, {})) return state.root.getVisibleLayout(); + layout = _.last(state.modals)!; + } else if (!_.isEqual(state.root, {})) { + layout = state.root; + } + + // Note: While this logic should be fair for all use cases (i.e. even multiple side-menus across tabs), + // there is no current test case that justifies it. Nevertheless, it's required to pass the tests, + // because otherwise getVisibleLayout() would not be revisited whenever side-menus are opened/closed. + if (layout && state.sideMenu && findNode(state.sideMenu.nodeId, layout!)) { + layout = state.sideMenu.parentNode; + } + + return layout?.getVisibleLayout(); }, isVisibleLayout(layout: ParentNode) { - return getters.getVisibleLayout() && getters.getVisibleLayout().nodeId === layout.nodeId; + const nodeId = layout.nodeId; + const visibleLayout = getters.getVisibleLayout(); + return visibleLayout?.nodeId === nodeId; }, getModals() { return state.modals; @@ -101,13 +134,12 @@ const getters = remx.getters({ return state.overlays; }, getLayoutById(layoutId: string) { - if (getters.getModalById(layoutId)) - return findParentNode(layoutId, getters.getModalById(layoutId)); + if (getters.getModalById(layoutId)) return findNode(layoutId, getters.getModalById(layoutId)); - return findParentNode(layoutId, state.root); + return findNode(layoutId, state.root); }, getModalById(layoutId: string) { - return _.find(state.modals, (layout) => findParentNode(layoutId, layout)); + return _.find(state.modals, (layout) => findNode(layoutId, layout)); }, getLayoutChildren(layoutId: string) { return getters.getLayoutById(layoutId).children; @@ -120,13 +152,13 @@ const getters = remx.getters({ }, }); -function findParentNode(layoutId: string, layout: ParentNode): any | ParentNode { +function findNode(layoutId: string, layout: ParentNode): any | ParentNode { if (layoutId === layout.nodeId) { return layout; } else if (layout.children) { for (let i = 0; i < layout.children.length; i += 1) { const child = layout.children[i]; - const result = findParentNode(layoutId, child); + const result = findNode(layoutId, child); if (result !== false) { return result; diff --git a/lib/Mock/actions/layoutActions.ts b/lib/Mock/actions/layoutActions.ts index aef0261aacf..244d0ee5384 100644 --- a/lib/Mock/actions/layoutActions.ts +++ b/lib/Mock/actions/layoutActions.ts @@ -1,4 +1,5 @@ import ParentNode from '../Layouts/ParentNode'; +import { SideMenuNode } from '../Layouts/SideMenu'; import { LayoutStore } from '../Stores/LayoutStore'; export const switchTabByIndex = (bottomTabs: ParentNode | undefined, index: number) => { @@ -8,3 +9,13 @@ export const switchTabByIndex = (bottomTabs: ParentNode | undefined, index: numb LayoutStore.getVisibleLayout().componentDidAppear(); } }; + +export const openSideMenu = (sideMenu: SideMenuNode) => { + LayoutStore.openSideMenu(sideMenu); + LayoutStore.getVisibleLayout().componentDidAppear(); +}; + +export const closeSideMenu = (layout: SideMenuNode) => { + LayoutStore.getVisibleLayout().componentDidDisappear(); + LayoutStore.closeSideMenu(layout); +}; diff --git a/lib/Mock/mocks/NativeCommandsSender.tsx b/lib/Mock/mocks/NativeCommandsSender.tsx index 9579332c073..c3dd5745e40 100644 --- a/lib/Mock/mocks/NativeCommandsSender.tsx +++ b/lib/Mock/mocks/NativeCommandsSender.tsx @@ -39,6 +39,7 @@ export class NativeCommandsSender { const layoutNode = LayoutNodeFactory.create(layout, stack); stack.getVisibleLayout().componentDidDisappear(); LayoutStore.push(layoutNode, stack); + LayoutStore.applyOptions(layoutNode.nodeId, layoutNode.data.options); stack.getVisibleLayout().componentDidAppear(); resolve(stack.getVisibleLayout().nodeId); this.reportCommandCompletion(CommandName.Push, commandId); From d3d6961144e9a5e1a9b5c47608461273936566fb Mon Sep 17 00:00:00 2001 From: mobileoss Date: Sun, 4 May 2025 15:38:36 +0000 Subject: [PATCH 09/29] Update package.json version to 7.47.0 [buildkite skip] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b95c911add6..8200d602912 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-navigation", - "version": "7.46.0", + "version": "7.47.0", "description": "React Native Navigation - truly native navigation for iOS and Android", "license": "MIT", "nativePackage": true, From 0bdfb20c5ea29f8ace78c3d449825ab3c7867134 Mon Sep 17 00:00:00 2001 From: Liat Netach <60575762+liatnetach@users.noreply.github.com> Date: Tue, 27 May 2025 14:25:31 +0300 Subject: [PATCH 10/29] Support drawer menus opening as overlay instead of pushing content in ios (#7986) --- e2e/SetRoot.test.js | 11 + e2e/SideMenu.test.js | 131 +-- e2e/assets/side_menu.aboveContent.png | Bin 0 -> 153182 bytes e2e/assets/side_menu.pushContent.png | Bin 0 -> 163571 bytes .../MMDrawerController/MMDrawerController.h | 22 + .../MMDrawerController/MMDrawerController.m | 943 +++++++++++++++--- lib/ios/RNNSideMenuPresenter.m | 27 + lib/ios/RNNSideMenuSideOptions.h | 6 + lib/ios/RNNSideMenuSideOptions.m | 14 +- lib/src/interfaces/Options.ts | 9 + package-lock.json | 2 +- .../RNNSideMenuPresenterTest.m | 6 + playground/src/screens/SetRootScreen.tsx | 55 + .../src/screens/SideMenuCenterScreen.tsx | 38 +- playground/src/screens/SideMenuLeftScreen.tsx | 2 + playground/src/testIDs.ts | 4 + 16 files changed, 1044 insertions(+), 226 deletions(-) create mode 100644 e2e/assets/side_menu.aboveContent.png create mode 100644 e2e/assets/side_menu.pushContent.png diff --git a/e2e/SetRoot.test.js b/e2e/SetRoot.test.js index f4f2d472a83..b46310ac357 100644 --- a/e2e/SetRoot.test.js +++ b/e2e/SetRoot.test.js @@ -51,3 +51,14 @@ describe('SetRoot', () => { await elementById(TestIDs.OK_BUTTON).tap(); }); }); + + it.e2e(':ios: set root with left and right side menus - menu visibility', async () => { + await elementById(TestIDs.SET_ROOT_WITH_MENUS).tap(); + await elementById(TestIDs.TOGGLE_SIDE_MENU_OPEN_MODE_BTN).tap(); + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN)).toBeNotVisible(); + await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN)).toBeNotVisible(); + }); diff --git a/e2e/SideMenu.test.js b/e2e/SideMenu.test.js index 6199e258234..8e86ff9587d 100644 --- a/e2e/SideMenu.test.js +++ b/e2e/SideMenu.test.js @@ -1,78 +1,91 @@ import Utils from './Utils'; import TestIDs from '../playground/src/testIDs'; -const { elementByLabel, elementById } = Utils; +const {elementByLabel, elementById, expectImagesToBeEqual} = Utils; -describe('SideMenu', () => { +describe.each(['aboveContent', 'pushContent'])('SideMenu', (openMode) => { beforeEach(async () => { - await device.launchApp({ newInstance: true }); + await device.launchApp({newInstance: true}); await elementById(TestIDs.SIDE_MENU_BTN).tap(); - }); - it('close SideMenu and push to stack with static id', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await elementById(TestIDs.LEFT_SIDE_MENU_PUSH_BTN).tap(); - await elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN).tap(); - await expect(elementById(TestIDs.PUSHED_SCREEN_HEADER)).toBeVisible(); - await elementById(TestIDs.POP_BTN).tap(); - await expect(elementById(TestIDs.CENTER_SCREEN_HEADER)).toBeVisible(); + if (openMode === 'aboveContent') { + await elementById(TestIDs.TOGGLE_SIDE_MENU_OPEN_MODE_BTN).tap(); + } }); - it('Push to stack with static id and close SideMenu with screen options', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await elementById(TestIDs.LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN).tap(); - await expect(elementById(TestIDs.PUSHED_SCREEN_HEADER)).toBeVisible(); - await elementById(TestIDs.POP_BTN).tap(); - await expect(elementById(TestIDs.CENTER_SCREEN_HEADER)).toBeVisible(); - }); + describe(`Open mode '${openMode}'`, () => { + it('close SideMenu and push to stack with static id', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.LEFT_SIDE_MENU_PUSH_BTN).tap(); + await elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.PUSHED_SCREEN_HEADER)).toBeVisible(); + await elementById(TestIDs.POP_BTN).tap(); + await expect(elementById(TestIDs.CENTER_SCREEN_HEADER)).toBeVisible(); + }); - it('side menu visibility - left', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN).tap(); - await expect(elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN)).toBeNotVisible(); - }); + it('Push to stack with static id and close SideMenu with screen options', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN).tap(); + await expect(elementById(TestIDs.PUSHED_SCREEN_HEADER)).toBeVisible(); + await elementById(TestIDs.POP_BTN).tap(); + await expect(elementById(TestIDs.CENTER_SCREEN_HEADER)).toBeVisible(); + }); - it('side menu visibility - right', async () => { - await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); - await elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN).tap(); - await expect(elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN)).toBeNotVisible(); - }); + it('side menu visibility - left', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.CLOSE_LEFT_SIDE_MENU_BTN)).toBeNotVisible(); + }); - it.e2e('should rotate', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await device.setOrientation('landscape'); - await expect(elementById(TestIDs.LEFT_SIDE_MENU_PUSH_BTN)).toBeVisible(); - }); + it('side menu visibility - right', async () => { + await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); + await elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.CLOSE_RIGHT_SIDE_MENU_BTN)).toBeNotVisible(); + }); - it.e2e(':ios: rotation should update drawer height', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await expect(elementByLabel('left drawer height: 869')).toBeVisible(); - await device.setOrientation('landscape'); - await expect(elementByLabel('left drawer height: 428')).toBeVisible(); - await device.setOrientation('portrait'); - await expect(elementByLabel('left drawer height: 869')).toBeVisible(); - }); + it.e2e('should rotate', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await device.setOrientation('landscape'); + await expect(elementById(TestIDs.LEFT_SIDE_MENU_PUSH_BTN)).toBeVisible(); + }); - it.e2e('should set left drawer width', async () => { - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await expect(elementById(TestIDs.SIDE_MENU_LEFT_DRAWER_HEIGHT_TEXT)).toBeVisible(); - await expect(elementByLabel('left drawer width: 250')).toBeVisible(); - }); + it.e2e(':ios: rotation should update drawer height', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementByLabel('left drawer height: 869')).toBeVisible(); + await device.setOrientation('landscape'); + await expect(elementByLabel('left drawer height: 428')).toBeVisible(); + await device.setOrientation('portrait'); + await expect(elementByLabel('left drawer height: 869')).toBeVisible(); + }); - it.e2e('should change left drawer width', async () => { - await elementById(TestIDs.CHANGE_LEFT_SIDE_MENU_WIDTH_BTN).tap(); - await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); - await expect(elementByLabel('left drawer width: 50')).toBeVisible(); - }); + it.e2e('should set left drawer width', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementById(TestIDs.SIDE_MENU_LEFT_DRAWER_HEIGHT_TEXT)).toBeVisible(); + await expect(elementByLabel('left drawer width: 250')).toBeVisible(); + }); - it.e2e('should set right drawer width', async () => { - await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); - await expect(elementByLabel('right drawer width: 250')).toBeVisible(); - }); + it.e2e('should change left drawer width', async () => { + await elementById(TestIDs.CHANGE_LEFT_SIDE_MENU_WIDTH_BTN).tap(); + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + await expect(elementByLabel('left drawer width: 50')).toBeVisible(); + }); + + it.e2e('should set right drawer width', async () => { + await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); + await expect(elementByLabel('right drawer width: 250')).toBeVisible(); + }); + + it.e2e('should change right drawer width', async () => { + await elementById(TestIDs.CHANGE_RIGHT_SIDE_MENU_WIDTH_BTN).tap(); + await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); + await expect(elementByLabel('right drawer width: 50')).toBeVisible(); + }); - it.e2e('should change right drawer width', async () => { - await elementById(TestIDs.CHANGE_RIGHT_SIDE_MENU_WIDTH_BTN).tap(); - await elementById(TestIDs.OPEN_RIGHT_SIDE_MENU_BTN).tap(); - await expect(elementByLabel('right drawer width: 50')).toBeVisible(); + it.e2e(':ios: should render side menu correctly', async () => { + await elementById(TestIDs.OPEN_LEFT_SIDE_MENU_BTN).tap(); + const snapshottedImagePath = `./e2e/assets/side_menu.${openMode}.png`; + const actual = await elementById('SideMenuContainer').takeScreenshot(`side_menu_${openMode}`); + expectImagesToBeEqual(actual, snapshottedImagePath); + }); }); }); diff --git a/e2e/assets/side_menu.aboveContent.png b/e2e/assets/side_menu.aboveContent.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a1542fa793d245fa7842634064099ff462e074 GIT binary patch literal 153182 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íwcY`sYA@}?Gd6D@Cuy?}oJ}VBQs-#TpBixV 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ⅅ!z59mt|s9hU(svmpaaf@k6doK zSIESa2t5Xh1UsuOa5C4J&~@+(z3NeULpauGwOkulKr4@WFX)yx$!*j-aDUyC7J2E- zznTqR-=#5P1KCINME?y@QTw1{2WqYY^a>* zce5*2$$VlY*B_OJkef(09jV@xM|VBny9_r1J{Rwvk)#j$zoVT$4I%jT8|F&0Y%fFfC`3W!2hzAZd9lk%`VsFXv zxa@g_#{b)nY93i#FTBo_$KiS9-@9Mt%s74HKXB-%Ve0G#$D>-$vyXUW*gwB_!% zx~&EooBIV19eKG$WJ{Ia*Uk9)fL{eWvd4qslSUb;3njqlNx zn-bbi>p9LmGGw~0drHEAxE(w)Nrn|E118Klg^*`-}IQd8`fhAA58E z&pT+kc+Tr+lmF{(<5}PR&)f<&RyT3KU;2GgV+~{h+J?(hcdYOJ{VLJ->)ZR+-+xz% zJ70Ze|A8#QbHBdKV%ieLcq^}Ze@o%<}<`m#+FohjYFKe~>o|ZSO?4S1E z_EqqVZPMRLx3l_uTOM{mQ{h&fLkiz-)ApwByTUOQ`g^DIJb`vVK|W#PeN*C~1nSdm z*|@J)AKHrXo^f@(!Rg<7|9+2dm>{n(Be?j~fp>`5RWKv7$Ktog`#WeL^IUM%$-u#o{bKu*k10&@>O~>5dNZ z++x4iMx=w*7A7d%2cJ)wAKB-1n@?5x+@v|-xOh9r&s z5=P6PO#z84SPve-L0+tk-DA_9uGsSSf+A?07&r)Y&XH%%XaJ3-pwSeBwd@$pVg$0r zXaJ1{&}c1&t+_B-&BNLy1_1{~1Bi?U=V%HVO+k>Z&1hGH%)Z#ay_3%|FtEMwba4!U z^%8-%ca4@umdK II;Vst03)#uG5`Po literal 0 HcmV?d00001 diff --git a/e2e/assets/side_menu.pushContent.png b/e2e/assets/side_menu.pushContent.png new file mode 100644 index 0000000000000000000000000000000000000000..5a8b71de73b6784e9d2753ca2bb7f7c0c75f1e6b GIT binary patch literal 163571 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

y`QM8RLH=rjbkO?3!1_XQNa^${SX%lM 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 { CGFloat _maximumRightDrawerWidth; CGFloat _maximumLeftDrawerWidth; UIColor *_statusBarViewBackgroundColor; + MMDrawerOpenMode _leftDrawerOpenMode; + MMDrawerOpenMode _rightDrawerOpenMode; } @property(nonatomic, assign, readwrite) MMDrawerSide openSide; @@ -160,13 +162,15 @@ @interface MMDrawerController () { @property(nonatomic, strong) MMDrawerCenterContainerView *centerContainerView; @property(nonatomic, strong) UIView *dummyStatusBarView; -@property(nonatomic, assign) CGRect startingPanRect; @property(nonatomic, copy) MMDrawerControllerDrawerVisualStateBlock drawerVisualState; @property(nonatomic, copy) MMDrawerGestureShouldRecognizeTouchBlock gestureShouldRecognizeTouch; @property(nonatomic, copy) MMDrawerGestureCompletionBlock gestureStart; @property(nonatomic, copy) MMDrawerGestureCompletionBlock gestureCompletion; @property(nonatomic, assign, getter=isAnimatingDrawer) BOOL animatingDrawer; @property(nonatomic, strong) UIGestureRecognizer *pan; +@property (nonatomic, strong) UIView *centerContentOverlay; +@property(nonatomic, assign) CGRect startingPanRect; +@property(nonatomic, assign) MMDrawerSide panDrawerSide; @end @@ -227,6 +231,8 @@ - (void)commonSetup { [self setShowsShadow:YES]; [self setShouldStretchLeftDrawer:YES]; [self setShouldStretchRightDrawer:YES]; + [self side:MMDrawerSideRight openMode:MMDrawerOpenModePushContent]; + [self side:MMDrawerSideLeft openMode:MMDrawerOpenModePushContent]; [self setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone]; [self setCloseDrawerGestureModeMask:MMCloseDrawerGestureModeNone]; @@ -323,52 +329,126 @@ - (void)closeDrawerAnimated:(BOOL)animated } } else { [self setAnimatingDrawer:animated]; - CGRect newFrame = self.childControllerContainerView.bounds; + MMDrawerSide visibleSide = self.openSide; - CGFloat distance = ABS(CGRectGetMinX(self.centerContainerView.frame)); - NSTimeInterval duration = MAX(distance / ABS(velocity), MMDrawerMinimumAnimationDuration); + if (visibleSide == MMDrawerSideNone) { + [self setAnimatingDrawer:NO]; + if (completion) { + completion(NO); + } + return; + } - BOOL leftDrawerVisible = CGRectGetMinX(self.centerContainerView.frame) > 0; - BOOL rightDrawerVisible = CGRectGetMinX(self.centerContainerView.frame) < 0; + UIViewController *sideDrawerViewController = [self sideDrawerViewControllerForSide:visibleSide]; + [sideDrawerViewController beginAppearanceTransition:NO animated:animated]; - MMDrawerSide visibleSide = MMDrawerSideNone; - CGFloat percentVisble = 0.0; + MMDrawerOpenMode openMode = [self getDrawerOpenMode:visibleSide]; - if (leftDrawerVisible) { - CGFloat visibleDrawerPoints = CGRectGetMinX(self.centerContainerView.frame); - percentVisble = MAX(0.0, visibleDrawerPoints / self.maximumLeftDrawerWidth); - visibleSide = MMDrawerSideLeft; - } else if (rightDrawerVisible) { - CGFloat visibleDrawerPoints = CGRectGetWidth(self.centerContainerView.frame) - - CGRectGetMaxX(self.centerContainerView.frame); - percentVisble = MAX(0.0, visibleDrawerPoints / self.maximumRightDrawerWidth); - visibleSide = MMDrawerSideRight; + if (openMode == MMDrawerOpenModeAboveContent) { + [self closeDrawerInOverlayMode:sideDrawerViewController + visibleSide:visibleSide + animated:animated + velocity:velocity + animationOptions:options + completion:completion]; + } else { + [self closeDrawerInPushMode:sideDrawerViewController + visibleSide:visibleSide + animated:animated + velocity:velocity + animationOptions:options + completion:completion]; } + } +} - UIViewController *sideDrawerViewController = - [self sideDrawerViewControllerForSide:visibleSide]; +- (void)closeDrawerInOverlayMode:(UIViewController *)sideDrawerViewController + visibleSide:(MMDrawerSide)visibleSide + animated:(BOOL)animated + velocity:(CGFloat)velocity + animationOptions:(UIViewAnimationOptions)options + completion:(void (^)(BOOL finished))completion { + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:visibleSide]; - [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:percentVisble]; + CGRect currentFrame = sideDrawerViewController.view.frame; + CGRect finalFrame = currentFrame; - [sideDrawerViewController beginAppearanceTransition:NO animated:animated]; + // Set final position based on side + if (visibleSide == MMDrawerSideLeft) { + finalFrame.origin.x = -maximumDrawerWidth; // Off-screen left + } else { // MMDrawerSideRight + finalFrame.origin.x = self.view.bounds.size.width; // Off-screen right + } - [UIView animateWithDuration:(animated ? duration : 0.0) - delay:0.0 - options:options - animations:^{ - [self setNeedsStatusBarAppearanceUpdateIfSupported]; - [self.centerContainerView setFrame:newFrame withLayoutAlpha:0.0]; - [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:0.0]; - } - completion:^(BOOL finished) { - [sideDrawerViewController endAppearanceTransition]; - [self setOpenSide:MMDrawerSideNone]; - [self resetDrawerVisualStateForDrawerSide:visibleSide]; - [self setAnimatingDrawer:NO]; - if (completion) { - completion(finished); - } - }]; + // Ensure overlay is in view hierarchy + if (self.centerContentOverlay && self.centerContentOverlay.superview == nil) { + [self.centerContainerView addSubview:self.centerContentOverlay]; + [self.centerContainerView bringSubviewToFront:self.centerContentOverlay]; + self.centerContentOverlay.alpha = 0.5; + } + + CGFloat distance = ABS(currentFrame.origin.x - finalFrame.origin.x); + NSTimeInterval duration = [self animationDurationForDistance:distance velocity:velocity]; + + [UIView animateWithDuration:(animated ? duration : 0.0) + delay:0.0 + options:options + animations:^{ + [self setNeedsStatusBarAppearanceUpdateIfSupported]; + [sideDrawerViewController.view setFrame:finalFrame]; + self.centerContentOverlay.alpha = 0.0; + [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:0.0]; + } + completion:^(BOOL finished) { + [self completeDrawerClosingForSide:visibleSide + sideDrawerViewController:sideDrawerViewController + finished:finished + completion:completion]; + [self.centerContentOverlay removeFromSuperview]; + }]; +} + +- (void)closeDrawerInPushMode:(UIViewController *)sideDrawerViewController + visibleSide:(MMDrawerSide)visibleSide + animated:(BOOL)animated + velocity:(CGFloat)velocity + animationOptions:(UIViewAnimationOptions)options + completion:(void (^)(BOOL finished))completion { + + CGRect newFrame = self.childControllerContainerView.bounds; + + CGFloat distance = ABS(CGRectGetMinX(self.centerContainerView.frame)); + NSTimeInterval duration = [self animationDurationForDistance:distance velocity:velocity]; + sideDrawerViewController.view.hidden = NO; + + [UIView animateWithDuration:(animated ? duration : 0.0) + delay:0.0 + options:options + animations:^{ + [self setNeedsStatusBarAppearanceUpdateIfSupported]; + [self.centerContainerView setFrame:newFrame]; + [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:0.0]; + } + completion:^(BOOL finished) { + [self completeDrawerClosingForSide:visibleSide + sideDrawerViewController:sideDrawerViewController + finished:finished + completion:completion]; + }]; +} + +- (void)completeDrawerClosingForSide:(MMDrawerSide)visibleSide + sideDrawerViewController:(UIViewController *)sideDrawerViewController + finished:(BOOL)finished + completion:(void (^)(BOOL finished))completion { + [sideDrawerViewController endAppearanceTransition]; + + [self setOpenSide:MMDrawerSideNone]; + [self resetDrawerVisualStateForDrawerSide:visibleSide]; + [self setAnimatingDrawer:NO]; + + if (completion) { + completion(finished); } } @@ -397,50 +477,207 @@ - (void)openDrawerSide:(MMDrawerSide)drawerSide } } else { [self setAnimatingDrawer:animated]; - UIViewController *sideDrawerViewController = - [self sideDrawerViewControllerForSide:drawerSide]; + UIViewController *sideDrawerViewController = [self sideDrawerViewControllerForSide:drawerSide]; + if (self.openSide != drawerSide) { [self prepareToPresentDrawer:drawerSide animated:animated]; } if (sideDrawerViewController) { - CGRect newFrame; - CGRect oldFrame = self.centerContainerView.frame; - if (drawerSide == MMDrawerSideLeft) { - newFrame = self.centerContainerView.frame; - newFrame.origin.x = self.maximumLeftDrawerWidth; + MMDrawerOpenMode openMode = [self getDrawerOpenMode:drawerSide]; + + if (openMode == MMDrawerOpenModeAboveContent) { + [self openDrawerInOverlayMode:sideDrawerViewController + drawerSide:drawerSide + animated:animated + velocity:velocity + animationOptions:options + completion:completion]; } else { - newFrame = self.centerContainerView.frame; - newFrame.origin.x = 0 - self.maximumRightDrawerWidth; + [self openDrawerInPushMode:sideDrawerViewController + drawerSide:drawerSide + animated:animated + velocity:velocity + animationOptions:options + completion:completion]; } + } + } +} - CGFloat distance = ABS(CGRectGetMinX(oldFrame) - newFrame.origin.x); - NSTimeInterval duration = - MAX(distance / ABS(velocity), MMDrawerMinimumAnimationDuration); - - [UIView animateWithDuration:(animated ? duration : 0.0) - delay:0.0 - options:options - animations:^{ - [self setNeedsStatusBarAppearanceUpdateIfSupported]; - [self.centerContainerView setFrame:newFrame withLayoutAlpha:1.0]; - [self updateDrawerVisualStateForDrawerSide:drawerSide percentVisible:1.0]; - } - completion:^(BOOL finished) { - // End the appearance transition if it already wasn't open. - if (drawerSide != self.openSide) { - [sideDrawerViewController endAppearanceTransition]; - } - [self setOpenSide:drawerSide]; +- (void)openDrawerInOverlayMode:(UIViewController *)sideDrawerViewController + drawerSide:(MMDrawerSide)drawerSide + animated:(BOOL)animated + velocity:(CGFloat)velocity + animationOptions:(UIViewAnimationOptions)options + completion:(void (^)(BOOL finished))completion { - [self resetDrawerVisualStateForDrawerSide:drawerSide]; - [self setAnimatingDrawer:NO]; - if (completion) { - completion(finished); - } - }]; + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:drawerSide]; + + CGRect drawerFrame = sideDrawerViewController.view.frame; + CGRect initialFrame = sideDrawerViewController.view.frame; + + drawerFrame.size.width = maximumDrawerWidth; + initialFrame.size.width = maximumDrawerWidth; + + if (drawerSide == MMDrawerSideLeft) { + drawerFrame.origin.x = 0; // Final position + + if (self.openSide != drawerSide) { + initialFrame.origin.x = -maximumDrawerWidth; // Start off-screen + [sideDrawerViewController.view setFrame:initialFrame]; + } + } else { // MMDrawerSideRight + CGFloat screenWidth = self.view.bounds.size.width; + drawerFrame.origin.x = screenWidth - maximumDrawerWidth; // Final position + + if (self.openSide != drawerSide) { + initialFrame.origin.x = screenWidth; // Start off-screen + [sideDrawerViewController.view setFrame:initialFrame]; } } + + [self setupCenterContentOverlay]; + [self.centerContainerView addSubview:self.centerContentOverlay]; + [self.centerContainerView bringSubviewToFront:self.centerContentOverlay]; + self.centerContentOverlay.alpha = 0.0; // Start transparent + + // Make sure drawer is visible and in front + sideDrawerViewController.view.hidden = NO; + [self.childControllerContainerView bringSubviewToFront:sideDrawerViewController.view]; + + CGFloat distance = ABS(initialFrame.origin.x - drawerFrame.origin.x); + NSTimeInterval duration = [self animationDurationForDistance:distance velocity:velocity]; + + [UIView animateWithDuration:(animated ? duration : 0.0) + delay:0.0 + options:options + animations:^{ + [self setNeedsStatusBarAppearanceUpdateIfSupported]; + [sideDrawerViewController.view setFrame:drawerFrame]; // Move to final position + self.centerContentOverlay.alpha = 0.5; + [self updateDrawerVisualStateForDrawerSide:drawerSide percentVisible:1.0]; + } + completion:^(BOOL finished) { + [self completeDrawerOpeningForSide:drawerSide + sideDrawerViewController:sideDrawerViewController + finished:finished + completion:completion]; + }]; +} + +- (void)openDrawerInPushMode:(UIViewController *)sideDrawerViewController + drawerSide:(MMDrawerSide)drawerSide + animated:(BOOL)animated + velocity:(CGFloat)velocity + animationOptions:(UIViewAnimationOptions)options + completion:(void (^)(BOOL finished))completion { + + CGRect oldFrame = self.centerContainerView.frame; + CGRect newFrame = self.centerContainerView.frame; + + if (drawerSide == MMDrawerSideLeft) { + newFrame.origin.x = self.maximumLeftDrawerWidth; + } else { + newFrame.origin.x = 0 - self.maximumRightDrawerWidth; + } + + CGFloat distance = ABS(CGRectGetMinX(oldFrame) - newFrame.origin.x); + NSTimeInterval duration = MAX(distance / ABS(velocity), MMDrawerMinimumAnimationDuration); + BOOL isGestureOpen = !CGRectIsNull(self.startingPanRect) && [self shouldStretchForSide:drawerSide]; + sideDrawerViewController.view.hidden = NO; + + [UIView animateWithDuration:(animated ? duration : 0.0) + delay:0.0 + options:options + animations:^{ + [self setNeedsStatusBarAppearanceUpdateIfSupported]; + [self.centerContainerView setFrame:newFrame withLayoutAlpha:1.0]; + [self updateDrawerVisualStateForDrawerSide:drawerSide percentVisible:1.0]; + } + completion:^(BOOL finished) { + [self completeDrawerOpeningForSide:drawerSide + sideDrawerViewController:sideDrawerViewController + finished:finished + completion:^(BOOL innerFinished) { + + if (isGestureOpen) { + [self applyBounceForDrawerSide:drawerSide]; + } + + if (completion) { + completion(innerFinished); + } + }]; + }]; +} + +- (void)applyBounceForDrawerSide:(MMDrawerSide)drawerSide { + UIViewController *sideDrawerViewController = [self sideDrawerViewControllerForSide:drawerSide]; + if (!sideDrawerViewController) return; + + CGRect centerFrame = self.centerContainerView.frame; + CGRect bounceFrame = centerFrame; + CGFloat bounceAmount = 15.0; + + if (drawerSide == MMDrawerSideLeft) { + bounceFrame.origin.x += bounceAmount; + } else { + bounceFrame.origin.x -= bounceAmount; + } + + CATransform3D originalTransform = sideDrawerViewController.view.layer.transform; + CGFloat scale = 1.0 + (bounceAmount / (drawerSide == MMDrawerSideLeft ? + self.maximumLeftDrawerWidth : + self.maximumRightDrawerWidth)); + + CATransform3D bounceTransform = CATransform3DMakeScale(scale, 1.0, 1.0); + + if (drawerSide == MMDrawerSideLeft) { + bounceTransform = CATransform3DTranslate(bounceTransform, + self.maximumLeftDrawerWidth * (scale - 1.0) / 2.0, + 0, 0); + } else { + bounceTransform = CATransform3DTranslate(bounceTransform, + -self.maximumRightDrawerWidth * (scale - 1.0) / 2.0, + 0, 0); + } + [UIView animateWithDuration:0.15 + delay:0.0 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self.centerContainerView.frame = bounceFrame; + sideDrawerViewController.view.layer.transform = bounceTransform; + } + completion:^(BOOL bounceFinished) { + [UIView animateWithDuration:0.15 + delay:0.0 + options:UIViewAnimationOptionCurveEaseIn + animations:^{ + self.centerContainerView.frame = centerFrame; + sideDrawerViewController.view.layer.transform = originalTransform; + } + completion:nil]; + }]; +} + +- (void)completeDrawerOpeningForSide:(MMDrawerSide)drawerSide + sideDrawerViewController:(UIViewController *)sideDrawerViewController + finished:(BOOL)finished + completion:(void (^)(BOOL finished))completion { + + // End the appearance transition if it already wasn't open. + if (drawerSide != self.openSide) { + [sideDrawerViewController endAppearanceTransition]; + } + + [self setOpenSide:drawerSide]; + [self resetDrawerVisualStateForDrawerSide:drawerSide]; + [self setAnimatingDrawer:NO]; + + if (completion) { + completion(finished); + } } #pragma mark - Updating the Center View Controller @@ -801,7 +1038,7 @@ - (void)viewDidLoad { [super viewDidLoad]; [self.view setBackgroundColor:[UIColor blackColor]]; - + [self.view setAccessibilityIdentifier:@"SideMenuContainer"]; [self setupGestureRecognizers]; } @@ -1070,6 +1307,16 @@ - (void)setStatusBarViewBackgroundColor:(UIColor *)dummyStatusBarColor { [self.dummyStatusBarView setBackgroundColor:_statusBarViewBackgroundColor]; } +- (void)setLeftDrawerOpenMode:(MMDrawerOpenMode)openMode { + if (self.openSide == MMDrawerSideLeft) return; + _leftDrawerOpenMode = openMode; +} + +- (void)setRightDrawerOpenMode:(MMDrawerOpenMode)openMode { + if (self.openSide == MMDrawerSideRight) return; + _rightDrawerOpenMode = openMode; +} + - (void)setAnimatingDrawer:(BOOL)animatingDrawer { _animatingDrawer = animatingDrawer; [self.view setUserInteractionEnabled:!animatingDrawer]; @@ -1085,6 +1332,7 @@ - (void)setRightSideEnabled:(BOOL)rightSideEnabled { [self updatePanHandlersState]; } + #pragma mark - Getters - (CGFloat)maximumLeftDrawerWidth { if (self.leftDrawerViewController) { @@ -1155,107 +1403,420 @@ - (UIColor *)statusBarViewBackgroundColor { return _statusBarViewBackgroundColor; } +- (MMDrawerOpenMode)rightDrawerOpenMode { + return _rightDrawerOpenMode; +} + +- (MMDrawerOpenMode)leftDrawerOpenMode { + return _leftDrawerOpenMode; +} + #pragma mark - Gesture Handlers - (void)tapGestureCallback:(UITapGestureRecognizer *)tapGesture { if (self.openSide != MMDrawerSideNone && self.isAnimatingDrawer == NO) { - [self closeDrawerAnimated:YES - completion:^(BOOL finished) { - if (self.gestureCompletion) { - self.gestureCompletion(self, tapGesture); - } - }]; + // Get the tap location + CGPoint tapLocation = [tapGesture locationInView:self.childControllerContainerView]; + + // Get the open drawer view controller + UIViewController *sideDrawerViewController = [self sideDrawerViewControllerForSide:self.openSide]; + + // Check if we are in above content mode + MMDrawerOpenMode openMode = [self getDrawerOpenMode:self.openSide]; + + // Only close if not tapping on the drawer itself in above content mode + BOOL shouldClose = YES; + + if (openMode == MMDrawerOpenModeAboveContent && sideDrawerViewController) { + // Check if tap is inside the drawer view + CGPoint tapInDrawerView = [tapGesture locationInView:sideDrawerViewController.view]; + if (CGRectContainsPoint(sideDrawerViewController.view.bounds, tapInDrawerView)) { + shouldClose = NO; + } + } + + if (shouldClose) { + [self closeDrawerAnimated:YES + completion:^(BOOL finished) { + if (self.gestureCompletion) { + self.gestureCompletion(self, tapGesture); + } + }]; + } } } - (void)panGestureCallback:(UIPanGestureRecognizer *)panGesture { switch (panGesture.state) { - case UIGestureRecognizerStateBegan: { - if (self.gestureStart) { - self.gestureStart(self, panGesture); + case UIGestureRecognizerStateBegan: + [self handlePanGestureBegan:panGesture]; + break; + case UIGestureRecognizerStateChanged: + [self handlePanGestureChanged:panGesture]; + break; + case UIGestureRecognizerStateEnded: + case UIGestureRecognizerStateCancelled: + [self handlePanGestureEnded:panGesture]; + break; + default: + break; + } +} + +- (void)handlePanGestureBegan:(UIPanGestureRecognizer *)panGesture { + if (self.gestureStart) { + self.gestureStart(self, panGesture); + } + + if (self.animatingDrawer) { + [panGesture setEnabled:NO]; + return; + } + + MMDrawerSide drawerSide = [self determineDrawerSideForPanGesture:panGesture]; + if (drawerSide == MMDrawerSideNone) { + return; + } + + MMDrawerOpenMode openMode = [self getDrawerOpenMode:drawerSide]; + if (openMode == MMDrawerOpenModeAboveContent) { + [self setupPanningStartFrameOverlayMode:drawerSide]; + } else { + [self setupPanningStartFramePushMode]; + } +} + +- (MMDrawerSide)determineDrawerSideForPanGesture:(UIPanGestureRecognizer *)panGesture { + MMDrawerSide drawerSide = self.openSide; + + if (drawerSide == MMDrawerSideNone) { + CGPoint velocity = [panGesture velocityInView:self.view]; + drawerSide = (velocity.x > 0) ? MMDrawerSideLeft : MMDrawerSideRight; + + if ((drawerSide == MMDrawerSideLeft && !_leftSideEnabled) || + (drawerSide == MMDrawerSideRight && !_rightSideEnabled)) { + drawerSide = (drawerSide == MMDrawerSideLeft) ? MMDrawerSideRight : MMDrawerSideLeft; + + if ((drawerSide == MMDrawerSideLeft && !_leftSideEnabled) || + (drawerSide == MMDrawerSideRight && !_rightSideEnabled)) { + return MMDrawerSideNone; + } } - if (self.animatingDrawer) { - [panGesture setEnabled:NO]; - break; + } + return drawerSide; +} + +- (void)setupPanningStartFrameOverlayMode:(MMDrawerSide)drawerSide { + UIViewController *drawerViewController = [self sideDrawerViewControllerForSide:drawerSide]; + + // If drawer is closed, set up initial position + if (self.openSide == MMDrawerSideNone) { + self.startingPanRect = + [self calcClosedDrawerPanStartFrameInOverlay:drawerSide + drawerViewController:(UIViewController *)drawerViewController]; + + [drawerViewController.view setFrame:self.startingPanRect]; + + // Ensure drawer is visible and in front + drawerViewController.view.hidden = NO; + [self.childControllerContainerView bringSubviewToFront:drawerViewController.view]; + } else { + self.startingPanRect = drawerViewController.view.frame; + } + + // Save for upcoming gesture updates in above-content mode + self.panDrawerSide = drawerSide; +} + +- (void)setupPanningStartFramePushMode { + self.startingPanRect = self.centerContainerView.frame; +} + +- (CGRect)calcClosedDrawerPanStartFrameInOverlay:(MMDrawerSide)drawerSide + drawerViewController:(UIViewController *)drawerViewController { + CGRect drawerFrame = drawerViewController.view.frame; + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:drawerSide]; + + drawerFrame.size.width = maximumDrawerWidth; + + // Position off-screen based on side + if (drawerSide == MMDrawerSideLeft) { + drawerFrame.origin.x = -maximumDrawerWidth; + } else { + drawerFrame.origin.x = self.view.bounds.size.width; + } + return drawerFrame; +} + +- (void)handlePanGestureChanged:(UIPanGestureRecognizer *)panGesture { + self.view.userInteractionEnabled = NO; + + MMDrawerSide drawerSide = self.panDrawerSide; + MMDrawerOpenMode openMode = [self getDrawerOpenMode:drawerSide]; + if (openMode == MMDrawerOpenModeAboveContent) { + [self handlePanGestureChangedOverlayMode:panGesture forDrawerSide:drawerSide]; + } else { + [self handlePanGestureChangedPushMode:panGesture]; + } +} + +- (void)handlePanGestureChangedOverlayMode:(UIPanGestureRecognizer *)panGesture + forDrawerSide:(MMDrawerSide)drawerSide { + + UIViewController *drawerViewController = [self sideDrawerViewControllerForSide:drawerSide]; + if (!drawerViewController) { + return; + } + + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:drawerSide]; + CGPoint translatedPoint = [panGesture translationInView:self.view]; + + CGRect newFrame = [self calculateNewFrameForOverlayDrawer:drawerViewController + withTranslation:translatedPoint + forDrawerSide:drawerSide + maximumDrawerWidth:maximumDrawerWidth]; + + CGFloat percentVisible = [self calculatePercentVisibleForOverlayDrawer:drawerSide + withFrame:newFrame + maximumDrawerWidth:maximumDrawerWidth]; + + // Handle overlay + [self updateOverlayWithPercentVisible:percentVisible]; + + MMDrawerSide visibleSide = (percentVisible > 0.01) ? drawerSide : MMDrawerSideNone; + + [self updateAppearanceTransitions:self.openSide toSide:visibleSide]; + + // Apply new frame + drawerViewController.view.frame = newFrame; + [self.childControllerContainerView bringSubviewToFront:drawerViewController.view]; +} + +- (CGRect)calculateNewFrameForOverlayDrawer:(UIViewController *)drawerViewController + withTranslation:(CGPoint)translatedPoint + forDrawerSide:(MMDrawerSide)drawerSide + maximumDrawerWidth:(CGFloat)maximumDrawerWidth { + CGRect newFrame = drawerViewController.view.frame; + if (self.openSide == drawerSide) { + // If drawer is already open, adjust from starting position + newFrame.origin.x = self.startingPanRect.origin.x + translatedPoint.x; + } else { + // If drawer is closed, calculate from off-screen position + if (drawerSide == MMDrawerSideLeft) { + newFrame.origin.x = -maximumDrawerWidth + translatedPoint.x; } else { - self.startingPanRect = self.centerContainerView.frame; - } - } - case UIGestureRecognizerStateChanged: { - self.view.userInteractionEnabled = NO; - CGRect newFrame = self.startingPanRect; - CGPoint translatedPoint = [panGesture translationInView:self.centerContainerView]; - newFrame.origin.x = - [self roundedOriginXForDrawerConstriants:CGRectGetMinX(self.startingPanRect) + - translatedPoint.x]; - newFrame = CGRectIntegral(newFrame); - CGFloat xOffset = newFrame.origin.x; - - MMDrawerSide visibleSide = MMDrawerSideNone; - CGFloat percentVisible = 0.0; - if (xOffset > 0) { - visibleSide = MMDrawerSideLeft; - percentVisible = xOffset / self.maximumLeftDrawerWidth; - } else if (xOffset < 0) { - visibleSide = MMDrawerSideRight; - percentVisible = ABS(xOffset) / self.maximumRightDrawerWidth; - } - - if ((!_leftSideEnabled && visibleSide == MMDrawerSideLeft) || - (!_rightSideEnabled && visibleSide == MMDrawerSideRight)) { - return; + CGFloat screenWidth = self.view.bounds.size.width; + newFrame.origin.x = screenWidth + translatedPoint.x; } + } - UIViewController *visibleSideDrawerViewController = - [self sideDrawerViewControllerForSide:visibleSide]; + // Apply constraints based on drawer side + if (drawerSide == MMDrawerSideLeft) { + newFrame.origin.x = MIN(0, newFrame.origin.x); + newFrame.origin.x = MAX(-maximumDrawerWidth, newFrame.origin.x); + } else { + CGFloat screenWidth = self.view.bounds.size.width; + newFrame.origin.x = MAX(screenWidth - maximumDrawerWidth, newFrame.origin.x); + newFrame.origin.x = MIN(screenWidth, newFrame.origin.x); + } + + return newFrame; +} - if (self.openSide != visibleSide) { - // Handle disappearing the visible drawer - UIViewController *sideDrawerViewController = - [self sideDrawerViewControllerForSide:self.openSide]; - [sideDrawerViewController beginAppearanceTransition:NO animated:NO]; - [sideDrawerViewController endAppearanceTransition]; +- (CGFloat)calculatePercentVisibleForOverlayDrawer:(MMDrawerSide)drawerSide + withFrame:(CGRect)frame + maximumDrawerWidth:(CGFloat)maximumDrawerWidth { + CGFloat percentVisible; + if (drawerSide == MMDrawerSideLeft) { + percentVisible = (maximumDrawerWidth + frame.origin.x) / maximumDrawerWidth; + } else { + CGFloat rightEdge = self.view.bounds.size.width; + percentVisible = (rightEdge - frame.origin.x) / maximumDrawerWidth; + } + return MAX(0, MIN(1.0, percentVisible)); +} - // Drawer is about to become visible - [self prepareToPresentDrawer:visibleSide animated:NO]; - [visibleSideDrawerViewController endAppearanceTransition]; - [self setOpenSide:visibleSide]; - } else if (visibleSide == MMDrawerSideNone) { - [self setOpenSide:MMDrawerSideNone]; +- (void)updateOverlayWithPercentVisible:(CGFloat)percentVisible { + [self setupCenterContentOverlay]; + if (self.centerContentOverlay.superview != self.centerContainerView) { + [self.centerContainerView addSubview:self.centerContentOverlay]; + [self.centerContainerView bringSubviewToFront:self.centerContentOverlay]; + } + self.centerContentOverlay.alpha = percentVisible * 0.5; +} + +- (void)updateAppearanceTransitions:(MMDrawerSide)fromSide toSide:(MMDrawerSide)toSide { + if (fromSide != toSide) { + if (fromSide != MMDrawerSideNone) { + UIViewController *sideDrawerVC = [self sideDrawerViewControllerForSide:fromSide]; + [sideDrawerVC beginAppearanceTransition:NO animated:NO]; + [sideDrawerVC endAppearanceTransition]; } - [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:percentVisible]; + if (toSide != MMDrawerSideNone) { + [self prepareToPresentDrawer:toSide animated:NO]; + UIViewController *visibleDrawerVC = [self sideDrawerViewControllerForSide:toSide]; + [visibleDrawerVC endAppearanceTransition]; + } - [self.centerContainerView - setCenter:CGPointMake(CGRectGetMidX(newFrame), CGRectGetMidY(newFrame))]; + [self setOpenSide:toSide]; + } +} - newFrame = self.centerContainerView.frame; - newFrame.origin.x = floor(newFrame.origin.x); - newFrame.origin.y = floor(newFrame.origin.y); - self.centerContainerView.frame = newFrame; +- (void)handlePanGestureChangedPushMode:(UIPanGestureRecognizer *)panGesture { + CGRect newFrame = self.startingPanRect; + CGPoint translatedPoint = [panGesture translationInView:self.centerContainerView]; - [self.centerContainerView addSubview:self.centerContainerView.overlayView]; - [self.centerContainerView bringSubviewToFront:self.centerContainerView.overlayView]; - self.centerContainerView.overlayView.alpha = percentVisible; + newFrame.origin.x = [self + roundedOriginXForDrawerConstriants:CGRectGetMinX(self.startingPanRect) + translatedPoint.x]; + newFrame = CGRectIntegral(newFrame); + CGFloat xOffset = newFrame.origin.x; - break; + MMDrawerSide visibleSide = MMDrawerSideNone; + CGFloat percentVisible = 0.0; + if (xOffset > 0) { + visibleSide = MMDrawerSideLeft; + percentVisible = xOffset / self.maximumLeftDrawerWidth; + } else if (xOffset < 0) { + visibleSide = MMDrawerSideRight; + percentVisible = ABS(xOffset) / self.maximumRightDrawerWidth; } - case UIGestureRecognizerStateEnded: - case UIGestureRecognizerStateCancelled: { - self.startingPanRect = CGRectNull; - CGPoint velocity = [panGesture velocityInView:self.childControllerContainerView]; - [self finishAnimationForPanGestureWithXVelocity:velocity.x - completion:^(BOOL finished) { - if (self.gestureCompletion) { - self.gestureCompletion(self, panGesture); - } - }]; - self.view.userInteractionEnabled = YES; - break; + + if ((!_leftSideEnabled && visibleSide == MMDrawerSideLeft) || + (!_rightSideEnabled && visibleSide == MMDrawerSideRight)) { + return; } - default: - break; + + [self handleAppearanceTransitionPushMode:visibleSide]; + [self updateDrawerVisualStateForDrawerSide:visibleSide percentVisible:percentVisible]; + [self.centerContainerView + setCenter:CGPointMake(CGRectGetMidX(newFrame), CGRectGetMidY(newFrame))]; + + newFrame = self.centerContainerView.frame; + newFrame.origin.x = floor(newFrame.origin.x); + newFrame.origin.y = floor(newFrame.origin.y); + self.centerContainerView.frame = newFrame; + + [self.centerContainerView addSubview:self.centerContainerView.overlayView]; + [self.centerContainerView bringSubviewToFront:self.centerContainerView.overlayView]; + self.centerContainerView.overlayView.alpha = percentVisible; +} + +- (void)handleAppearanceTransitionPushMode:(MMDrawerSide)visibleSide { + UIViewController *visibleSideDrawerViewController = [self sideDrawerViewControllerForSide:visibleSide]; + + if (self.openSide != visibleSide) { + // Handle disappearing the visible drawer + UIViewController *sideDrawerVC = [self sideDrawerViewControllerForSide:self.openSide]; + [sideDrawerVC beginAppearanceTransition:NO animated:NO]; + [sideDrawerVC endAppearanceTransition]; + + // Drawer is about to become visible + [self prepareToPresentDrawer:visibleSide animated:NO]; + [visibleSideDrawerViewController endAppearanceTransition]; + [self setOpenSide:visibleSide]; + } else if (visibleSide == MMDrawerSideNone) { + [self setOpenSide:MMDrawerSideNone]; + } +} + +- (void)handlePanGestureEnded:(UIPanGestureRecognizer *)panGesture { + MMDrawerSide drawerSide = self.panDrawerSide; + MMDrawerOpenMode openMode = [self getDrawerOpenMode:drawerSide]; + + if (openMode == MMDrawerOpenModeAboveContent) { + [self completePanningOverlayMode:drawerSide withPanGesture:panGesture]; + } else { + [self completePanningPushMode:panGesture]; } + + self.startingPanRect = CGRectNull; + self.view.userInteractionEnabled = YES; +} + +- (void)completePanningOverlayMode:(MMDrawerSide)drawerSide + withPanGesture:(UIPanGestureRecognizer *)panGesture { + // Get drawer view controller + UIViewController *drawerVC = [self sideDrawerViewControllerForSide:drawerSide]; + if (!drawerVC) { + self.panDrawerSide = MMDrawerSideNone; + return; + } + + BOOL shouldOpen = [self shouldOpenDrawerForGestureEnd:panGesture withDrawerSide:drawerSide andCurrentPosition:drawerVC.view.frame.origin.x]; + [self animateOverlayDrawerToFinalState:shouldOpen forDrawerSide:drawerSide withDrawerVC:drawerVC andPanGesture:panGesture]; +} + +- (BOOL)shouldOpenDrawerForGestureEnd:(UIPanGestureRecognizer *)panGesture withDrawerSide:(MMDrawerSide)drawerSide andCurrentPosition:(CGFloat)currentX { + CGPoint velocity = [panGesture velocityInView:self.view]; + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:drawerSide]; + CGFloat screenWidth = self.view.bounds.size.width; + BOOL shouldOpen = NO; + + if (drawerSide == MMDrawerSideLeft) { + if (velocity.x > 500) shouldOpen = YES; // Fast right swipe + else if (velocity.x < -500) shouldOpen = NO; // Fast left swipe + else shouldOpen = (currentX > -maximumDrawerWidth/2.0); // Based on position + } else { + if (velocity.x < -500) shouldOpen = YES; // Fast left swipe + else if (velocity.x > 500) shouldOpen = NO; // Fast right swipe + else shouldOpen = (currentX < screenWidth - maximumDrawerWidth/2.0); // Based on position + } + + return shouldOpen; +} + +- (void)animateOverlayDrawerToFinalState:(BOOL)shouldOpen forDrawerSide:(MMDrawerSide)drawerSide withDrawerVC:(UIViewController *)drawerVC andPanGesture:(UIPanGestureRecognizer *)panGesture { + CGFloat maximumDrawerWidth = [self maximumDrawerWidthForSide:drawerSide]; + CGFloat screenWidth = self.view.bounds.size.width; + + [UIView animateWithDuration:0.25 + animations:^{ + CGRect frame = drawerVC.view.frame; + + if (shouldOpen) { + if (drawerSide == MMDrawerSideLeft) { + frame.origin.x = 0; + } else { + frame.origin.x = screenWidth - maximumDrawerWidth; + } + + self.centerContentOverlay.alpha = 0.5; + } else { + if (drawerSide == MMDrawerSideLeft) { + frame.origin.x = -maximumDrawerWidth; + } else { + frame.origin.x = screenWidth; + } + + self.centerContentOverlay.alpha = 0.0; + } + + drawerVC.view.frame = frame; + } completion:^(BOOL finished) { + if (shouldOpen) { + [self setOpenSide:drawerSide]; + } else { + [self setOpenSide:MMDrawerSideNone]; + [self.centerContentOverlay removeFromSuperview]; + } + + self.panDrawerSide = MMDrawerSideNone; + + if (self.gestureCompletion) { + self.gestureCompletion(self, panGesture); + } + }]; +} + +- (void)completePanningPushMode:(UIPanGestureRecognizer *)panGesture { + CGPoint velocity = [panGesture velocityInView:self.childControllerContainerView]; + [self finishAnimationForPanGestureWithXVelocity:velocity.x + completion:^(BOOL finished) { + if (self.gestureCompletion) { + self.gestureCompletion(self, panGesture); + } + }]; } - (void)updatePanHandlersState { @@ -1270,6 +1831,29 @@ - (void)updatePanHandlersState { } } +- (void)setupCenterContentOverlay { + if (!self.centerContentOverlay) { + // Create overlay view if it doesn't exist + self.centerContentOverlay = [[UIView alloc] initWithFrame:self.centerContainerView.bounds]; + self.centerContentOverlay.backgroundColor = [UIColor blackColor]; + self.centerContentOverlay.alpha = 0.0; // Start fully transparent + self.centerContentOverlay.userInteractionEnabled = YES; + + // Add tap gesture to close drawer when tapping overlay + UITapGestureRecognizer *tapGesture = + [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(overlayTapped:)]; + [self.centerContentOverlay addGestureRecognizer:tapGesture]; + } + + // Update frame to match current center container bounds + self.centerContentOverlay.frame = self.centerContainerView.bounds; +} + +- (void)overlayTapped:(UITapGestureRecognizer *)tapGesture { + // Close drawer when overlay is tapped + [self closeDrawerAnimated:YES completion:nil]; +} + #pragma mark - iOS 7 Status Bar Helpers - (UIViewController *)childViewControllerForStatusBarStyle { return [self childViewControllerForSide:self.openSide]; @@ -1367,23 +1951,46 @@ - (BOOL)shouldStretchForSide:(MMDrawerSide)drawerSide { } } +- (void)side:(MMDrawerSide)drawerSide openMode:(MMDrawerOpenMode)openMode { + if (drawerSide == MMDrawerSideLeft) { + self.leftDrawerOpenMode = openMode; + } else if (drawerSide == MMDrawerSideRight) { + self.rightDrawerOpenMode = openMode; + } +} + - (void)applyOvershootScaleTransformForDrawerSide:(MMDrawerSide)drawerSide percentVisible:(CGFloat)percentVisible { - if (percentVisible >= 1.f) { CATransform3D transform = CATransform3DIdentity; - UIViewController *sideDrawerViewController = - [self sideDrawerViewControllerForSide:drawerSide]; - if (drawerSide == MMDrawerSideLeft) { - transform = CATransform3DMakeScale(percentVisible, 1.f, 1.f); - transform = CATransform3DTranslate( - transform, self.maximumLeftDrawerWidth * (percentVisible - 1.f) / 2, 0.f, 0.f); - } else if (drawerSide == MMDrawerSideRight) { - transform = CATransform3DMakeScale(percentVisible, 1.f, 1.f); - transform = CATransform3DTranslate( - transform, -self.maximumRightDrawerWidth * (percentVisible - 1.f) / 2, 0.f, 0.f); + + MMDrawerOpenMode openMode = [self getDrawerOpenMode:drawerSide]; + UIViewController *sideDrawerViewController = [self sideDrawerViewControllerForSide:drawerSide]; + + if (openMode == MMDrawerOpenModePushContent) { + CGFloat stretchFactor = MIN(percentVisible, 1.1); + + if (drawerSide == MMDrawerSideLeft) { + transform = CATransform3DMakeScale(stretchFactor, 1.f, 1.f); + transform = CATransform3DTranslate(transform, self.maximumLeftDrawerWidth * (stretchFactor - 1.f) / 2, 0.f, 0.f); + } else if (drawerSide == MMDrawerSideRight) { + transform = CATransform3DMakeScale(stretchFactor, 1.f, 1.f); + transform = CATransform3DTranslate(transform, -self.maximumRightDrawerWidth * (stretchFactor - 1.f) / 2, 0.f, 0.f); + } + + sideDrawerViewController.view.layer.transform = transform; + } + else if (openMode == MMDrawerOpenModeAboveContent) { + if (drawerSide == MMDrawerSideLeft) { + transform = CATransform3DMakeScale(percentVisible, 1.f, 1.f); + transform = CATransform3DTranslate(transform, self.maximumLeftDrawerWidth * (percentVisible - 1.f) / 2, 0.f, 0.f); + } else if (drawerSide == MMDrawerSideRight) { + transform = CATransform3DMakeScale(percentVisible, 1.f, 1.f); + transform = CATransform3DTranslate(transform, -self.maximumRightDrawerWidth * (percentVisible - 1.f) / 2, 0.f, 0.f); + } + + sideDrawerViewController.view.layer.transform = transform; } - sideDrawerViewController.view.layer.transform = transform; } } @@ -1679,4 +2286,18 @@ - (BOOL)isPointContainedWithinRightBezelRect:(CGPoint)point { return (CGRectContainsPoint(rightBezelRect, point) && [self isPointContainedWithinCenterViewContentRect:point]); } + +- (MMDrawerOpenMode)getDrawerOpenMode:(MMDrawerSide)drawerSide { + return (drawerSide == MMDrawerSideLeft) ? self.leftDrawerOpenMode : self.rightDrawerOpenMode; +} + +- (CGFloat)maximumDrawerWidthForSide:(MMDrawerSide)drawerSide { + return (drawerSide == MMDrawerSideLeft) ? self.maximumLeftDrawerWidth : self.maximumRightDrawerWidth; +} + +// Helper method to calculate animation duration based on distance and velocity +- (NSTimeInterval)animationDurationForDistance:(CGFloat)distance velocity:(CGFloat)velocity { + return MAX(distance / ABS(velocity), MMDrawerMinimumAnimationDuration); +} + @end diff --git a/lib/ios/RNNSideMenuPresenter.m b/lib/ios/RNNSideMenuPresenter.m index 09ec475d8e3..4419ba621da 100644 --- a/lib/ios/RNNSideMenuPresenter.m +++ b/lib/ios/RNNSideMenuPresenter.m @@ -1,5 +1,6 @@ #import "RNNSideMenuPresenter.h" #import "RNNSideMenuController.h" +#import "RNNSideMenuSideOptions.h" @implementation RNNSideMenuPresenter @@ -52,6 +53,20 @@ - (void)applyOptions:(RNNNavigationOptions *)options { [self.sideMenuController.view setBackgroundColor:[withDefault.layout.backgroundColor withDefault:nil]]; + + MMDrawerOpenMode openModeLeft = MMDrawerOpenModePushContent; // Default value + if (withDefault.sideMenu.left.openMode.hasValue) { + NSString *openModeString = withDefault.sideMenu.left.openMode.get; + openModeLeft = MMDrawerOpenModeFromString(openModeString); + } + [self.sideMenuController side:MMDrawerSideLeft openMode:openModeLeft]; + + MMDrawerOpenMode openModeRight = MMDrawerOpenModePushContent; // Default value + if (withDefault.sideMenu.right.openMode.hasValue) { + NSString *openModeString = withDefault.sideMenu.right.openMode.get; + openModeRight = MMDrawerOpenModeFromString(openModeString); + } + [self.sideMenuController side:MMDrawerSideRight openMode:openModeRight]; } - (void)applyOptionsOnInit:(RNNNavigationOptions *)initialOptions { @@ -112,6 +127,18 @@ - (void)mergeOptions:(RNNNavigationOptions *)options options.sideMenu.right.shouldStretchDrawer.get; } + if (options.sideMenu.left.openMode.hasValue) { + NSString *openModeString = options.sideMenu.left.openMode.get; + MMDrawerOpenMode openMode = MMDrawerOpenModeFromString(openModeString); + [self.sideMenuController side:MMDrawerSideLeft openMode:openMode]; + } + + if (options.sideMenu.right.openMode.hasValue) { + NSString *openModeString = options.sideMenu.right.openMode.get; + MMDrawerOpenMode openMode = MMDrawerOpenModeFromString(openModeString); + [self.sideMenuController side:MMDrawerSideRight openMode:openMode]; + } + if (options.sideMenu.left.animationVelocity.hasValue) { self.sideMenuController.animationVelocityLeft = options.sideMenu.left.animationVelocity.get; } diff --git a/lib/ios/RNNSideMenuSideOptions.h b/lib/ios/RNNSideMenuSideOptions.h index c19512939d9..8024b7c62bf 100644 --- a/lib/ios/RNNSideMenuSideOptions.h +++ b/lib/ios/RNNSideMenuSideOptions.h @@ -8,5 +8,11 @@ @property(nonatomic, strong) Double *width; @property(nonatomic, strong) Bool *shouldStretchDrawer; @property(nonatomic, strong) Double *animationVelocity; +@property (nonatomic, strong) Text *openMode; +/** + * Converts a string open mode to the equivalent MMDrawerOpenMode enum value + */ + MMDrawerOpenMode MMDrawerOpenModeFromString(NSString *openModeString); + @end diff --git a/lib/ios/RNNSideMenuSideOptions.m b/lib/ios/RNNSideMenuSideOptions.m index 1f21afdd8d0..1fe33c18ecd 100644 --- a/lib/ios/RNNSideMenuSideOptions.m +++ b/lib/ios/RNNSideMenuSideOptions.m @@ -10,7 +10,7 @@ - (instancetype)initWithDict:(NSDictionary *)dict { self.width = [DoubleParser parse:dict key:@"width"]; self.shouldStretchDrawer = [BoolParser parse:dict key:@"shouldStretchDrawer"]; self.animationVelocity = [DoubleParser parse:dict key:@"animationVelocity"]; - + self.openMode = [TextParser parse:dict key:@"openMode"]; return self; } @@ -25,6 +25,18 @@ - (void)mergeOptions:(RNNSideMenuSideOptions *)options { self.shouldStretchDrawer = options.shouldStretchDrawer; if (options.animationVelocity.hasValue) self.animationVelocity = options.animationVelocity; + if (options.openMode.hasValue) + self.openMode = options.openMode; +} + +/** + Converts a string open mode to the equivalent MMDrawerOpenMode enum value + */ +MMDrawerOpenMode MMDrawerOpenModeFromString(NSString *openModeString) { + if ([openModeString isEqualToString:@"aboveContent"]) { + return MMDrawerOpenModeAboveContent; + } + return MMDrawerOpenModePushContent; } @end diff --git a/lib/src/interfaces/Options.ts b/lib/src/interfaces/Options.ts index f0923edfb81..5346587bcd0 100644 --- a/lib/src/interfaces/Options.ts +++ b/lib/src/interfaces/Options.ts @@ -1078,10 +1078,19 @@ export interface SideMenuSide { height?: number; /** * Stretch sideMenu contents when opened past the width + * + * **Not applicable when `openMode` is `aboveContent`** + * * #### (iOS specific) * @default true */ shouldStretchDrawer?: boolean; + /** + * Configure the opening mode of the side menu + * #### (iOS specific) + * @default 'pushContent' + */ + openMode?: 'pushContent' | 'aboveContent'; } export interface OptionsSideMenu { diff --git a/package-lock.json b/package-lock.json index 7aa3614f786..ed0e47d12bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23907,4 +23907,4 @@ } } } -} +} \ No newline at end of file diff --git a/playground/ios/NavigationTests/RNNSideMenuPresenterTest.m b/playground/ios/NavigationTests/RNNSideMenuPresenterTest.m index efa47948183..83817d1cd55 100644 --- a/playground/ios/NavigationTests/RNNSideMenuPresenterTest.m +++ b/playground/ios/NavigationTests/RNNSideMenuPresenterTest.m @@ -47,6 +47,8 @@ - (void)testApplyOptionsShouldSetDefaultValues { [[self.boundViewController expect] side:MMDrawerSideRight enabled:YES]; [[self.boundViewController expect] setShouldStretchLeftDrawer:YES]; [[self.boundViewController expect] setShouldStretchRightDrawer:YES]; + [[self.boundViewController expect] side:MMDrawerSideLeft openMode:MMDrawerOpenModePushContent]; + [[self.boundViewController expect] side:MMDrawerSideRight openMode:MMDrawerOpenModePushContent]; [[self.boundViewController expect] setAnimationVelocityLeft:840.0f]; [[self.boundViewController expect] setAnimationVelocityRight:840.0f]; [[self.boundViewController reject] side:MMDrawerSideLeft width:0]; @@ -63,6 +65,8 @@ - (void)testApplyOptionsShouldSetInitialValues { self.options.sideMenu.right.enabled = [[Bool alloc] initWithBOOL:NO]; self.options.sideMenu.left.shouldStretchDrawer = [[Bool alloc] initWithBOOL:NO]; self.options.sideMenu.right.shouldStretchDrawer = [[Bool alloc] initWithBOOL:NO]; + self.options.sideMenu.left.openMode = [[Text alloc] initWithValue:@"aboveContent"]; + self.options.sideMenu.right.openMode = [[Text alloc] initWithValue:@"aboveContent"]; self.options.sideMenu.right.animationVelocity = [[Double alloc] initWithValue:@(100.0f)]; self.options.sideMenu.left.animationVelocity = [[Double alloc] initWithValue:@(100.0f)]; @@ -70,6 +74,8 @@ - (void)testApplyOptionsShouldSetInitialValues { [[self.boundViewController expect] side:MMDrawerSideRight enabled:NO]; [[self.boundViewController expect] setShouldStretchLeftDrawer:NO]; [[self.boundViewController expect] setShouldStretchRightDrawer:NO]; + [[self.boundViewController expect] side:MMDrawerSideLeft openMode:MMDrawerOpenModeAboveContent]; + [[self.boundViewController expect] side:MMDrawerSideRight openMode:MMDrawerOpenModeAboveContent]; [[self.boundViewController expect] setAnimationVelocityLeft:100.0f]; [[self.boundViewController expect] setAnimationVelocityRight:100.0f]; diff --git a/playground/src/screens/SetRootScreen.tsx b/playground/src/screens/SetRootScreen.tsx index 43bfbe6aa3d..c9690c806f8 100644 --- a/playground/src/screens/SetRootScreen.tsx +++ b/playground/src/screens/SetRootScreen.tsx @@ -17,6 +17,7 @@ const { SET_ROOT_WITH_TWO_CHILDREN_HIDES_BOTTOM_TABS_BTN, SET_ROOT_WITHOUT_STACK_HIDES_BOTTOM_TABS_BTN, SET_ROOT_WITH_BUTTONS, + SET_ROOT_WITH_MENUS, ROUND_BUTTON, } = testIDs; @@ -86,6 +87,11 @@ export default class SetRootScreen extends React.Component { testID={SET_ROOT_WITH_BUTTONS} onPress={this.setRootWithButtons} /> +