@semcore/carousel 16.0.0-prerelease.9 → 16.1.0-prerelease.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.
package/CHANGELOG.md CHANGED
@@ -2,12 +2,48 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [16.0.0] - 2025-03-26
5
+ ## [16.1.0] - 2025-05-22
6
+
7
+ ### Changed
8
+
9
+ - Version minor update due to children dependencies update (`@semcore/icon` [16.0.0 ~> 16.1.0]).
10
+
11
+ ## [16.0.0] - 2025-05-19
6
12
 
7
13
  ### Added
8
14
 
9
15
  - Major version.
10
16
 
17
+ ## [3.49.2] - 2025-05-13
18
+
19
+ ### Changed
20
+
21
+ - Version patch update due to children dependencies update (`@semcore/utils` [4.48.4 ~> 4.48.5], `@semcore/button` [5.43.2 ~> 5.43.3], `@semcore/breakpoints` [1.41.3 ~> 1.41.4]).
22
+
23
+ ## [3.49.1] - 2025-05-09
24
+
25
+ ### Changed
26
+
27
+ - Version patch update due to children dependencies update (`@semcore/icon` [4.61.0 ~> 4.62.0], `@semcore/utils` [4.48.2 ~> 4.48.4], `@semcore/button` [5.43.1 ~> 5.43.2], `@semcore/breakpoints` [1.41.2 ~> 1.41.3]).
28
+
29
+ ## [3.49.0] - 2025-04-11
30
+
31
+ ### Changed
32
+
33
+ - Version minor update due to children dependencies update (`@semcore/icon` [4.60.2 ~> 4.61.0]).
34
+
35
+ ## [3.48.1] - 2025-04-04
36
+
37
+ ### Changed
38
+
39
+ - Version patch update due to children dependencies update (`@semcore/utils` [4.48.1 ~> 4.48.2], `@semcore/button` [5.43.0 ~> 5.43.1], `@semcore/breakpoints` [1.41.1 ~> 1.41.2]).
40
+
41
+ ## [3.48.0] - 2025-03-28
42
+
43
+ ### Changed
44
+
45
+ - Version minor update due to children dependencies update (`@semcore/button` [5.42.1 ~> 5.43.0]).
46
+
11
47
  ## [3.47.1] - 2025-03-20
12
48
 
13
49
  ### Changed
@@ -27,29 +27,29 @@ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynam
27
27
  var _logger = _interopRequireDefault(require("@semcore/core/lib/utils/logger"));
28
28
  var _findComponent = require("@semcore/core/lib/utils/findComponent");
29
29
  var _breakpoints = require("@semcore/breakpoints");
30
- var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/keyboardFocusEnhance"));
31
- /*__reshadow-styles__:"./style/carousel.shadow.css"*/
32
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SCarousel_vh2eh_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SContentBox_vh2eh_gg_,.___SModalBox_vh2eh_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):after,.___SModalBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):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_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SItem_vh2eh_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_vh2eh);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_vh2eh_gg_.__zoomIn_vh2eh_gg_{cursor:zoom-in}.___SItem_vh2eh_gg_.__zoomOut_vh2eh_gg_{cursor:zoom-out}.___SIndicators_vh2eh_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_vh2eh_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_vh2eh_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_vh2eh_gg_.__active_vh2eh_gg_{opacity:1}.___SIndicator_vh2eh_gg_.__inverted_vh2eh_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_vh2eh_gg_,.___SPrev_vh2eh_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SNext_vh2eh_gg_ .___SPrevButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SPrevButton_vh2eh_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_vh2eh_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_.__disabled_vh2eh_gg_,.___SPrev_vh2eh_gg_.__disabled_vh2eh_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_vh2eh_gg_{transition:none}}" /*__inner_css_end__*/, "vh2eh_gg_") /*__reshadow_css_end__*/, {
33
- "__SCarousel": "___SCarousel_vh2eh_gg_",
34
- "__SContainer": "___SContainer_vh2eh_gg_",
35
- "--duration": "--duration_vh2eh",
36
- "__SModalContainer": "___SModalContainer_vh2eh_gg_",
37
- "__SItem": "___SItem_vh2eh_gg_",
38
- "--transform": "--transform_vh2eh",
39
- "_zoomIn": "__zoomIn_vh2eh_gg_",
40
- "_zoomOut": "__zoomOut_vh2eh_gg_",
41
- "__SIndicators": "___SIndicators_vh2eh_gg_",
42
- "__SIndicator": "___SIndicator_vh2eh_gg_",
43
- "_active": "__active_vh2eh_gg_",
44
- "_inverted": "__inverted_vh2eh_gg_",
45
- "__SPrev": "___SPrev_vh2eh_gg_",
46
- "__SNext": "___SNext_vh2eh_gg_",
47
- "_disabled": "__disabled_vh2eh_gg_",
48
- "__SContentBox": "___SContentBox_vh2eh_gg_",
49
- "__SModalBox": "___SModalBox_vh2eh_gg_",
50
- "_keyboardFocused": "__keyboardFocused_vh2eh_gg_",
51
- "__SPrevButton": "___SPrevButton_vh2eh_gg_",
52
- "__SNextButton": "___SNextButton_vh2eh_gg_"
30
+ /*!__reshadow-styles__:"./style/carousel.shadow.css"*/
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SCarousel_o51b8_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SContentBox_o51b8_gg_,.___SModalBox_o51b8_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_o51b8_gg_:has(.___SItem_o51b8_gg_:focus-visible):after,.___SModalBox_o51b8_gg_:has(.___SItem_o51b8_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_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SItem_o51b8_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_o51b8);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_o51b8_gg_.__zoomIn_o51b8_gg_{cursor:zoom-in}.___SItem_o51b8_gg_.__zoomOut_o51b8_gg_{cursor:zoom-out}.___SIndicators_o51b8_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_o51b8_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_o51b8_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_o51b8_gg_.__active_o51b8_gg_{opacity:1}.___SIndicator_o51b8_gg_.__inverted_o51b8_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_o51b8_gg_,.___SPrev_o51b8_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SNext_o51b8_gg_ .___SPrevButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SPrevButton_o51b8_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_o51b8_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_.__disabled_o51b8_gg_,.___SPrev_o51b8_gg_.__disabled_o51b8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_o51b8_gg_{transition:none}}", /*__inner_css_end__*/"o51b8_gg_"),
32
+ /*__reshadow_css_end__*/
33
+ {
34
+ "__SCarousel": "___SCarousel_o51b8_gg_",
35
+ "__SContainer": "___SContainer_o51b8_gg_",
36
+ "--duration": "--duration_o51b8",
37
+ "__SModalContainer": "___SModalContainer_o51b8_gg_",
38
+ "__SItem": "___SItem_o51b8_gg_",
39
+ "--transform": "--transform_o51b8",
40
+ "_zoomIn": "__zoomIn_o51b8_gg_",
41
+ "_zoomOut": "__zoomOut_o51b8_gg_",
42
+ "__SIndicators": "___SIndicators_o51b8_gg_",
43
+ "__SIndicator": "___SIndicator_o51b8_gg_",
44
+ "_active": "__active_o51b8_gg_",
45
+ "_inverted": "__inverted_o51b8_gg_",
46
+ "__SPrev": "___SPrev_o51b8_gg_",
47
+ "__SNext": "___SNext_o51b8_gg_",
48
+ "_disabled": "__disabled_o51b8_gg_",
49
+ "__SContentBox": "___SContentBox_o51b8_gg_",
50
+ "__SModalBox": "___SModalBox_o51b8_gg_",
51
+ "__SPrevButton": "___SPrevButton_o51b8_gg_",
52
+ "__SNextButton": "___SNextButton_o51b8_gg_"
53
53
  });
54
54
  var MAP_TRANSFORM = {
55
55
  ArrowLeft: 'left',
@@ -251,7 +251,9 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
251
251
  isOpenZoom: !prevState.isOpenZoom
252
252
  };
253
253
  }, function () {
254
- _this.state.isOpenZoom && _this.transformContainer();
254
+ if (_this.state.isOpenZoom) {
255
+ _this.transformContainer();
256
+ }
255
257
  });
256
258
  });
257
259
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerKeydownControl", function (direction) {
@@ -591,7 +593,6 @@ var Item = /*#__PURE__*/function (_Component2) {
591
593
  }
592
594
  _this7 = _super2.call.apply(_super2, [this].concat(args));
593
595
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this7), "refItem", /*#__PURE__*/_react["default"].createRef());
594
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this7), "keepFocusTimeout", void 0);
595
596
  return _this7;
596
597
  }
597
598
  (0, _createClass2["default"])(Item, [{
@@ -616,32 +617,15 @@ var Item = /*#__PURE__*/function (_Component2) {
616
617
  toggleItem && refItem && toggleItem({
617
618
  node: refItem
618
619
  }, true);
619
- clearTimeout(this.keepFocusTimeout);
620
620
  }
621
621
  }, {
622
622
  key: "componentDidUpdate",
623
623
  value: function componentDidUpdate(prevProps) {
624
- var _this8 = this;
625
- clearTimeout(this.keepFocusTimeout);
626
624
  var transform = this.props.transform;
627
625
  var refItem = this.refItem.current;
628
626
  if (prevProps.transform !== transform && refItem) {
629
627
  refItem.style.transform = "translateX(".concat(transform, "%)");
630
628
  }
631
- if (this.props.current) {
632
- this.keepFocusTimeout = setTimeout(function () {
633
- var _document$activeEleme;
634
- if (document.activeElement !== refItem && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.dataset.carousel) === (refItem === null || refItem === void 0 ? void 0 : refItem.dataset.carousel)) {
635
- refItem === null || refItem === void 0 ? void 0 : refItem.focus();
636
- }
637
- }, 100);
638
- }
639
- if (prevProps.isOpenZoom === true && this.props.isOpenZoom === false && this.props.current && !this.props.zoomOut) {
640
- this.keepFocusTimeout = setTimeout(function () {
641
- var _this8$refItem$curren;
642
- (_this8$refItem$curren = _this8.refItem.current) === null || _this8$refItem$curren === void 0 ? void 0 : _this8$refItem$curren.focus();
643
- }, 200);
644
- }
645
629
  }
646
630
  }, {
647
631
  key: "render",
@@ -670,7 +654,6 @@ var Item = /*#__PURE__*/function (_Component2) {
670
654
  }]);
671
655
  return Item;
672
656
  }(_core.Component);
