@semcore/carousel 3.37.2 → 3.37.3-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,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.37.3] - 2024-06-10
6
+
7
+ ### Fixed
8
+
9
+ - Display of zoomed item after transition from the last item to the first one in the cyclic scroll.
10
+
5
11
  ## [3.37.2] - 2024-06-06
6
12
 
7
13
  ### Fixed
@@ -32,25 +32,25 @@ var _findComponent = require("@semcore/utils/lib/findComponent");
32
32
  var _breakpoints = require("@semcore/breakpoints");
33
33
  var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
34
34
  /*__reshadow-styles__:"./style/carousel.shadow.css"*/
35
- var style = ( /*__reshadow_css_start__*/_index2.sstyled.insert( /*__inner_css_start__*/".___SCarousel_ae4dr_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SCarousel_ae4dr_gg_.__keyboardFocused_ae4dr_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SContainer_ae4dr_gg_,.___SModalContainer_ae4dr_gg_{display:flex;transition:transform var(--duration_ae4dr) ease-in-out}.___SItem_ae4dr_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_ae4dr);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SItem_ae4dr_gg_.__zoomIn_ae4dr_gg_{cursor:zoom-in}.___SItem_ae4dr_gg_.__zoomOut_ae4dr_gg_{cursor:zoom-out}.___SIndicators_ae4dr_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_ae4dr_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_ae4dr_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_ae4dr_gg_.__active_ae4dr_gg_{opacity:1}.___SIndicator_ae4dr_gg_.__inverted_ae4dr_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_ae4dr_gg_,.___SPrev_ae4dr_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_ae4dr_gg_ .___SNextButton_ae4dr_gg_ span:has(>svg:only-child),.___SNext_ae4dr_gg_ .___SPrevButton_ae4dr_gg_ span:has(>svg:only-child),.___SPrev_ae4dr_gg_ .___SNextButton_ae4dr_gg_ span:has(>svg:only-child),.___SPrev_ae4dr_gg_ .___SPrevButton_ae4dr_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_ae4dr_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_ae4dr_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_ae4dr_gg_.__disabled_ae4dr_gg_,.___SPrev_ae4dr_gg_.__disabled_ae4dr_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_ae4dr_gg_{transition:none}}" /*__inner_css_end__*/, "ae4dr_gg_") /*__reshadow_css_end__*/, {
36
- "__SCarousel": "___SCarousel_ae4dr_gg_",
37
- "_keyboardFocused": "__keyboardFocused_ae4dr_gg_",
38
- "__SContainer": "___SContainer_ae4dr_gg_",
39
- "--duration": "--duration_ae4dr",
40
- "__SModalContainer": "___SModalContainer_ae4dr_gg_",
41
- "__SItem": "___SItem_ae4dr_gg_",
42
- "--transform": "--transform_ae4dr",
43
- "_zoomIn": "__zoomIn_ae4dr_gg_",
44
- "_zoomOut": "__zoomOut_ae4dr_gg_",
45
- "__SIndicators": "___SIndicators_ae4dr_gg_",
46
- "__SIndicator": "___SIndicator_ae4dr_gg_",
47
- "_active": "__active_ae4dr_gg_",
48
- "_inverted": "__inverted_ae4dr_gg_",
49
- "__SPrev": "___SPrev_ae4dr_gg_",
50
- "__SNext": "___SNext_ae4dr_gg_",
51
- "_disabled": "__disabled_ae4dr_gg_",
52
- "__SPrevButton": "___SPrevButton_ae4dr_gg_",
53
- "__SNextButton": "___SNextButton_ae4dr_gg_"
35
+ var style = ( /*__reshadow_css_start__*/_index2.sstyled.insert( /*__inner_css_start__*/".___SCarousel_1w0c7_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SCarousel_1w0c7_gg_.__keyboardFocused_1w0c7_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SContainer_1w0c7_gg_,.___SModalContainer_1w0c7_gg_{display:flex;transition:transform var(--duration_1w0c7) ease-in-out}.___SItem_1w0c7_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1w0c7);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SItem_1w0c7_gg_.__zoomIn_1w0c7_gg_{cursor:zoom-in}.___SItem_1w0c7_gg_.__zoomOut_1w0c7_gg_{cursor:zoom-out}.___SIndicators_1w0c7_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1w0c7_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_1w0c7_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1w0c7_gg_.__active_1w0c7_gg_{opacity:1}.___SIndicator_1w0c7_gg_.__inverted_1w0c7_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_1w0c7_gg_,.___SPrev_1w0c7_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_1w0c7_gg_ .___SNextButton_1w0c7_gg_ span:has(>svg:only-child),.___SNext_1w0c7_gg_ .___SPrevButton_1w0c7_gg_ span:has(>svg:only-child),.___SPrev_1w0c7_gg_ .___SNextButton_1w0c7_gg_ span:has(>svg:only-child),.___SPrev_1w0c7_gg_ .___SPrevButton_1w0c7_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_1w0c7_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_1w0c7_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_1w0c7_gg_.__disabled_1w0c7_gg_,.___SPrev_1w0c7_gg_.__disabled_1w0c7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1w0c7_gg_{transition:none}}" /*__inner_css_end__*/, "1w0c7_gg_") /*__reshadow_css_end__*/, {
36
+ "__SCarousel": "___SCarousel_1w0c7_gg_",
37
+ "_keyboardFocused": "__keyboardFocused_1w0c7_gg_",
38
+ "__SContainer": "___SContainer_1w0c7_gg_",
39
+ "--duration": "--duration_1w0c7",
40
+ "__SModalContainer": "___SModalContainer_1w0c7_gg_",
41
+ "__SItem": "___SItem_1w0c7_gg_",
42
+ "--transform": "--transform_1w0c7",
43
+ "_zoomIn": "__zoomIn_1w0c7_gg_",
44
+ "_zoomOut": "__zoomOut_1w0c7_gg_",
45
+ "__SIndicators": "___SIndicators_1w0c7_gg_",
46
+ "__SIndicator": "___SIndicator_1w0c7_gg_",
47
+ "_active": "__active_1w0c7_gg_",
48
+ "_inverted": "__inverted_1w0c7_gg_",
49
+ "__SPrev": "___SPrev_1w0c7_gg_",
50
+ "__SNext": "___SNext_1w0c7_gg_",
51
+ "_disabled": "__disabled_1w0c7_gg_",
52
+ "__SPrevButton": "___SPrevButton_1w0c7_gg_",
53
+ "__SNextButton": "___SNextButton_1w0c7_gg_"
54
54
  });
55
55
  var MAP_TRANSFORM = {
56
56
  ArrowLeft: 'left',
@@ -581,11 +581,16 @@ var Item = /*#__PURE__*/function (_Component2) {
581
581
  (0, _createClass2["default"])(Item, [{
582
582
  key: "componentDidMount",
583
583
  value: function componentDidMount() {
584
- var toggleItem = this.props.toggleItem;
584
+ var _this$props = this.props,
585
+ toggleItem = _this$props.toggleItem,
586
+ transform = _this$props.transform;
585
587
  var refItem = this.refItem.current;
586
588
  toggleItem && refItem && toggleItem({
587
589
  node: refItem
588
590
  });
591
+ if (transform && refItem) {
592
+ refItem.style.transform = "translateX(".concat(transform, "%)");
593
+ }
589
594
  }
590
595
  }, {
591
596
  key: "componentWillUnmount",
@@ -610,14 +615,14 @@ var Item = /*#__PURE__*/function (_Component2) {
610
615
  value: function render() {
611
616
  var _ref4 = this.asProps,
612
617
  _ref12;
613
- var _this$props = this.props,
614
- styles = _this$props.styles,
615
- index = _this$props.index,
616
- uid = _this$props.uid,
617
- current = _this$props.current,
618
- zoomIn = _this$props.zoomIn,
619
- onToggleZoomModal = _this$props.onToggleZoomModal,
620
- transform = _this$props.transform;
618
+ var _this$props2 = this.props,
619
+ styles = _this$props2.styles,
620
+ index = _this$props2.index,
621
+ uid = _this$props2.uid,
622
+ current = _this$props2.current,
623
+ zoomIn = _this$props2.zoomIn,
624
+ onToggleZoomModal = _this$props2.onToggleZoomModal,
625
+ transform = _this$props2.transform;
621
626
  var SItem = _flexBox.Box;
622
627
  return _ref12 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItem, _ref12.cn("SItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
623
628
  "ref": this.refItem,
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_button","_modal","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_logger","_findComponent","_breakpoints","_keyboardFocusEnhance","style","_index2","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","uniqueIDEnhancement","getI18nText","i18nEnhance","localizedMessages","keyboardFocusEnhance","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref18","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","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","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","tabIndex","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this5","SModalContainer","Box","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Flex","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread2","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref10","_this6","SCarousel","_this$asProps4","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","Component","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_Component2","_super2","_this7","_len","args","Array","_key","apply","refItem","componentWillUnmount","_ref4","_ref12","_this$props","SItem","_ref5","_ref13","children","_props$top","top","SPrev","SPrevButton","Button","_React$useState","useState","_React$useState2","_slicedToArray2","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","ChevronLeft","_ref6","_ref14","_props$top2","SNext","SNextButton","_React$useState3","_React$useState4","ChevronRight","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_ref20","_ref8","_ref17","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/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/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/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n keyboardFocusEnhance: keyboardFocusEnhance(),\n};\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 = Object.values(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\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 };\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 } = 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 tabIndex: -1,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = 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 tabIndex: -1,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\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, selectedIndex } = 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 {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = 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 <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\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 </Box>\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 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='group'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\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)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\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, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\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, tabIndex } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted, tabIndex } = props;\n const SNext = Root;\n const SNextButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\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} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} 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 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":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_button","_modal","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_logger","_findComponent","_breakpoints","_keyboardFocusEnhance","style","_index2","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","uniqueIDEnhancement","getI18nText","i18nEnhance","localizedMessages","keyboardFocusEnhance","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref18","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","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","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","tabIndex","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this5","SModalContainer","Box","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Flex","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread2","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref10","_this6","SCarousel","_this$asProps4","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","Component","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","_ref4","_ref12","_this$props2","SItem","_ref5","_ref13","children","_props$top","top","SPrev","SPrevButton","Button","_React$useState","useState","_React$useState2","_slicedToArray2","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","ChevronLeft","_ref6","_ref14","_props$top2","SNext","SNextButton","_React$useState3","_React$useState4","ChevronRight","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_ref20","_ref8","_ref17","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/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/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/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n keyboardFocusEnhance: keyboardFocusEnhance(),\n};\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 = Object.values(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\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 };\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 } = 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 tabIndex: -1,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = 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 tabIndex: -1,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\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, selectedIndex } = 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 {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = 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 <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\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 </Box>\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 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='group'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\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)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\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, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\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, tabIndex } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted, tabIndex } = props;\n const SNext = Root;\n const SNextButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\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} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} 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 Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
@@ -30,25 +30,25 @@ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
30
30
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
31
31
  import logger from '@semcore/utils/lib/logger';
32
32
  /*__reshadow-styles__:"./style/carousel.shadow.css"*/
33
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_ae4dr_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SCarousel_ae4dr_gg_.__keyboardFocused_ae4dr_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SContainer_ae4dr_gg_,.___SModalContainer_ae4dr_gg_{display:flex;transition:transform var(--duration_ae4dr) ease-in-out}.___SItem_ae4dr_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_ae4dr);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SItem_ae4dr_gg_.__zoomIn_ae4dr_gg_{cursor:zoom-in}.___SItem_ae4dr_gg_.__zoomOut_ae4dr_gg_{cursor:zoom-out}.___SIndicators_ae4dr_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_ae4dr_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_ae4dr_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_ae4dr_gg_.__active_ae4dr_gg_{opacity:1}.___SIndicator_ae4dr_gg_.__inverted_ae4dr_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_ae4dr_gg_,.___SPrev_ae4dr_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_ae4dr_gg_ .___SNextButton_ae4dr_gg_ span:has(>svg:only-child),.___SNext_ae4dr_gg_ .___SPrevButton_ae4dr_gg_ span:has(>svg:only-child),.___SPrev_ae4dr_gg_ .___SNextButton_ae4dr_gg_ span:has(>svg:only-child),.___SPrev_ae4dr_gg_ .___SPrevButton_ae4dr_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_ae4dr_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_ae4dr_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_ae4dr_gg_.__disabled_ae4dr_gg_,.___SPrev_ae4dr_gg_.__disabled_ae4dr_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_ae4dr_gg_{transition:none}}" /*__inner_css_end__*/, "ae4dr_gg_") /*__reshadow_css_end__*/, {
34
- "__SCarousel": "___SCarousel_ae4dr_gg_",
35
- "_keyboardFocused": "__keyboardFocused_ae4dr_gg_",
36
- "__SContainer": "___SContainer_ae4dr_gg_",
37
- "--duration": "--duration_ae4dr",
38
- "__SModalContainer": "___SModalContainer_ae4dr_gg_",
39
- "__SItem": "___SItem_ae4dr_gg_",
40
- "--transform": "--transform_ae4dr",
41
- "_zoomIn": "__zoomIn_ae4dr_gg_",
42
- "_zoomOut": "__zoomOut_ae4dr_gg_",
43
- "__SIndicators": "___SIndicators_ae4dr_gg_",
44
- "__SIndicator": "___SIndicator_ae4dr_gg_",
45
- "_active": "__active_ae4dr_gg_",
46
- "_inverted": "__inverted_ae4dr_gg_",
47
- "__SPrev": "___SPrev_ae4dr_gg_",
48
- "__SNext": "___SNext_ae4dr_gg_",
49
- "_disabled": "__disabled_ae4dr_gg_",
50
- "__SPrevButton": "___SPrevButton_ae4dr_gg_",
51
- "__SNextButton": "___SNextButton_ae4dr_gg_"
33
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_1w0c7_gg_{overflow:hidden;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SCarousel_1w0c7_gg_.__keyboardFocused_1w0c7_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SContainer_1w0c7_gg_,.___SModalContainer_1w0c7_gg_{display:flex;transition:transform var(--duration_1w0c7) ease-in-out}.___SItem_1w0c7_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1w0c7);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SItem_1w0c7_gg_.__zoomIn_1w0c7_gg_{cursor:zoom-in}.___SItem_1w0c7_gg_.__zoomOut_1w0c7_gg_{cursor:zoom-out}.___SIndicators_1w0c7_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1w0c7_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_1w0c7_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1w0c7_gg_.__active_1w0c7_gg_{opacity:1}.___SIndicator_1w0c7_gg_.__inverted_1w0c7_gg_{background-color:var(--intergalactic-icon-primary-invert, #ffffff)}.___SNext_1w0c7_gg_,.___SPrev_1w0c7_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SNext_1w0c7_gg_ .___SNextButton_1w0c7_gg_ span:has(>svg:only-child),.___SNext_1w0c7_gg_ .___SPrevButton_1w0c7_gg_ span:has(>svg:only-child),.___SPrev_1w0c7_gg_ .___SNextButton_1w0c7_gg_ span:has(>svg:only-child),.___SPrev_1w0c7_gg_ .___SPrevButton_1w0c7_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_1w0c7_gg_{margin-right:var(--intergalactic-spacing-2x, 8px)}.___SNext_1w0c7_gg_{margin-left:var(--intergalactic-spacing-2x, 8px)}.___SNext_1w0c7_gg_.__disabled_1w0c7_gg_,.___SPrev_1w0c7_gg_.__disabled_1w0c7_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1w0c7_gg_{transition:none}}" /*__inner_css_end__*/, "1w0c7_gg_") /*__reshadow_css_end__*/, {
34
+ "__SCarousel": "___SCarousel_1w0c7_gg_",
35
+ "_keyboardFocused": "__keyboardFocused_1w0c7_gg_",
36
+ "__SContainer": "___SContainer_1w0c7_gg_",
37
+ "--duration": "--duration_1w0c7",
38
+ "__SModalContainer": "___SModalContainer_1w0c7_gg_",
39
+ "__SItem": "___SItem_1w0c7_gg_",
40
+ "--transform": "--transform_1w0c7",
41
+ "_zoomIn": "__zoomIn_1w0c7_gg_",
42
+ "_zoomOut": "__zoomOut_1w0c7_gg_",
43
+ "__SIndicators": "___SIndicators_1w0c7_gg_",
44
+ "__SIndicator": "___SIndicator_1w0c7_gg_",
45
+ "_active": "__active_1w0c7_gg_",
46
+ "_inverted": "__inverted_1w0c7_gg_",
47
+ "__SPrev": "___SPrev_1w0c7_gg_",
48
+ "__SNext": "___SNext_1w0c7_gg_",
49
+ "_disabled": "__disabled_1w0c7_gg_",
50
+ "__SPrevButton": "___SPrevButton_1w0c7_gg_",
51
+ "__SNextButton": "___SNextButton_1w0c7_gg_"
52
52
  });
53
53
  import { findAllComponents } from '@semcore/utils/lib/findComponent';
54
54
  import { createBreakpoints } from '@semcore/breakpoints';
@@ -582,11 +582,16 @@ var Item = /*#__PURE__*/function (_Component2) {
582
582
  _createClass(Item, [{
583
583
  key: "componentDidMount",
584
584
  value: function componentDidMount() {
585
- var toggleItem = this.props.toggleItem;
585
+ var _this$props = this.props,
586
+ toggleItem = _this$props.toggleItem,
587
+ transform = _this$props.transform;
586
588
  var refItem = this.refItem.current;
587
589
  toggleItem && refItem && toggleItem({
588
590
  node: refItem
589
591
  });
592
+ if (transform && refItem) {
593
+ refItem.style.transform = "translateX(".concat(transform, "%)");
594
+ }
590
595
  }
591
596
  }, {
592
597
  key: "componentWillUnmount",
@@ -611,14 +616,14 @@ var Item = /*#__PURE__*/function (_Component2) {
611
616
  value: function render() {
612
617
  var _ref4 = this.asProps,
613
618
  _ref12;
614
- var _this$props = this.props,
615
- styles = _this$props.styles,
616
- index = _this$props.index,
617
- uid = _this$props.uid,
618
- current = _this$props.current,
619
- zoomIn = _this$props.zoomIn,
620
- onToggleZoomModal = _this$props.onToggleZoomModal,
621
- transform = _this$props.transform;
619
+ var _this$props2 = this.props,
620
+ styles = _this$props2.styles,
621
+ index = _this$props2.index,
622
+ uid = _this$props2.uid,
623
+ current = _this$props2.current,
624
+ zoomIn = _this$props2.zoomIn,
625
+ onToggleZoomModal = _this$props2.onToggleZoomModal,
626
+ transform = _this$props2.transform;
622
627
  var SItem = Box;
623
628
  return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SItem, _ref12.cn("SItem", _objectSpread({}, _assignProps4({
624
629
  "ref": this.refItem,
@@ -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","uid","getI18nText","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref18","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","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","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","tabIndex","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this5","SModalContainer","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref10","_this6","SCarousel","_this$asProps4","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_assignProps3","_Component2","_super2","_this7","_len","args","Array","_key","apply","refItem","componentWillUnmount","_ref4","_ref12","_this$props","SItem","_assignProps4","_ref5","_ref13","children","_props$top","top","SPrev","SPrevButton","_React$useState","useState","_React$useState2","_slicedToArray","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","_assignProps5","_ref6","_ref14","_props$top2","SNext","SNextButton","_React$useState3","_React$useState4","_assignProps6","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_assignProps7","_assignProps8","_ref20","_ref8","_ref17","SIndicator","_assignProps9"],"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/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/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/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n keyboardFocusEnhance: keyboardFocusEnhance(),\n};\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 = Object.values(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\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 };\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 } = 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 tabIndex: -1,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = 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 tabIndex: -1,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\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, selectedIndex } = 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 {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = 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 <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\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 </Box>\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 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='group'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\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)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\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, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\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, tabIndex } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted, tabIndex } = props;\n const SNext = Root;\n const SNextButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\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} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} 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 Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACzE,OAAOC,MAAM,MAAM,iBAAiB;AACpC,OAAOC,KAAK,MAAM,gBAAgB;AAClC,SAASC,GAAG,EAAEC,IAAI,QAAQ,mBAAmB;AAC7C,OAAOC,YAAY,MAAM,8BAA8B;AACvD,OAAOC,WAAW,MAAM,6BAA6B;AACrD,OAAOC,mBAAmB,MAAM,6BAA6B;AAC7D,OAAOC,WAAW,MAAM,yCAAyC;AACjE,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,OAAOC,MAAM,MAAM,2BAA2B;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAa/C,SAASC,iBAAiB,QAAQ,kCAAkC;AACpE,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,OAAOC,oBAAoB,MAAM,kDAAkD;AAEnF,IAAMC,aAA+C,GAAG;EACtDC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE;AACd,CAAC;AAED,IAAMC,OAAO,GAAG;EACdC,GAAG,EAAEd,mBAAmB,EAAE;EAC1Be,WAAW,EAAEd,WAAW,CAACC,iBAAiB,CAAC;EAC3CO,oBAAoB,EAAEA,oBAAoB;AAC5C,CAAC;AACD,IAAMO,KAAK,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AAC1D,IAAMC,WAAW,GAAGT,iBAAiB,CAACQ,KAAK,CAAC;AAC5C,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAa;EAAA,OAAKA,KAAK,KAAK,CAAC;AAAA;AAAC,IAE/CC,YAAY,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,YAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,YAAA;EA0BhB,SAAAA,aAAYK,KAAoB,EAAE;IAAA,IAAAC,MAAA,EAAAC,YAAA;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAT,YAAA;IAChCQ,KAAA,GAAAL,MAAA,CAAAO,IAAA,OAAML,KAAK;IAAEM,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,wBAPK,CAAC;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,+BACPvC,KAAK,CAAC4C,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,gCAC7BvC,KAAK,CAAC4C,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,qCACzBvC,KAAK,CAAC4C,SAAS,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,uBAC/B,CAAC,CAAC;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,qBA8DJ,UAACM,CAAsB,EAAK;MAC3C,IAAMC,UAAU,GAAG,CAAC;MACpB,IAAMC,SAAS,GAAGR,KAAA,CAAKS,KAAK,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC;MAE7C,QAAQL,CAAC,CAACM,GAAG;QACX,KAAK,WAAW;QAChB,KAAK,YAAY;UAAE;YACjBN,CAAC,CAACO,cAAc,EAAE;YAClBb,KAAA,CAAKc,aAAa,CAAChC,aAAa,CAACwB,CAAC,CAACM,GAAG,CAAC,CAAC;YACxC;UACF;QACA,KAAK,MAAM;UAAE;YACXN,CAAC,CAACO,cAAc,EAAE;YAClBb,KAAA,CAAKe,YAAY,CAACR,UAAU,CAAC;YAC7B;UACF;QACA,KAAK,KAAK;UAAE;YACVD,CAAC,CAACO,cAAc,EAAE;YAClBb,KAAA,CAAKe,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;UAClBb,KAAA,CAAKe,YAAY,CAACR,UAAU,CAAC;QAC/B,CAAC,MAAM,IAAID,CAAC,CAACM,GAAG,KAAK,YAAY,EAAE;UACjCN,CAAC,CAACO,cAAc,EAAE;UAClBb,KAAA,CAAKe,YAAY,CAACP,SAAS,CAAC;QAC9B;MACF;IACF,CAAC;IAAAL,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,iBAEY,UAACiB,IAAkB,EAAyB;MAAA,IAAvBC,UAAU,GAAAC,SAAA,CAAAR,MAAA,QAAAQ,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;MAClDnB,KAAA,CAAKqB,QAAQ,CAAC,UAACC,SAAS,EAAK;QAC3B,IAAMC,QAAQ,GAAGL,UAAU,GACvBI,SAAS,CAACZ,KAAK,CAACc,MAAM,CAAC,UAACC,OAAO;UAAA,OAAKA,OAAO,CAACC,IAAI,KAAKT,IAAI,CAACS,IAAI;QAAA,EAAC,MAAAC,MAAA,CAAAC,kBAAA,CAC3DN,SAAS,CAACZ,KAAK,IAAEO,IAAI,EAAC;QAE9B,OAAO;UACLP,KAAK,EAAEa;QACT,CAAC;MACH,CAAC,CAAC;MAEF,IAAI,CAACL,UAAU,EAAE;QACflB,KAAA,CAAK6B,iBAAiB,EAAE;MAC1B;IACF,CAAC;IAAA1B,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,yBAEoB,YAAM;MACzB,IAAM8B,SAAS,GAAG9B,KAAA,CAAKS,KAAK,CAACsB,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG;MAErD,IAAI/B,KAAA,CAAKgC,YAAY,CAACC,OAAO,EAAE;QAC7BjC,KAAA,CAAKgC,YAAY,CAACC,OAAO,CAACzD,KAAK,CAACsD,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MACzE;MACA,IAAI9B,KAAA,CAAKkC,iBAAiB,CAACD,OAAO,EAAE;QAClCjC,KAAA,CAAKkC,iBAAiB,CAACD,OAAO,CAACzD,KAAK,CAACsD,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MAC9E;IACF,CAAC;IAAA3B,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,mBAEc,UAACmC,YAAoB,EAAEC,SAAiB,EAAK;MAC1D,IAAQC,OAAO,GAAKrC,KAAA,CAAKsC,OAAO,CAAxBD,OAAO;MAEf,IAAIA,OAAO,EAAE;QACX,OAAOF,YAAY,GAAGC,SAAS,GAAG,OAAO,GAAG,MAAM;MACpD;MACA,IAAQ1B,KAAK,GAAKV,KAAA,CAAKS,KAAK,CAApBC,KAAK;MACb,IAAM6B,SAAS,GAAG7B,KAAK,CAAC8B,GAAG,CAAC,UAACC,CAAC,EAAEC,GAAG;QAAA,OAAKA,GAAG;MAAA,EAAC;MAC5C,IAAMC,MAAM,GAAAf,kBAAA,CAAOW,SAAS,CAAC;MAC7B,IAAMK,SAAS,GAAGD,MAAM,CAAC,CAAC,CAAC;MAC3B,IAAME,SAAS,GAAGF,MAAM,CAACA,MAAM,CAAChC,MAAM,GAAG,CAAC,CAAC;MAE3C,IAAIgC,MAAM,CAAChC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAOwB,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/C,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,mBAEc,UAACoC,SAAiB,EAAK;MACpC,IAAQL,aAAa,GAAK/B,KAAA,CAAKS,KAAK,CAA5BsB,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;QACftD,KAAA,CAAKc,aAAa,CAACuC,SAAS,CAAC;QAC7BC,IAAI,EAAE;MACR;IACF,CAAC;IAAAnD,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,oBAEe,UAACqD,SAA2B,EAAK;MAC/C,IAAQhB,OAAO,GAAKrC,KAAA,CAAKsC,OAAO,CAAxBD,OAAO;MACf,IAAAoB,WAAA,GAAiCzD,KAAA,CAAKS,KAAK;QAAnCC,KAAK,GAAA+C,WAAA,CAAL/C,KAAK;QAAEqB,aAAa,GAAA0B,WAAA,CAAb1B,aAAa;MAC5B,IAAM2B,iBAAiB,GAAGhD,KAAK,CAACC,MAAM,GAAG,CAAC;MAE1C,IAAI0C,SAAS,KAAK,OAAO,EAAE;QACzB,IAAIhB,OAAO,IAAIN,aAAa,KAAK2B,iBAAiB,EAAE;UAClD1D,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACmE,iBAAiB,CAAC;UAEtC;QACF;QACA,IAAI1D,KAAA,CAAK4D,YAAY,EAAE;UACrB5D,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACwC,aAAa,KAAK2B,iBAAiB,GAAG,CAAC,GAAG3B,aAAa,GAAG,CAAC,CAAC;UAEhF;QACF;QAEA/B,KAAA,CAAKqB,QAAQ,CACX,UAACC,SAAS;UAAA,OAAM;YACdS,aAAa,EAAET,SAAS,CAACS,aAAa,GAAG;UAC3C,CAAC;QAAA,CAAC,EACF,YAAM;UACJ/B,KAAA,CAAK6D,kBAAkB,EAAE;UACzB7D,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACS,KAAA,CAAK8D,QAAQ,EAAE,CAAC;QACtC,CAAC,CACF;QAED;MACF;MACA,IAAIT,SAAS,KAAK,MAAM,EAAE;QACxB,IAAIhB,OAAO,IAAIN,aAAa,KAAK,CAAC,EAAE;UAClC/B,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAAC,CAAC,CAAC;UAEtB;QACF;QACA,IAAIS,KAAA,CAAK4D,YAAY,EAAE;UACrB5D,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACwC,aAAa,KAAK,CAAC,GAAG2B,iBAAiB,GAAG3B,aAAa,GAAG,CAAC,CAAC;UAEhF;QACF;QAEA/B,KAAA,CAAKqB,QAAQ,CACX,UAACC,SAAS;UAAA,OAAM;YACdS,aAAa,EAAET,SAAS,CAACS,aAAa,GAAG;UAC3C,CAAC;QAAA,CAAC,EACF,YAAM;UACJ/B,KAAA,CAAK6D,kBAAkB,EAAE;UACzB7D,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACS,KAAA,CAAK8D,QAAQ,EAAE,CAAC;QACtC,CAAC,CACF;QAED;MACF;IACF,CAAC;IAAA3D,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,uBAEkB,UAACqD,SAA2B,EAAK;MAClD,OAAO,YAAM;QACXrD,KAAA,CAAKc,aAAa,CAACuC,SAAS,CAAC;MAC/B,CAAC;IACH,CAAC;IAAAlD,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,gCAE2B,UAAC+D,KAAa,EAAK;MAC7C,OAAO,YAAM;QACX,IAAAC,YAAA,GAAiChE,KAAA,CAAKS,KAAK;UAAnCsB,aAAa,GAAAiC,YAAA,CAAbjC,aAAa;UAAErB,KAAK,GAAAsD,YAAA,CAALtD,KAAK;QAC5B,IAAI,CAACV,KAAA,CAAK4D,YAAY,IAAIG,KAAK,KAAKhC,aAAa,EAAE;UACjD,IAAMkC,aAAa,GAAGV,IAAI,CAACW,KAAK,CAACnC,aAAa,GAAGrB,KAAK,CAACC,MAAM,CAAC,GAAGD,KAAK,CAACC,MAAM,GAAGoD,KAAK;UACrF/D,KAAA,CAAKe,YAAY,CAACkD,aAAa,CAAC;QAClC;QACAjE,KAAA,CAAK2D,QAAQ,CAACpE,KAAK,CAACwE,KAAK,CAAC;MAC5B,CAAC;IACH,CAAC;IAAA5D,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,wBAEmB,UAACM,CAAmB,EAAK;MAC3CN,KAAA,CAAKmE,gBAAgB,GAAG7D,CAAC,CAAC8D,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;IACrD,CAAC;IAAAlE,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,sBAEiB,UAACM,CAAmB,EAAK;MACzC,IAAMgE,aAAa,GAAGhE,CAAC,CAAC8D,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;MACjD,IAAME,KAAK,GAAGD,aAAa,GAAGtE,KAAA,CAAKmE,gBAAgB;MACnD,IAAII,KAAK,GAAG,EAAE,EAAE;QACdvE,KAAA,CAAKc,aAAa,CAAC,MAAM,CAAC;MAC5B,CAAC,MAAM,IAAIyD,KAAK,GAAG,CAAC,EAAE,EAAE;QACtBvE,KAAA,CAAKc,aAAa,CAAC,OAAO,CAAC;MAC7B;IACF,CAAC;IAAAX,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,4BA0BuB,YAAM;MAC5BA,KAAA,CAAKqB,QAAQ,CACX,UAACC,SAAS,EAAK;QACb,OAAO;UACLkD,UAAU,EAAE,CAAClD,SAAS,CAACkD;QACzB,CAAC;MACH,CAAC,EACD,YAAM;QACJxE,KAAA,CAAKS,KAAK,CAAC+D,UAAU,IAAIxE,KAAA,CAAK6D,kBAAkB,EAAE;MACpD,CAAC,CACF;IACH,CAAC;IAAA1D,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,gCAE2B,UAACqD,SAA2B;MAAA,OAAK,UAAC/C,CAAsB,EAAK;QACvF,IAAIA,CAAC,CAACM,GAAG,KAAK,OAAO,IAAIN,CAAC,CAACM,GAAG,KAAK,GAAG,EAAE;UACtCN,CAAC,CAACO,cAAc,EAAE;UAClBb,KAAA,CAAKyE,gBAAgB,CAACpB,SAAS,CAAC,EAAE;QACpC;MACF,CAAC;IAAA;IAhSCrD,KAAA,CAAK4D,YAAY,GAAG/D,KAAK,CAACN,KAAK,KAAK6B,SAAS;IAC7CpB,KAAA,CAAKS,KAAK,GAAG;MACXC,KAAK,EAAE,EAAE;MACT8D,UAAU,EAAE,KAAK;MACjBzC,aAAa,GAAAjC,MAAA,IAAAC,YAAA,GAAEF,KAAK,CAACN,KAAK,cAAAQ,YAAA,cAAAA,YAAA,GAAIF,KAAK,CAAC6E,YAAY,cAAA5E,MAAA,cAAAA,MAAA,GAAI;IACtD,CAAC;IAAC,OAAAE,KAAA;EACJ;EAAC2E,YAAA,CAAAnF,YAAA;IAAAoB,GAAA;IAAAmD,KAAA,EAED,SAAAa,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAO;QACLtF,KAAK,EAAE,CACL,IAAI,EACJ,UAACuF,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;IAAAxE,GAAA;IAAAmD,KAAA,EAED,SAAAsB,kBAAA,EAAoB;MAClB,IAAQtD,aAAa,GAAK,IAAI,CAACtB,KAAK,CAA5BsB,aAAa;MAErB,IAAIA,aAAa,KAAK,CAAC,EAAE;QACvB,IAAIA,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACF,iBAAiB,EAAE;UAChEtD,MAAM,CAAC+G,IAAI,CACT,IAAI,8FAEJ9F,YAAY,CAAC+F,WAAW,CACzB;UACD,IAAI,CAAClE,QAAQ,CAAC;YAAEU,aAAa,EAAE;UAAE,CAAC,CAAC;QACrC,CAAC,MAAM;UACL,IAAI,CAAC8B,kBAAkB,EAAE;QAC3B;MACF;MAEA,IAAM2B,oBAAoB,GAAG7G,iBAAiB,CAAC,IAAI,CAAC2D,OAAO,CAACmD,QAAQ,EAAE,CACpE,eAAe,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;MAEFlH,MAAM,CAAC+G,IAAI,CACTE,oBAAoB,CAAC7E,MAAM,GAAG,CAAC,EAC/B,mIAAmI,EACnInB,YAAY,CAAC+F,WAAW,CACzB;IACH;EAAC;IAAA3E,GAAA;IAAAmD,KAAA,EAED,SAAA2B,mBAAmBC,SAAwB,EAAE;MAAA,IAAAC,MAAA;MAC3C,IAAQrG,KAAK,GAAK,IAAI,CAAC+C,OAAO,CAAtB/C,KAAK;MACb,IAAIoG,SAAS,CAACpG,KAAK,KAAKA,KAAK,IAAI,IAAI,CAACqE,YAAY,IAAIrE,KAAK,KAAK6B,SAAS,EAAE;QACzE,IAAI,CAACC,QAAQ,CAAC;UAAEU,aAAa,EAAExC;QAAM,CAAC,EAAE;UAAA,OAAMqG,MAAI,CAAC/B,kBAAkB,EAAE;QAAA,EAAC;MAC1E;IACF;EAAC;IAAAjD,GAAA;IAAAmD,KAAA,EA8LD,SAAA8B,kBAAA,EAAoB;MAClB,IAAQC,QAAQ,GAAK,IAAI,CAACxD,OAAO,CAAzBwD,QAAQ;MAEhB,OAAO;QACLC,GAAG,EAAE,IAAI,CAAC/D,YAAY;QACtB8D,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAAlF,GAAA;IAAAmD,KAAA,EAED,SAAAiC,aAAanG,KAAwB,EAAEN,KAAa,EAAE;MACpD,IAAQ0G,IAAI,GAAK,IAAI,CAAC3D,OAAO,CAArB2D,IAAI;MACZ,IAAMC,SAAS,GAAG,IAAI,CAACC,UAAU,CAAC5G,KAAK,CAAC;MAExC,OAAO;QACL6G,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BlH,GAAG,EAAE,IAAI,CAACoD,OAAO,CAACpD,GAAG;QACrBK,KAAK,EAALA,KAAK;QACL0C,OAAO,EAAEiE,SAAS;QAClBG,MAAM,EAAEJ,IAAI;QACZK,iBAAiB,EAAE,IAAI,CAACC,qBAAqB;QAC7CzE,SAAS,EAAEoE,SAAS,GAAG,IAAI,CAACM,YAAY,EAAE,GAAGpF;MAC/C,CAAC;IACH;EAAC;IAAAR,GAAA;IAAAmD,KAAA,EAsBD,SAAA0C,aAAA,EAAe;MACb,IAAAC,aAAA,GAAiC,IAAI,CAACpE,OAAO;QAArCD,OAAO,GAAAqE,aAAA,CAAPrE,OAAO;QAAElD,WAAW,GAAAuH,aAAA,CAAXvH,WAAW;MAC5B,IAAAwH,YAAA,GAAiC,IAAI,CAAClG,KAAK;QAAnCC,KAAK,GAAAiG,YAAA,CAALjG,KAAK;QAAEqB,aAAa,GAAA4E,YAAA,CAAb5E,aAAa;MAC5B,IAAI6E,QAAQ,GAAG,KAAK;MACpB,IAAIlG,KAAK,CAACC,MAAM,IAAI0B,OAAO,EAAE;QAC3BuE,QAAQ,GAAG7E,aAAa,KAAK,CAAC;MAChC;MACA,OAAO;QACL8E,OAAO,EAAE,IAAI,CAACpC,gBAAgB,CAAC,MAAM,CAAC;QACtCqC,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,MAAM,CAAC;QACjDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAE7H,WAAW,CAAC,MAAM,CAAC;QAC1B8H,QAAQ,EAAE,CAAC;MACb,CAAC;IACH;EAAC;IAAArG,GAAA;IAAAmD,KAAA,EAED,SAAAmD,aAAA,EAAe;MACb,IAAAC,cAAA,GAAiC,IAAI,CAAC7E,OAAO;QAArCD,OAAO,GAAA8E,cAAA,CAAP9E,OAAO;QAAElD,WAAW,GAAAgI,cAAA,CAAXhI,WAAW;MAC5B,IAAAiI,YAAA,GAAiC,IAAI,CAAC3G,KAAK;QAAnCC,KAAK,GAAA0G,YAAA,CAAL1G,KAAK;QAAEqB,aAAa,GAAAqF,YAAA,CAAbrF,aAAa;MAC5B,IAAI6E,QAAQ,GAAG,KAAK;MACpB,IAAIlG,KAAK,CAACC,MAAM,IAAI0B,OAAO,EAAE;QAC3BuE,QAAQ,GAAG7E,aAAa,KAAKrB,KAAK,CAACC,MAAM,GAAG,CAAC;MAC/C;MAEA,OAAO;QACLkG,OAAO,EAAE,IAAI,CAACpC,gBAAgB,CAAC,OAAO,CAAC;QACvCqC,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,OAAO,CAAC;QAClDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAE7H,WAAW,CAAC,MAAM,CAAC;QAC1B8H,QAAQ,EAAE,CAAC;MACb,CAAC;IACH;EAAC;IAAArG,GAAA;IAAAmD,KAAA,EAED,SAAAsD,mBAAA,EAAqB;MAAA,IAAAC,MAAA;MACnB,IAAQ5G,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK;MAEb,OAAO;QACLA,KAAK,EAAEA,KAAK,CAAC8B,GAAG,CAAC,UAACvB,IAAI,EAAEL,GAAG;UAAA,OAAM;YAC/B2G,MAAM,EAAED,MAAI,CAACnB,UAAU,CAACvF,GAAG,CAAC;YAC5BiG,OAAO,EAAES,MAAI,CAACE,yBAAyB,CAAC5G,GAAG,CAAC;YAC5CA,GAAG,EAAHA;UACF,CAAC;QAAA,CAAC;MACJ,CAAC;IACH;EAAC;IAAAA,GAAA;IAAAmD,KAAA,EAED,SAAAyC,aAAA,EAAe;MACb,IAAAiB,YAAA,GAAiC,IAAI,CAAChH,KAAK;QAAnCC,KAAK,GAAA+G,YAAA,CAAL/G,KAAK;QAAEqB,aAAa,GAAA0F,YAAA,CAAb1F,aAAa;MAE5B,IAAMsB,SAAS,GAAGtB,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAC5C,IAAM2F,KAAK,GAAGhH,KAAK,CAACC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG4C,IAAI,CAACW,KAAK,CAACnC,aAAa,GAAGrB,KAAK,CAACC,MAAM,CAAC,GAAG0C,SAAS;MAC3F,IAAMvB,SAAS,GACbC,aAAa,GAAG,CAAC,IAAIA,aAAa,GAAGrB,KAAK,CAACC,MAAM,GAC7C,CAAC,GACD,GAAG,GAAG0C,SAAS,GAAGqE,KAAK,GAAGhH,KAAK,CAACC,MAAM;MAE5C,OAAOmB,SAAS;IAClB;EAAC;IAAAlB,GAAA;IAAAmD,KAAA,EAED,SAAAD,SAAA,EAAW;MACT,IAAA6D,YAAA,GAAiC,IAAI,CAAClH,KAAK;QAAnCC,KAAK,GAAAiH,YAAA,CAALjH,KAAK;QAAEqB,aAAa,GAAA4F,YAAA,CAAb5F,aAAa;MAE5B,IAAIrB,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,CAAC;MACV;MAEA,IAAIoB,aAAa,IAAI,CAAC,EAAE;QACtB,OAAOA,aAAa,GAAGrB,KAAK,CAACC,MAAM;MACrC;MAEA,OAAO,CAACD,KAAK,CAACC,MAAM,GAAIoB,aAAa,GAAGrB,KAAK,CAACC,MAAO,IAAID,KAAK,CAACC,MAAM;IACvE;EAAC;IAAAC,GAAA;IAAAmD,KAAA,EAED,SAAAoC,WAAW5G,KAAa,EAAE;MACxB,IAAAqI,YAAA,GAAiC,IAAI,CAACnH,KAAK;QAAnCC,KAAK,GAAAkH,YAAA,CAALlH,KAAK;QAAEqB,aAAa,GAAA6F,YAAA,CAAb7F,aAAa;MAE5B,IAAIrB,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,IAAI;MACb;MAEA,OAAOpB,KAAK,KAAK,IAAI,CAACuE,QAAQ,EAAE;IAClC;EAAC;IAAAlD,GAAA;IAAAmD,KAAA,EAED,SAAA8D,YAAYC,OAAgB,EAAEC,cAAqB,EAAE;MAAA,IAAAC,IAAA,QAAA1F,OAAA;QAAA2F,KAAA;QAAAC,MAAA;MACnD,IAAMC,eAAe,GAuBHnK,GAAG;MAtBrB,IAAAoK,cAAA,GAQI,IAAI,CAAC9F,OAAO;QAPd+F,MAAM,GAAAD,cAAA,CAANC,MAAM;QACNnJ,GAAG,GAAAkJ,cAAA,CAAHlJ,GAAG;QACH4G,QAAQ,GAAAsC,cAAA,CAARtC,QAAQ;QACFwC,OAAO,GAAAF,cAAA,CAAbnC,IAAI;QACJsC,SAAS,GAAAH,cAAA,CAATG,SAAS;QACKC,SAAS,GAAAJ,cAAA,CAAvB,YAAY;QACYK,mBAAmB,GAAAL,cAAA,CAA3C,sBAAsB;MAExB,IAAQ5D,UAAU,GAAK,IAAI,CAAC/D,KAAK,CAAzB+D,UAAU;MAElB,OAAAyD,KAAA,GAAOrK,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAAC3K,KAAK,EAAAkK,KAAA,CAAAU,EAAA;QAAA,WACKnE,UAAU;QAAA,WACV,IAAI,CAAC+B,qBAAqB;QAAA,SAC5B,IAAI;QAAA,YACD,CAACuB;MAAO,iBAElBrK,KAAA,CAAAiL,aAAA,CAACzK,IAAI,EAAAgK,KAAA,CAAAU,EAAA;QAAA,aAAYb,OAAO,GAAG,QAAQ,GAAG;MAAK,IACxC,CAACA,OAAO,iBAAIrK,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACC,IAAI;QAACC,QAAQ,EAAE;MAAK,EAAG,eAC9CrL,KAAA,CAAAiL,aAAA,CAAC1K,GAAG,EAAAiK,KAAA,CAAAU,EAAA;QAAA,SAAQ;UAAEI,QAAQ,EAAE,QAAQ;UAAEC,YAAY,EAAE;QAAE;MAAC,iBACjDvL,KAAA,CAAAiL,aAAA,CAACP,eAAe,EAAAF,KAAA,CAAAU,EAAA,oBAAAM,aAAA,KAAAC,YAAA;QAAA,QAET,MAAM;QAAA,mBAAAvH,MAAA,CACMmE,QAAQ;QAAA,OACpB,IAAI,CAAC5D,iBAAiB;QAAA,SACpBd,SAAS;QAAA,QACVmH;MAAS,GAAAP,IAAA,KAEdD,cAAc,CAACvF,GAAG,CAAC,UAACvB,IAAI,EAAEkI,CAAC,EAAK;QAC/B,oBACE1L,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACQ,IAAI,EAAAC,QAAA,KACRpI,IAAI,CAACpB,KAAK;UACde,GAAG,EAAEK,IAAI,CAACL,GAAI;UACd1B,GAAG,EAAEA,GAAI;UACTK,KAAK,EAAE4J,CAAE;UACTlH,OAAO,EAAEiG,MAAI,CAAC/B,UAAU,CAACgD,CAAC,CAAE;UAC5B/C,UAAU,EAAEhF,SAAU;UACtB6E,IAAI,EAAE,IAAK;UACXqD,OAAO,EAAE,IAAK;UACdxH,SAAS,EAAEoG,MAAI,CAAC/B,UAAU,CAACgD,CAAC,CAAC,GAAGjB,MAAI,CAAC1B,YAAY,EAAE,GAAGpF;QAAU,GAChE;MAEN,CAAC,CAAC,CACc,CACd,EACL0G,OAAO,gBACNrK,KAAA,CAAAiL,aAAA,CAACzK,IAAI,EAAAgK,KAAA,CAAAU,EAAA;QAAA,kBAAiB,QAAQ;QAAA,MAAM;MAAC,iBACnClL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACC,IAAI;QAACC,QAAQ,EAAE;MAAK,EAAG,eACjCrL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACW,IAAI;QAACT,QAAQ,EAAE;MAAK,EAAG,CAC5B,gBAEPrL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACW,IAAI;QAACT,QAAQ,EAAE;MAAK,EAC/B,CACI,EACN,CAAChB,OAAO,iBAAIrK,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACY,UAAU;QAACV,QAAQ,EAAE;MAAK,EAAG,CAC9C;IAEZ;EAAC;IAAAlI,GAAA;IAAAmD,KAAA,EAED,SAAA0F,OAAA,EAAS;MAAA,IAAAC,KAAA,QAAApH,OAAA;QAAAqH,MAAA;QAAAC,MAAA;MACP,IAAMC,SAAS,GAkBH7L,GAAG;MAjBf,IAAA8L,cAAA,GAOI,IAAI,CAACxH,OAAO;QANd+F,MAAM,GAAAyB,cAAA,CAANzB,MAAM;QACN5C,QAAQ,GAAAqE,cAAA,CAARrE,QAAQ;QACF6C,OAAO,GAAAwB,cAAA,CAAb7D,IAAI;QACUuC,SAAS,GAAAsB,cAAA,CAAvB,YAAY;QACYrB,mBAAmB,GAAAqB,cAAA,CAA3C,sBAAsB;QACtBC,UAAU,GAAAD,cAAA,CAAVC,UAAU;MAEZ,IAAMhC,cAAc,GAAGpJ,iBAAiB,CAAC8G,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;MACrE,IAAMuE,QAAQ,GAAGrL,iBAAiB,CAAC8G,QAAQ,EAAE,CAC3C,eAAe,EACf,eAAe,EACf,qBAAqB,CACtB,CAAC;MAEF,OAAAkE,MAAA,GAAO/L,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACmB,SAAS,EAAAF,MAAA,CAAAhB,EAAA,cAAAM,aAAA,KAAAgB,aAAA;QAAA,QAEH,OAAO;QAAA,aACD,IAAI,CAACC,cAAc;QAAA,gBAChB,IAAI,CAACC,iBAAiB;QAAA,cACxB,IAAI,CAACC,eAAe;QAAA,OAC3B,IAAI,CAACpF;MAAW,GAAA0E,KAAA,KAEpBM,QAAQ,CAACrJ,MAAM,KAAK,CAAC,gBACpBlD,KAAA,CAAAiL,aAAA,CAAAjL,KAAA,CAAA4M,QAAA,qBACE5M,KAAA,CAAAiL,aAAA,CAACzK,IAAI,EAAA0L,MAAA,CAAAhB,EAAA,2BACHlL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACC,IAAI,OAAG,eACjBpL,KAAA,CAAAiL,aAAA,CAAC1K,GAAG,EAAA2L,MAAA,CAAAhB,EAAA;QAAA,SAAQ;UAAEI,QAAQ,EAAE,QAAQ;UAAEC,YAAY,EAAE;QAAE;MAAC,iBACjDvL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAAC0B,SAAS;QACjB,wBAAsB7B,mBAAoB;QAC1C,cAAYD;MAAU,gBAEtB/K,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAAkE,MAAA,CAAAhB,EAAA,iBAAG,CACO,CACjB,eACNlL,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACW,IAAI,OAAG,CACZ,EACNQ,UAAU,KAAK,SAAS,iBAAItM,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACY,UAAU,OAAG,EACnDO,UAAU,KAAK,SAAS,iBACvBtM,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAACY,UAAU,QACjB;QAAA,OACCzB,cAAc,CAACvF,GAAG,CAAC,UAACvB,IAAI,EAAE1B,KAAK;UAAA,oBAC7B9B,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAAC2B,SAAS,EAAAlB,QAAA,KACbpI,IAAI,CAACpB,KAAK;YACde,GAAG,EAAEK,IAAI,CAACL,GAAI;YACd4J,CAAC,EAAE,GAAI;YACPC,CAAC,EAAE,GAAI;YACP,wBAAqB,OAAO;YAC5BlD,MAAM,EAAEqC,MAAI,CAACzD,UAAU,CAAC5G,KAAK,CAAE;YAC/BsH,OAAO,EAAE+C,MAAI,CAACpC,yBAAyB,CAACjI,KAAK;UAAE,GAC/C;QAAA,CACH,CAAC;MAAA,EAGP,CACA,gBAEH9B,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAAkE,MAAA,CAAAhB,EAAA,iBACV,EACAL,OAAO,iBACN7K,KAAA,CAAAiL,aAAA,CAACrJ,WAAW,EAAAsK,MAAA,CAAAhB,EAAA,kCACVlL,KAAA,CAAAiL,aAAA,CAACrJ,WAAW,CAACqL,OAAO,CAACC,QAAQ,QAC1B,UAACC,UAAU;QAAA,OAAKhB,MAAI,CAAC/B,WAAW,CAACvI,aAAa,CAACsL,UAAU,CAAC,EAAE7C,cAAc,CAAC;MAAA,EAC/C,CAElC,CACS;IAEhB;EAAC;EAAA,OAAAvI,YAAA;AAAA,EArhBwB7B,SAAS;AAAAwC,eAAA,CAA9BX,YAAY,iBAMK,UAAU;AAAAW,eAAA,CAN3BX,YAAY,kBAOM;EACpBkF,YAAY,EAAE,CAAC;EACfoB,QAAQ,EAAE,GAAG;EACb+E,IAAI,EAAE,GAAG;EACTxI,OAAO,EAAE,KAAK;EACdyI,IAAI,EAAExM,iBAAiB;EACvByM,MAAM,EAAE,IAAI;EACZhB,UAAU,EAAE;AACd,CAAC;AAAA5J,eAAA,CAfGX,YAAY,WAiBDhB,KAAK;AAAA2B,eAAA,CAjBhBX,YAAY,aAkBCwL,MAAM,CAACC,MAAM,CAAChM,OAAO,CAAC;AAsgBzC,IAAMqL,SAAS,GAAG,SAAZA,SAASA,CAAIzK,KAAuC,EAAK;EAAA,IAAAqL,KAAA,GAAAC,YAAA;IAAAC,MAAA;EAC7D,IAAMC,UAAU,GAG2BrN,GAAG;EAF9C,IAAQqK,MAAM,GAAexI,KAAK,CAA1BwI,MAAM;IAAEvC,QAAQ,GAAKjG,KAAK,CAAlBiG,QAAQ;EAExB,OAAAsF,MAAA,GAAOxN,OAAO,CAACyK,MAAM,CAAC,eAAC5K,KAAA,CAAAiL,aAAA,CAAC2C,UAAU,EAAAD,MAAA,CAAAzC,EAAA,eAAAM,aAAA,KAAAqC,aAAA;IAAA,QAAmB,MAAM;IAAA,mBAAA3J,MAAA,CAAkBmE,QAAQ;EAAA,GAAAoF,KAAA,IAAQ;AAC/F,CAAC;AAAC,IAEI9B,IAAI,0BAAAmC,WAAA;EAAA7L,SAAA,CAAA0J,IAAA,EAAAmC,WAAA;EAAA,IAAAC,OAAA,GAAA5L,YAAA,CAAAwJ,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAqC,MAAA;IAAAxL,eAAA,OAAAmJ,IAAA;IAAA,SAAAsC,IAAA,GAAAvK,SAAA,CAAAR,MAAA,EAAAgL,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAA1K,SAAA,CAAA0K,IAAA;IAAA;IAAAJ,MAAA,GAAAD,OAAA,CAAAtL,IAAA,CAAA4L,KAAA,CAAAN,OAAA,SAAA7J,MAAA,CAAAgK,IAAA;IAAAxL,eAAA,CAAAC,sBAAA,CAAAqL,MAAA,2BACEhO,KAAK,CAAC4C,SAAS,EAAe;IAAA,OAAAoL,MAAA;EAAA;EAAA9G,YAAA,CAAAyE,IAAA;IAAAxI,GAAA;IAAAmD,KAAA,EAExC,SAAAsB,kBAAA,EAAoB;MAClB,IAAQe,UAAU,GAAK,IAAI,CAACvG,KAAK,CAAzBuG,UAAU;MAClB,IAAM2F,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC9J,OAAO;MAEpCmE,UAAU,IAAI2F,OAAO,IAAI3F,UAAU,CAAC;QAAE1E,IAAI,EAAEqK;MAAQ,CAAC,CAAC;IACxD;EAAC;IAAAnL,GAAA;IAAAmD,KAAA,EAED,SAAAiI,qBAAA,EAAuB;MACrB,IAAQ5F,UAAU,GAAK,IAAI,CAACvG,KAAK,CAAzBuG,UAAU;MAClB,IAAM2F,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC9J,OAAO;MAEpCmE,UAAU,IAAI2F,OAAO,IAAI3F,UAAU,CAAC;QAAE1E,IAAI,EAAEqK;MAAQ,CAAC,EAAE,IAAI,CAAC;IAC9D;EAAC;IAAAnL,GAAA;IAAAmD,KAAA,EAED,SAAA2B,mBAAmBC,SAA4B,EAAE;MAC/C,IAAM7D,SAAS,GAAG,IAAI,CAACjC,KAAK,CAACiC,SAAS;MACtC,IAAMiK,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC9J,OAAO;MAEpC,IAAI0D,SAAS,CAAC7D,SAAS,KAAKA,SAAS,IAAIiK,OAAO,EAAE;QAChDA,OAAO,CAACvN,KAAK,CAACsD,SAAS,iBAAAH,MAAA,CAAiBG,SAAS,OAAI;MACvD;IACF;EAAC;IAAAlB,GAAA;IAAAmD,KAAA,EAED,SAAA0F,OAAA,EAAS;MAAA,IAAAwC,KAAA,QAAA3J,OAAA;QAAA4J,MAAA;MACP,IAAAC,WAAA,GAA8E,IAAI,CAACtM,KAAK;QAAhFwI,MAAM,GAAA8D,WAAA,CAAN9D,MAAM;QAAE9I,KAAK,GAAA4M,WAAA,CAAL5M,KAAK;QAAEL,GAAG,GAAAiN,WAAA,CAAHjN,GAAG;QAAE+C,OAAO,GAAAkK,WAAA,CAAPlK,OAAO;QAAEoE,MAAM,GAAA8F,WAAA,CAAN9F,MAAM;QAAEC,iBAAiB,GAAA6F,WAAA,CAAjB7F,iBAAiB;QAAExE,SAAS,GAAAqK,WAAA,CAATrK,SAAS;MACzE,IAAMsK,KAAK,GAICpO,GAAG;MAFf,OAAAkO,MAAA,GAAOtO,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAAC0D,KAAK,EAAAF,MAAA,CAAAvD,EAAA,UAAAM,aAAA,KAAAoD,aAAA;QAAA,OAEC,IAAI,CAACN,OAAO;QAAA,QACZ,UAAU;QAAA,aAAApK,MAAA,CACJzC,GAAG,qBAAAyC,MAAA,CAAkBpC,KAAK;QAAA,gBACvB0C,OAAO;QAAA,WACZoE,MAAM,GAAGC,iBAAiB,GAAGlF,SAAS;QAAA,UACvCiF;MAAM,GAAA4F,KAAA,IACd;IAEN;EAAC;EAAA,OAAA7C,IAAA;AAAA,EAzCgBzL,SAAS;AA4C5B,IAAMkL,IAAI,GAAG,SAAPA,IAAIA,CAAIhJ,KAA0B,EAAK;EAAA,IAAAyM,KAAA,GAAAnB,YAAA;IAAAoB,MAAA;EAC3C,IAAQlE,MAAM,GAA6DxI,KAAK,CAAxEwI,MAAM;IAAEmE,QAAQ,GAAmD3M,KAAK,CAAhE2M,QAAQ;IAAE/G,QAAQ,GAAyC5F,KAAK,CAAtD4F,QAAQ;IAAEuB,KAAK,GAAkCnH,KAAK,CAA5CmH,KAAK;IAAAyF,UAAA,GAAkC5M,KAAK,CAArC6M,GAAG;IAAHA,GAAG,GAAAD,UAAA,cAAG,CAAC,GAAAA,UAAA;IAAE3D,QAAQ,GAAejJ,KAAK,CAA5BiJ,QAAQ;IAAE7B,QAAQ,GAAKpH,KAAK,CAAlBoH,QAAQ;EACtE,IAAM0F,KAAK,GAWM3O,GAAG;EAVpB,IAAM4O,WAAW,GAAG9O,MAAM;EAC1B,IAAA+O,eAAA,GAAgCpP,KAAK,CAACqP,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA9CI,QAAQ,GAAAF,gBAAA;IAAEG,WAAW,GAAAH,gBAAA;EAC5B,IAAMI,gBAAgB,GAAG1P,KAAK,CAAC2P,WAAW,CAAC,YAAM;IAC/CF,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EACN,IAAMG,gBAAgB,GAAG5P,KAAK,CAAC2P,WAAW,CAAC,YAAM;IAC/CF,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAAX,MAAA,GAAO3O,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACiE,KAAK,EAAAJ,MAAA,CAAA5D,EAAA,UAAAM,aAAA,KAAAqE,aAAA;IAAA,OAAmBZ,GAAG;IAAA,gBAAgBS,gBAAgB;IAAA,gBAAgBE;EAAgB,GAAAf,KAAA,KACzFE,QAAQ,gBACP/O,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAA8G,MAAA,CAAA5D,EAAA,iBAAG,gBAEZlL,KAAA,CAAAiL,aAAA,CAACkE,WAAW,EAAAL,MAAA,CAAA5D,EAAA;IAAA,aACCxK,WAAW;IAAA,cACV6I,KAAK;IAAA,SACV8B,QAAQ,GAAG,QAAQ,GAAG,OAAO;IAAA,OAC/B,UAAU;IAAA,UACPmE,QAAQ;IAAA,QACV,GAAG;IAAA,YACChG;EAAQ,GAErB,CACK;AAEZ,CAAC;AAED,IAAMsC,IAAI,GAAG,SAAPA,IAAIA,CAAI1J,KAA0B,EAAK;EAAA,IAAA0N,KAAA,GAAApC,YAAA;IAAAqC,MAAA;EAC3C,IAAQnF,MAAM,GAA6DxI,KAAK,CAAxEwI,MAAM;IAAEmE,QAAQ,GAAmD3M,KAAK,CAAhE2M,QAAQ;IAAE/G,QAAQ,GAAyC5F,KAAK,CAAtD4F,QAAQ;IAAEuB,KAAK,GAAkCnH,KAAK,CAA5CmH,KAAK;IAAAyG,WAAA,GAAkC5N,KAAK,CAArC6M,GAAG;IAAHA,GAAG,GAAAe,WAAA,cAAG,CAAC,GAAAA,WAAA;IAAE3E,QAAQ,GAAejJ,KAAK,CAA5BiJ,QAAQ;IAAE7B,QAAQ,GAAKpH,KAAK,CAAlBoH,QAAQ;EACtE,IAAMyG,KAAK,GAWM1P,GAAG;EAVpB,IAAM2P,WAAW,GAAG7P,MAAM;EAC1B,IAAA8P,gBAAA,GAAgCnQ,KAAK,CAACqP,QAAQ,CAAC,KAAK,CAAC;IAAAe,gBAAA,GAAAb,cAAA,CAAAY,gBAAA;IAA9CX,QAAQ,GAAAY,gBAAA;IAAEX,WAAW,GAAAW,gBAAA;EAC5B,IAAMV,gBAAgB,GAAG1P,KAAK,CAAC2P,WAAW,CAAC,YAAM;IAC/CF,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EACN,IAAMG,gBAAgB,GAAG5P,KAAK,CAAC2P,WAAW,CAAC,YAAM;IAC/CF,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAAM,MAAA,GAAO5P,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACgF,KAAK,EAAAF,MAAA,CAAA7E,EAAA,UAAAM,aAAA,KAAA6E,aAAA;IAAA,OAAmBpB,GAAG;IAAA,gBAAgBS,gBAAgB;IAAA,gBAAgBE;EAAgB,GAAAE,KAAA,KACzFf,QAAQ,gBACP/O,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAA+H,MAAA,CAAA7E,EAAA,iBAAG,gBAEZlL,KAAA,CAAAiL,aAAA,CAACiF,WAAW,EAAAH,MAAA,CAAA7E,EAAA;IAAA,aACCzK,YAAY;IAAA,cACX8I,KAAK;IAAA,SACV8B,QAAQ,GAAG,QAAQ,GAAG,OAAO;IAAA,OAC/B,UAAU;IAAA,UACPmE,QAAQ;IAAA,QACV,GAAG;IAAA,YACChG;EAAQ,GAErB,CACK;AAEZ,CAAC;AAED,IAAMuC,UAAU,GAAG,SAAbA,UAAUA,CAAAuE,MAAA,EAAuE;EAAA,IAAAC,KAAA,GAAA7C,YAAA;IAAA8C,MAAA;EAAA,IAAjEvN,KAAK,GAAAqN,MAAA,CAALrN,KAAK;IAAE2H,MAAM,GAAA0F,MAAA,CAAN1F,MAAM;IAAE5C,QAAQ,GAAAsI,MAAA,CAARtI,QAAQ;IAAEqD,QAAQ,GAAAiF,MAAA,CAARjF,QAAQ;EACrD,IAAMoF,WAAW,GASMlQ,GAAG;EAR1B,IAAIyH,QAAQ,CAAC0I,MAAM,EAAE;IAAA,IAAAC,MAAA;IACnB,OAAAA,MAAA,GAAOxQ,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACwF,WAAW,EAAAE,MAAA,CAAAzF,EAAA,gBAAAM,aAAA,KAAAoF,aAAA;MAAA,eAA0B;IAAM,GAAAL,KAAA,kBAC1CvQ,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAA2I,MAAA,CAAAzF,EAAA,iBAAG,CACA;EAElB;EACA,OAAAsF,MAAA,GAAOrQ,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACwF,WAAW,EAAAD,MAAA,CAAAtF,EAAA,gBAAAM,aAAA,KAAAqF,aAAA;IAAA,eAA0B;EAAM,GAAAN,KAAA,KACzCtN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE8B,GAAG,CAAC,UAACvB,IAAI,EAAE1B,KAAK;IAAA,oBACtB9B,KAAA,CAAAiL,aAAA,CAACE,QAAQ,CAAC2B,SAAS,EAAAlB,QAAA;MAACzI,GAAG,EAAErB;IAAM,GAAK0B,IAAI;MAAE6H,QAAQ,EAAEA;IAAS,GAAG;EAAA,CACjE,CAAC,CACU;AAElB,CAAC;AAED,IAAMyB,SAAS,GAAG,SAAZA,SAASA,CAAAgE,MAAA,EAAqD;EAAA,IAAAC,KAAA,GAAArD,YAAA;IAAAsD,MAAA;EAAA,IAA/CpG,MAAM,GAAAkG,MAAA,CAANlG,MAAM;IAAE5C,QAAQ,GAAA8I,MAAA,CAAR9I,QAAQ;EACnC,IAAMiJ,UAAU,GAEM1Q,GAAG;EADzB,OAAAyQ,MAAA,GAAO7Q,OAAO,CAACyK,MAAM,CAAC,eACpB5K,KAAA,CAAAiL,aAAA,CAACgG,UAAU,EAAAD,MAAA,CAAA9F,EAAA,eAAAM,aAAA,KAAA0F,aAAA,KAAAH,KAAA,kBACT/Q,KAAA,CAAAiL,aAAA,CAACjD,QAAQ,EAAAgJ,MAAA,CAAA9F,EAAA,iBAAG,CACD;AAEjB,CAAC;AAED,IAAMC,QAA6B,GAAGlL,eAAe,CAAC8B,YAAY,EAAE;EAClE8K,SAAS,EAATA,SAAS;EACTd,UAAU,EAAVA,UAAU;EACVe,SAAS,EAATA,SAAS;EACTnB,IAAI,EAAJA,IAAI;EACJP,IAAI,EAAJA,IAAI;EACJU,IAAI,EAAJA;AACF,CAAC,CAAC;AAEF,eAAeX,QAAQ"}
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","uid","getI18nText","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref18","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","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","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","tabIndex","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this4","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this5","SModalContainer","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref10","_this6","SCarousel","_this$asProps4","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_assignProps3","_Component2","_super2","_this7","_len","args","Array","_key","apply","_this$props","refItem","componentWillUnmount","_ref4","_ref12","_this$props2","SItem","_assignProps4","_ref5","_ref13","children","_props$top","top","SPrev","SPrevButton","_React$useState","useState","_React$useState2","_slicedToArray","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","_assignProps5","_ref6","_ref14","_props$top2","SNext","SNextButton","_React$useState3","_React$useState4","_assignProps6","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_assignProps7","_assignProps8","_ref20","_ref8","_ref17","SIndicator","_assignProps9"],"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/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/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/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n keyboardFocusEnhance: keyboardFocusEnhance(),\n};\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 = Object.values(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\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 };\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 } = 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 tabIndex: -1,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = 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 tabIndex: -1,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\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, selectedIndex } = 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 {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = 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 <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\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 </Box>\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 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='group'\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\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)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\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, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\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, tabIndex } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted, tabIndex } = props;\n const SNext = Root;\n const SNextButton = Button;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n tabIndex={tabIndex}\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} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} 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 Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/carousel",
3
3
  "description": "Semrush Carousel Component",
