@razorpay/blade 10.5.0 → 10.7.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.
@@ -5808,8 +5808,10 @@ var iconSize$1 = {
5808
5808
  '2xlarge': size[32]
5809
5809
  };
5810
5810
  function useIconProps(_ref) {
5811
- var size = _ref.size,
5812
- color = _ref.color;
5811
+ var _ref$size = _ref.size,
5812
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
5813
+ _ref$color = _ref.color,
5814
+ color = _ref$color === void 0 ? 'surface.text.normal.lowContrast' : _ref$color;
5813
5815
  var _useTheme = useTheme(),
5814
5816
  theme = _useTheme.theme;
5815
5817
  var height = makeSize(iconSize$1[size]);
@@ -18453,6 +18455,7 @@ function _objectSpread$13(target) { for (var i = 1; i < arguments.length; i++) {
18453
18455
  var Indicators = function Indicators(props) {
18454
18456
  var _useCarouselContext = useCarouselContext(),
18455
18457
  carouselId = _useCarouselContext.carouselId,
18458
+ isResponsive = _useCarouselContext.isResponsive,
18456
18459
  visibleItems = _useCarouselContext.visibleItems;
18457
18460
  return /*#__PURE__*/jsx(BaseBox, _objectSpread$13(_objectSpread$13({
18458
18461
  display: "flex",
@@ -18463,7 +18466,6 @@ var Indicators = function Indicators(props) {
18463
18466
  label: 'Slides'
18464
18467
  })), {}, {
18465
18468
  children: new Array(props.totalItems).fill(0).map(function (_, idx) {
18466
- var isResponsive = visibleItems === 'autofit';
18467
18469
  var _visibleItems = visibleItems;
18468
18470
  if (isResponsive) {
18469
18471
  _visibleItems = 1;
@@ -18624,6 +18626,28 @@ var getCarouselItemId = function getCarouselItemId(containerId, index) {
18624
18626
 
18625
18627
  var CAROUSEL_AUTOPLAY_INTERVAL = 6000;
18626
18628
 
18629
+ /**
18630
+ * Hook to run an effect on dependencies change after the component has *mounted*.
18631
+ * Core difference from `useEffect` is this will trigger effects after the very first render.
18632
+ *
18633
+ * @param effectCallback `useEffect` callback
18634
+ * @param dependencies `useEffect` dependencies
18635
+ */
18636
+ var useDidUpdate = function useDidUpdate(effectCallback, dependencies) {
18637
+ var isMounted = useRef(false);
18638
+ useEffect(function () {
18639
+ if (isMounted.current) {
18640
+ // run normally after the very first render / mount
18641
+ return effectCallback();
18642
+ }
18643
+ isMounted.current = true;
18644
+ return undefined;
18645
+
18646
+ // we don't want to rerun every time effectCallback changes
18647
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18648
+ }, dependencies);
18649
+ };
18650
+
18627
18651
  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; }
18628
18652
  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; }
18629
18653
  var Controls = function Controls(_ref) {
@@ -18699,7 +18723,6 @@ var CarouselContainer = /*#__PURE__*/styled(BaseBox).withConfig({
18699
18723
  flexWrap: 'nowrap',
18700
18724
  scrollSnapType: 'x mandatory',
18701
18725
  scrollSnapPointsY: "repeat(100%)",
18702
- scrollBehavior: 'smooth',
18703
18726
  msOverflowStyle: 'none' /* IE and Edge */,
18704
18727
  scrollbarWidth: 'none' /* Firefox */,
18705
18728
 
@@ -18920,6 +18943,8 @@ var Carousel = function Carousel(_ref4) {
18920
18943
 
18921
18944
  // Sync the indicators with scroll
18922
18945
  React__default.useEffect(function () {
18946
+ // do not sync indicators on desktop, we are already in sync because we can only use the next/prev buttons
18947
+ if (!isMobile) return;
18923
18948
  var carouselContainer = containerRef.current;
18924
18949
  if (!carouselContainer) return;
18925
18950
  var handleScroll = debounce_1(function () {
@@ -18948,7 +18973,7 @@ var Carousel = function Carousel(_ref4) {
18948
18973
  return function () {
18949
18974
  carouselContainer === null || carouselContainer === void 0 ? void 0 : carouselContainer.removeEventListener('scroll', handleScroll);
18950
18975
  };
18951
- }, [_visibleItems, isResponsive, shouldAddStartEndSpacing]);
18976
+ }, [_visibleItems, isMobile, isResponsive, shouldAddStartEndSpacing]);
18952
18977
 
18953
18978
  // auto play
18954
18979
  useInterval(function () {
@@ -18960,7 +18985,8 @@ var Carousel = function Carousel(_ref4) {
18960
18985
  });
18961
18986
  var carouselContext = React__default.useMemo(function () {
18962
18987
  return {
18963
- visibleItems: visibleItems,
18988
+ isResponsive: isResponsive,
18989
+ visibleItems: _visibleItems,
18964
18990
  carouselItemWidth: carouselItemWidth,
18965
18991
  carouselContainerRef: containerRef,
18966
18992
  setActiveIndicator: setActiveIndicator,
@@ -18970,8 +18996,8 @@ var Carousel = function Carousel(_ref4) {
18970
18996
  startEndMargin: startEndMargin,
18971
18997
  shouldAddStartEndSpacing: shouldAddStartEndSpacing
18972
18998
  };
18973
- }, [id, startEndMargin, visibleItems, carouselItemWidth, totalNumberOfSlides, activeSlide, shouldAddStartEndSpacing]);
18974
- React__default.useEffect(function () {
18999
+ }, [id, startEndMargin, isResponsive, _visibleItems, carouselItemWidth, totalNumberOfSlides, activeSlide, shouldAddStartEndSpacing]);
19000
+ useDidUpdate(function () {
18975
19001
  onChange === null || onChange === void 0 ? void 0 : onChange(activeSlide);
18976
19002
  }, [activeSlide, onChange]);
18977
19003
  return /*#__PURE__*/jsx(CarouselContext.Provider, {
@@ -19074,6 +19100,7 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
19074
19100
  componentId: "sc-56ppo3-0"
19075
19101
  })(function (_ref) {
19076
19102
  var visibleItems = _ref.visibleItems,
19103
+ isResponsive = _ref.isResponsive,
19077
19104
  shouldAddStartEndSpacing = _ref.shouldAddStartEndSpacing,
19078
19105
  shouldHaveStartSpacing = _ref.shouldHaveStartSpacing,
19079
19106
  shouldHaveEndSpacing = _ref.shouldHaveEndSpacing,
@@ -19083,7 +19110,6 @@ var StyledCarouselItem = /*#__PURE__*/styled(BaseBox).withConfig({
19083
19110
  }),
19084
19111
  matchedDeviceType = _useBreakpoint.matchedDeviceType;
19085
19112
  var isMobile = matchedDeviceType === 'mobile';
19086
- var isResponsive = visibleItems === 'autofit';
19087
19113
  var gap = isMobile ? theme.spacing[4] : theme.spacing[5];
19088
19114
  var calculatedWidth = "calc(100% / ".concat(visibleItems, " - ").concat(gap, "px * (").concat(visibleItems, " - 1) / ").concat(visibleItems, ")");
19089
19115
  return _objectSpread$$({
@@ -19109,6 +19135,7 @@ var CarouselItem = function CarouselItem(_ref2) {
19109
19135
  var _useCarouselContext = useCarouselContext(),
19110
19136
  totalNumberOfSlides = _useCarouselContext.totalNumberOfSlides,
19111
19137
  visibleItems = _useCarouselContext.visibleItems,
19138
+ isResponsive = _useCarouselContext.isResponsive,
19112
19139
  carouselItemWidth = _useCarouselContext.carouselItemWidth,
19113
19140
  shouldAddStartEndSpacing = _useCarouselContext.shouldAddStartEndSpacing;
19114
19141
  var _useTheme = useTheme(),
@@ -19123,6 +19150,7 @@ var CarouselItem = function CarouselItem(_ref2) {
19123
19150
  id: id,
19124
19151
  isMobile: isMobile,
19125
19152
  "data-slide-index": index,
19153
+ isResponsive: isResponsive,
19126
19154
  visibleItems: visibleItems,
19127
19155
  maxWidth: carouselItemWidth,
19128
19156
  shouldAddStartEndSpacing: shouldAddStartEndSpacing,
@@ -28655,28 +28683,6 @@ var CollapsibleButton = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/forw
28655
28683
  componentId: MetaConstants.CollapsibleButton
28656
28684
  });
28657
28685
 
28658
- /**
28659
- * Hook to run an effect on dependencies change after the component has *mounted*.
28660
- * Core difference from `useEffect` is this will trigger effects after the very first render.
28661
- *
28662
- * @param effectCallback `useEffect` callback
28663
- * @param dependencies `useEffect` dependencies
28664
- */
28665
- var useDidUpdate = function useDidUpdate(effectCallback, dependencies) {
28666
- var isMounted = useRef(false);
28667
- useEffect(function () {
28668
- if (isMounted.current) {
28669
- // run normally after the very first render / mount
28670
- return effectCallback();
28671
- }
28672
- isMounted.current = true;
28673
- return undefined;
28674
-
28675
- // we don't want to rerun every time effectCallback changes
28676
- // eslint-disable-next-line react-hooks/exhaustive-deps
28677
- }, dependencies);
28678
- };
28679
-
28680
28686
  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; }
28681
28687
  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; }
28682
28688
  /**