@semcore/carousel 16.1.9 → 16.1.10-prerelease.3

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.
@@ -3,9 +3,7 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
3
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
5
  import _createClass from "@babel/runtime/helpers/createClass";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _isNativeReflectConstruct from "@babel/runtime/helpers/isNativeReflectConstruct";
8
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
+ import _callSuper from "@babel/runtime/helpers/callSuper";
9
7
  import _inherits from "@babel/runtime/helpers/inherits";
10
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
11
9
  import { sstyled as _sstyled } from "@semcore/core";
@@ -19,7 +17,6 @@ import { assignProps as _assignProps4 } from "@semcore/core";
19
17
  import { assignProps as _assignProps3 } from "@semcore/core";
20
18
  import { assignProps as _assignProps2 } from "@semcore/core";
21
19
  import { assignProps as _assignProps } from "@semcore/core";
22
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
23
20
  import { createBreakpoints } from '@semcore/breakpoints';
24
21
  import Button from '@semcore/button';
25
22
  import { createComponent, Component, sstyled, Root } from '@semcore/core';
@@ -33,28 +30,29 @@ import ChevronRight from '@semcore/icon/ChevronRight/l';
33
30
  import Modal from '@semcore/modal';
34
31
  import React from 'react';
35
32
  /*!__reshadow-styles__:"./style/carousel.shadow.css"*/
36
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCarousel_crjyj_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_crjyj_gg_{display:flex;transition:transform var(--duration_crjyj) ease-in-out}.___SContentBox_crjyj_gg_,.___SModalBox_crjyj_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_crjyj_gg_:has(.___SItem_crjyj_gg_:focus-visible):after,.___SModalBox_crjyj_gg_:has(.___SItem_crjyj_gg_:focus-visible):after{content:\"\";display:block;position:absolute;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1;width:calc(100% - 3px*2);height:calc(100% - 3px*2);top:3px;left:3px}.___SModalContainer_crjyj_gg_{display:flex;transition:transform var(--duration_crjyj) ease-in-out}.___SItem_crjyj_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_crjyj);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_crjyj_gg_.__zoomIn_crjyj_gg_{cursor:zoom-in}.___SItem_crjyj_gg_.__zoomOut_crjyj_gg_{cursor:zoom-out}.___SIndicators_crjyj_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_crjyj_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_crjyj_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_crjyj_gg_.__active_crjyj_gg_{opacity:1}.___SIndicator_crjyj_gg_.__inverted_crjyj_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_crjyj_gg_,.___SPrev_crjyj_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_crjyj_gg_ .___SNextButton_crjyj_gg_ span:has(>svg:only-child),.___SNext_crjyj_gg_ .___SPrevButton_crjyj_gg_ span:has(>svg:only-child),.___SPrev_crjyj_gg_ .___SNextButton_crjyj_gg_ span:has(>svg:only-child),.___SPrev_crjyj_gg_ .___SPrevButton_crjyj_gg_ span:has(>svg:only-child){margin-left:calc(2*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(2*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SPrev_crjyj_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_crjyj_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_crjyj_gg_.__disabled_crjyj_gg_,.___SPrev_crjyj_gg_.__disabled_crjyj_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_crjyj_gg_{transition:none}}", /*__inner_css_end__*/"crjyj_gg_"),
33
+ var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCarousel_1yeln_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_1yeln_gg_{display:flex;transition:transform var(--duration_1yeln) ease-in-out}.___SContentBox_1yeln_gg_,.___SModalBox_1yeln_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_1yeln_gg_:has(.___SItem_1yeln_gg_:focus-visible)::after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline, #008ff8);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}.___SImageBoxContainer_1yeln_gg_{position:relative;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SImageBoxContainer_1yeln_gg_:has(.___SItem_1yeln_gg_:focus-visible)::after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline, #008ff8);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset;outline-color:var(--intergalactic-keyboard-focus-invert-outline, rgba(255, 255, 255, 0.8))}.___SImageBoxContainer_1yeln_gg_ .___SItem_1yeln_gg_:focus-visible{outline:0}.___SModalContainer_1yeln_gg_{display:flex;transition:transform var(--duration_1yeln) ease-in-out}.___SItem_1yeln_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1yeln);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_1yeln_gg_>img{display:block}.___SItem_1yeln_gg_.__zoomIn_1yeln_gg_{cursor:zoom-in}.___SItem_1yeln_gg_.__zoomOut_1yeln_gg_{cursor:zoom-out}.___SIndicators_1yeln_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 4px 4px 4px;outline:0;position:relative}.___SIndicator_1yeln_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_1yeln_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1yeln_gg_.__active_1yeln_gg_{opacity:1}.___SIndicator_1yeln_gg_.__inverted_1yeln_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_1yeln_gg_,.___SPrev_1yeln_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_1yeln_gg_ .___SNextButton_1yeln_gg_ span:has(>svg:only-child),.___SNext_1yeln_gg_ .___SPrevButton_1yeln_gg_ span:has(>svg:only-child),.___SPrev_1yeln_gg_ .___SNextButton_1yeln_gg_ span:has(>svg:only-child),.___SPrev_1yeln_gg_ .___SPrevButton_1yeln_gg_ span:has(>svg:only-child){margin-left:calc(2*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(2*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SPrev_1yeln_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_1yeln_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_1yeln_gg_.__disabled_1yeln_gg_,.___SPrev_1yeln_gg_.__disabled_1yeln_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1yeln_gg_{transition:none}}", /*__inner_css_end__*/"1yeln_gg_"),
37
34
  /*__reshadow_css_end__*/
