@razorpay/blade 10.19.0 → 10.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/index.development.web.js +44 -16
- package/build/components/index.development.web.js.map +1 -1
- package/build/components/index.production.web.js +44 -16
- package/build/components/index.production.web.js.map +1 -1
- package/build/css/bankingThemeDarkDesktop.css +1 -1
- package/build/css/bankingThemeDarkMobile.css +1 -1
- package/build/css/bankingThemeLightDesktop.css +1 -1
- package/build/css/bankingThemeLightMobile.css +1 -1
- package/build/css/paymentThemeDarkDesktop.css +1 -1
- package/build/css/paymentThemeDarkMobile.css +1 -1
- package/build/css/paymentThemeLightDesktop.css +1 -1
- package/build/css/paymentThemeLightMobile.css +1 -1
- package/package.json +1 -1
|
@@ -38068,9 +38068,8 @@ var TourPopover = function TourPopover(_ref) {
|
|
|
38068
38068
|
var click = useClick(context, {
|
|
38069
38069
|
enabled: !isControlled
|
|
38070
38070
|
});
|
|
38071
|
-
var dismiss = useDismiss(context);
|
|
38072
38071
|
var role = useRole(context);
|
|
38073
|
-
var _useInteractions = useInteractions([click,
|
|
38072
|
+
var _useInteractions = useInteractions([click, role]),
|
|
38074
38073
|
getFloatingProps = _useInteractions.getFloatingProps;
|
|
38075
38074
|
var contextValue = React__default.useMemo(function () {
|
|
38076
38075
|
return {
|
|
@@ -38146,17 +38145,21 @@ function useDelayedState(initialState, delay) {
|
|
|
38146
38145
|
var _React$useState = React__default.useState(initialState),
|
|
38147
38146
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
38148
38147
|
delayedState = _React$useState2[0],
|
|
38149
|
-
|
|
38148
|
+
_setDelayedState = _React$useState2[1];
|
|
38150
38149
|
var timeoutRef = React__default.useRef(undefined);
|
|
38151
38150
|
React__default.useEffect(function () {
|
|
38152
38151
|
timeoutRef.current = window.setTimeout(function () {
|
|
38153
|
-
|
|
38152
|
+
_setDelayedState(initialState);
|
|
38154
38153
|
}, delay);
|
|
38155
38154
|
return function () {
|
|
38156
38155
|
window.clearTimeout(timeoutRef.current);
|
|
38157
38156
|
};
|
|
38158
38157
|
}, [delay, initialState]);
|
|
38159
|
-
|
|
38158
|
+
var setDelayedState = React__default.useCallback(function (newState) {
|
|
38159
|
+
_setDelayedState(newState);
|
|
38160
|
+
window.clearTimeout(timeoutRef.current);
|
|
38161
|
+
}, []);
|
|
38162
|
+
return [delayedState, setDelayedState];
|
|
38160
38163
|
}
|
|
38161
38164
|
|
|
38162
38165
|
/**
|
|
@@ -38428,10 +38431,19 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38428
38431
|
setSize = _useState4[1];
|
|
38429
38432
|
|
|
38430
38433
|
// delayed state is used to let the transition finish before reacting to the state changes
|
|
38431
|
-
var
|
|
38432
|
-
|
|
38434
|
+
var _useDelayedState = useDelayedState(activeStep, transitionDelay),
|
|
38435
|
+
_useDelayedState2 = _slicedToArray(_useDelayedState, 1),
|
|
38436
|
+
delayedActiveStep = _useDelayedState2[0];
|
|
38437
|
+
var _useDelayedState3 = useDelayedState(size, transitionDelay),
|
|
38438
|
+
_useDelayedState4 = _slicedToArray(_useDelayedState3, 2),
|
|
38439
|
+
delayedSize = _useDelayedState4[0],
|
|
38440
|
+
setDelayedSize = _useDelayedState4[1];
|
|
38433
38441
|
// keep track of when we are transitioning between steps
|
|
38434
38442
|
var isTransitioning = useIsTransitioningBetweenSteps(activeStep, transitionDelay);
|
|
38443
|
+
var _useState5 = useState(false),
|
|
38444
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38445
|
+
isScrolling = _useState6[0],
|
|
38446
|
+
setIsScrolling = _useState6[1];
|
|
38435
38447
|
var currentStepRef = refIdMap.get((_steps$activeStep = steps[activeStep]) === null || _steps$activeStep === void 0 ? void 0 : _steps$activeStep.name);
|
|
38436
38448
|
var intersection = useIntersectionObserver(currentStepRef, {
|
|
38437
38449
|
threshold: 0.5
|
|
@@ -38478,6 +38490,7 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38478
38490
|
}, []);
|
|
38479
38491
|
var updateMaskSize = useCallback(function () {
|
|
38480
38492
|
var _steps$activeStep2;
|
|
38493
|
+
var shouldSkipDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
38481
38494
|
var ref = refIdMap.get((_steps$activeStep2 = steps[activeStep]) === null || _steps$activeStep2 === void 0 ? void 0 : _steps$activeStep2.name);
|
|
38482
38495
|
if (!(ref !== null && ref !== void 0 && ref.current)) return;
|
|
38483
38496
|
var rect = ref.current.getBoundingClientRect();
|
|
@@ -38487,7 +38500,15 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38487
38500
|
width: rect.width,
|
|
38488
38501
|
height: rect.height
|
|
38489
38502
|
});
|
|
38490
|
-
|
|
38503
|
+
if (shouldSkipDelay) {
|
|
38504
|
+
setDelayedSize({
|
|
38505
|
+
x: rect.x,
|
|
38506
|
+
y: rect.y,
|
|
38507
|
+
width: rect.width,
|
|
38508
|
+
height: rect.height
|
|
38509
|
+
});
|
|
38510
|
+
}
|
|
38511
|
+
}, [activeStep, refIdMap, setDelayedSize, steps]);
|
|
38491
38512
|
var scrollToStep = useCallback(function () {
|
|
38492
38513
|
var _steps$delayedActiveS;
|
|
38493
38514
|
var ref = refIdMap.get((_steps$delayedActiveS = steps[delayedActiveStep]) === null || _steps$delayedActiveS === void 0 ? void 0 : _steps$delayedActiveS.name);
|
|
@@ -38495,36 +38516,42 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38495
38516
|
|
|
38496
38517
|
// If the element is already in view, don't scroll
|
|
38497
38518
|
if (intersection !== null && intersection !== void 0 && intersection.isIntersecting) return;
|
|
38519
|
+
setIsScrolling(true);
|
|
38498
38520
|
smoothScroll(ref.current, {
|
|
38499
38521
|
behavior: 'smooth',
|
|
38500
38522
|
block: 'center',
|
|
38501
38523
|
inline: 'center'
|
|
38502
38524
|
}).then(function () {
|
|
38503
|
-
|
|
38525
|
+
// wait for the scroll to finish before updating the mask size
|
|
38526
|
+
// We also don't want to delay the size update since its already delayed by the scroll
|
|
38527
|
+
updateMaskSize(true);
|
|
38504
38528
|
})["finally"](function () {
|
|
38505
|
-
|
|
38529
|
+
setIsScrolling(false);
|
|
38506
38530
|
});
|
|
38507
38531
|
}, [delayedActiveStep, refIdMap, steps, updateMaskSize, intersection === null || intersection === void 0 ? void 0 : intersection.isIntersecting]);
|
|
38508
38532
|
|
|
38509
38533
|
// Update the size of the mask when the active step changes
|
|
38510
38534
|
useIsomorphicLayoutEffect(function () {
|
|
38511
38535
|
updateMaskSize();
|
|
38512
|
-
}, [
|
|
38536
|
+
}, [activeStep, updateMaskSize]);
|
|
38513
38537
|
|
|
38514
38538
|
// Scroll into view when the active step changes
|
|
38515
38539
|
useIsomorphicLayoutEffect(function () {
|
|
38540
|
+
// We need to wait for the transition to finish before scrolling
|
|
38541
|
+
// Otherwise the browser sometimes interrupts the scroll
|
|
38542
|
+
var scrollDelay = 100;
|
|
38516
38543
|
setTimeout(function () {
|
|
38517
38544
|
if (!isOpen) return;
|
|
38518
38545
|
if (isTransitioning) return;
|
|
38519
38546
|
scrollToStep();
|
|
38520
|
-
},
|
|
38547
|
+
}, scrollDelay);
|
|
38521
38548
|
}, [isOpen, scrollToStep, isTransitioning]);
|
|
38522
|
-
useLockBodyScroll(isOpen);
|
|
38523
38549
|
|
|
38524
38550
|
// reset the mask size when the tour is closed
|
|
38525
|
-
|
|
38551
|
+
useIsomorphicLayoutEffect(function () {
|
|
38526
38552
|
if (isOpen) {
|
|
38527
|
-
|
|
38553
|
+
// on initial mount, we don't want to delay the size update
|
|
38554
|
+
updateMaskSize(true);
|
|
38528
38555
|
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange({
|
|
38529
38556
|
isOpen: isOpen
|
|
38530
38557
|
});
|
|
@@ -38539,6 +38566,7 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38539
38566
|
}
|
|
38540
38567
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38541
38568
|
}, [isOpen]);
|
|
38569
|
+
useLockBodyScroll(isOpen);
|
|
38542
38570
|
var contextValue = useMemo(function () {
|
|
38543
38571
|
return {
|
|
38544
38572
|
attachStep: attachStep,
|
|
@@ -38549,7 +38577,7 @@ var SpotlightPopoverTour = function SpotlightPopoverTour(_ref) {
|
|
|
38549
38577
|
value: contextValue,
|
|
38550
38578
|
children: [/*#__PURE__*/jsx$1(FloatingPortal, {
|
|
38551
38579
|
children: isOpen ? /*#__PURE__*/jsx$1(SpotlightPopoverTourMask, {
|
|
38552
|
-
isTransitioning: isTransitioning,
|
|
38580
|
+
isTransitioning: isTransitioning || isScrolling,
|
|
38553
38581
|
padding: theme.spacing[4],
|
|
38554
38582
|
size: delayedSize
|
|
38555
38583
|
}) : null
|