4
- "version": "3.37.2",
4
+ "version": "3.37.3-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,15 +9,15 @@
9
9
  "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@semcore/flex-box": "5.27.1",
13
- "@semcore/icon": "4.36.1",
14
- "@semcore/utils": "4.28.1",
15
- "@semcore/button": "5.29.0",
16
- "@semcore/modal": "4.37.1",
17
- "@semcore/breakpoints": "1.27.1"
12
+ "@semcore/flex-box": "5.27.2-prerelease.0",
13
+ "@semcore/icon": "4.37.0-prerelease.0",
14
+ "@semcore/utils": "4.28.2-prerelease.0",
15
+ "@semcore/button": "5.29.1-prerelease.0",
16
+ "@semcore/modal": "4.37.2-prerelease.0",
17
+ "@semcore/breakpoints": "1.27.2-prerelease.0"
18
18
  },
19
19
  "peerDependencies": {
20
- "@semcore/core": "^2.17.5",
20
+ "@semcore/core": "^2.25.2-prerelease.0",
21
21
  "react": "16.8 - 18",
22
22
  "react-dom": "16.8 - 18"
23
23
  },
package/src/Carousel.tsx CHANGED
@@ -586,10 +586,14 @@ class Item extends Component<CarouselItemProps> {
586
586
  refItem = React.createRef<HTMLElement>();
587
587
 
588
588
  componentDidMount() {
589
- const { toggleItem } = this.props;
589
+ const { toggleItem, transform } = this.props;
590
590
  const refItem = this.refItem.current;
591
591
 
592
592
  toggleItem && refItem && toggleItem({ node: refItem });
593
+
594
+ if (transform && refItem) {
595
+ refItem.style.transform = `translateX(${transform}%)`;
596
+ }
593
597
  }
594
598
 
595
599
  componentWillUnmount() {