38
35
  {
39
- "__SCarousel": "___SCarousel_crjyj_gg_",
40
- "__SContainer": "___SContainer_crjyj_gg_",
41
- "--duration": "--duration_crjyj",
42
- "__SModalContainer": "___SModalContainer_crjyj_gg_",
43
- "__SItem": "___SItem_crjyj_gg_",
44
- "--transform": "--transform_crjyj",
45
- "_zoomIn": "__zoomIn_crjyj_gg_",
46
- "_zoomOut": "__zoomOut_crjyj_gg_",
47
- "__SIndicators": "___SIndicators_crjyj_gg_",
48
- "__SIndicator": "___SIndicator_crjyj_gg_",
49
- "_active": "__active_crjyj_gg_",
50
- "_inverted": "__inverted_crjyj_gg_",
51
- "__SPrev": "___SPrev_crjyj_gg_",
52
- "__SNext": "___SNext_crjyj_gg_",
53
- "_disabled": "__disabled_crjyj_gg_",
54
- "__SContentBox": "___SContentBox_crjyj_gg_",
55
- "__SModalBox": "___SModalBox_crjyj_gg_",
56
- "__SPrevButton": "___SPrevButton_crjyj_gg_",
57
- "__SNextButton": "___SNextButton_crjyj_gg_"
36
+ "__SCarousel": "___SCarousel_1yeln_gg_",
37
+ "__SContainer": "___SContainer_1yeln_gg_",
38
+ "--duration": "--duration_1yeln",
39
+ "__SContentBox": "___SContentBox_1yeln_gg_",
40
+ "__SModalBox": "___SModalBox_1yeln_gg_",
41
+ "__SItem": "___SItem_1yeln_gg_",
42
+ "__SModalContainer": "___SModalContainer_1yeln_gg_",
43
+ "_zoomIn": "__zoomIn_1yeln_gg_",
44
+ "_zoomOut": "__zoomOut_1yeln_gg_",
45
+ "__SIndicators": "___SIndicators_1yeln_gg_",
46
+ "__SIndicator": "___SIndicator_1yeln_gg_",
47
+ "_active": "__active_1yeln_gg_",
48
+ "_inverted": "__inverted_1yeln_gg_",
49
+ "__SPrev": "___SPrev_1yeln_gg_",
50
+ "__SNext": "___SNext_1yeln_gg_",
51
+ "_disabled": "__disabled_1yeln_gg_",
52
+ "__SImageBoxContainer": "___SImageBoxContainer_1yeln_gg_",
53
+ "--transform": "--transform_1yeln",
54
+ "__SPrevButton": "___SPrevButton_1yeln_gg_",
55
+ "__SNextButton": "___SNextButton_1yeln_gg_"
58
56
  });
