@razorpay/blade 10.5.0 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18777,6 +18777,7 @@ function _objectSpread$13(target) { for (var i = 1; i < arguments.length; i++) {
18777
18777
  var Indicators = function Indicators(props) {
18778
18778
  var _useCarouselContext = useCarouselContext(),
18779
18779
  carouselId = _useCarouselContext.carouselId,
18780
+ isResponsive = _useCarouselContext.isResponsive,
18780
18781
  visibleItems = _useCarouselContext.visibleItems;
18781
18782
  return /*#__PURE__*/jsx(BaseBox, _objectSpread$13(_objectSpread$13({
18782
18783
  display: "flex",
@@ -18787,7 +18788,6 @@ var Indicators = function Indicators(props) {
18787
18788
  label: 'Slides'
18788
18789
  })), {}, {
18789
18790
  children: new Array(props.totalItems).fill(0).map(function (_, idx) {
18790
- var isResponsive = visibleItems === 'autofit';
18791
18791
  var _visibleItems = visibleItems;
18792
18792
  if (isResponsive) {
18793
18793
  _visibleItems = 1;
@@ -18948,6 +18948,28 @@ var getCarouselItemId = function getCarouselItemId(containerId, index) {
18948
18948
 
18949
18949
  var CAROUSEL_AUTOPLAY_INTERVAL = 6000;
18950
18950
 
18951
+ /**
18952
+ * Hook to run an effect on dependencies change after the component has *mounted*.
18953
+ * Core difference from `useEffect` is this will trigger effects after the very first render.
18954
+ *
18955
+ * @param effectCallback `useEffect` callback
18956
+ * @param dependencies `useEffect` dependencies
18957
+ */
18958
+ var useDidUpdate = function useDidUpdate(effectCallback, dependencies) {
18959
+ var isMounted = useRef(false);
18960
+ useEffect(function () {
18961
+ if (isMounted.current) {
18962
+ // run normally after the very first render / mount
18963
+ return effectCallback();
18964
+ }
18965
+ isMounted.current = true;
18966
+ return undefined;
18967
+
18968
+ // we don't want to rerun every time effectCallback changes
18969
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18970
+ }, dependencies);
18971
+ };
18972
+
18951
18973
  function ownKeys$11(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18952
18974
  function _objectSpread$10(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$11(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$11(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18953
18975
  var Controls = function Controls(_ref) {
@@ -19023,7 +19045,6 @@ var CarouselContainer = /*#__PURE__*/styled(BaseBox).withConfig({
19023
19045
  flexWrap: 'nowrap',
19024
19046
  scrollSnapType: 'x mandatory',
19025
19047
  scrollSnapPointsY: "repeat(100%)",
19026
- scrollBehavior: 'smooth',
19027
19048
  msOverflowStyle: 'none' /* IE and Edge */,
19028
19049
  scrollbarWidth: 'none' /* Firefox */,
19029
19050
 
@@ -19244,6 +19265,8 @@ var Carousel = function Carousel(_ref4) {
19244
19265
 
19245
19266
  // Sync the indicators with scroll
19246
19267
  React__default.useEffect(function () {
19268
+ // do not sync indicators on desktop, we are already in sync because we can only use the next/prev buttons
19269
+ if (!isMobile) return;
19247
19270
  var carouselContainer = containerRef.current;
19248
19271
  if (!carouselContainer) return;
19249
19272
  var handleScroll = debounce_1(function () {
@@ -19272,7 +19295,7 @@ var Carousel = function Carousel(_ref4) {
19272
19295
  return function () {
19273
19296
  carouselContainer === null || carouselContainer === void 0 ? void 0 : carouselContainer.removeEventListener('scroll', handleScroll);
19274
19297
  };
19275
- }, [_visibleItems, isResponsive, shouldAddStartEndSpacing]);
19298
+ }, [_visibleItems, isMobile, isResponsive, shouldAddStartEndSpacing]);
19276
19299
 
19277
19300
  // auto play
19278
19301
  useInterval(function () {
@@ -19284,7 +19307,8 @@ var Carousel = function Carousel(_ref4) {
19284
19307
  });
19285
19308
  var carouselContext = React__default.useMemo(function () {
19286
19309
  return {
19287
- visibleItems: visibleItems,
19310
+ isResponsive: isResponsive,
19311
+ visibleItems: _visibleItems,
19288
19312
  carouselItemWidth: carouselItemWidth,
19289
19313
  carouselContainerRef: containerRef,
19290
19314
  setActiveIndicator: setActiveIndicator,
@@ -19294,8 +19318,8 @@ var Carousel = function Carousel(_ref4) {
19294
19318
  startEndMargin: startEndMargin,
19295
19319
  shouldAddStartEndSpacing: shouldAddStartEndSpacing
19296
19320
  };
19297
- }, [id, startEndMargin, visibleItems, carouselItemWidth, totalNumberOfSlides, activeSlide, shouldAddStartEndSpacing]);
19298
- React__default.useEffect(function () {
19321
+ }, [id, startEndMargin, isResponsive, _visibleItems, carouselItemWidth, totalNumberOfSlides, activeSlide, shouldAddStartEndSpacing]);
19322
+ useDidUpdate(function () {
19299
19323
  onChange === null || onChange === void 0 ? void 0 : onChange(activeSlide);
19300
19324
  }, [activeSlide, onChange]);
19301
19325
  return /*#__PURE__*/jsx(CarouselContext.Provider, {
@@ -19398,6 +19422,7 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
19398
19422
  componentId: "sc-56ppo3-0"
19399
19423
  })(function (_ref) {
19400
19424
  var visibleItems = _ref.visibleItems,
19425
+ isResponsive = _ref.isResponsive,
19401
19426
  shouldAddStartEndSpacing = _ref.shouldAddStartEndSpacing,
19402
19427
  shouldHaveStartSpacing = _ref.shouldHaveStartSpacing,
19403
19428
  shouldHaveEndSpacing = _ref.shouldHaveEndSpacing,
@@ -19407,7 +19432,6 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
19407
19432
  }),
19408
19433
  matchedDeviceType = _useBreakpoint.matchedDeviceType;
19409
19434
  var isMobile = matchedDeviceType === 'mobile';
19410
- var isResponsive = visibleItems === 'autofit';
19411
19435
  var gap = isMobile ? theme.spacing[4] : theme.spacing[5];
19412
19436
  var calculatedWidth = "calc(100% / ".concat(visibleItems, " - ").concat(gap, "px * (").concat(visibleItems, " - 1) / ").concat(visibleItems, ")");
19413
19437
  return _objectSpread$$({
@@ -19433,6 +19457,7 @@ var CarouselItem = function CarouselItem(_ref2) {
19433
19457
  var _useCarouselContext = useCarouselContext(),
19434
19458
  totalNumberOfSlides = _useCarouselContext.totalNumberOfSlides,
19435
19459
  visibleItems = _useCarouselContext.visibleItems,
19460
+ isResponsive = _useCarouselContext.isResponsive,
19436
19461
  carouselItemWidth = _useCarouselContext.carouselItemWidth,
19437
19462
  shouldAddStartEndSpacing = _useCarouselContext.shouldAddStartEndSpacing;
19438
19463
  var _useTheme = useTheme(),
@@ -19447,6 +19472,7 @@ var CarouselItem = function CarouselItem(_ref2) {
19447
19472
  id: id,
19448
19473
  isMobile: isMobile,
19449
19474
  "data-slide-index": index,
19475
+ isResponsive: isResponsive,
19450
19476
  visibleItems: visibleItems,
19451
19477
  maxWidth: carouselItemWidth,
19452
19478
  shouldAddStartEndSpacing: shouldAddStartEndSpacing,
@@ -29151,28 +29177,6 @@ var CollapsibleButton = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/forw
29151
29177
  componentId: MetaConstants.CollapsibleButton
29152
29178
  });
29153
29179
 
29154
- /**
29155
- * Hook to run an effect on dependencies change after the component has *mounted*.
29156
- * Core difference from `useEffect` is this will trigger effects after the very first render.
29157
- *
29158
- * @param effectCallback `useEffect` callback
29159
- * @param dependencies `useEffect` dependencies
29160
- */
29161
- var useDidUpdate = function useDidUpdate(effectCallback, dependencies) {
29162
- var isMounted = useRef(false);
29163
- useEffect(function () {
29164
- if (isMounted.current) {
29165
- // run normally after the very first render / mount
29166
- return effectCallback();
29167
- }
29168
- isMounted.current = true;
29169
- return undefined;
29170
-
29171
- // we don't want to rerun every time effectCallback changes
29172
- // eslint-disable-next-line react-hooks/exhaustive-deps
29173
- }, dependencies);
29174
- };
29175
-
29176
29180
  function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29177
29181
  function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29178
29182
  /**