673
- (0, _defineProperty2["default"])(Item, "enhance", [(0, _keyboardFocusEnhance["default"])(false)]);
674
657
  var Prev = function Prev(props) {
675
658
  var _ref6 = arguments[0],
676
659
  _ref15;
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","names":["_core","require","_react","_interopRequireDefault","_button","_modal","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_logger","_findComponent","_breakpoints","_keyboardFocusEnhance","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref20","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","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","_toConsumableArray2","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","_createClass2","uncontrolledProps","_this2","_index","_this2$refCarousel$cu","refCarousel","blur","setTimeout","_this2$refCarousel$cu2","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","_this3","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","tabIndex","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref10","_this5","SModalContainer","Box","SModalBox","_this$asProps3","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","_objectSpread2","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref11","_this6","SCarousel","_this$asProps4","hasZoom","ariaLabel","ariaRoledescription","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","h","Context","Consumer","mediaIndex","Component","step","i18n","locale","_ref3","arguments[0]","_ref12","SContainer","_ref4","_ref13","SContentBox","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","clearTimeout","keepFocusTimeout","_this8","_document$activeEleme","document","activeElement","dataset","carousel","_this8$refItem$curren","_ref5","_ref14","_this$props2","SItem","keyboardFocusEnhance","_ref6","_ref15","children","_props$top","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref16","_props$top2","SNext","SNextButton","ChevronRight","_ref21","_ref8","_ref18","SIndicators","origin","_ref17","_ref22","_ref9","_ref19","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/core/lib/utils/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/core/lib/utils/enhances/keyboardFocusEnhance';\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 this.state.isOpenZoom && this.transformContainer();\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 <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\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 <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 }\n </Carousel.Indicators>\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 keepFocusTimeout: NodeJS.Timeout | undefined;\n static enhance = [keyboardFocusEnhance(false)];\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\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 toggleItem && refItem && toggleItem({ node: refItem }, true);\n clearTimeout(this.keepFocusTimeout);\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n clearTimeout(this.keepFocusTimeout);\n\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 if (this.props.current) {\n this.keepFocusTimeout = setTimeout(() => {\n if (\n document.activeElement !== refItem &&\n (document.activeElement as HTMLElement)?.dataset.carousel === refItem?.dataset.carousel\n ) {\n refItem?.focus();\n }\n }, 100);\n }\n if (\n prevProps.isOpenZoom === true &&\n this.props.isOpenZoom === false &&\n this.props.current &&\n !this.props.zoomOut\n ) {\n this.keepFocusTimeout = setTimeout(() => {\n this.refItem.current?.focus();\n }, 200);\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 <Children />\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 <Children />\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":";;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,EAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,GAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,YAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,4BAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAT,sBAAA,CAAAF,OAAA;AAaA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,qBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AAAyF;AAAA,IAAAe,KAAA,+BAAAhB,KAAA,CAAAiB,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAEzF,IAAMC,aAA+C,GAAG;EACtDC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE;AACd,CAAC;AAED,IAAMC,OAAO,GAAG,CAAC,IAAAC,oBAAmB,GAAE,EAAE,IAAAC,uBAAW,EAACC,8CAAiB,CAAC,CAAU;AAChF,IAAMC,KAAK,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AAC1D,IAAMC,WAAW,GAAG,IAAAC,8BAAiB,EAACF,KAAK,CAAC;AAC5C,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAc;EAAA,OAAKA,KAAK,KAAK,CAAC;AAAA;AAAC,IAEhDC,YAAY,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,YAAA;EA0BhB,SAAAA,aAAYK,KAAoB,EAAE;IAAA,IAAAC,MAAA,EAAAC,YAAA;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAT,YAAA;IAChCQ,KAAA,GAAAL,MAAA,CAAAO,IAAA,OAAML,KAAK;IAAE,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,wBAPK,CAAC;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,+BACPK,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCAC7BK,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,qCACzBK,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBAC/B,CAAC,CAAC;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,qBA8DJ,UAACO,CAAsB,EAAK;MAC3C,IAAMC,UAAU,GAAG,CAAC;MACpB,IAAMC,SAAS,GAAGT,KAAA,CAAKU,KAAK,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAE7C,QAAQL,CAAC,CAACM,GAAG;QACX,KAAK,WAAW;QAChB,KAAK,YAAY;UAAE;YACjBN,CAAC,CAACO,cAAc,EAAE;YAClBd,KAAA,CAAKe,aAAa,CAACnC,aAAa,CAAC2B,CAAC,CAACM,GAAG,CAAC,CAAC;YACxC;UACF;QACA,KAAK,MAAM;UAAE;YACXN,CAAC,CAACO,cAAc,EAAE;YAClBd,KAAA,CAAKgB,YAAY,CAACR,UAAU,CAAC;YAC7B;UACF;QACA,KAAK,KAAK;UAAE;YACVD,CAAC,CAACO,cAAc,EAAE;YAClBd,KAAA,CAAKgB,YAAY,CAACP,SAAS,CAAC;YAC5B;UACF;MAAC;MAGH,IAAIF,CAAC,CAACU,OAAO,EAAE;QACb;QACA,IAAIV,CAAC,CAACM,GAAG,KAAK,WAAW,EAAE;UACzBN,CAAC,CAACO,cAAc,EAAE;UAClBd,KAAA,CAAKgB,YAAY,CAACR,UAAU,CAAC;QAC/B,CAAC,MAAM,IAAID,CAAC,CAACM,GAAG,KAAK,YAAY,EAAE;UACjCN,CAAC,CAACO,cAAc,EAAE;UAClBd,KAAA,CAAKgB,YAAY,CAACP,SAAS,CAAC;QAC9B;MACF;MAEA,IACE,CAACF,CAAC,CAACM,GAAG,KAAK,OAAO,IAAIN,CAAC,CAACM,GAAG,KAAK,GAAG,KACnCN,CAAC,CAACW,MAAM,YAAYC,cAAc,IAClCZ,CAAC,CAACW,MAAM,CAACE,IAAI,KAAK,UAAU,EAC5B;QACApB,KAAA,CAAKqB,qBAAqB,EAAE;MAC9B;IACF,CAAC;IAAA,IAAAlB,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,iBAEY,UAACsB,IAAkB,EAAyB;MAAA,IAAvBC,UAAU,GAAAC,SAAA,CAAAZ,MAAA,QAAAY,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;MAClDxB,KAAA,CAAK0B,QAAQ,CAAC,UAACC,SAAS,EAAK;QAC3B,IAAMC,QAAQ,GAAGL,UAAU,GACvBI,SAAS,CAAChB,KAAK,CAACkB,MAAM,CAAC,UAACC,OAAO;UAAA,OAAKA,OAAO,CAACC,IAAI,KAAKT,IAAI,CAACS,IAAI;QAAA,EAAC,MAAAC,MAAA,KAAAC,mBAAA,aAC3DN,SAAS,CAAChB,KAAK,IAAEW,IAAI,EAAC;QAE9B,OAAO;UACLX,KAAK,EAAEiB;QACT,CAAC;MACH,CAAC,CAAC;MAEF,IAAI,CAACL,UAAU,EAAE;QACfvB,KAAA,CAAKkC,iBAAiB,EAAE;MAC1B;IACF,CAAC;IAAA,IAAA/B,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,yBAEoB,YAAM;MACzB,IAAMmC,SAAS,GAAGnC,KAAA,CAAKU,KAAK,CAAC0B,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG;MAErD,IAAIpC,KAAA,CAAKqC,YAAY,CAACC,OAAO,EAAE;QAC7BtC,KAAA,CAAKqC,YAAY,CAACC,OAAO,CAAC7D,KAAK,CAAC0D,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MACzE;MACA,IAAInC,KAAA,CAAKuC,iBAAiB,CAACD,OAAO,EAAE;QAClCtC,KAAA,CAAKuC,iBAAiB,CAACD,OAAO,CAAC7D,KAAK,CAAC0D,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MAC9E;IACF,CAAC;IAAA,IAAAhC,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBAEc,UAACwC,YAAoB,EAAEC,SAAiB,EAAK;MAC1D,IAAQC,OAAO,GAAK1C,KAAA,CAAK2C,OAAO,CAAxBD,OAAO;MAEf,IAAIA,OAAO,EAAE;QACX,OAAOF,YAAY,GAAGC,SAAS,GAAG,OAAO,GAAG,MAAM;MACpD;MACA,IAAQ9B,KAAK,GAAKX,KAAA,CAAKU,KAAK,CAApBC,KAAK;MACb,IAAMiC,SAAS,GAAGjC,KAAK,CAACkC,GAAG,CAAC,UAACC,CAAC,EAAEC,GAAG;QAAA,OAAKA,GAAG;MAAA,EAAC;MAC5C,IAAMC,MAAM,OAAAf,mBAAA,aAAOW,SAAS,CAAC;MAC7B,IAAMK,SAAS,GAAGD,MAAM,CAAC,CAAC,CAAC;MAC3B,IAAME,SAAS,GAAGF,MAAM,CAACA,MAAM,CAACpC,MAAM,GAAG,CAAC,CAAC;MAE3C,IAAIoC,MAAM,CAACpC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO4B,YAAY,GAAGC,SAAS,GAAG,OAAO,GAAG,MAAM;MACpD;MACA,IAAID,YAAY,KAAKS,SAAS,EAAE;QAC9BD,MAAM,CAACG,OAAO,CAACD,SAAS,CAAC;QACzBF,MAAM,CAACI,GAAG,EAAE;MACd;MACA,IAAIZ,YAAY,KAAKU,SAAS,EAAE;QAC9BF,MAAM,CAACK,KAAK,EAAE;QACdL,MAAM,CAACM,IAAI,CAACL,SAAS,CAAC;MACxB;MAEA,IAAMM,eAAe,GAAGP,MAAM,CAACQ,OAAO,CAAChB,YAAY,CAAC;MACpD,IAAMiB,IAAI,GAAGT,MAAM,CAACQ,OAAO,CAACf,SAAS,CAAC;MAEtC,OAAOgB,IAAI,GAAGF,eAAe,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO;IACtD,CAAC;IAAA,IAAApD,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBAEc,UAACyC,SAAiB,EAAK;MACpC,IAAQL,aAAa,GAAKpC,KAAA,CAAKU,KAAK,CAA5B0B,aAAa;MACrB,IAAMsB,SAAS,GAAGtB,aAAa,GAAGK,SAAS,GAAG,OAAO,GAAG,MAAM;MAC9D,IAAIkB,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACzB,aAAa,GAAGK,SAAS,CAAC;MAC9C,OAAOkB,IAAI,GAAG,CAAC,EAAE;QACf3D,KAAA,CAAKe,aAAa,CAAC2C,SAAS,CAAC;QAC7BC,IAAI,EAAE;MACR;IACF,CAAC;IAAA,IAAAxD,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBAEe,UAAC0D,SAA2B,EAAK;MAC/C,IAAQhB,OAAO,GAAK1C,KAAA,CAAK2C,OAAO,CAAxBD,OAAO;MACf,IAAAoB,WAAA,GAAiC9D,KAAA,CAAKU,KAAK;QAAnCC,KAAK,GAAAmD,WAAA,CAALnD,KAAK;QAAEyB,aAAa,GAAA0B,WAAA,CAAb1B,aAAa;MAC5B,IAAM2B,iBAAiB,GAAGpD,KAAK,CAACC,MAAM,GAAG,CAAC;MAE1C,IAAI8C,SAAS,KAAK,OAAO,EAAE;QACzB,IAAIhB,OAAO,IAAIN,aAAa,KAAK2B,iBAAiB,EAAE;UAClD/D,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAACwE,iBAAiB,CAAC;UAEtC;QACF;QACA,IAAI/D,KAAA,CAAKiE,YAAY,EAAE;UACrBjE,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAAC6C,aAAa,KAAK2B,iBAAiB,GAAG,CAAC,GAAG3B,aAAa,GAAG,CAAC,CAAC;UAEhF;QACF;QAEApC,KAAA,CAAK0B,QAAQ,CACX,UAACC,SAAS;UAAA,OAAM;YACdS,aAAa,EAAET,SAAS,CAACS,aAAa,GAAG;UAC3C,CAAC;QAAA,CAAC,EACF,YAAM;UACJpC,KAAA,CAAKkE,kBAAkB,EAAE;UACzBlE,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAACS,KAAA,CAAKmE,QAAQ,EAAE,CAAC;QACtC,CAAC,CACF;QAED;MACF;MACA,IAAIT,SAAS,KAAK,MAAM,EAAE;QACxB,IAAIhB,OAAO,IAAIN,aAAa,KAAK,CAAC,EAAE;UAClCpC,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAAC,CAAC,CAAC;UAEtB;QACF;QACA,IAAIS,KAAA,CAAKiE,YAAY,EAAE;UACrBjE,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAAC6C,aAAa,KAAK,CAAC,GAAG2B,iBAAiB,GAAG3B,aAAa,GAAG,CAAC,CAAC;UAEhF;QACF;QAEApC,KAAA,CAAK0B,QAAQ,CACX,UAACC,SAAS;UAAA,OAAM;YACdS,aAAa,EAAET,SAAS,CAACS,aAAa,GAAG;UAC3C,CAAC;QAAA,CAAC,EACF,YAAM;UACJpC,KAAA,CAAKkE,kBAAkB,EAAE;UACzBlE,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAACS,KAAA,CAAKmE,QAAQ,EAAE,CAAC;QACtC,CAAC,CACF;QAED;MACF;IACF,CAAC;IAAA,IAAAhE,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBAEkB,UAAC0D,SAA2B,EAAK;MAClD,OAAO,YAAM;QACX1D,KAAA,CAAKe,aAAa,CAAC2C,SAAS,CAAC;MAC/B,CAAC;IACH,CAAC;IAAA,IAAAvD,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCAE2B,UAACoE,KAAa,EAAK;MAC7C,OAAO,YAAM;QACX,IAAAC,YAAA,GAAiCrE,KAAA,CAAKU,KAAK;UAAnC0B,aAAa,GAAAiC,YAAA,CAAbjC,aAAa;UAAEzB,KAAK,GAAA0D,YAAA,CAAL1D,KAAK;QAC5B,IAAI,CAACX,KAAA,CAAKiE,YAAY,IAAIG,KAAK,KAAKhC,aAAa,EAAE;UACjD,IAAMkC,aAAa,GAAGV,IAAI,CAACW,KAAK,CAACnC,aAAa,GAAGzB,KAAK,CAACC,MAAM,CAAC,GAAGD,KAAK,CAACC,MAAM,GAAGwD,KAAK;UACrFpE,KAAA,CAAKgB,YAAY,CAACsD,aAAa,CAAC;QAClC;QACAtE,KAAA,CAAKgE,QAAQ,CAACzE,KAAK,CAAC6E,KAAK,CAAC;MAC5B,CAAC;IACH,CAAC;IAAA,IAAAjE,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,wBAEmB,UAACO,CAAmB,EAAK;MAC3CP,KAAA,CAAKwE,gBAAgB,GAAGjE,CAAC,CAACkE,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;IACrD,CAAC;IAAA,IAAAvE,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,sBAEiB,UAACO,CAAmB,EAAK;MACzC,IAAMoE,aAAa,GAAGpE,CAAC,CAACkE,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;MACjD,IAAME,KAAK,GAAGD,aAAa,GAAG3E,KAAA,CAAKwE,gBAAgB;MACnD,IAAII,KAAK,GAAG,EAAE,EAAE;QACd5E,KAAA,CAAKe,aAAa,CAAC,MAAM,CAAC;MAC5B,CAAC,MAAM,IAAI6D,KAAK,GAAG,CAAC,EAAE,EAAE;QACtB5E,KAAA,CAAKe,aAAa,CAAC,OAAO,CAAC;MAC7B;IACF,CAAC;IAAA,IAAAZ,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,4BA2BuB,YAAM;MAC5BA,KAAA,CAAK0B,QAAQ,CACX,UAACC,SAAS,EAAK;QACb,OAAO;UACLkD,UAAU,EAAE,CAAClD,SAAS,CAACkD;QACzB,CAAC;MACH,CAAC,EACD,YAAM;QACJ7E,KAAA,CAAKU,KAAK,CAACmE,UAAU,IAAI7E,KAAA,CAAKkE,kBAAkB,EAAE;MACpD,CAAC,CACF;IACH,CAAC;IAAA,IAAA/D,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCAE2B,UAAC0D,SAA2B;MAAA,OAAK,UAACnD,CAAsB,EAAK;QACvF,IAAIA,CAAC,CAACM,GAAG,KAAK,OAAO,IAAIN,CAAC,CAACM,GAAG,KAAK,GAAG,EAAE;UACtCN,CAAC,CAACO,cAAc,EAAE;UAClBd,KAAA,CAAK8E,gBAAgB,CAACpB,SAAS,CAAC,EAAE;QACpC;MACF,CAAC;IAAA;IAzSC1D,KAAA,CAAKiE,YAAY,GAAGpE,KAAK,CAACN,KAAK,KAAKkC,SAAS;IAC7CzB,KAAA,CAAKU,KAAK,GAAG;MACXC,KAAK,EAAE,EAAE;MACTkE,UAAU,EAAE,KAAK;MACjBzC,aAAa,GAAAtC,MAAA,IAAAC,YAAA,GAAEF,KAAK,CAACN,KAAK,cAAAQ,YAAA,cAAAA,YAAA,GAAIF,KAAK,CAACkF,YAAY,cAAAjF,MAAA,cAAAA,MAAA,GAAI;IACtD,CAAC;IAAC,OAAAE,KAAA;EACJ;EAAC,IAAAgF,aAAA,aAAAxF,YAAA;IAAAqB,GAAA;IAAAuD,KAAA,EAED,SAAAa,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAO;QACL3F,KAAK,EAAE,CACL,IAAI,EACJ,UAAC4F,MAAc,EAAK;UAAA,IAAAC,qBAAA;UAClB,CAAAA,qBAAA,GAAAF,MAAI,CAACG,WAAW,CAAC/C,OAAO,cAAA8C,qBAAA,uBAAxBA,qBAAA,CAA0BE,IAAI,EAAE;UAChCC,UAAU,CAAC,YAAM;YAAA,IAAAC,sBAAA;YACf,CAAAA,sBAAA,GAAAN,MAAI,CAACG,WAAW,CAAC/C,OAAO,cAAAkD,sBAAA,uBAAxBA,sBAAA,CAA0BC,KAAK,EAAE;UACnC,CAAC,EAAE,CAAC,CAAC;QACP,CAAC;MAEL,CAAC;IACH;EAAC;IAAA5E,GAAA;IAAAuD,KAAA,EAED,SAAAsB,kBAAA,EAAoB;MAClB,IAAQtD,aAAa,GAAK,IAAI,CAAC1B,KAAK,CAA5B0B,aAAa;MAErB,IAAIA,aAAa,KAAK,CAAC,EAAE;QACvB,IAAIA,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACF,iBAAiB,EAAE;UAChEyD,kBAAM,CAACC,IAAI,CACT,IAAI,8FAEJpG,YAAY,CAACqG,WAAW,CACzB;UACD,IAAI,CAACnE,QAAQ,CAAC;YAAEU,aAAa,EAAE;UAAE,CAAC,CAAC;QACrC,CAAC,MAAM;UACL,IAAI,CAAC8B,kBAAkB,EAAE;QAC3B;MACF;MAEA,IAAM4B,oBAAoB,GAAG,IAAAC,gCAAiB,EAAC,IAAI,CAACpD,OAAO,CAACqD,QAAQ,EAAE,CACpE,eAAe,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;MAEFL,kBAAM,CAACC,IAAI,CACTE,oBAAoB,CAAClF,MAAM,GAAG,CAAC,EAC/B,mIAAmI,EACnIpB,YAAY,CAACqG,WAAW,CACzB;IACH;EAAC;IAAAhF,GAAA;IAAAuD,KAAA,EAED,SAAA6B,mBAAmBC,SAAwB,EAAE;MAAA,IAAAC,MAAA;MAC3C,IAAQ5G,KAAK,GAAK,IAAI,CAACoD,OAAO,CAAtBpD,KAAK;MACb,IAAI2G,SAAS,CAAC3G,KAAK,KAAKA,KAAK,IAAI,IAAI,CAAC0E,YAAY,IAAI1E,KAAK,KAAKkC,SAAS,EAAE;QACzE,IAAI,CAACC,QAAQ,CAAC;UAAEU,aAAa,EAAE7C;QAAM,CAAC,EAAE;UAAA,OAAM4G,MAAI,CAACjC,kBAAkB,EAAE;QAAA,EAAC;MAC1E;IACF;EAAC;IAAArD,GAAA;IAAAuD,KAAA,EAsMD,SAAAgC,kBAAA,EAAoB;MAClB,IAAQC,QAAQ,GAAK,IAAI,CAAC1D,OAAO,CAAzB0D,QAAQ;MAEhB,OAAO;QACLC,GAAG,EAAE,IAAI,CAACjE,YAAY;QACtBgE,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAAxF,GAAA;IAAAuD,KAAA,EAED,SAAAmC,aAAa1G,KAAwB,EAAEN,KAAa,EAAE;MACpD,IAAQiH,IAAI,GAAK,IAAI,CAAC7D,OAAO,CAArB6D,IAAI;MACZ,IAAMC,SAAS,GAAG,IAAI,CAACC,UAAU,CAACnH,KAAK,CAAC;MAExC,OAAO;QACLoH,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BC,GAAG,EAAE,IAAI,CAACjE,OAAO,CAACiE,GAAG;QACrBrH,KAAK,EAALA,KAAK;QACL+C,OAAO,EAAEmE,SAAS;QAClBI,MAAM,EAAEL,IAAI;QACZM,iBAAiB,EAAE,IAAI,CAACzF,qBAAqB;QAC7Cc,SAAS,EAAEsE,SAAS,GAAG,IAAI,CAACM,YAAY,EAAE,GAAGtF,SAAS;QACtDoD,UAAU,EAAE,IAAI,CAACnE,KAAK,CAACmE;MACzB,CAAC;IACH;EAAC;IAAAhE,GAAA;IAAAuD,KAAA,EAsBD,SAAA4C,aAAA,EAAe;MACb,IAAAC,aAAA,GAAsC,IAAI,CAACtE,OAAO;QAA1CD,OAAO,GAAAuE,aAAA,CAAPvE,OAAO;QAAEwE,WAAW,GAAAD,aAAA,CAAXC,WAAW;QAAEN,GAAG,GAAAK,aAAA,CAAHL,GAAG;MACjC,IAAAO,YAAA,GAAiC,IAAI,CAACzG,KAAK;QAAnCC,KAAK,GAAAwG,YAAA,CAALxG,KAAK;QAAEyB,aAAa,GAAA+E,YAAA,CAAb/E,aAAa;MAC5B,IAAIgF,QAAQ,GAAG,KAAK;MACpB,IAAIzG,KAAK,CAACC,MAAM,IAAI8B,OAAO,EAAE;QAC3B0E,QAAQ,GAAGhF,aAAa,KAAK,CAAC;MAChC;MACA,OAAO;QACLiF,OAAO,EAAE,IAAI,CAACvC,gBAAgB,CAAC,MAAM,CAAC;QACtCwC,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,MAAM,CAAC;QACjDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAEN,WAAW,CAAC,MAAM,CAAC;QAC1B,eAAe,SAAAlF,MAAA,CAAS4E,GAAG;MAC7B,CAAC;IACH;EAAC;IAAA/F,GAAA;IAAAuD,KAAA,EAED,SAAAqD,aAAA,EAAe;MACb,IAAAC,cAAA,GAAsC,IAAI,CAAC/E,OAAO;QAA1CD,OAAO,GAAAgF,cAAA,CAAPhF,OAAO;QAAEwE,WAAW,GAAAQ,cAAA,CAAXR,WAAW;QAAEN,GAAG,GAAAc,cAAA,CAAHd,GAAG;MACjC,IAAAe,YAAA,GAAiC,IAAI,CAACjH,KAAK;QAAnCC,KAAK,GAAAgH,YAAA,CAALhH,KAAK;QAAEyB,aAAa,GAAAuF,YAAA,CAAbvF,aAAa;MAC5B,IAAIgF,QAAQ,GAAG,KAAK;MACpB,IAAIzG,KAAK,CAACC,MAAM,IAAI8B,OAAO,EAAE;QAC3B0E,QAAQ,GAAGhF,aAAa,KAAKzB,KAAK,CAACC,MAAM,GAAG,CAAC;MAC/C;MAEA,OAAO;QACLyG,OAAO,EAAE,IAAI,CAACvC,gBAAgB,CAAC,OAAO,CAAC;QACvCwC,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,OAAO,CAAC;QAClDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAEN,WAAW,CAAC,MAAM,CAAC;QAC1B,eAAe,SAAAlF,MAAA,CAAS4E,GAAG;MAC7B,CAAC;IACH;EAAC;IAAA/F,GAAA;IAAAuD,KAAA,EAED,SAAAwD,mBAAA,EAAqB;MAAA,IAAAC,MAAA;MACnB,IAAQlH,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK;MACb,IAAQuG,WAAW,GAAK,IAAI,CAACvE,OAAO,CAA5BuE,WAAW;MAEnB,OAAO;QACLvG,KAAK,EAAEA,KAAK,CAACkC,GAAG,CAAC,UAACvB,IAAI,EAAET,GAAG;UAAA,OAAM;YAC/BiH,MAAM,EAAED,MAAI,CAACnB,UAAU,CAAC7F,GAAG,CAAC;YAC5BwG,OAAO,EAAEQ,MAAI,CAACE,yBAAyB,CAAClH,GAAG,CAAC;YAC5CA,GAAG,EAAHA;UACF,CAAC;QAAA,CAAC,CAAC;QACHO,IAAI,EAAE,SAAS;QACf4G,QAAQ,EAAE,CAAC;QACX,YAAY,EAAEd,WAAW,CAAC,QAAQ;MACpC,CAAC;IACH;EAAC;IAAArG,GAAA;IAAAuD,KAAA,EAED,SAAA6D,kBAAkBnF,CAAM,EAAEvD,KAAa,EAAE;MACvC,IAAMkH,SAAS,GAAG,IAAI,CAACC,UAAU,CAACnH,KAAK,CAAC;MACxC,IAAQ2H,WAAW,GAAK,IAAI,CAACvE,OAAO,CAA5BuE,WAAW;MAEnB,OAAO;QACL9F,IAAI,EAAE,KAAK;QACX,eAAe,EAAEqF,SAAS;QAC1B,eAAe,SAAAzE,MAAA,CAAS,IAAI,CAACW,OAAO,CAACiE,GAAG,qBAAA5E,MAAA,CAAkBzC,KAAK,CAAE;QACjE,YAAY,EAAE2H,WAAW,CAAC,OAAO,EAAE;UAAEgB,WAAW,EAAE3I,KAAK,GAAG;QAAE,CAAC;MAC/D,CAAC;IACH;EAAC;IAAAsB,GAAA;IAAAuD,KAAA,EAED,SAAA2C,aAAA,EAAe;MACb,IAAAoB,YAAA,GAAiC,IAAI,CAACzH,KAAK;QAAnCC,KAAK,GAAAwH,YAAA,CAALxH,KAAK;QAAEyB,aAAa,GAAA+F,YAAA,CAAb/F,aAAa;MAE5B,IAAMsB,SAAS,GAAGtB,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAC5C,IAAMgG,KAAK,GAAGzH,KAAK,CAACC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAGgD,IAAI,CAACW,KAAK,CAACnC,aAAa,GAAGzB,KAAK,CAACC,MAAM,CAAC,GAAG8C,SAAS;MAC3F,IAAMvB,SAAS,GACbC,aAAa,GAAG,CAAC,IAAIA,aAAa,GAAGzB,KAAK,CAACC,MAAM,GAC7C,CAAC,GACD,GAAG,GAAG8C,SAAS,GAAG0E,KAAK,GAAGzH,KAAK,CAACC,MAAM;MAE5C,OAAOuB,SAAS;IAClB;EAAC;IAAAtB,GAAA;IAAAuD,KAAA,EAED,SAAAD,SAAA,EAAW;MACT,IAAAkE,YAAA,GAAiC,IAAI,CAAC3H,KAAK;QAAnCC,KAAK,GAAA0H,YAAA,CAAL1H,KAAK;QAAEyB,aAAa,GAAAiG,YAAA,CAAbjG,aAAa;MAE5B,IAAIzB,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,CAAC;MACV;MAEA,IAAIwB,aAAa,IAAI,CAAC,EAAE;QACtB,OAAOA,aAAa,GAAGzB,KAAK,CAACC,MAAM;MACrC;MAEA,OAAO,CAACD,KAAK,CAACC,MAAM,GAAIwB,aAAa,GAAGzB,KAAK,CAACC,MAAO,IAAID,KAAK,CAACC,MAAM;IACvE;EAAC;IAAAC,GAAA;IAAAuD,KAAA,EAED,SAAAsC,WAAWnH,KAAa,EAAE;MACxB,IAAQoB,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK;MAEb,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,IAAI;MACb;MAEA,OAAOrB,KAAK,KAAK,IAAI,CAAC4E,QAAQ,EAAE;IAClC;EAAC;IAAAtD,GAAA;IAAAuD,KAAA,EAED,SAAAkE,YAAYC,OAAgB,EAAEC,cAAqB,EAAE;MAAA,IAAAC,IAAA,QAAA9F,OAAA;QAAA+F,MAAA;QAAAC,MAAA;MACnD,IAAMC,eAAe,GAgBHC,YAAG;MAfrB,IAAMC,SAAS,GAAGD,YAAG;MACrB,IAAAE,cAAA,GAA6C,IAAI,CAACpG,OAAO;QAAjDqG,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEpC,GAAG,GAAAmC,cAAA,CAAHnC,GAAG;QAAEP,QAAQ,GAAA0C,cAAA,CAAR1C,QAAQ;QAAE4C,SAAS,GAAAF,cAAA,CAATE,SAAS;MACxC,IAAQpE,UAAU,GAAK,IAAI,CAACnE,KAAK,CAAzBmE,UAAU;MAElB,OAAA6D,MAAA,GAAO,IAAAhK,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAACpL,MAAA,WAAK,EAAA4K,MAAA,CAAAS,EAAA;QAAA,WACKtE,UAAU;QAAA,WACV,IAAI,CAACxD,qBAAqB;QAAA,SAC5B,IAAI;QAAA,YACD,CAACkH;MAAO,iBAElB5K,MAAA,YAAAuL,aAAA,CAACnL,QAAA,CAAAqL,IAAI,EAAAV,MAAA,CAAAS,EAAA;QAAA,aAAYZ,OAAO,GAAG,QAAQ,GAAG;MAAK,IACxC,CAACA,OAAO,iBAAI5K,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACC,IAAI;QAACC,QAAQ,EAAE;MAAK,EAAG,eAC9C5L,MAAA,YAAAuL,aAAA,CAACJ,SAAS,EAAAJ,MAAA,CAAAS,EAAA,gCACRxL,MAAA,YAAAuL,aAAA,CAACN,eAAe,EAAAF,MAAA,CAAAS,EAAA,wBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;QAAA,aAEJ,QAAQ;QAAA,mBAAAzH,MAAA,CACDqE,QAAQ;QAAA,OACpB,IAAI,CAAC9D,iBAAiB;QAAA,SACpBd,SAAS;QAAA,QACVwH;MAAS,GAAAR,IAAA,KAEdD,cAAc,CAAC3F,GAAG,CAAC,UAACvB,IAAI,EAAEoI,CAAC,EAAK;QAC/B,oBACE/L,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACM,IAAI,MAAAC,SAAA,iBACRtI,IAAI,CAACzB,KAAK;UACdgB,GAAG,EAAES,IAAI,CAACT,GAAI;UACd+F,GAAG,EAAEA,GAAI;UACTrH,KAAK,EAAEmK,CAAE;UACTpH,OAAO,EAAEqG,MAAI,CAACjC,UAAU,CAACgD,CAAC,CAAE;UAC5B/C,UAAU,EAAElF,SAAU;UACtB+E,IAAI,EAAE,IAAK;UACXqD,OAAO,EAAE,IAAK;UACd1H,SAAS,EAAEwG,MAAI,CAACjC,UAAU,CAACgD,CAAC,CAAC,GAAGf,MAAI,CAAC5B,YAAY,EAAE,GAAGtF;QAAU,GAChE;MAEN,CAAC,CAAC,CACc,CACR,EACX8G,OAAO,gBACN5K,MAAA,YAAAuL,aAAA,CAACnL,QAAA,CAAAqL,IAAI,EAAAV,MAAA,CAAAS,EAAA;QAAA,kBAAiB,QAAQ;QAAA,MAAM;MAAC,iBACnCxL,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACC,IAAI;QAACC,QAAQ,EAAE;MAAK,EAAG,eACjC5L,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACS,IAAI;QAACP,QAAQ,EAAE;MAAK,EAAG,CAC5B,gBAEP5L,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACS,IAAI;QAACP,QAAQ,EAAE;MAAK,EAC/B,CACI,EACN,CAAChB,OAAO,iBAAI5K,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACU,UAAU;QAACR,QAAQ,EAAE;MAAK,EAAG,CAC9C;IAEZ;EAAC;IAAA1I,GAAA;IAAAuD,KAAA,EAED,SAAA4F,OAAA,EAAS;MAAA,IAAAC,KAAA,QAAAtH,OAAA;QAAAuH,MAAA;QAAAC,MAAA;MACP,IAAMC,SAAS,GAmBHvB,YAAG;MAlBf,IAAAwB,cAAA,GAQI,IAAI,CAAC1H,OAAO;QAPdqG,MAAM,GAAAqB,cAAA,CAANrB,MAAM;QACNhD,QAAQ,GAAAqE,cAAA,CAARrE,QAAQ;QACRY,GAAG,GAAAyD,cAAA,CAAHzD,GAAG;QACG0D,OAAO,GAAAD,cAAA,CAAb7D,IAAI;QACU+D,SAAS,GAAAF,cAAA,CAAvB,YAAY;QACYG,mBAAmB,GAAAH,cAAA,CAA3C,sBAAsB;QACtBI,UAAU,GAAAJ,cAAA,CAAVI,UAAU;MAEZ,IAAMjC,cAAc,GAAG,IAAAzC,gCAAiB,EAACC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;MACrE,IAAM0E,QAAQ,GAAG,IAAA3E,gCAAiB,EAACC,QAAQ,EAAE,CAC3C,eAAe,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;MAEF,OAAAkE,MAAA,GAAO,IAAAxL,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAACkB,SAAS,EAAAF,MAAA,CAAAf,EAAA,kBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;QAAA,QAEH,QAAQ;QAAA,mBACG,UAAU;QAAA,aACf,IAAI,CAACkB,cAAc;QAAA,gBAChB,IAAI,CAACC,iBAAiB;QAAA,cACxB,IAAI,CAACC,eAAe;QAAA,OAC3B,IAAI,CAACxF,WAAW;QAAA,aAAArD,MAAA,CACV4E,GAAG;QAAA,wBACQ4D;MAAmB,GAAAP,KAAA,KAExCS,QAAQ,CAAC9J,MAAM,KAAK,CAAC,gBACpBjD,MAAA,YAAAuL,aAAA,CAAAvL,MAAA,YAAAmN,QAAA,qBACEnN,MAAA,YAAAuL,aAAA,CAACnL,QAAA,CAAAqL,IAAI,EAAAc,MAAA,CAAAf,EAAA,2BACHxL,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACC,IAAI,OAAG,eACjB3L,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAAC0B,UAAU,qBAClBpN,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAAC2B,SAAS;QAAC,cAAYT;MAAU,gBACxC5M,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAAkE,MAAA,CAAAf,EAAA,iBAAG,CACO,CACD,eACtBxL,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACS,IAAI,OAAG,CACZ,EACNW,UAAU,KAAK,SAAS,iBAAI9M,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACU,UAAU,OAAG,EACnDU,UAAU,KAAK,SAAS,iBACvB9M,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAACU,UAAU,QACjB;QAAA,OACCvB,cAAc,CAAC3F,GAAG,CAAC,UAACvB,IAAI,EAAE/B,KAAK;UAAA,oBAC7B5B,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAAC4B,SAAS,MAAArB,SAAA,iBACbtI,IAAI,CAACzB,KAAK;YACdgB,GAAG,EAAES,IAAI,CAACT,GAAI;YACdqK,CAAC,EAAE,GAAI;YACPC,CAAC,EAAE,GAAI;YACP,wBAAqB,OAAO;YAC5BrD,MAAM,EAAEqC,MAAI,CAACzD,UAAU,CAACnH,KAAK,CAAE;YAC/B8H,OAAO,EAAE8C,MAAI,CAACpC,yBAAyB,CAACxI,KAAK;UAAE,GAC/C;QAAA,CACH,CAAC;MAAA,EAGP,CACA,gBAEH5B,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAAkE,MAAA,CAAAf,EAAA,iBACV,EACAmB,OAAO,iBACN3M,MAAA,YAAAuL,aAAA,CAAC9J,WAAW,EAAA8K,MAAA,CAAAf,EAAA,kCACVxL,MAAA,YAAAuL,aAAA,CAAC9J,WAAW,CAACgM,OAAO,CAACC,QAAQ,QAC1B,UAACC,UAAU;QAAA,OAAKnB,MAAI,CAAC7B,WAAW,CAAChJ,aAAa,CAACgM,UAAU,CAAC,EAAE9C,cAAc,CAAC;MAAA,EAC/C,CAElC,CACS;IAEhB;EAAC;EAAA,OAAAhJ,YAAA;AAAA,EAxiBwB+L,eAAS;AAAA,IAAApL,gBAAA,aAA9BX,YAAY,iBAMK,UAAU;AAAA,IAAAW,gBAAA,aAN3BX,YAAY,kBAOM;EACpBuF,YAAY,EAAE,CAAC;EACfsB,QAAQ,EAAE,GAAG;EACbmF,IAAI,EAAE,GAAG;EACT9I,OAAO,EAAE,KAAK;EACd+I,IAAI,EAAEvM,8CAAiB;EACvBwM,MAAM,EAAE,IAAI;EACZjB,UAAU,EAAE;AACd,CAAC;AAAA,IAAAtK,gBAAA,aAfGX,YAAY,WAiBDf,KAAK;AAAA,IAAA0B,gBAAA,aAjBhBX,YAAY,aAkBCT,OAAO;AAyhB1B,IAAMiM,SAAS,GAAG,SAAZA,SAASA,CAAInL,KAAuC,EAAK;EAAA,IAAA8L,KAAA,GAAAC,YAAA;IAAAC,MAAA;EAC7D,IAAMC,UAAU,GAIMjD,YAAG;EAHzB,IAAQG,MAAM,GAAenJ,KAAK,CAA1BmJ,MAAM;IAAE3C,QAAQ,GAAKxG,KAAK,CAAlBwG,QAAQ;EAExB,OAAAwF,MAAA,GAAO,IAAAnN,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAAC4C,UAAU,EAAAD,MAAA,CAAA1C,EAAA,mBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;IAAA,mBAAAzH,MAAA,CAA+BqE,QAAQ;IAAA,aAAgB;EAAQ,GAAAsF,KAAA,IAAG;AAEjF,CAAC;AAED,IAAMZ,UAAU,GAAG,SAAbA,UAAUA,CAAIlL,KAAe,EAAK;EAAA,IAAAkM,KAAA,GAAAH,YAAA;IAAAI,MAAA;EACtC,IAAMC,WAAW,GAG2BpD,YAAG;EAF/C,IAAQG,MAAM,GAAKnJ,KAAK,CAAhBmJ,MAAM;EAEd,OAAAgD,MAAA,GAAO,IAAAtN,aAAO,EAACsK,MAAM,CAAC,eAACrL,MAAA,YAAAuL,aAAA,CAAC+C,WAAW,EAAAD,MAAA,CAAA7C,EAAA,oBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA,MAAAsC,KAAA,IAAgB;AACrD,CAAC;AAAC,IAEIpC,IAAI,0BAAAuC,WAAA;EAAA,IAAAxM,UAAA,aAAAiK,IAAA,EAAAuC,WAAA;EAAA,IAAAC,OAAA,OAAAvM,aAAA,aAAA+J,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAyC,MAAA;IAAA,IAAAnM,gBAAA,mBAAA0J,IAAA;IAAA,SAAA0C,IAAA,GAAA7K,SAAA,CAAAZ,MAAA,EAAA0L,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAhL,SAAA,CAAAgL,IAAA;IAAA;IAAAJ,MAAA,GAAAD,OAAA,CAAAjM,IAAA,CAAAuM,KAAA,CAAAN,OAAA,SAAAnK,MAAA,CAAAsK,IAAA;IAAA,IAAAnM,gBAAA,iBAAAC,uBAAA,aAAAgM,MAAA,2BACE/L,iBAAK,CAACC,SAAS,EAAe;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAgM,MAAA;IAAA,OAAAA,MAAA;EAAA;EAAA,IAAApH,aAAA,aAAA2E,IAAA;IAAA9I,GAAA;IAAAuD,KAAA,EAIxC,SAAAsB,kBAAA,EAAoB;MAClB,IAAAgH,WAAA,GAAkC,IAAI,CAAC7M,KAAK;QAApC8G,UAAU,GAAA+F,WAAA,CAAV/F,UAAU;QAAExE,SAAS,GAAAuK,WAAA,CAATvK,SAAS;MAC7B,IAAMwK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACrK,OAAO;MAEpCqE,UAAU,IAAIgG,OAAO,IAAIhG,UAAU,CAAC;QAAE5E,IAAI,EAAE4K;MAAQ,CAAC,CAAC;MAEtD,IAAIxK,SAAS,IAAIwK,OAAO,EAAE;QACxBA,OAAO,CAAClO,KAAK,CAAC0D,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MACvD;IACF;EAAC;IAAAtB,GAAA;IAAAuD,KAAA,EAED,SAAAwI,qBAAA,EAAuB;MACrB,IAAQjG,UAAU,GAAK,IAAI,CAAC9G,KAAK,CAAzB8G,UAAU;MAClB,IAAMgG,OAAO,GAAG,IAAI,CAACA,OAAO,CAACrK,OAAO;MAEpCqE,UAAU,IAAIgG,OAAO,IAAIhG,UAAU,CAAC;QAAE5E,IAAI,EAAE4K;MAAQ,CAAC,EAAE,IAAI,CAAC;MAC5DE,YAAY,CAAC,IAAI,CAACC,gBAAgB,CAAC;IACrC;EAAC;IAAAjM,GAAA;IAAAuD,KAAA,EAED,SAAA6B,mBAAmBC,SAA4B,EAAE;MAAA,IAAA6G,MAAA;MAC/CF,YAAY,CAAC,IAAI,CAACC,gBAAgB,CAAC;MAEnC,IAAM3K,SAAS,GAAG,IAAI,CAACtC,KAAK,CAACsC,SAAS;MACtC,IAAMwK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACrK,OAAO;MAEpC,IAAI4D,SAAS,CAAC/D,SAAS,KAAKA,SAAS,IAAIwK,OAAO,EAAE;QAChDA,OAAO,CAAClO,KAAK,CAAC0D,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MACvD;MACA,IAAI,IAAI,CAACtC,KAAK,CAACyC,OAAO,EAAE;QACtB,IAAI,CAACwK,gBAAgB,GAAGvH,UAAU,CAAC,YAAM;UAAA,IAAAyH,qBAAA;UACvC,IACEC,QAAQ,CAACC,aAAa,KAAKP,OAAO,IAClC,EAAAK,qBAAA,GAACC,QAAQ,CAACC,aAAa,cAAAF,qBAAA,uBAAvBA,qBAAA,CAAyCG,OAAO,CAACC,QAAQ,OAAKT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,OAAO,CAACC,QAAQ,GACvF;YACAT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElH,KAAK,EAAE;UAClB;QACF,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IACES,SAAS,CAACrB,UAAU,KAAK,IAAI,IAC7B,IAAI,CAAChF,KAAK,CAACgF,UAAU,KAAK,KAAK,IAC/B,IAAI,CAAChF,KAAK,CAACyC,OAAO,IAClB,CAAC,IAAI,CAACzC,KAAK,CAACgK,OAAO,EACnB;QACA,IAAI,CAACiD,gBAAgB,GAAGvH,UAAU,CAAC,YAAM;UAAA,IAAA8H,qBAAA;UACvC,CAAAA,qBAAA,GAAAN,MAAI,CAACJ,OAAO,CAACrK,OAAO,cAAA+K,qBAAA,uBAApBA,qBAAA,CAAsB5H,KAAK,EAAE;QAC/B,CAAC,EAAE,GAAG,CAAC;MACT;IACF;EAAC;IAAA5E,GAAA;IAAAuD,KAAA,EAED,SAAA4F,OAAA,EAAS;MAAA,IAAAsD,KAAA,QAAA3K,OAAA;QAAA4K,MAAA;MACP,IAAAC,YAAA,GAAmE,IAAI,CAAC3N,KAAK;QAArEmJ,MAAM,GAAAwE,YAAA,CAANxE,MAAM;QAAEzJ,KAAK,GAAAiO,YAAA,CAALjO,KAAK;QAAEqH,GAAG,GAAA4G,YAAA,CAAH5G,GAAG;QAAEtE,OAAO,GAAAkL,YAAA,CAAPlL,OAAO;QAAEuE,MAAM,GAAA2G,YAAA,CAAN3G,MAAM;QAAEC,iBAAiB,GAAA0G,YAAA,CAAjB1G,iBAAiB;MAC9D,IAAM2G,KAAK,GAIC5E,YAAG;MAFf,OAAA0E,MAAA,GAAO,IAAA7O,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAACuE,KAAK,EAAAF,MAAA,CAAApE,EAAA,cAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;QAAA,OAEC,IAAI,CAACkD,OAAO;QAAA,QACZ,UAAU;QAAA,wBAAA3K,MAAA,CACO4E,GAAG;QAAA,aAAA5E,MAAA,CACd4E,GAAG,qBAAA5E,MAAA,CAAkBzC,KAAK;QAAA,gBACvB+C,OAAO;QAAA,gBACPA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAAA,WACrBuE,MAAM,GAAGC,iBAAiB,GAAGrF,SAAS;QAAA,UACvCoF;MAAM,GAAAyG,KAAA,IACd;IAEN;EAAC;EAAA,OAAA3D,IAAA;AAAA,EAxEgB4B,eAAS;AAAA,IAAApL,gBAAA,aAAtBwJ,IAAI,aAGS,CAAC,IAAA+D,gCAAoB,EAAC,KAAK,CAAC,CAAC;AAwEhD,IAAMpE,IAAI,GAAG,SAAPA,IAAIA,CAAIzJ,KAA0B,EAAK;EAAA,IAAA8N,KAAA,GAAA/B,YAAA;IAAAgC,MAAA;EAC3C,IAAQ5E,MAAM,GAAmDnJ,KAAK,CAA9DmJ,MAAM;IAAE6E,QAAQ,GAAyChO,KAAK,CAAtDgO,QAAQ;IAAE7H,QAAQ,GAA+BnG,KAAK,CAA5CmG,QAAQ;IAAEwB,KAAK,GAAwB3H,KAAK,CAAlC2H,KAAK;IAAAsG,UAAA,GAAwBjO,KAAK,CAA3BkO,GAAG;IAAHA,GAAG,GAAAD,UAAA,cAAG,CAAC,GAAAA,UAAA;IAAEvE,QAAQ,GAAK1J,KAAK,CAAlB0J,QAAQ;EAC5D,IAAMyE,KAAK,GAIMnF,YAAG;EAHpB,IAAMoF,WAAW,GAAGC,kBAAM;EAE1B,OAAAN,MAAA,GAAO,IAAAlP,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAAC8E,KAAK,EAAAJ,MAAA,CAAAzE,EAAA,cAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;IAAA,OAAmBsE;EAAG,GAAAJ,KAAA,KACzBE,QAAQ,gBACPlQ,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAA4H,MAAA,CAAAzE,EAAA,iBAAG,gBAEZxL,MAAA,YAAAuL,aAAA,CAAC+E,WAAW,EAAAL,MAAA,CAAAzE,EAAA;IAAA,aACCgF,cAAW;IAAA,cACV3G,KAAK;IAAA,SACV+B,QAAQ,GAAG,QAAQ,GAAG,OAAO;IAAA,OAC/B,UAAU;IAAA,QACT,GAAG;IAAA;EAAA,GAGZ,CACK;AAEZ,CAAC;AAED,IAAMO,IAAI,GAAG,SAAPA,IAAIA,CAAIjK,KAA0B,EAAK;EAAA,IAAAuO,KAAA,GAAAxC,YAAA;IAAAyC,MAAA;EAC3C,IAAQrF,MAAM,GAAmDnJ,KAAK,CAA9DmJ,MAAM;IAAE6E,QAAQ,GAAyChO,KAAK,CAAtDgO,QAAQ;IAAE7H,QAAQ,GAA+BnG,KAAK,CAA5CmG,QAAQ;IAAEwB,KAAK,GAAwB3H,KAAK,CAAlC2H,KAAK;IAAA8G,WAAA,GAAwBzO,KAAK,CAA3BkO,GAAG;IAAHA,GAAG,GAAAO,WAAA,cAAG,CAAC,GAAAA,WAAA;IAAE/E,QAAQ,GAAK1J,KAAK,CAAlB0J,QAAQ;EAC5D,IAAMgF,KAAK,GAIM1F,YAAG;EAHpB,IAAM2F,WAAW,GAAGN,kBAAM;EAE1B,OAAAG,MAAA,GAAO,IAAA3P,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAACqF,KAAK,EAAAF,MAAA,CAAAlF,EAAA,cAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA;IAAA,OAAmBsE;EAAG,GAAAK,KAAA,KACzBP,QAAQ,gBACPlQ,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAAqI,MAAA,CAAAlF,EAAA,iBAAG,gBAEZxL,MAAA,YAAAuL,aAAA,CAACsF,WAAW,EAAAH,MAAA,CAAAlF,EAAA;IAAA,aACCsF,aAAY;IAAA,cACXjH,KAAK;IAAA,SACV+B,QAAQ,GAAG,QAAQ,GAAG,OAAO;IAAA,OAC/B,UAAU;IAAA,QACT,GAAG;IAAA;EAAA,GAGZ,CACK;AAEZ,CAAC;AAED,IAAMQ,UAAU,GAAG,SAAbA,UAAUA,CAAA2E,MAAA,EAAuE;EAAA,IAAAC,KAAA,GAAA/C,YAAA;IAAAgD,MAAA;EAAA,IAAjEjO,KAAK,GAAA+N,MAAA,CAAL/N,KAAK;IAAEqI,MAAM,GAAA0F,MAAA,CAAN1F,MAAM;IAAEhD,QAAQ,GAAA0I,MAAA,CAAR1I,QAAQ;IAAEuD,QAAQ,GAAAmF,MAAA,CAARnF,QAAQ;EACrD,IAAMsF,WAAW,GASMhG,YAAG;EAR1B,IAAI7C,QAAQ,CAAC8I,MAAM,EAAE;IAAA,IAAAC,MAAA;IACnB,OAAAA,MAAA,GAAO,IAAArQ,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAAC2F,WAAW,EAAAE,MAAA,CAAA5F,EAAA,oBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA,MAAAkF,KAAA,kBACVhR,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAA+I,MAAA,CAAA5F,EAAA,iBAAG,CACA;EAElB;EACA,OAAAyF,MAAA,GAAO,IAAAlQ,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAAC2F,WAAW,EAAAD,MAAA,CAAAzF,EAAA,oBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA,MAAAkF,KAAA,KACThO,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,GAAG,CAAC,UAACvB,IAAkB,EAAE/B,KAAa;IAAA,oBAC5C5B,MAAA,YAAAuL,aAAA,CAACG,QAAQ,CAAC4B,SAAS,MAAArB,SAAA;MAAC/I,GAAG,EAAEtB;IAAM,GAAK+B,IAAI;MAAEiI,QAAQ,EAAEA;IAAS,GAAG;EAAA,CACjE,CAAC,CACU;AAElB,CAAC;AAED,IAAM0B,SAAS,GAAG,SAAZA,SAASA,CAAA+D,MAAA,EAAqD;EAAA,IAAAC,KAAA,GAAArD,YAAA;IAAAsD,MAAA;EAAA,IAA/ClG,MAAM,GAAAgG,MAAA,CAANhG,MAAM;IAAEhD,QAAQ,GAAAgJ,MAAA,CAARhJ,QAAQ;EACnC,IAAMmJ,UAAU,GAEMtG,YAAG;EADzB,OAAAqG,MAAA,GAAO,IAAAxQ,aAAO,EAACsK,MAAM,CAAC,eACpBrL,MAAA,YAAAuL,aAAA,CAACiG,UAAU,EAAAD,MAAA,CAAA/F,EAAA,mBAAAK,cAAA,qBAAA/L,KAAA,CAAAgM,WAAA,MAAAwF,KAAA,kBACTtR,MAAA,YAAAuL,aAAA,CAAClD,QAAQ,EAAAkJ,MAAA,CAAA/F,EAAA,iBAAG,CACD;AAEjB,CAAC;AAED,IAAME,QAA6B,GAAG,IAAA+F,qBAAe,EAAC5P,YAAY,EAAE;EAClEwL,SAAS,EAATA,SAAS;EACTD,UAAU,EAAVA,UAAU;EACVhB,UAAU,EAAVA,UAAU;EACVkB,SAAS,EAATA,SAAS;EACTtB,IAAI,EAAJA,IAAI;EACJL,IAAI,EAAJA,IAAI;EACJQ,IAAI,EAAJA;AACF,CAAC,CAAC;AAAC,IAAAuF,QAAA,GAEYhG,QAAQ;AAAAiG,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"Carousel.js","names":["_core","require","_react","_interopRequireDefault","_button","_modal","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_logger","_findComponent","_breakpoints","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref20","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","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","_toConsumableArray2","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","_createClass2","uncontrolledProps","_this2","_index","_this2$refCarousel$cu","refCarousel","blur","setTimeout","_this2$refCarousel$cu2","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","_this3","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","tabIndex","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref10","_this5","SModalContainer","Box","SModalBox","_this$asProps3","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","_objectSpread2","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref11","_this6","SCarousel","_this$asProps4","hasZoom","ariaLabel","ariaRoledescription","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","h","Context","Consumer","mediaIndex","Component","step","i18n","locale","_ref3","arguments[0]","_ref12","SContainer","_ref4","_ref13","SContentBox","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","_ref5","_ref14","_this$props2","SItem","_ref6","_ref15","children","_props$top","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref16","_props$top2","SNext","SNextButton","ChevronRight","_ref21","_ref8","_ref18","SIndicators","origin","_ref17","_ref22","_ref9","_ref19","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/core/lib/utils/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\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 <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\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 <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 }\n </Carousel.Indicators>\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 toggleItem && refItem && toggleItem({ node: refItem });\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 toggleItem && refItem && toggleItem({ node: refItem }, true);\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 <Children />\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 <Children />\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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"}
@@ -14,7 +14,7 @@ SContentBox, SModalBox {
14
14
  position: relative;
15
15
  overflow: hidden;
16
16
  border-radius: var(--intergalactic-surface-rounded, 6px);
17
- &:has(SItem[keyboardFocused]) {
17
+ &:has(SItem:focus-visible) {
18
18
  &:after {
19
19
  content: '';
20
20
  display: block;
@@ -29,32 +29,32 @@ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
29
29
  import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
30
30
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
31
31
  import logger from '@semcore/core/lib/utils/logger';
32
- /*__reshadow-styles__:"./style/carousel.shadow.css"*/
33
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_vh2eh_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SContentBox_vh2eh_gg_,.___SModalBox_vh2eh_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):after,.___SModalBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):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_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SItem_vh2eh_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_vh2eh);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_vh2eh_gg_.__zoomIn_vh2eh_gg_{cursor:zoom-in}.___SItem_vh2eh_gg_.__zoomOut_vh2eh_gg_{cursor:zoom-out}.___SIndicators_vh2eh_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_vh2eh_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_vh2eh_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_vh2eh_gg_.__active_vh2eh_gg_{opacity:1}.___SIndicator_vh2eh_gg_.__inverted_vh2eh_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_vh2eh_gg_,.___SPrev_vh2eh_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SNext_vh2eh_gg_ .___SPrevButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SPrevButton_vh2eh_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_vh2eh_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_.__disabled_vh2eh_gg_,.___SPrev_vh2eh_gg_.__disabled_vh2eh_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_vh2eh_gg_{transition:none}}" /*__inner_css_end__*/, "vh2eh_gg_") /*__reshadow_css_end__*/, {
34
- "__SCarousel": "___SCarousel_vh2eh_gg_",
35
- "__SContainer": "___SContainer_vh2eh_gg_",
36
- "--duration": "--duration_vh2eh",
37
- "__SModalContainer": "___SModalContainer_vh2eh_gg_",
38
- "__SItem": "___SItem_vh2eh_gg_",
39
- "--transform": "--transform_vh2eh",
40
- "_zoomIn": "__zoomIn_vh2eh_gg_",
41
- "_zoomOut": "__zoomOut_vh2eh_gg_",
42
- "__SIndicators": "___SIndicators_vh2eh_gg_",
43
- "__SIndicator": "___SIndicator_vh2eh_gg_",
44
- "_active": "__active_vh2eh_gg_",
45
- "_inverted": "__inverted_vh2eh_gg_",
46
- "__SPrev": "___SPrev_vh2eh_gg_",
47
- "__SNext": "___SNext_vh2eh_gg_",
48
- "_disabled": "__disabled_vh2eh_gg_",
49
- "__SContentBox": "___SContentBox_vh2eh_gg_",
50
- "__SModalBox": "___SModalBox_vh2eh_gg_",
51
- "_keyboardFocused": "__keyboardFocused_vh2eh_gg_",
52
- "__SPrevButton": "___SPrevButton_vh2eh_gg_",
53
- "__SNextButton": "___SNextButton_vh2eh_gg_"
32
+ /*!__reshadow-styles__:"./style/carousel.shadow.css"*/
33
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_o51b8_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SContentBox_o51b8_gg_,.___SModalBox_o51b8_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_o51b8_gg_:has(.___SItem_o51b8_gg_:focus-visible):after,.___SModalBox_o51b8_gg_:has(.___SItem_o51b8_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_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SItem_o51b8_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_o51b8);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_o51b8_gg_.__zoomIn_o51b8_gg_{cursor:zoom-in}.___SItem_o51b8_gg_.__zoomOut_o51b8_gg_{cursor:zoom-out}.___SIndicators_o51b8_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_o51b8_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_o51b8_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_o51b8_gg_.__active_o51b8_gg_{opacity:1}.___SIndicator_o51b8_gg_.__inverted_o51b8_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_o51b8_gg_,.___SPrev_o51b8_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SNext_o51b8_gg_ .___SPrevButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SPrevButton_o51b8_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_o51b8_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_.__disabled_o51b8_gg_,.___SPrev_o51b8_gg_.__disabled_o51b8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_o51b8_gg_{transition:none}}", /*__inner_css_end__*/"o51b8_gg_"),
34
+ /*__reshadow_css_end__*/
35
+ {
36
+ "__SCarousel": "___SCarousel_o51b8_gg_",
37
+ "__SContainer": "___SContainer_o51b8_gg_",
38
+ "--duration": "--duration_o51b8",
39
+ "__SModalContainer": "___SModalContainer_o51b8_gg_",
40
+ "__SItem": "___SItem_o51b8_gg_",
41
+ "--transform": "--transform_o51b8",
42
+ "_zoomIn": "__zoomIn_o51b8_gg_",
43
+ "_zoomOut": "__zoomOut_o51b8_gg_",
44
+ "__SIndicators": "___SIndicators_o51b8_gg_",
45
+ "__SIndicator": "___SIndicator_o51b8_gg_",
46
+ "_active": "__active_o51b8_gg_",
47
+ "_inverted": "__inverted_o51b8_gg_",
48
+ "__SPrev": "___SPrev_o51b8_gg_",
49
+ "__SNext": "___SNext_o51b8_gg_",
50
+ "_disabled": "__disabled_o51b8_gg_",
51
+ "__SContentBox": "___SContentBox_o51b8_gg_",
52
+ "__SModalBox": "___SModalBox_o51b8_gg_",
53
+ "__SPrevButton": "___SPrevButton_o51b8_gg_",
54
+ "__SNextButton": "___SNextButton_o51b8_gg_"
54
55
  });
