@semcore/carousel 3.3.1 → 3.4.0-test.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/lib/cjs/Carousel.js +47 -37
  3. package/lib/cjs/Carousel.js.map +1 -1
  4. package/lib/cjs/index.d.js.map +1 -1
  5. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +37 -0
  6. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  7. package/lib/cjs/translations/de.json +4 -0
  8. package/lib/cjs/translations/en.json +4 -0
  9. package/lib/cjs/translations/es.json +4 -0
  10. package/lib/cjs/translations/fr.json +4 -0
  11. package/lib/cjs/translations/it.json +4 -0
  12. package/lib/cjs/translations/ja.json +4 -0
  13. package/lib/cjs/translations/ko.json +4 -0
  14. package/lib/cjs/translations/pl.json +4 -0
  15. package/lib/cjs/translations/pt.json +4 -0
  16. package/lib/cjs/translations/sv.json +4 -0
  17. package/lib/cjs/translations/tr.json +4 -0
  18. package/lib/cjs/translations/vi.json +4 -0
  19. package/lib/cjs/translations/zh.json +4 -0
  20. package/lib/es6/Carousel.js +47 -37
  21. package/lib/es6/Carousel.js.map +1 -1
  22. package/lib/es6/index.d.js.map +1 -1
  23. package/lib/es6/translations/__intergalactic-dynamic-locales.js +29 -0
  24. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  25. package/lib/es6/translations/de.json +4 -0
  26. package/lib/es6/translations/en.json +4 -0
  27. package/lib/es6/translations/es.json +4 -0
  28. package/lib/es6/translations/fr.json +4 -0
  29. package/lib/es6/translations/it.json +4 -0
  30. package/lib/es6/translations/ja.json +4 -0
  31. package/lib/es6/translations/ko.json +4 -0
  32. package/lib/es6/translations/pl.json +4 -0
  33. package/lib/es6/translations/pt.json +4 -0
  34. package/lib/es6/translations/sv.json +4 -0
  35. package/lib/es6/translations/tr.json +4 -0
  36. package/lib/es6/translations/vi.json +4 -0
  37. package/lib/es6/translations/zh.json +4 -0
  38. package/lib/types/index.d.ts +1 -0
  39. package/package.json +1 -1
  40. package/src/Carousel.jsx +27 -11
  41. package/src/index.d.ts +1 -0
  42. package/src/translations/__intergalactic-dynamic-locales.ts +29 -0
  43. package/src/translations/de.json +4 -0
  44. package/src/translations/en.json +4 -0
  45. package/src/translations/es.json +4 -0
  46. package/src/translations/fr.json +4 -0
  47. package/src/translations/it.json +4 -0
  48. package/src/translations/ja.json +4 -0
  49. package/src/translations/ko.json +4 -0
  50. package/src/translations/pl.json +4 -0
  51. package/src/translations/pt.json +4 -0
  52. package/src/translations/sv.json +4 -0
  53. package/src/translations/tr.json +4 -0
  54. package/src/translations/vi.json +4 -0
  55. package/src/translations/zh.json +4 -0
@@ -22,19 +22,21 @@ import { Box } from '@semcore/flex-box';
22
22
  import ChevronRight from '@semcore/icon/ChevronRight/l';
23
23
  import ChevronLeft from '@semcore/icon/ChevronLeft/l';
24
24
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
25
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
26
+ import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
25
27
  /*__reshadow-styles__:"./style/carousel.shadow.css"*/