59
57
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
60
58
  var MAP_TRANSFORM = {
@@ -466,6 +464,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
466
464
  _this5 = this;
467
465
  var SModalContainer = Box;
468
466
  var SModalBox = Box;
467
+ var SImageBoxContainer = Box;
469
468
  var _this$asProps3 = this.asProps,
470
469
  styles = _this$asProps3.styles,
471
470
  uid = _this$asProps3.uid,
@@ -481,7 +480,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
481
480
  "direction": isSmall ? 'column' : 'row'
482
481
  }), !isSmall && /*#__PURE__*/React.createElement(Carousel.Prev, {
483
482
  inverted: true
484
- }), /*#__PURE__*/React.createElement(SModalBox, _ref0.cn("SModalBox", {}), /*#__PURE__*/React.createElement(SModalContainer, _ref0.cn("SModalContainer", _objectSpread({}, _assignProps({
483
+ }), /*#__PURE__*/React.createElement(SImageBoxContainer, _ref0.cn("SImageBoxContainer", {}), /*#__PURE__*/React.createElement(SModalBox, _ref0.cn("SModalBox", {}), /*#__PURE__*/React.createElement(SModalContainer, _ref0.cn("SModalContainer", _objectSpread({}, _assignProps({
485
484
  "aria-live": 'polite',
486
485
  "use:duration": "".concat(duration, "ms"),
487
486
  "ref": this.refModalContainer,
@@ -498,7 +497,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
498
497
  zoomOut: true,
499
498
  transform: _this5.isSelected(i) ? _this5.getTransform() : undefined
500
499
  }));
501
- }))), isSmall ? /*#__PURE__*/React.createElement(Flex, _ref0.cn("Flex", {
500
+ })))), isSmall ? /*#__PURE__*/React.createElement(Flex, _ref0.cn("Flex", {
502
501
  "justifyContent": 'center',
503
502
  "mt": 2
504
503
  }), /*#__PURE__*/React.createElement(Carousel.Prev, {
@@ -716,9 +715,13 @@ var Indicators = function Indicators(_ref19) {
716
715
  var SIndicators = Box;
717
716
  if (Children.origin) {
718
717
  var _ref15;
719
- return _ref15 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref15.cn("SIndicators", _objectSpread({}, _assignProps8({}, _ref8))), /*#__PURE__*/React.createElement(Children, _ref15.cn("Children", {})));
718
+ return _ref15 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref15.cn("SIndicators", _objectSpread({}, _assignProps8({
719
+ "innerOffset": true
720
+ }, _ref8))), /*#__PURE__*/React.createElement(Children, _ref15.cn("Children", {})));
720
721
  }
721
- return _ref16 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref16.cn("SIndicators", _objectSpread({}, _assignProps9({}, _ref8))), items === null || items === void 0 ? void 0 : items.map(function (item, index) {
722
+ return _ref16 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref16.cn("SIndicators", _objectSpread({}, _assignProps9({
723
+ "invertOutline": inverted
724
+ }, _ref8))), items === null || items === void 0 ? void 0 : items.map(function (item, index) {
722
725
  return /*#__PURE__*/React.createElement(Carousel.Indicator, _extends({
723
726
  key: index
724
727
  }, item, {
@@ -730,7 +733,8 @@ var Indicator = function Indicator(_ref20) {
730
733
  var _ref9 = arguments[0],
731
734
  _ref17;
732
735
  var styles = _ref20.styles,
733
- Children = _ref20.Children;
736
+ Children = _ref20.Children,
737
+ inverted = _ref20.inverted;
734
738
  var SIndicator = Box;
735
739
  return _ref17 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicator, _ref17.cn("SIndicator", _objectSpread({}, _assignProps0({}, _ref9))), /*#__PURE__*/React.createElement(Children, _ref17.cn("Children", {})));
736
740
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","names":["createBreakpoints","Button","createComponent","Component","sstyled","Root","i18nEnhance","findAllComponents","logger","uniqueIDEnhancement","Box","Flex","ChevronLeft","ChevronRight","Modal","React","style","_sstyled","insert","localizedMessages","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","props","_ref18","_props$index","_this","_classCallCheck","_callSuper","_defineProperty","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","arguments","undefined","setState","prevState","newItems","filter","element","node","concat","_toConsumableArray","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","_this$state","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","_this$state2","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","defaultIndex","_inherits","_createClass","uncontrolledProps","_this2","_index","_this2$refCarousel$cu","refCarousel","blur","setTimeout","_this2$refCarousel$cu2","focus","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","_this3","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","bindHandlerKeydownControl","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref0","_this5","SModalContainer","SModalBox","_this$asProps3","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref1","_this6","SCarousel","_this$asProps4","hasZoom","ariaLabel","ariaRoledescription","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","h","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_assignProps3","_ref4","_ref11","SContentBox","_assignProps4","_Component2","_this7","_len","args","Array","_key","_this$props","refItem","componentWillUnmount","_ref5","_ref12","_this$props2","SItem","_assignProps5","_ref6","_ref13","children","label","_props$top","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref14","_props$top2","SNext","SNextButton","_assignProps7","_ref19","_ref8","_ref16","SIndicators","origin","_ref15","_assignProps8","_assignProps9","_ref20","_ref9","_ref17","SIndicator","_assignProps0"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints } from '@semcore/breakpoints';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Box, Flex } from '@semcore/flex-box';\nimport type { BoxProps } from '@semcore/flex-box';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n CarouselContext,\n CarouselState,\n typeof enhance\n> {\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 indicators: 'default',\n };\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\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 = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n indicators,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n roledescription='carousel'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n aria-roledescription={ariaRoledescription}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={100}\n h={100}\n aria-roledescription='slide'\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props: BoxProps & { duration?: number }) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n};\n\nconst ContentBox = (props: BoxProps) => {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nconst Prev = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children, inverted }: CarouselIndicatorsProps) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box}>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }: CarouselIndicatorProps) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel: typeof CarouselType = createComponent(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Carousel.js","names":["createBreakpoints","Button","createComponent","Component","sstyled","Root","i18nEnhance","findAllComponents","logger","uniqueIDEnhancement","Box","Flex","ChevronLeft","ChevronRight","Modal","React","style","_sstyled","insert","localizedMessages","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","props","_ref18","_props$index","_this","_classCallCheck","_callSuper","_defineProperty","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","arguments","undefined","setState","prevState","newItems","filter","element","node","concat","_toConsumableArray","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","_this$state","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","_this$state2","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","defaultIndex","_inherits","_createClass","uncontrolledProps","_this2","_index","_this2$refCarousel$cu","refCarousel","blur","setTimeout","_this2$refCarousel$cu2","focus","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","_this3","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","bindHandlerKeydownControl","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref0","_this5","SModalContainer","SModalBox","SImageBoxContainer","_this$asProps3","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref1","_this6","SCarousel","_this$asProps4","hasZoom","ariaLabel","ariaRoledescription","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","h","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_assignProps3","_ref4","_ref11","SContentBox","_assignProps4","_Component2","_this7","_len","args","Array","_key","_this$props","refItem","componentWillUnmount","_ref5","_ref12","_this$props2","SItem","_assignProps5","_ref6","_ref13","children","label","_props$top","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref14","_props$top2","SNext","SNextButton","_assignProps7","_ref19","_ref8","_ref16","SIndicators","origin","_ref15","_assignProps8","_assignProps9","_ref20","_ref9","_ref17","SIndicator","_assignProps0"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints } from '@semcore/breakpoints';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Box, Flex } from '@semcore/flex-box';\nimport type { BoxProps } from '@semcore/flex-box';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n CarouselContext,\n CarouselState,\n typeof enhance\n> {\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 indicators: 'default',\n };\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\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 = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const SImageBoxContainer = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SImageBoxContainer>\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n </SImageBoxContainer>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n indicators,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n roledescription='carousel'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n aria-roledescription={ariaRoledescription}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={100}\n h={100}\n aria-roledescription='slide'\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props: BoxProps & { duration?: number }) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n};\n\nconst ContentBox = (props: BoxProps) => {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nconst Prev = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children, inverted }: CarouselIndicatorsProps) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} innerOffset>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} invertOutline={inverted}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children, inverted }: CarouselIndicatorProps) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel: typeof CarouselType = createComponent(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
@@ -10,22 +10,38 @@ SContainer {
10
10
  transition: transform var(--duration) ease-in-out;
11
11
  }
12
12
 
13
- SContentBox, SModalBox {
13
+ SContentBox,
14
+ SModalBox {
14
15
  position: relative;
15
16
  overflow: hidden;
16
17
  border-radius: var(--intergalactic-surface-rounded, 6px);
17
- &:has(SItem:focus-visible) {
18
- &:after {
19
- content: '';
20
- display: block;
21
- position: absolute;
22
- box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
23
- z-index: 1;
24
- width: calc(100% - 3px * 2);
25
- height: calc(100% - 3px * 2);
26
- top: 3px;
27
- left: 3px;
28
- }
18
+ }
19
+
20
+ SContentBox:has(SItem:focus-visible)::after {
21
+ border-radius: inherit;
22
+ z-index: 2;
23
+ position: absolute;
24
+ inset: 0;
25
+ content: '';
26
+ @mixin focus-outline-mixin -2px;
27
+ }
28
+
29
+ SImageBoxContainer {
30
+ position: relative;
31
+ border-radius: var(--intergalactic-surface-rounded, 6px);
32
+
33
+ &:has(SItem:focus-visible)::after {
34
+ border-radius: inherit;
35
+ z-index: 2;
36
+ position: absolute;
37
+ inset: 0;
38
+ content: '';
39
+ @mixin focus-outline-mixin;
40
+ outline-color: var(--intergalactic-keyboard-focus-invert-outline, rgba(255, 255, 255, 0.8));
41
+ }
42
+
43
+ SItem:focus-visible {
44
+ outline: none;
29
45
  }
30
46
  }
31
47
 
@@ -42,11 +58,16 @@ SItem {
42
58
  border-radius: var(--intergalactic-surface-rounded, 6px);
43
59
  overflow: hidden;
44
60
  outline: none;
61
+
62
+ > img {
63
+ display: block;
64
+ }
45
65
  }
46
66
 
47
67
  SItem[zoomIn] {
48
68
  cursor: zoom-in;
49
69
  }
70
+
50
71
  SItem[zoomOut] {
51
72
  cursor: zoom-out;
52
73
  }
@@ -54,7 +75,7 @@ SItem[zoomOut] {
54
75
  SIndicators {
55
76
  display: flex;
56
77
  justify-content: center;
57
- margin: var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;
78
+ margin: var(--intergalactic-spacing-4x, 16px) 4px 4px 4px;
58
79
  outline: none;
59
80
  position: relative;
60
81
  }
@@ -92,7 +113,8 @@ SNext {
92
113
  cursor: pointer;
93
114
  color: var(--intergalactic-icon-primary-neutral, #6c6e79);
94
115
 
95
- SPrevButton span:has(> svg:only-child), SNextButton span:has(> svg:only-child) {
116
+ SPrevButton span:has(> svg:only-child),
117
+ SNextButton span:has(> svg:only-child) {
96
118
  margin-left: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
97
119
  margin-right: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
98
120
  }
@@ -101,6 +123,7 @@ SNext {
101
123
  SPrev {
102
124
  margin-right: var(--intergalactic-spacing-2x, 8px);
103
125
  }
126
+
104
127
  SNext {
105
128
  margin-left: var(--intergalactic-spacing-2x, 8px);
106
129
  }