55
56
  import { findAllComponents } from '@semcore/core/lib/utils/findComponent';
56
57
  import { createBreakpoints } from '@semcore/breakpoints';
57
- import keyboardFocusEnhance from '@semcore/core/lib/utils/enhances/keyboardFocusEnhance';
58
58
  var MAP_TRANSFORM = {
59
59
  ArrowLeft: 'left',
60
60
  ArrowRight: 'right'
@@ -255,7 +255,9 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
255
255
  isOpenZoom: !prevState.isOpenZoom
256
256
  };
257
257
  }, function () {
258
- _this.state.isOpenZoom && _this.transformContainer();
258
+ if (_this.state.isOpenZoom) {
259
+ _this.transformContainer();
260
+ }
259
261
  });
260
262
  });
261
263
  _defineProperty(_assertThisInitialized(_this), "bindHandlerKeydownControl", function (direction) {
@@ -595,7 +597,6 @@ var Item = /*#__PURE__*/function (_Component2) {
595
597
  }
596
598
  _this7 = _super2.call.apply(_super2, [this].concat(args));
597
599
  _defineProperty(_assertThisInitialized(_this7), "refItem", /*#__PURE__*/React.createRef());
598
- _defineProperty(_assertThisInitialized(_this7), "keepFocusTimeout", void 0);
599
600
  return _this7;
600
601
  }
601
602
  _createClass(Item, [{
@@ -620,32 +621,15 @@ var Item = /*#__PURE__*/function (_Component2) {
620
621
  toggleItem && refItem && toggleItem({
621
622
  node: refItem
622
623
  }, true);
623
- clearTimeout(this.keepFocusTimeout);
624
624
  }
625
625
  }, {
626
626
  key: "componentDidUpdate",
627
627
  value: function componentDidUpdate(prevProps) {
628
- var _this8 = this;
629
- clearTimeout(this.keepFocusTimeout);
630
628
  var transform = this.props.transform;
631
629
  var refItem = this.refItem.current;
632
630
  if (prevProps.transform !== transform && refItem) {
633
631
  refItem.style.transform = "translateX(".concat(transform, "%)");
634
632
  }
635
- if (this.props.current) {
636
- this.keepFocusTimeout = setTimeout(function () {
637
- var _document$activeEleme;
638
- if (document.activeElement !== refItem && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.dataset.carousel) === (refItem === null || refItem === void 0 ? void 0 : refItem.dataset.carousel)) {
639
- refItem === null || refItem === void 0 ? void 0 : refItem.focus();
640
- }
641
- }, 100);
642
- }
643
- if (prevProps.isOpenZoom === true && this.props.isOpenZoom === false && this.props.current && !this.props.zoomOut) {
644
- this.keepFocusTimeout = setTimeout(function () {
645
- var _this8$refItem$curren;
646
- (_this8$refItem$curren = _this8.refItem.current) === null || _this8$refItem$curren === void 0 ? void 0 : _this8$refItem$curren.focus();
647
- }, 200);
648
- }
649
633
  }
650
634
  }, {
651
635
  key: "render",
@@ -674,7 +658,6 @@ var Item = /*#__PURE__*/function (_Component2) {
674
658
  }]);
675
659
  return Item;
676
660
  }(Component);