26
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_1xmjf_gg_{overflow:hidden;outline:0}.___SContainer_1xmjf_gg_{display:flex;transition:transform var(--duration_1xmjf) ease-in-out}.___SItem_1xmjf_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1xmjf);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SIndicators_1xmjf_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1xmjf_gg_{margin:0 calc(.5*var(--intergalactic-spacing-3x, 12px));cursor:pointer;display:block;width:12px;height:12px;border-radius:var(--intergalactic-control-rounded, 6px);background-color:var(--intergalactic-icon-secondary-neutral, #a9abb6);opacity:var(--intergalactic-disabled-opacity, 0.3);-o-object-fit:cover;object-fit:cover;transition:ease-in-out opacity .1s}@media (hover:hover){.___SIndicator_1xmjf_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1xmjf_gg_.__active_1xmjf_gg_{opacity:1}.___SNext_1xmjf_gg_,.___SPrev_1xmjf_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SPrev_1xmjf_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SNext_1xmjf_gg_{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SNext_1xmjf_gg_.__disabled_1xmjf_gg_,.___SPrev_1xmjf_gg_.__disabled_1xmjf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1xmjf_gg_{transition:none}}" /*__inner_css_end__*/, "1xmjf_gg_") /*__reshadow_css_end__*/, {
27
- "__SCarousel": "___SCarousel_1xmjf_gg_",
28
- "__SContainer": "___SContainer_1xmjf_gg_",
29
- "--duration": "--duration_1xmjf",
30
- "__SItem": "___SItem_1xmjf_gg_",
31
- "--transform": "--transform_1xmjf",
32
- "__SIndicators": "___SIndicators_1xmjf_gg_",
33
- "__SIndicator": "___SIndicator_1xmjf_gg_",
34
- "_active": "__active_1xmjf_gg_",
35
- "__SPrev": "___SPrev_1xmjf_gg_",
36
- "__SNext": "___SNext_1xmjf_gg_",
37
- "_disabled": "__disabled_1xmjf_gg_"
28
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_1d7d0_gg_{overflow:hidden;outline:0}.___SContainer_1d7d0_gg_{display:flex;transition:transform var(--duration_1d7d0) ease-in-out}.___SItem_1d7d0_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1d7d0);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SIndicators_1d7d0_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1d7d0_gg_{margin:0 calc(.5*var(--intergalactic-spacing-3x, 12px));cursor:pointer;display:block;width:12px;height:12px;border-radius:var(--intergalactic-control-rounded, 6px);background-color:var(--intergalactic-icon-secondary-neutral, #a9abb6);opacity:var(--intergalactic-disabled-opacity, 0.3);-o-object-fit:cover;object-fit:cover;transition:ease-in-out opacity .1s}@media (hover:hover){.___SIndicator_1d7d0_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1d7d0_gg_.__active_1d7d0_gg_{opacity:1}.___SNext_1d7d0_gg_,.___SPrev_1d7d0_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SPrev_1d7d0_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SNext_1d7d0_gg_{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SNext_1d7d0_gg_.__disabled_1d7d0_gg_,.___SPrev_1d7d0_gg_.__disabled_1d7d0_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1d7d0_gg_{transition:none}}" /*__inner_css_end__*/, "1d7d0_gg_") /*__reshadow_css_end__*/, {
29
+ "__SCarousel": "___SCarousel_1d7d0_gg_",
30
+ "__SContainer": "___SContainer_1d7d0_gg_",
31
+ "--duration": "--duration_1d7d0",
32
+ "__SItem": "___SItem_1d7d0_gg_",
33
+ "--transform": "--transform_1d7d0",
34
+ "__SIndicators": "___SIndicators_1d7d0_gg_",
35
+ "__SIndicator": "___SIndicator_1d7d0_gg_",
36
+ "_active": "__active_1d7d0_gg_",
37
+ "__SPrev": "___SPrev_1d7d0_gg_",
38
+ "__SNext": "___SNext_1d7d0_gg_",
39
+ "_disabled": "__disabled_1d7d0_gg_"
38
40
  });
39
41
  var position = {
40
42
  getItemMin: function getItemMin(items) {
@@ -325,7 +327,8 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
325
327
  return {
326
328
  toggleItem: this.toggleItem,
327
329
  uid: this.asProps.uid,
328
- index: index
330
+ index: index,
331
+ current: index === this.asProps.index
329
332
  };
330
333
  }
331
334
  }, {
@@ -333,7 +336,8 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
333
336
  value: function getPrevProps() {
334
337
  var _this$asProps3 = this.asProps,
335
338
  index = _this$asProps3.index,
336
- bounded = _this$asProps3.bounded;
339
+ bounded = _this$asProps3.bounded,
340
+ getI18nText = _this$asProps3.getI18nText;
337
341
  var items = this.state.items;
338
342
  var disabled = false;
339
343
  if (items.length && bounded) {
@@ -342,7 +346,8 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
342
346
  return {
343
347
  onClick: this.bindHandlerClick('left'),
344
348
  onKeyDown: this.bindHandlerKeydownControl('left'),
345
- disabled: disabled
349
+ disabled: disabled,
350
+ label: getI18nText('prev')
346
351
  };
347
352
  }
348
353
  }, {
@@ -350,7 +355,8 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
350
355
  value: function getNextProps() {
351
356
  var _this$asProps4 = this.asProps,
352
357
  index = _this$asProps4.index,
353
- bounded = _this$asProps4.bounded;
358
+ bounded = _this$asProps4.bounded,
359
+ getI18nText = _this$asProps4.getI18nText;
354
360
  var items = this.state.items;
355
361
  var disabled = false;
356
362
  if (items.length && bounded) {
@@ -359,7 +365,8 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
359
365
  return {
360
366
  onClick: this.bindHandlerClick('right'),
361
367
  onKeyDown: this.bindHandlerKeydownControl('right'),
362
- disabled: disabled
368
+ disabled: disabled,
369
+ label: getI18nText('next')
363
370
  };
364
371
  }
365
372
  }, {
@@ -388,6 +395,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
388
395
  styles = _this$asProps5.styles,
389
396
  Children = _this$asProps5.Children;
390
397
  return _ref8 = sstyled(styles), /*#__PURE__*/React.createElement(SCarousel, _ref8.cn("SCarousel", _objectSpread({}, _assignProps({
398
+ "role": 'group',
391
399
  "onKeyDown": this.handlerKeyDown,
392
400
  "tabIndex": 0,
393
401
  "onTouchStart": this.handlerTouchStart,
@@ -402,10 +410,12 @@ _defineProperty(CarouselRoot, "defaultProps", {
402
410
  defaultIndex: 0,
403
411
  duration: 350,
404
412
  step: 100,
405
- bounded: false
413
+ bounded: false,
414
+ i18n: localizedMessages,
415
+ locale: 'en'
406
416
  });
407
417
  _defineProperty(CarouselRoot, "style", style);
408
- _defineProperty(CarouselRoot, "enhance", [uniqueIDEnhancement()]);
418
+ _defineProperty(CarouselRoot, "enhance", [uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
409
419
  var Container = function Container(props) {
410
420
  var _ref2 = arguments[0],
411
421
  _ref9;
@@ -423,7 +433,8 @@ var Item = function Item(props) {
423
433
  var styles = props.styles,
424
434
  toggleItem = props.toggleItem,
425
435
  index = props.index,
426
- uid = props.uid;
436
+ uid = props.uid,
437
+ current = props.current;
427
438
  var SItem = Box;
428
439
  var refItem = /*#__PURE__*/React.createRef();
429
440
  useEffect(function () {
@@ -441,42 +452,41 @@ var Item = function Item(props) {
441
452
  return _ref10 = sstyled(styles), /*#__PURE__*/React.createElement(SItem, _ref10.cn("SItem", _objectSpread({}, _assignProps3({
442
453
  "ref": refItem,
443
454
  "role": 'listitem',
444
- "id": "igc-".concat(uid, "-carousel-item-").concat(index)
455
+ "id": "igc-".concat(uid, "-carousel-item-").concat(index),
456
+ "aria-current": current
445
457
  }, _ref3))));
446
458
  };
447
459
  var Prev = function Prev(props) {
448
460
  var _ref4 = arguments[0],
449
461
  _ref11;
450
- var styles = props.styles;
462
+ var styles = props.styles,
463
+ children = props.children,
464
+ label = props.label;
451
465
  var SPrev = Box;
452
- return _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(SPrev, _ref11.cn("SPrev", _objectSpread({}, _assignProps4({
453
- "aria-hidden": 'true'
454
- }, _ref4))));
466
+ return _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(SPrev, _ref11.cn("SPrev", _objectSpread({}, _assignProps4({}, _ref4))), children || /*#__PURE__*/React.createElement(ChevronLeft, _ref11.cn("ChevronLeft", {
467
+ "interactive": true,
468
+ "aria-label": label
469
+ })));
455
470
  };
456
471
  Prev.defaultProps = function () {
457
472
  return {
458
- children: /*#__PURE__*/React.createElement(ChevronLeft, {
459
- interactive: true,
460
- "aria-label": "Visual navigation, previous"
461
- }),
462
473
  top: 0
463
474
  };
464
475
  };
465
476
  var Next = function Next(props) {
466
477
  var _ref5 = arguments[0],
467
478
  _ref12;
468
- var styles = props.styles;
479
+ var styles = props.styles,
480
+ children = props.children,
481
+ label = props.label;
469
482
  var SNext = Box;
470
- return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SNext, _ref12.cn("SNext", _objectSpread({}, _assignProps5({
471
- "aria-hidden": 'true'
472
- }, _ref5))));
483
+ return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SNext, _ref12.cn("SNext", _objectSpread({}, _assignProps5({}, _ref5))), children || /*#__PURE__*/React.createElement(ChevronRight, _ref12.cn("ChevronRight", {
484
+ "interactive": true,
485
+ "aria-label": label
486
+ })));
473
487
  };
474
488
  Next.defaultProps = function () {
475
489
  return {
476
- children: /*#__PURE__*/React.createElement(ChevronRight, {
477
- interactive: true,
478
- "aria-label": "Visual navigation, next"
479
- }),
480
490
  top: 0
481
491
  };
482
492
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","names":["React","useEffect","createComponent","Component","sstyled","Root","Box","ChevronRight","ChevronLeft","uniqueIDEnhancement","style","_sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray","map","_objectSpread","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","bindHandlerClick","_createClass","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","_this$asProps5","styles","Children","createElement","cn","_assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","defaultIndex","Container","_ref2","arguments[0]","_ref9","SContainer","_assignProps2","Item","_ref3","_ref10","SItem","refItem","_assignProps3","Prev","_ref4","_ref11","SPrev","_assignProps4","defaultProps","children","interactive","top","Next","_ref5","_ref12","SNext","_assignProps5","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","_assignProps6","_assignProps7","Carousel","Indicator","_extends","_ref17","_ref7","_ref15","SIndicator","_assignProps8"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\n\nimport { Box } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/carousel.shadow.css';\n\nconst position = {\n getItemMin: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position < items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getItemMax: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position > items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getMin: function (items) {\n return items[position.getItemMin(items)].position;\n },\n getMax: function (items) {\n return items[position.getItemMax(items)].position;\n },\n};\n\nconst MAP_TRANSFORM = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nclass CarouselRoot extends Component {\n static displayName = 'Carousel';\n static defaultProps = {\n defaultIndex: 0,\n duration: 350,\n step: 100,\n bounded: false,\n };\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n refContainer = React.createRef();\n transform = 0;\n positionLeftItem = 0;\n indexIndicator = 0;\n\n constructor(props) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled) {\n this.slideToValue(prevProps.index, index);\n }\n }\n\n handlerKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n const { activeItemIndex } = this.controlTransformItem(MAP_TRANSFORM[e.key]);\n this.handlers.index(activeItemIndex);\n }\n }\n };\n\n toggleItem = (item, removeItem = false) => {\n const { index } = this.asProps;\n const { items } = this.state;\n if (removeItem) {\n this.updateItems(items.filter((element) => element.node !== item.node));\n } else {\n this.setState(\n (state) => {\n return {\n items: [...state.items, item].map((element, position) => ({\n ...element,\n position,\n transform: 0,\n })),\n };\n },\n () => {\n const { items } = this.state;\n if (items.length > index && index >= 0) {\n this.slideToValue(this.indexIndicator, index);\n }\n },\n );\n }\n };\n\n updateItems = (items) => {\n this.setState(() => ({ items }));\n };\n\n transformContainer = (transform) => {\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex, nextIndex, bounded) => {\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (currentIndex, nextIndexItem, bounded) => {\n if (currentIndex === nextIndexItem) return false;\n const direction = this.getDirection(\n currentIndex,\n nextIndexItem,\n bounded || this.asProps.bounded,\n );\n let i = currentIndex;\n while (nextIndexItem !== i) {\n const { activeItemIndex } = this.transformItem(direction);\n i = activeItemIndex;\n }\n };\n\n controlTransformItem = (direction) => {\n const { bounded, index } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (this.isControlled) {\n if (direction === 'right') {\n if (bounded && index === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n return { activeItemIndex: index === maxIndexIndicator ? 0 : index + 1 };\n }\n if (direction === 'left') {\n if (bounded && index === 0) {\n return { activeItemIndex: 0 };\n }\n return { activeItemIndex: index === 0 ? maxIndexIndicator : index - 1 };\n }\n }\n return this.transformItem(direction);\n };\n\n transformItem = (direction) => {\n const { bounded, step } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n let nextItemPosition = undefined;\n\n if (direction === 'right') {\n if (bounded && this.positionLeftItem === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n this.positionLeftItem += 1;\n const positionItemMax = position.getMax(items);\n\n if (this.positionLeftItem > positionItemMax) {\n nextItemPosition = position.getItemMin(items);\n items[nextItemPosition].position = positionItemMax + 1;\n items[nextItemPosition].transform += items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator += 1;\n if (this.indexIndicator > maxIndexIndicator) {\n this.indexIndicator = 0;\n }\n this.transform -= step;\n }\n if (direction === 'left') {\n if (bounded && this.positionLeftItem === 0) {\n return { activeItemIndex: 0 };\n }\n this.positionLeftItem -= 1;\n const positionItemMin = position.getMin(items);\n\n if (this.positionLeftItem < positionItemMin) {\n nextItemPosition = position.getItemMax(items);\n items[nextItemPosition].position = positionItemMin - 1;\n items[nextItemPosition].transform -= items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator -= 1;\n if (this.indexIndicator < 0) {\n this.indexIndicator = maxIndexIndicator;\n }\n this.transform += step;\n }\n\n const activeItemIndex = items.findIndex((item) => item.position === this.positionLeftItem);\n if (items[activeItemIndex]) {\n items[\n activeItemIndex\n ].node.style.transform = `translateX(${items[activeItemIndex].transform}%)`;\n }\n this.transformContainer(this.transform);\n return { activeItemIndex };\n };\n\n bindHandlerClick = (direction) => {\n return () => {\n const { activeItemIndex } = this.controlTransformItem(direction);\n this.handlers.index(activeItemIndex);\n };\n };\n\n bindHandlerClickIndicator = (value) => {\n return () => {\n !this.isControlled && this.slideToValue(this.indexIndicator, value, true);\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n const { activeItemIndex } = this.controlTransformItem('left');\n this.handlers.index(activeItemIndex);\n } else if (delta < -50) {\n const { activeItemIndex } = this.controlTransformItem('right');\n this.handlers.index(activeItemIndex);\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_, index) {\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n };\n }\n\n getNextProps() {\n const { index, bounded } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === items.length - 1;\n }\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { index } = this.asProps;\n\n return {\n items: items.map((item, key) => ({\n active: key === index,\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n render() {\n const SCarousel = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n <Children />\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nconst Item = (props) => {\n const { styles, toggleItem, index, uid } = props;\n const SItem = Root;\n const refItem = React.createRef();\n useEffect(() => {\n // add item\n toggleItem({ node: refItem.current });\n return () => {\n // remove item\n toggleItem({ node: refItem.current }, true);\n };\n }, []);\n\n return sstyled(styles)(\n <SItem render={Box} ref={refItem} role='listitem' id={`igc-${uid}-carousel-item-${index}`} />,\n );\n};\n\nconst Prev = (props) => {\n const { styles } = props;\n const SPrev = Root;\n return sstyled(styles)(<SPrev render={Box} aria-hidden='true' />);\n};\n\nPrev.defaultProps = () => ({\n children: <ChevronLeft interactive aria-label='Visual navigation, previous' />,\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles } = props;\n const SNext = Root;\n return sstyled(styles)(<SNext render={Box} aria-hidden='true' />);\n};\n\nNext.defaultProps = () => ({\n children: <ChevronRight interactive aria-label='Visual navigation, next' />,\n top: 0,\n});\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.js","names":["React","useEffect","createComponent","Component","sstyled","Root","Box","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","style","_sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray","map","_objectSpread","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","bindHandlerClick","_createClass","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","getI18nText","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","_this$asProps5","styles","Children","createElement","cn","_assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","defaultIndex","i18n","locale","Container","_ref2","arguments[0]","_ref9","SContainer","_assignProps2","Item","_ref3","_ref10","SItem","refItem","_assignProps3","Prev","_ref4","_ref11","children","SPrev","_assignProps4","defaultProps","top","Next","_ref5","_ref12","SNext","_assignProps5","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","_assignProps6","_assignProps7","Carousel","Indicator","_extends","_ref17","_ref7","_ref15","SIndicator","_assignProps8"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\n\nimport { Box } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/carousel.shadow.css';\n\nconst position = {\n getItemMin: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position < items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getItemMax: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position > items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getMin: function (items) {\n return items[position.getItemMin(items)].position;\n },\n getMax: function (items) {\n return items[position.getItemMax(items)].position;\n },\n};\n\nconst MAP_TRANSFORM = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nclass CarouselRoot extends Component {\n static displayName = 'Carousel';\n static defaultProps = {\n defaultIndex: 0,\n duration: 350,\n step: 100,\n bounded: false,\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n refContainer = React.createRef();\n transform = 0;\n positionLeftItem = 0;\n indexIndicator = 0;\n\n constructor(props) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled) {\n this.slideToValue(prevProps.index, index);\n }\n }\n\n handlerKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n const { activeItemIndex } = this.controlTransformItem(MAP_TRANSFORM[e.key]);\n this.handlers.index(activeItemIndex);\n }\n }\n };\n\n toggleItem = (item, removeItem = false) => {\n const { index } = this.asProps;\n const { items } = this.state;\n if (removeItem) {\n this.updateItems(items.filter((element) => element.node !== item.node));\n } else {\n this.setState(\n (state) => {\n return {\n items: [...state.items, item].map((element, position) => ({\n ...element,\n position,\n transform: 0,\n })),\n };\n },\n () => {\n const { items } = this.state;\n if (items.length > index && index >= 0) {\n this.slideToValue(this.indexIndicator, index);\n }\n },\n );\n }\n };\n\n updateItems = (items) => {\n this.setState(() => ({ items }));\n };\n\n transformContainer = (transform) => {\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex, nextIndex, bounded) => {\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (currentIndex, nextIndexItem, bounded) => {\n if (currentIndex === nextIndexItem) return false;\n const direction = this.getDirection(\n currentIndex,\n nextIndexItem,\n bounded || this.asProps.bounded,\n );\n let i = currentIndex;\n while (nextIndexItem !== i) {\n const { activeItemIndex } = this.transformItem(direction);\n i = activeItemIndex;\n }\n };\n\n controlTransformItem = (direction) => {\n const { bounded, index } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (this.isControlled) {\n if (direction === 'right') {\n if (bounded && index === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n return { activeItemIndex: index === maxIndexIndicator ? 0 : index + 1 };\n }\n if (direction === 'left') {\n if (bounded && index === 0) {\n return { activeItemIndex: 0 };\n }\n return { activeItemIndex: index === 0 ? maxIndexIndicator : index - 1 };\n }\n }\n return this.transformItem(direction);\n };\n\n transformItem = (direction) => {\n const { bounded, step } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n let nextItemPosition = undefined;\n\n if (direction === 'right') {\n if (bounded && this.positionLeftItem === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n this.positionLeftItem += 1;\n const positionItemMax = position.getMax(items);\n\n if (this.positionLeftItem > positionItemMax) {\n nextItemPosition = position.getItemMin(items);\n items[nextItemPosition].position = positionItemMax + 1;\n items[nextItemPosition].transform += items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator += 1;\n if (this.indexIndicator > maxIndexIndicator) {\n this.indexIndicator = 0;\n }\n this.transform -= step;\n }\n if (direction === 'left') {\n if (bounded && this.positionLeftItem === 0) {\n return { activeItemIndex: 0 };\n }\n this.positionLeftItem -= 1;\n const positionItemMin = position.getMin(items);\n\n if (this.positionLeftItem < positionItemMin) {\n nextItemPosition = position.getItemMax(items);\n items[nextItemPosition].position = positionItemMin - 1;\n items[nextItemPosition].transform -= items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator -= 1;\n if (this.indexIndicator < 0) {\n this.indexIndicator = maxIndexIndicator;\n }\n this.transform += step;\n }\n\n const activeItemIndex = items.findIndex((item) => item.position === this.positionLeftItem);\n if (items[activeItemIndex]) {\n items[\n activeItemIndex\n ].node.style.transform = `translateX(${items[activeItemIndex].transform}%)`;\n }\n this.transformContainer(this.transform);\n return { activeItemIndex };\n };\n\n bindHandlerClick = (direction) => {\n return () => {\n const { activeItemIndex } = this.controlTransformItem(direction);\n this.handlers.index(activeItemIndex);\n };\n };\n\n bindHandlerClickIndicator = (value) => {\n return () => {\n !this.isControlled && this.slideToValue(this.indexIndicator, value, true);\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n const { activeItemIndex } = this.controlTransformItem('left');\n this.handlers.index(activeItemIndex);\n } else if (delta < -50) {\n const { activeItemIndex } = this.controlTransformItem('right');\n this.handlers.index(activeItemIndex);\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_, index) {\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: index === this.asProps.index,\n };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n label: getI18nText('prev'),\n };\n }\n\n getNextProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === items.length - 1;\n }\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n label: getI18nText('next'),\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { index } = this.asProps;\n\n return {\n items: items.map((item, key) => ({\n active: key === index,\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n render() {\n const SCarousel = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='group'\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n <Children />\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nconst Item = (props) => {\n const { styles, toggleItem, index, uid, current } = props;\n const SItem = Root;\n const refItem = React.createRef();\n useEffect(() => {\n // add item\n toggleItem({ node: refItem.current });\n return () => {\n // remove item\n toggleItem({ node: refItem.current }, true);\n };\n }, []);\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n />,\n );\n};\n\nconst Prev = (props) => {\n const { styles, children, label } = props;\n const SPrev = Root;\n return sstyled(styles)(\n <SPrev render={Box}>{children || <ChevronLeft interactive aria-label={label} />}</SPrev>,\n );\n};\n\nPrev.defaultProps = () => ({\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles, children, label } = props;\n const SNext = Root;\n return sstyled(styles)(\n <SNext render={Box}>{children || <ChevronRight interactive aria-label={label} />}</SNext>,\n );\n};\n\nNext.defaultProps = () => ({\n top: 0,\n});\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { BoxProps } from '@semcore/flex-box';\n\ntype ChildRenderFn<Props> = Props & {\n children?: ({\n items,\n }: {\n items: { active: boolean; onClick: () => void }[];\n }) => React.ReactElement | React.ReactElement[];\n};\n\n/** @deprecated */\nexport interface ICarouselProps extends CarouselProps, UnknownProperties {}\nexport type CarouselProps = BoxProps & {\n /** Index active item */\n index?: number;\n /**\n * Index of the active item selected by default\n * @default 0\n */\n defaultIndex?: number;\n /** Called when the selection is changed */\n onIndexChange?: (index: number) => void;\n /** Animation duration\n * @default 300 */\n duration?: number;\n /** Disables infinite items change in the carousel\n * @default false */\n bounded?: boolean;\n /** @ignore */\n step?: number;\n};\n\n/** @deprecated */\nexport interface ICarouselContext extends CarouselContext, UnknownProperties {}\nexport type CarouselContext = {\n getContainerProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getIndicatorsProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface ICarouselState extends CarouselState, UnknownProperties {}\nexport type CarouselState = {\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n items: { transform: number; position: number; node: HTMLDivElement }[];\n};\n\ndeclare const Carousel: Intergalactic.Component<\n 'div',\n CarouselProps,\n CarouselContext & CarouselState\n> & {\n Container: Intergalactic.Component<'div', BoxProps>;\n Indicators: Intergalactic.Component<'div', BoxProps, CarouselState>;\n Indicator: Intergalactic.Component<\n 'div',\n Omit<BoxProps, 'position'> & {\n active?: boolean;\n onClick?: () => void;\n transform?: number;\n position?: number;\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n node?: HTMLDivElement;\n }\n >;\n Item: Intergalactic.Component<'div', BoxProps>;\n Prev: Intergalactic.Component<'div', BoxProps>;\n Next: Intergalactic.Component<'div', BoxProps>;\n};\n\nexport default Carousel;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { BoxProps } from '@semcore/flex-box';\n\ntype ChildRenderFn<Props> = Props & {\n children?: ({\n items,\n }: {\n items: { active: boolean; onClick: () => void }[];\n }) => React.ReactElement | React.ReactElement[];\n};\n\n/** @deprecated */\nexport interface ICarouselProps extends CarouselProps, UnknownProperties {}\nexport type CarouselProps = BoxProps & {\n /** Index active item */\n index?: number;\n /**\n * Index of the active item selected by default\n * @default 0\n */\n defaultIndex?: number;\n /** Called when the selection is changed */\n onIndexChange?: (index: number) => void;\n /** Animation duration\n * @default 300 */\n duration?: number;\n /** Disables infinite items change in the carousel\n * @default false */\n bounded?: boolean;\n /** @ignore */\n step?: number;\n locale?: string;\n};\n\n/** @deprecated */\nexport interface ICarouselContext extends CarouselContext, UnknownProperties {}\nexport type CarouselContext = {\n getContainerProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getIndicatorsProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface ICarouselState extends CarouselState, UnknownProperties {}\nexport type CarouselState = {\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n items: { transform: number; position: number; node: HTMLDivElement }[];\n};\n\ndeclare const Carousel: Intergalactic.Component<\n 'div',\n CarouselProps,\n CarouselContext & CarouselState\n> & {\n Container: Intergalactic.Component<'div', BoxProps>;\n Indicators: Intergalactic.Component<'div', BoxProps, CarouselState>;\n Indicator: Intergalactic.Component<\n 'div',\n Omit<BoxProps, 'position'> & {\n active?: boolean;\n onClick?: () => void;\n transform?: number;\n position?: number;\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n node?: HTMLDivElement;\n }\n >;\n Item: Intergalactic.Component<'div', BoxProps>;\n Prev: Intergalactic.Component<'div', BoxProps>;\n Next: Intergalactic.Component<'div', BoxProps>;\n};\n\nexport default Carousel;\n"],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import de from './de.json';
2
+ import en from './en.json';
3
+ import es from './es.json';
4
+ import fr from './fr.json';
5
+ import it from './it.json';
6
+ import ja from './ja.json';
7
+ import ko from './ko.json';
8
+ import pt from './pt.json';
9
+ import tr from './tr.json';
10
+ import vi from './vi.json';
11
+ import zh from './zh.json';
12
+ import pl from './pl.json';
13
+ import sv from './sv.json';
14
+ export var localizedMessages = {
15
+ de: de,
16
+ en: en,
17
+ es: es,
18
+ fr: fr,
19
+ it: it,
20
+ ja: ja,
21
+ ko: ko,
22
+ pt: pt,
23
+ tr: tr,
24
+ vi: vi,
25
+ zh: zh,
26
+ pl: pl,
27
+ sv: sv
28
+ };
29
+ //# sourceMappingURL=__intergalactic-dynamic-locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","pl","sv","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\nimport pl from './pl.json';\nimport sv from './sv.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,OAAO,IAAMC,iBAAiB,GAAG;EAC/Bb,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Weiter",
3
+ "prev": "Vorher"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Next",
3
+ "prev": "Previous"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Siguiente",
3
+ "prev": "Anterior"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Suivant",
3
+ "prev": "Précédent"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Succ.",
3
+ "prev": "Precedente"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "次へ",
3
+ "prev": "前へ"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "다음",
3
+ "prev": "이전"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Dalej",
3
+ "prev": "Poprzednio"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Seguinte",
3
+ "prev": "Anterior"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Nästa",
3
+ "prev": "Föregående"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Sonraki",
3
+ "prev": "Önceki"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "Tiếp",
3
+ "prev": "Trước"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "next": "下一个",
3
+ "prev": "上一个"
4
+ }
@@ -30,6 +30,7 @@ export type CarouselProps = BoxProps & {
30
30
  bounded?: boolean;
31
31
  /** @ignore */
32
32
  step?: number;
33
+ locale?: string;
33
34
  };
34
35
 
35
36
  /** @deprecated */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/carousel",
3
3
  "description": "Semrush Carousel Component",
4
- "version": "3.3.1",
4
+ "version": "3.4.0-test.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
package/src/Carousel.jsx CHANGED
@@ -5,6 +5,8 @@ import { Box } from '@semcore/flex-box';
5
5
  import ChevronRight from '@semcore/icon/ChevronRight/l';
6
6
  import ChevronLeft from '@semcore/icon/ChevronLeft/l';
7
7
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
8
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
9
+ import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
8
10
 
9
11
  import style from './style/carousel.shadow.css';
10
12
 
@@ -47,10 +49,12 @@ class CarouselRoot extends Component {
47
49
  duration: 350,
48
50
  step: 100,
49
51
  bounded: false,
52
+ i18n: localizedMessages,
53
+ locale: 'en',
50
54
  };
51
55
 
52
56
  static style = style;
53
- static enhance = [uniqueIDEnhancement()];
57
+ static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];
54
58
 
55
59
  refContainer = React.createRef();
56
60
  transform = 0;
@@ -290,6 +294,7 @@ class CarouselRoot extends Component {
290
294
  toggleItem: this.toggleItem,
291
295
  uid: this.asProps.uid,
292
296
  index,
297
+ current: index === this.asProps.index,
293
298
  };
294
299
  }
295
300
 
@@ -302,7 +307,7 @@ class CarouselRoot extends Component {
302
307
  };
303
308
 
304
309
  getPrevProps() {
305
- const { index, bounded } = this.asProps;
310
+ const { index, bounded, getI18nText } = this.asProps;
306
311
  const { items } = this.state;
307
312
  let disabled = false;
308
313
  if (items.length && bounded) {
@@ -312,11 +317,12 @@ class CarouselRoot extends Component {
312
317
  onClick: this.bindHandlerClick('left'),
313
318
  onKeyDown: this.bindHandlerKeydownControl('left'),
314
319
  disabled,
320
+ label: getI18nText('prev'),
315
321
  };
316
322
  }
317
323
 
318
324
  getNextProps() {
319
- const { index, bounded } = this.asProps;
325
+ const { index, bounded, getI18nText } = this.asProps;
320
326
  const { items } = this.state;
321
327
  let disabled = false;
322
328
  if (items.length && bounded) {
@@ -326,6 +332,7 @@ class CarouselRoot extends Component {
326
332
  onClick: this.bindHandlerClick('right'),
327
333
  onKeyDown: this.bindHandlerKeydownControl('right'),
328
334
  disabled,
335
+ label: getI18nText('next'),
329
336
  };
330
337
  }
331
338
 
@@ -349,6 +356,7 @@ class CarouselRoot extends Component {
349
356
  return sstyled(styles)(
350
357
  <SCarousel
351
358
  render={Box}
359
+ role='group'
352
360
  onKeyDown={this.handlerKeyDown}
353
361
  tabIndex={0}
354
362
  onTouchStart={this.handlerTouchStart}
@@ -368,7 +376,7 @@ const Container = (props) => {
368
376
  };
369
377
 
370
378
  const Item = (props) => {
371
- const { styles, toggleItem, index, uid } = props;
379
+ const { styles, toggleItem, index, uid, current } = props;
372
380
  const SItem = Root;
373
381
  const refItem = React.createRef();
374
382
  useEffect(() => {
@@ -381,29 +389,37 @@ const Item = (props) => {
381
389
  }, []);
382
390
 
383
391
  return sstyled(styles)(
384
- <SItem render={Box} ref={refItem} role='listitem' id={`igc-${uid}-carousel-item-${index}`} />,
392
+ <SItem
393
+ render={Box}
394
+ ref={refItem}
395
+ role='listitem'
396
+ id={`igc-${uid}-carousel-item-${index}`}
397
+ aria-current={current}
398
+ />,
385
399
  );
386
400
  };
387
401
 
388
402
  const Prev = (props) => {
389
- const { styles } = props;
403
+ const { styles, children, label } = props;
390
404
  const SPrev = Root;
391
- return sstyled(styles)(<SPrev render={Box} aria-hidden='true' />);
405
+ return sstyled(styles)(
406
+ <SPrev render={Box}>{children || <ChevronLeft interactive aria-label={label} />}</SPrev>,
407
+ );
392
408
  };
393
409
 
394
410
  Prev.defaultProps = () => ({
395
- children: <ChevronLeft interactive aria-label='Visual navigation, previous' />,
396
411
  top: 0,
397
412
  });
398
413
 
399
414
  const Next = (props) => {
400
- const { styles } = props;
415
+ const { styles, children, label } = props;
401
416
  const SNext = Root;
402
- return sstyled(styles)(<SNext render={Box} aria-hidden='true' />);
417
+ return sstyled(styles)(
418
+ <SNext render={Box}>{children || <ChevronRight interactive aria-label={label} />}</SNext>,
419
+ );
403
420
  };
404
421
 
405
422
  Next.defaultProps = () => ({
406
- children: <ChevronRight interactive aria-label='Visual navigation, next' />,
407
423
  top: 0,
408
424
  });
409
425
 
package/src/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export type CarouselProps = BoxProps & {
30
30
  bounded?: boolean;
31
31
  /** @ignore */
32
32
  step?: number;
33
+ locale?: string;
33
34
  };
34
35
 
35
36
  /** @deprecated */