@telefonica/mistica 12.7.0 → 12.8.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.
@@ -20,6 +20,7 @@ declare type CarouselProps = {
20
20
  itemClassName?: string;
21
21
  withBullets?: boolean;
22
22
  renderBullets?: (bulletsProps: PageBulletsProps) => React.ReactNode;
23
+ initialActiveItem?: number;
23
24
  itemsPerPage?: ItemsPerPageProp;
24
25
  /** scrolls one page by default */
25
26
  itemsToScroll?: number;
@@ -45,6 +46,7 @@ declare type CenteredCarouselProps = {
45
46
  itemClassName?: string;
46
47
  withBullets?: boolean;
47
48
  renderBullets?: (bulletsProps: PageBulletsProps) => React.ReactNode;
49
+ initialActiveItem?: number;
48
50
  onPageChange?: (newPageInfo: {
49
51
  pageIndex: number;
50
52
  shownItemIndexes: Array<number>;
package/dist/carousel.js CHANGED
@@ -420,7 +420,7 @@ var calcCurrentPageIndex = function calcCurrentPageIndex(scrollPosition, pagesSc
420
420
  };
421
421
  var DEFAULT_AUTOPLAY_TIME = 5000;
422
422
  var BaseCarousel = function BaseCarousel(param) {
423
- var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
423
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, initialActiveItem = param.initialActiveItem, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
424
424
  var texts = (0, _hooks).useTheme().texts;
425
425
  var containerType = (0, _containerTypeContext).useContainerType();
426
426
  var itemsPerPageConfig = normalizeItemsPerPage(itemsPerPage);
@@ -445,7 +445,12 @@ var BaseCarousel = function BaseCarousel(param) {
445
445
  scrollRight: 0
446
446
  }), 2), ref2 = ref1[0], scrollLeft1 = ref2.scrollLeft, scrollRight1 = ref2.scrollRight, setScroll = ref1[1];
447
447
  var ref3 = _slicedToArray(React.useState([]), 2), itemScrollPositions = ref3[0], setItemScrollPositions = ref3[1];
448
- var pagesScrollPositions = calcPagesScrollPositions(itemScrollPositions, pagesCount);
448
+ var pagesScrollPositions = React.useMemo(function() {
449
+ return calcPagesScrollPositions(itemScrollPositions, pagesCount);
450
+ }, [
451
+ itemScrollPositions,
452
+ pagesCount
453
+ ]);
449
454
  var scrollPositions = itemsToScroll ? calcPagesScrollPositions(itemScrollPositions, Math.ceil(items.length / itemsToScroll)) : pagesScrollPositions;
450
455
  var showNextArrow = scrollRight1 !== 0;
451
456
  var showPrevArrow = scrollLeft1 !== 0;
@@ -553,6 +558,15 @@ var BaseCarousel = function BaseCarousel(param) {
553
558
  scrollPositions
554
559
  ]);
555
560
  var shouldAutoplay = useShouldAutoplay(!!autoplay, carouselRef);
561
+ React.useEffect(function() {
562
+ if (initialActiveItem !== undefined) {
563
+ goToPage(Math.floor(initialActiveItem / itemsPerPageFloor));
564
+ }
565
+ }, [
566
+ initialActiveItem,
567
+ goToPage,
568
+ itemsPerPageFloor
569
+ ]);
556
570
  React.useEffect(function() {
557
571
  if (shouldAutoplay && autoplay) {
558
572
  var time = typeof autoplay === "boolean" ? DEFAULT_AUTOPLAY_TIME : autoplay.time;
@@ -668,7 +682,7 @@ var Carousel = function Carousel(props) {
668
682
  };
669
683
  exports.Carousel = Carousel;
670
684
  var CenteredCarousel = function CenteredCarousel(param) {
671
- var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
685
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, initialActiveItem = param.initialActiveItem, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
672
686
  return /*#__PURE__*/ (0, _jsxRuntime).jsx(BaseCarousel, {
673
687
  items: items,
674
688
  itemStyle: itemStyle,
@@ -683,6 +697,7 @@ var CenteredCarousel = function CenteredCarousel(param) {
683
697
  gap: 0,
684
698
  withBullets: withBullets,
685
699
  renderBullets: renderBullets,
700
+ initialActiveItem: initialActiveItem,
686
701
  onPageChange: onPageChange,
687
702
  dataAttributes: dataAttributes
688
703
  });
@@ -26,6 +26,7 @@ declare type CarouselProps = {
26
26
  itemClassName?: string,
27
27
  withBullets?: boolean,
28
28
  renderBullets?: (bulletsProps: PageBulletsProps) => React.Node,
29
+ initialActiveItem?: number,
29
30
  itemsPerPage?: ItemsPerPageProp,
30
31
  /**
31
32
  * scrolls one page by default
@@ -58,6 +59,7 @@ declare type CenteredCarouselProps = {
58
59
  itemClassName?: string,
59
60
  withBullets?: boolean,
60
61
  renderBullets?: (bulletsProps: PageBulletsProps) => React.Node,
62
+ initialActiveItem?: number,
61
63
  onPageChange?: (newPageInfo: {
62
64
  pageIndex: number,
63
65
  shownItemIndexes: Array<number>,
package/dist/list.d.ts CHANGED
@@ -113,6 +113,7 @@ declare type RowListProps = {
113
113
  children: React.ReactNode;
114
114
  ariaLabelledby?: string;
115
115
  role?: string;
116
+ noLastDivider?: boolean;
116
117
  dataAttributes?: DataAttributes;
117
118
  };
118
119
  export declare const RowList: React.FC<RowListProps>;
package/dist/list.js CHANGED
@@ -564,7 +564,9 @@ var Row = /*#__PURE__*/ React.forwardRef(function(props, ref) {
564
564
  });
565
565
  exports.Row = Row;
566
566
  var RowList = function RowList(param) {
567
- var children = param.children, ariaLabelledby = param.ariaLabelledby, role = param.role, dataAttributes = param.dataAttributes;
567
+ var children = param.children, ariaLabelledby = param.ariaLabelledby, role = param.role, dataAttributes = param.dataAttributes, noLastDivider = param.noLastDivider;
568
+ var lastIndex = React.Children.count(children) - 1;
569
+ var showLastDivider = !noLastDivider;
568
570
  return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", _objectSpread({
569
571
  role: role,
570
572
  "aria-labelledby": ariaLabelledby
@@ -573,7 +575,7 @@ var RowList = function RowList(param) {
573
575
  return /*#__PURE__*/ (0, _jsxRuntime).jsxs(React.Fragment, {
574
576
  children: [
575
577
  child,
576
- /*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
578
+ (index < lastIndex || showLastDivider) && /*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
577
579
  paddingX: 16,
578
580
  children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_divider.default, {})
579
581
  })
package/dist/list.js.flow CHANGED
@@ -82,6 +82,7 @@ declare type RowListProps = {
82
82
  children: React.Node,
83
83
  ariaLabelledby?: string,
84
84
  role?: string,
85
+ noLastDivider?: boolean,
85
86
  dataAttributes?: DataAttributes,
86
87
  };
87
88
  declare export var RowList: React.ComponentType<RowListProps>;
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  exports.PACKAGE_VERSION = void 0;
6
- var PACKAGE_VERSION = "12.7.0";
6
+ var PACKAGE_VERSION = "12.8.0";
7
7
  exports.PACKAGE_VERSION = PACKAGE_VERSION;
@@ -393,7 +393,7 @@ var calcCurrentPageIndex = function(scrollPosition, pagesScrollPositions) {
393
393
  };
394
394
  var DEFAULT_AUTOPLAY_TIME = 5000;
395
395
  var BaseCarousel = function(param) {
396
- var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
396
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, initialActiveItem = param.initialActiveItem, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
397
397
  var texts = useTheme().texts;
398
398
  var containerType = useContainerType();
399
399
  var itemsPerPageConfig = normalizeItemsPerPage(itemsPerPage);
@@ -418,7 +418,12 @@ var BaseCarousel = function(param) {
418
418
  scrollRight: 0
419
419
  }), 2), ref2 = ref1[0], scrollLeft1 = ref2.scrollLeft, scrollRight1 = ref2.scrollRight, setScroll = ref1[1];
420
420
  var ref3 = _slicedToArray(React.useState([]), 2), itemScrollPositions = ref3[0], setItemScrollPositions = ref3[1];
421
- var pagesScrollPositions = calcPagesScrollPositions(itemScrollPositions, pagesCount);
421
+ var pagesScrollPositions = React.useMemo(function() {
422
+ return calcPagesScrollPositions(itemScrollPositions, pagesCount);
423
+ }, [
424
+ itemScrollPositions,
425
+ pagesCount
426
+ ]);
422
427
  var scrollPositions = itemsToScroll ? calcPagesScrollPositions(itemScrollPositions, Math.ceil(items.length / itemsToScroll)) : pagesScrollPositions;
423
428
  var showNextArrow = scrollRight1 !== 0;
424
429
  var showPrevArrow = scrollLeft1 !== 0;
@@ -526,6 +531,15 @@ var BaseCarousel = function(param) {
526
531
  scrollPositions
527
532
  ]);
528
533
  var shouldAutoplay = useShouldAutoplay(!!autoplay, carouselRef);
534
+ React.useEffect(function() {
535
+ if (initialActiveItem !== undefined) {
536
+ goToPage(Math.floor(initialActiveItem / itemsPerPageFloor));
537
+ }
538
+ }, [
539
+ initialActiveItem,
540
+ goToPage,
541
+ itemsPerPageFloor
542
+ ]);
529
543
  React.useEffect(function() {
530
544
  if (shouldAutoplay && autoplay) {
531
545
  var time = typeof autoplay === "boolean" ? DEFAULT_AUTOPLAY_TIME : autoplay.time;
@@ -640,7 +654,7 @@ export var Carousel = function(props) {
640
654
  return /*#__PURE__*/ _jsx(BaseCarousel, _objectSpread({}, props));
641
655
  };
642
656
  export var CenteredCarousel = function(param) {
643
- var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
657
+ var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, initialActiveItem = param.initialActiveItem, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
644
658
  return /*#__PURE__*/ _jsx(BaseCarousel, {
645
659
  items: items,
646
660
  itemStyle: itemStyle,
@@ -655,6 +669,7 @@ export var CenteredCarousel = function(param) {
655
669
  gap: 0,
656
670
  withBullets: withBullets,
657
671
  renderBullets: renderBullets,
672
+ initialActiveItem: initialActiveItem,
658
673
  onPageChange: onPageChange,
659
674
  dataAttributes: dataAttributes
660
675
  });
package/dist-es/list.js CHANGED
@@ -536,7 +536,9 @@ export var Row = /*#__PURE__*/ React.forwardRef(function(props, ref) {
536
536
  }));
537
537
  });
538
538
  export var RowList = function(param) {
539
- var children = param.children, ariaLabelledby = param.ariaLabelledby, role = param.role, dataAttributes = param.dataAttributes;
539
+ var children = param.children, ariaLabelledby = param.ariaLabelledby, role = param.role, dataAttributes = param.dataAttributes, noLastDivider = param.noLastDivider;
540
+ var lastIndex = React.Children.count(children) - 1;
541
+ var showLastDivider = !noLastDivider;
540
542
  return /*#__PURE__*/ _jsx("div", _objectSpread({
541
543
  role: role,
542
544
  "aria-labelledby": ariaLabelledby
@@ -545,7 +547,7 @@ export var RowList = function(param) {
545
547
  return /*#__PURE__*/ _jsxs(React.Fragment, {
546
548
  children: [
547
549
  child,
548
- /*#__PURE__*/ _jsx(Box, {
550
+ (index < lastIndex || showLastDivider) && /*#__PURE__*/ _jsx(Box, {
549
551
  paddingX: 16,
550
552
  children: /*#__PURE__*/ _jsx(Divider, {})
551
553
  })
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export var PACKAGE_VERSION = "12.7.0";
2
+ export var PACKAGE_VERSION = "12.8.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telefonica/mistica",
3
- "version": "12.7.0",
3
+ "version": "12.8.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",