677
- _defineProperty(Item, "enhance", [keyboardFocusEnhance(false)]);
678
661
  var Prev = function Prev(props) {
679
662
  var _ref6 = arguments[0],
680
663
  _ref15;
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","names":["React","createComponent","Component","sstyled","Root","Button","Modal","Box","Flex","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","logger","style","_sstyled","insert","findAllComponents","createBreakpoints","keyboardFocusEnhance","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref20","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","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","_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","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","tabIndex","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref10","_this5","SModalContainer","SModalBox","_this$asProps3","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref11","_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]","_ref12","SContainer","_assignProps3","_ref4","_ref13","SContentBox","_assignProps4","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","clearTimeout","keepFocusTimeout","_this8","_document$activeEleme","document","activeElement","dataset","carousel","_this8$refItem$curren","_ref5","_ref14","_this$props2","SItem","_assignProps5","_ref6","_ref15","children","_props$top","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref16","_props$top2","SNext","SNextButton","_assignProps7","_ref21","_ref8","_ref18","SIndicators","origin","_ref17","_assignProps8","_assignProps9","_ref22","_ref9","_ref19","SIndicator","_assignProps10"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/core/lib/utils/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/core/lib/utils/enhances/keyboardFocusEnhance';\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 this.state.isOpenZoom && this.transformContainer();\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 <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\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 <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 }\n </Carousel.Indicators>\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 keepFocusTimeout: NodeJS.Timeout | undefined;\n static enhance = [keyboardFocusEnhance(false)];\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\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 toggleItem && refItem && toggleItem({ node: refItem }, true);\n clearTimeout(this.keepFocusTimeout);\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n clearTimeout(this.keepFocusTimeout);\n\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 if (this.props.current) {\n this.keepFocusTimeout = setTimeout(() => {\n if (\n document.activeElement !== refItem &&\n (document.activeElement as HTMLElement)?.dataset.carousel === refItem?.dataset.carousel\n ) {\n refItem?.focus();\n }\n }, 100);\n }\n if (\n prevProps.isOpenZoom === true &&\n this.props.isOpenZoom === false &&\n this.props.current &&\n !this.props.zoomOut\n ) {\n this.keepFocusTimeout = setTimeout(() => {\n this.refItem.current?.focus();\n }, 200);\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 <Children />\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 <Children />\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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"}
1
+ {"version":3,"file":"Carousel.js","names":["React","createComponent","Component","sstyled","Root","Button","Modal","Box","Flex","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","logger","style","_sstyled","insert","findAllComponents","createBreakpoints","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref20","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","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","_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","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","_this$asProps","getI18nText","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","tabIndex","getIndicatorProps","slideNumber","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref10","_this5","SModalContainer","SModalBox","_this$asProps3","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref11","_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]","_ref12","SContainer","_assignProps3","_ref4","_ref13","SContentBox","_assignProps4","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","_ref5","_ref14","_this$props2","SItem","_assignProps5","_ref6","_ref15","children","_props$top","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref16","_props$top2","SNext","SNextButton","_assignProps7","_ref21","_ref8","_ref18","SIndicators","origin","_ref17","_assignProps8","_assignProps9","_ref22","_ref9","_ref19","SIndicator","_assignProps10"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/core/lib/utils/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\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 <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\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 <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 }\n </Carousel.Indicators>\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 toggleItem && refItem && toggleItem({ node: refItem });\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 toggleItem && refItem && toggleItem({ node: refItem }, true);\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 <Children />\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 <Children />\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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"}
@@ -14,7 +14,7 @@ SContentBox, SModalBox {
14
14
  position: relative;
15
15
  overflow: hidden;
16
16
  border-radius: var(--intergalactic-surface-rounded, 6px);
17
- &:has(SItem[keyboardFocused]) {
17
+ &:has(SItem:focus-visible) {
18
18
  &:after {
19
19
  content: '';
20
20
  display: block;
@@ -20,34 +20,35 @@ import { localizedMessages } from "./translations/__intergalactic-dynamic-locale
20
20
  import logger from "@semcore/core/lib/utils/logger";
21
21
  import { findAllComponents } from "@semcore/core/lib/utils/findComponent";
22
22
  import { createBreakpoints } from "@semcore/breakpoints";
23
- import keyboardFocusEnhance from "@semcore/core/lib/utils/enhances/keyboardFocusEnhance";
23
+ /*!__reshadow-styles__:"./style/carousel.shadow.css"*/
24
24
  var style = (
25
25
  /*__reshadow_css_start__*/
26
26
  (sstyled.insert(
27
27
  /*__inner_css_start__*/
28
- '.___SCarousel_vh2eh_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SContentBox_vh2eh_gg_,.___SModalBox_vh2eh_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):after,.___SModalBox_vh2eh_gg_:has(.___SItem_vh2eh_gg_.__keyboardFocused_vh2eh_gg_):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_vh2eh_gg_{display:flex;transition:transform var(--duration_vh2eh) ease-in-out}.___SItem_vh2eh_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_vh2eh);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_vh2eh_gg_.__zoomIn_vh2eh_gg_{cursor:zoom-in}.___SItem_vh2eh_gg_.__zoomOut_vh2eh_gg_{cursor:zoom-out}.___SIndicators_vh2eh_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_vh2eh_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_vh2eh_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_vh2eh_gg_.__active_vh2eh_gg_{opacity:1}.___SIndicator_vh2eh_gg_.__inverted_vh2eh_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_vh2eh_gg_,.___SPrev_vh2eh_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SNext_vh2eh_gg_ .___SPrevButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SNextButton_vh2eh_gg_ span:has(>svg:only-child),.___SPrev_vh2eh_gg_ .___SPrevButton_vh2eh_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_vh2eh_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_vh2eh_gg_.__disabled_vh2eh_gg_,.___SPrev_vh2eh_gg_.__disabled_vh2eh_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_vh2eh_gg_{transition:none}}',
29
- "vh2eh_gg_"
30
- ), {
31
- "__SCarousel": "___SCarousel_vh2eh_gg_",
32
- "__SContainer": "___SContainer_vh2eh_gg_",
33
- "--duration": "--duration_vh2eh",
34
- "__SModalContainer": "___SModalContainer_vh2eh_gg_",
35
- "__SItem": "___SItem_vh2eh_gg_",
36
- "--transform": "--transform_vh2eh",
37
- "_zoomIn": "__zoomIn_vh2eh_gg_",
38
- "_zoomOut": "__zoomOut_vh2eh_gg_",
39
- "__SIndicators": "___SIndicators_vh2eh_gg_",
40
- "__SIndicator": "___SIndicator_vh2eh_gg_",
41
- "_active": "__active_vh2eh_gg_",
42
- "_inverted": "__inverted_vh2eh_gg_",
43
- "__SPrev": "___SPrev_vh2eh_gg_",
44
- "__SNext": "___SNext_vh2eh_gg_",
45
- "_disabled": "__disabled_vh2eh_gg_",
46
- "__SContentBox": "___SContentBox_vh2eh_gg_",
47
- "__SModalBox": "___SModalBox_vh2eh_gg_",
48
- "_keyboardFocused": "__keyboardFocused_vh2eh_gg_",
49
- "__SPrevButton": "___SPrevButton_vh2eh_gg_",
50
- "__SNextButton": "___SNextButton_vh2eh_gg_"
28
+ '.___SCarousel_o51b8_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SContentBox_o51b8_gg_,.___SModalBox_o51b8_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded, 6px)}.___SContentBox_o51b8_gg_:has(.___SItem_o51b8_gg_:focus-visible):after,.___SModalBox_o51b8_gg_:has(.___SItem_o51b8_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_o51b8_gg_{display:flex;transition:transform var(--duration_o51b8) ease-in-out}.___SItem_o51b8_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_o51b8);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden;outline:0}.___SItem_o51b8_gg_.__zoomIn_o51b8_gg_{cursor:zoom-in}.___SItem_o51b8_gg_.__zoomOut_o51b8_gg_{cursor:zoom-out}.___SIndicators_o51b8_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;outline:0;position:relative}.___SIndicator_o51b8_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_o51b8_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_o51b8_gg_.__active_o51b8_gg_{opacity:1}.___SIndicator_o51b8_gg_.__inverted_o51b8_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_o51b8_gg_,.___SPrev_o51b8_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SNext_o51b8_gg_ .___SPrevButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SNextButton_o51b8_gg_ span:has(>svg:only-child),.___SPrev_o51b8_gg_ .___SPrevButton_o51b8_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_o51b8_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_o51b8_gg_.__disabled_o51b8_gg_,.___SPrev_o51b8_gg_.__disabled_o51b8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_o51b8_gg_{transition:none}}',
29
+ /*__inner_css_end__*/
30
+ "o51b8_gg_"
31
+ ), /*__reshadow_css_end__*/
32
+ {
33
+ "__SCarousel": "___SCarousel_o51b8_gg_",
34
+ "__SContainer": "___SContainer_o51b8_gg_",
35
+ "--duration": "--duration_o51b8",
36
+ "__SModalContainer": "___SModalContainer_o51b8_gg_",
37
+ "__SItem": "___SItem_o51b8_gg_",
38
+ "--transform": "--transform_o51b8",
39
+ "_zoomIn": "__zoomIn_o51b8_gg_",
40
+ "_zoomOut": "__zoomOut_o51b8_gg_",
41
+ "__SIndicators": "___SIndicators_o51b8_gg_",
42
+ "__SIndicator": "___SIndicator_o51b8_gg_",
43
+ "_active": "__active_o51b8_gg_",
44
+ "_inverted": "__inverted_o51b8_gg_",
45
+ "__SPrev": "___SPrev_o51b8_gg_",
46
+ "__SNext": "___SNext_o51b8_gg_",
47
+ "_disabled": "__disabled_o51b8_gg_",
48
+ "__SContentBox": "___SContentBox_o51b8_gg_",
49
+ "__SModalBox": "___SModalBox_o51b8_gg_",
50
+ "__SPrevButton": "___SPrevButton_o51b8_gg_",
51
+ "__SNextButton": "___SNextButton_o51b8_gg_"
51
52
  })
52
53
  );
53
54
  var MAP_TRANSFORM = {
@@ -242,7 +243,9 @@ var CarouselRoot = /* @__PURE__ */ function(_Component) {
242
243
  isOpenZoom: !prevState.isOpenZoom
243
244
  };
244
245
  }, function() {
245
- _this.state.isOpenZoom && _this.transformContainer();
246
+ if (_this.state.isOpenZoom) {
247
+ _this.transformContainer();
248
+ }
246
249
  });
247
250
  });
248
251
  _defineProperty(_assertThisInitialized(_this), "bindHandlerKeydownControl", function(direction) {
@@ -550,7 +553,6 @@ var Item = /* @__PURE__ */ function(_Component2) {
550
553
  }
551
554
  _this7 = _super2.call.apply(_super2, [this].concat(args));
552
555
  _defineProperty(_assertThisInitialized(_this7), "refItem", /* @__PURE__ */ React.createRef());
553
- _defineProperty(_assertThisInitialized(_this7), "keepFocusTimeout", void 0);
554
556
  return _this7;
555
557
  }
556
558
  _createClass(Item2, [{
@@ -573,32 +575,15 @@ var Item = /* @__PURE__ */ function(_Component2) {
573
575
  toggleItem && refItem && toggleItem({
574
576
  node: refItem
575
577
  }, true);
576
- clearTimeout(this.keepFocusTimeout);
577
578
  }
578
579
  }, {
579
580
  key: "componentDidUpdate",
580
581
  value: function componentDidUpdate(prevProps) {
581
- var _this8 = this;
582
- clearTimeout(this.keepFocusTimeout);
583
582
  var transform = this.props.transform;
584
583
  var refItem = this.refItem.current;
585
584
  if (prevProps.transform !== transform && refItem) {
586
585
  refItem.style.transform = "translateX(".concat(transform, "%)");
587
586
  }
588
- if (this.props.current) {
589
- this.keepFocusTimeout = setTimeout(function() {
590
- var _document$activeEleme;
591
- if (document.activeElement !== refItem && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.dataset.carousel) === (refItem === null || refItem === void 0 ? void 0 : refItem.dataset.carousel)) {
592
- refItem === null || refItem === void 0 ? void 0 : refItem.focus();
593
- }
594
- }, 100);
595
- }
596
- if (prevProps.isOpenZoom === true && this.props.isOpenZoom === false && this.props.current && !this.props.zoomOut) {
597
- this.keepFocusTimeout = setTimeout(function() {
598
- var _this8$refItem$curren;
599
- (_this8$refItem$curren = _this8.refItem.current) === null || _this8$refItem$curren === void 0 ? void 0 : _this8$refItem$curren.focus();
600
- }, 200);
601
- }
602
587
  }
603
588
  }, {
604
589
  key: "render",
@@ -620,7 +605,6 @@ var Item = /* @__PURE__ */ function(_Component2) {
620
605
  }]);
621
606
  return Item2;
622
607
  }(Component);
623
- _defineProperty(Item, "enhance", [keyboardFocusEnhance(false)]);
624
608
  var Prev = function Prev2(props) {
625
609
  var _ref6 = arguments[0], _ref15;
626
610
  var styles = props.styles, children = props.children, Children = props.Children, label = props.label, _props$top = props.top, top = _props$top === void 0 ? 0 : _props$top, inverted = props.inverted;
@@ -0,0 +1,119 @@
1
+ SCarousel {
2
+ overflow: hidden;
3
+ outline: none;
4
+ user-select: none;
5
+ }
6
+
7
+
8
+ SContainer {
9
+ display: flex;
10
+ transition: transform var(--duration) ease-in-out;
11
+ }
12
+
13
+ SContentBox, SModalBox {
14
+ position: relative;
15
+ overflow: hidden;
16
+ 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
+ }
29
+ }
30
+ }
31
+
32
+ SModalContainer {
33
+ display: flex;
34
+ transition: transform var(--duration) ease-in-out;
35
+ }
36
+
37
+ SItem {
38
+ flex: 0 0 100%;
39
+ max-width: 100%;
40
+ box-sizing: border-box;
41
+ transform: var(--transform);
42
+ border-radius: var(--intergalactic-surface-rounded, 6px);
43
+ overflow: hidden;
44
+ outline: none;
45
+ }
46
+
47
+ SItem[zoomIn] {
48
+ cursor: zoom-in;
49
+ }
50
+ SItem[zoomOut] {
51
+ cursor: zoom-out;
52
+ }
53
+
54
+ SIndicators {
55
+ display: flex;
56
+ justify-content: center;
57
+ margin: var(--intergalactic-spacing-4x, 16px) 3px 3px 3px;
58
+ outline: none;
59
+ position: relative;
60
+ }
61
+
62
+ SIndicator {
63
+ margin: 0 calc(0.5 * var(--intergalactic-spacing-3x, 12px));
64
+ cursor: pointer;
65
+ display: block;
66
+ width: 12px;
67
+ height: 12px;
68
+ border-radius: var(--intergalactic-control-rounded, 6px);
69
+ background-color: var(--intergalactic-icon-secondary-neutral, #a9abb6);
70
+ opacity: var(--intergalactic-disabled-opacity, 0.3);
71
+ object-fit: cover;
72
+ transition: ease-in-out opacity 0.1s;
73
+ }
74
+
75
+ SIndicator:hover {
76
+ opacity: calc(2 * var(--intergalactic-disabled-opacity, 0.3));
77
+ }
78
+
79
+ SIndicator[active] {
80
+ opacity: 1;
81
+ }
82
+
83
+ SIndicator[inverted] {
84
+ background-color: var(--intergalactic-icon-primary-invert, #ffffff);
85
+ }
86
+
87
+ SPrev,
88
+ SNext {
89
+ display: inline-flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ cursor: pointer;
93
+ color: var(--intergalactic-icon-primary-neutral, #6c6e79);
94
+
95
+ SPrevButton span:has(> svg:only-child), SNextButton span:has(> svg:only-child) {
96
+ margin-left: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
97
+ margin-right: calc(2 * var(--intergalactic-spacing-1x, 4px) - 1px);
98
+ }
99
+ }
100
+
101
+ SPrev {
102
+ margin-right: var(--intergalactic-spacing-2x, 8px);
103
+ }
104
+ SNext {
105
+ margin-left: var(--intergalactic-spacing-2x, 8px);
106
+ }
107
+
108
+ SPrev[disabled],
109
+ SNext[disabled] {
110
+ opacity: var(--intergalactic-disabled-opacity, 0.3);
111
+ cursor: default;
112
+ pointer-events: none;
113
+ }
114
+
115
+ @media (prefers-reduced-motion) {
116
+ SContainer {
117
+ transition: none;
118
+ }
119
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/carousel",
3
3
  "description": "Semrush Carousel Component",
4
- "version": "16.0.0-prerelease.9",
4
+ "version": "16.1.0-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,14 +14,14 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/icon": "16.0.0-prerelease.9",
18
- "@semcore/button": "16.0.0-prerelease.9",
19
- "@semcore/modal": "16.0.0-prerelease.9",
20
- "@semcore/flex-box": "16.0.0-prerelease.9",
21
- "@semcore/breakpoints": "16.0.0-prerelease.9"
17
+ "@semcore/icon": "16.1.0-prerelease.0",
18
+ "@semcore/button": "16.0.0-prerelease.0",
19
+ "@semcore/modal": "16.1.0-prerelease.0",
20
+ "@semcore/flex-box": "16.0.0-prerelease.0",
21
+ "@semcore/breakpoints": "16.0.0-prerelease.0"
22
22
  },
23
23
  "peerDependencies": {
24
- "@semcore/base-components": "^16.0.0-prerelease.9"
24
+ "@semcore/base-components": "^16.0.0-prerelease.0"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",
package/src/Carousel.tsx CHANGED
@@ -23,7 +23,6 @@ import CarouselType, {
23
23
  import { BoxProps } from '@semcore/flex-box';
24
24
  import { findAllComponents } from '@semcore/core/lib/utils/findComponent';
25
25
  import { createBreakpoints } from '@semcore/breakpoints';
26
- import keyboardFocusEnhance from '@semcore/core/lib/utils/enhances/keyboardFocusEnhance';
27
26
 
28
27
  const MAP_TRANSFORM: Record<string, 'left' | 'right'> = {
29
28
  ArrowLeft: 'left',
@@ -350,7 +349,9 @@ class CarouselRoot extends Component<
350
349
  };
351
350
  },
352
351
  () => {
353
- this.state.isOpenZoom && this.transformContainer();
352
+ if (this.state.isOpenZoom) {
353
+ this.transformContainer();
354
+ }
354
355
  },
355
356
  );
356
357
  };
@@ -608,8 +609,6 @@ const ContentBox = (props: BoxProps) => {
608
609
 
609
610
  class Item extends Component<CarouselItemProps> {
610
611
  refItem = React.createRef<HTMLElement>();
611
- keepFocusTimeout: NodeJS.Timeout | undefined;
612
- static enhance = [keyboardFocusEnhance(false)];
613
612
 
614
613
  componentDidMount() {
615
614
  const { toggleItem, transform } = this.props;
@@ -627,38 +626,15 @@ class Item extends Component<CarouselItemProps> {
627
626
  const refItem = this.refItem.current;
628
627
 
629
628
  toggleItem && refItem && toggleItem({ node: refItem }, true);
630
- clearTimeout(this.keepFocusTimeout);
631
629
  }
632
630
 
633
631
  componentDidUpdate(prevProps: CarouselItemProps) {
634
- clearTimeout(this.keepFocusTimeout);
635
-
636
632
  const transform = this.props.transform;
637
633
  const refItem = this.refItem.current;
638
634
 
639
635
  if (prevProps.transform !== transform && refItem) {
640
636
  refItem.style.transform = `translateX(${transform}%)`;
641
637
  }
642
- if (this.props.current) {
643
- this.keepFocusTimeout = setTimeout(() => {
644
- if (
645
- document.activeElement !== refItem &&
646
- (document.activeElement as HTMLElement)?.dataset.carousel === refItem?.dataset.carousel
647
- ) {
648
- refItem?.focus();
649
- }
650
- }, 100);
651
- }
652
- if (
653
- prevProps.isOpenZoom === true &&
654
- this.props.isOpenZoom === false &&
655
- this.props.current &&
656
- !this.props.zoomOut
657
- ) {
658
- this.keepFocusTimeout = setTimeout(() => {
659
- this.refItem.current?.focus();
660
- }, 200);
661
- }
662
638
  }
663
639
 
664
640
  render() {
@@ -14,7 +14,7 @@ SContentBox, SModalBox {
14
14
  position: relative;
15
15
  overflow: hidden;
16
16
  border-radius: var(--intergalactic-surface-rounded, 6px);
17
- &:has(SItem[keyboardFocused]) {
17
+ &:has(SItem:focus-visible) {
18
18
  &:after {
19
19
  content: '';
20
20
  display: block;