intergalactic 15.65.3 → 15.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +73 -9
  2. package/animation/index.d.ts +1 -1
  3. package/animation/lib/cjs/Collapse.js +29 -29
  4. package/animation/lib/cjs/Collapse.js.map +1 -1
  5. package/animation/lib/cjs/FadeInOut.js +28 -28
  6. package/animation/lib/cjs/Scale.js +28 -28
  7. package/animation/lib/cjs/Slide.js +28 -28
  8. package/animation/lib/cjs/Transform.js +28 -28
  9. package/animation/lib/cjs/index.d.js.map +1 -1
  10. package/animation/lib/cjs/style/keyframes.shadow.css +53 -5
  11. package/animation/lib/es6/Collapse.js +29 -29
  12. package/animation/lib/es6/Collapse.js.map +1 -1
  13. package/animation/lib/es6/FadeInOut.js +28 -28
  14. package/animation/lib/es6/Scale.js +28 -28
  15. package/animation/lib/es6/Slide.js +28 -28
  16. package/animation/lib/es6/Transform.js +28 -28
  17. package/animation/lib/es6/index.d.js.map +1 -1
  18. package/animation/lib/es6/style/keyframes.shadow.css +53 -5
  19. package/animation/lib/types/index.d.ts +1 -1
  20. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  21. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  22. package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
  23. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  24. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  25. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  26. package/base-trigger/lib/es6/FilterTrigger.js +7 -7
  27. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  28. package/button/lib/cjs/Button.js +26 -26
  29. package/button/lib/cjs/style/button.shadow.css +10 -11
  30. package/button/lib/es6/Button.js +26 -26
  31. package/button/lib/es6/style/button.shadow.css +10 -11
  32. package/card/index.d.ts +10 -1
  33. package/card/lib/cjs/Card.js +10 -3
  34. package/card/lib/cjs/Card.js.map +1 -1
  35. package/card/lib/cjs/index.d.js.map +1 -1
  36. package/card/lib/es6/Card.js +10 -3
  37. package/card/lib/es6/Card.js.map +1 -1
  38. package/card/lib/es6/index.d.js.map +1 -1
  39. package/card/lib/types/index.d.ts +10 -1
  40. package/carousel/lib/cjs/Carousel.js +18 -7
  41. package/carousel/lib/cjs/Carousel.js.map +1 -1
  42. package/carousel/lib/es6/Carousel.js +18 -7
  43. package/carousel/lib/es6/Carousel.js.map +1 -1
  44. package/components.json +73 -73
  45. package/d3-chart/Area.d.ts +2 -2
  46. package/d3-chart/Line.d.ts +2 -2
  47. package/d3-chart/lib/cjs/Area.js +11 -11
  48. package/d3-chart/lib/cjs/Axis.js +14 -14
  49. package/d3-chart/lib/cjs/Bar.js +10 -10
  50. package/d3-chart/lib/cjs/Bubble.js +12 -12
  51. package/d3-chart/lib/cjs/Donut.js +9 -9
  52. package/d3-chart/lib/cjs/Dots.js +9 -9
  53. package/d3-chart/lib/cjs/Dots.js.map +1 -1
  54. package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
  55. package/d3-chart/lib/cjs/Hover.js +3 -3
  56. package/d3-chart/lib/cjs/Line.js +12 -10
  57. package/d3-chart/lib/cjs/Line.js.map +1 -1
  58. package/d3-chart/lib/cjs/Plot.js +3 -3
  59. package/d3-chart/lib/cjs/Radar.js +19 -19
  60. package/d3-chart/lib/cjs/RadialTree.js +11 -11
  61. package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
  62. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  63. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  64. package/d3-chart/lib/cjs/Venn.js +9 -9
  65. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  66. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  67. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  68. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  69. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  70. package/d3-chart/lib/cjs/types/Area.d.js.map +1 -1
  71. package/d3-chart/lib/cjs/types/Line.d.js.map +1 -1
  72. package/d3-chart/lib/es6/Area.js +11 -11
  73. package/d3-chart/lib/es6/Axis.js +14 -14
  74. package/d3-chart/lib/es6/Bar.js +10 -10
  75. package/d3-chart/lib/es6/Bubble.js +12 -12
  76. package/d3-chart/lib/es6/Donut.js +9 -9
  77. package/d3-chart/lib/es6/Dots.js +9 -9
  78. package/d3-chart/lib/es6/Dots.js.map +1 -1
  79. package/d3-chart/lib/es6/HorizontalBar.js +10 -10
  80. package/d3-chart/lib/es6/Hover.js +3 -3
  81. package/d3-chart/lib/es6/Line.js +12 -10
  82. package/d3-chart/lib/es6/Line.js.map +1 -1
  83. package/d3-chart/lib/es6/Plot.js +3 -3
  84. package/d3-chart/lib/es6/Radar.js +19 -19
  85. package/d3-chart/lib/es6/RadialTree.js +11 -11
  86. package/d3-chart/lib/es6/ReferenceLine.js +9 -9
  87. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  88. package/d3-chart/lib/es6/Tooltip.js +9 -9
  89. package/d3-chart/lib/es6/Venn.js +9 -9
  90. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  91. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  92. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  93. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  94. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  95. package/d3-chart/lib/es6/types/Area.d.js.map +1 -1
  96. package/d3-chart/lib/es6/types/Line.d.js.map +1 -1
  97. package/d3-chart/lib/types/Area.d.ts +2 -2
  98. package/d3-chart/lib/types/Line.d.ts +2 -2
  99. package/data-table/lib/cjs/DataTable.js +5 -0
  100. package/data-table/lib/cjs/DataTable.js.map +1 -1
  101. package/data-table/lib/es6/DataTable.js +5 -0
  102. package/data-table/lib/es6/DataTable.js.map +1 -1
  103. package/date-picker/lib/cjs/DatePicker.js +1 -1
  104. package/date-picker/lib/cjs/DatePicker.js.map +1 -1
  105. package/date-picker/lib/cjs/DateRangeComparator.js +11 -8
  106. package/date-picker/lib/cjs/DateRangeComparator.js.map +1 -1
  107. package/date-picker/lib/cjs/MonthDateRangeComparator.js +7 -6
  108. package/date-picker/lib/cjs/MonthDateRangeComparator.js.map +1 -1
  109. package/date-picker/lib/cjs/components/Calendar.js +156 -72
  110. package/date-picker/lib/cjs/components/Calendar.js.map +1 -1
  111. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +206 -123
  112. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  113. package/date-picker/lib/cjs/components/InputTrigger.js +50 -38
  114. package/date-picker/lib/cjs/components/InputTrigger.js.map +1 -1
  115. package/date-picker/lib/cjs/components/PickerAbstract.js +38 -29
  116. package/date-picker/lib/cjs/components/PickerAbstract.js.map +1 -1
  117. package/date-picker/lib/cjs/components/RangePickerAbstract.js +105 -79
  118. package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  119. package/date-picker/lib/cjs/components/index.js +4 -4
  120. package/date-picker/lib/cjs/components/index.js.map +1 -1
  121. package/date-picker/lib/cjs/style/calendar.shadow.css +7 -3
  122. package/date-picker/lib/cjs/translations/en.json +8 -1
  123. package/date-picker/lib/cjs/utils/formatDate.js +19 -7
  124. package/date-picker/lib/cjs/utils/formatDate.js.map +1 -1
  125. package/date-picker/lib/es6/DatePicker.js +2 -2
  126. package/date-picker/lib/es6/DatePicker.js.map +1 -1
  127. package/date-picker/lib/es6/DateRangeComparator.js +11 -8
  128. package/date-picker/lib/es6/DateRangeComparator.js.map +1 -1
  129. package/date-picker/lib/es6/MonthDateRangeComparator.js +7 -6
  130. package/date-picker/lib/es6/MonthDateRangeComparator.js.map +1 -1
  131. package/date-picker/lib/es6/components/Calendar.js +157 -73
  132. package/date-picker/lib/es6/components/Calendar.js.map +1 -1
  133. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +206 -123
  134. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  135. package/date-picker/lib/es6/components/InputTrigger.js +50 -38
  136. package/date-picker/lib/es6/components/InputTrigger.js.map +1 -1
  137. package/date-picker/lib/es6/components/PickerAbstract.js +38 -29
  138. package/date-picker/lib/es6/components/PickerAbstract.js.map +1 -1
  139. package/date-picker/lib/es6/components/RangePickerAbstract.js +105 -79
  140. package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
  141. package/date-picker/lib/es6/components/index.js +4 -4
  142. package/date-picker/lib/es6/components/index.js.map +1 -1
  143. package/date-picker/lib/es6/style/calendar.shadow.css +7 -3
  144. package/date-picker/lib/es6/translations/en.json +8 -1
  145. package/date-picker/lib/es6/utils/formatDate.js +16 -5
  146. package/date-picker/lib/es6/utils/formatDate.js.map +1 -1
  147. package/dropdown-menu/lib/cjs/DropdownMenu.js +46 -19
  148. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  149. package/dropdown-menu/lib/es6/DropdownMenu.js +47 -20
  150. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  151. package/icon/Check/l/index.js +1 -1
  152. package/icon/Check/l/index.mjs +1 -1
  153. package/icon/CheckDouble/l/index.d.ts +6 -0
  154. package/icon/CheckDouble/l/index.js +36 -0
  155. package/icon/CheckDouble/l/index.mjs +24 -0
  156. package/icon/CheckDouble/m/index.d.ts +6 -0
  157. package/icon/CheckDouble/m/index.js +36 -0
  158. package/icon/CheckDouble/m/index.mjs +24 -0
  159. package/icon/CollapseAlt/l/index.d.ts +6 -0
  160. package/icon/CollapseAlt/l/index.js +36 -0
  161. package/icon/CollapseAlt/l/index.mjs +24 -0
  162. package/icon/CollapseAlt/m/index.d.ts +6 -0
  163. package/icon/CollapseAlt/m/index.js +36 -0
  164. package/icon/CollapseAlt/m/index.mjs +24 -0
  165. package/icon/ExpandAlt/l/index.d.ts +6 -0
  166. package/icon/ExpandAlt/l/index.js +36 -0
  167. package/icon/ExpandAlt/l/index.mjs +24 -0
  168. package/icon/ExpandAlt/m/index.d.ts +6 -0
  169. package/icon/ExpandAlt/m/index.js +36 -0
  170. package/icon/ExpandAlt/m/index.mjs +24 -0
  171. package/package.json +26 -2
  172. package/pagination/lib/cjs/Pagination.js +10 -10
  173. package/pagination/lib/es6/Pagination.js +10 -10
  174. package/pills/index.d.ts +3 -3
  175. package/pills/lib/cjs/Pills.js +19 -18
  176. package/pills/lib/cjs/Pills.js.map +1 -1
  177. package/pills/lib/cjs/index.d.js.map +1 -1
  178. package/pills/lib/cjs/style/pills.shadow.css +6 -1
  179. package/pills/lib/es6/Pills.js +19 -18
  180. package/pills/lib/es6/Pills.js.map +1 -1
  181. package/pills/lib/es6/index.d.js.map +1 -1
  182. package/pills/lib/es6/style/pills.shadow.css +6 -1
  183. package/pills/lib/types/index.d.ts +3 -3
  184. package/select/lib/cjs/InputSearch.js +6 -6
  185. package/select/lib/cjs/Select.js +9 -9
  186. package/select/lib/es6/InputSearch.js +6 -6
  187. package/select/lib/es6/Select.js +9 -9
  188. package/tag/lib/cjs/Tag.js +20 -20
  189. package/tag/lib/cjs/style/tag.shadow.css +2 -1
  190. package/tag/lib/es6/Tag.js +20 -20
  191. package/tag/lib/es6/style/tag.shadow.css +2 -1
  192. package/time-picker/lib/cjs/PickerInput.js +3 -1
  193. package/time-picker/lib/cjs/PickerInput.js.map +1 -1
  194. package/time-picker/lib/cjs/TimePicker.js +12 -12
  195. package/time-picker/lib/es6/PickerInput.js +3 -1
  196. package/time-picker/lib/es6/PickerInput.js.map +1 -1
  197. package/time-picker/lib/es6/TimePicker.js +12 -12
  198. package/utils/lib/propsForElement.js +1 -1
  199. package/utils/lib/propsForElement.js.map +1 -1
  200. package/utils/lib/propsForElement.mjs +1 -1
  201. package/utils/lib/propsForElement.mjs.map +1 -1
@@ -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","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","uniqueIDEnhancement","getI18nText","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref18","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray2","defaultItemsCount","transform","state","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","value","_this$state2","newValueIndex","floor","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","code","bindHandlerClick","defaultIndex","_createClass2","uncontrolledProps","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","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","_this5","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","_this6","_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';\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};\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 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: null,\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 switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\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.state.selectedIndex);\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.state.selectedIndex);\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 const { code } = e;\n if (code === 'Enter' || code === 'Space') {\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 };\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 };\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 isSelected(index: number) {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n if (selectedIndex >= 0) {\n return index === selectedIndex % items.length;\n }\n\n return index === (items.length + (selectedIndex % items.length)) % items.length;\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 tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\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 } = 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 />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n 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 />\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","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","uniqueIDEnhancement","getI18nText","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref18","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray2","defaultItemsCount","transform","state","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","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","code","bindHandlerClick","defaultIndex","_createClass2","uncontrolledProps","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","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","_this5","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","_this6","_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';\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};\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 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: null,\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 switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\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 const { code } = e;\n if (code === 'Enter' || code === 'Space') {\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 };\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 };\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 tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\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 } = 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 />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n 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 />\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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"}
@@ -166,7 +166,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
166
166
  };
167
167
  }, function () {
168
168
  _this.transformContainer();
169
- _this.handlers.index(_this.state.selectedIndex);
169
+ _this.handlers.index(_this.getIndex());
170
170
  });
171
171
  return;
172
172
  }
@@ -185,7 +185,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
185
185
  };
186
186
  }, function () {
187
187
  _this.transformContainer();
188
- _this.handlers.index(_this.state.selectedIndex);
188
+ _this.handlers.index(_this.getIndex());
189
189
  });
190
190
  return;
191
191
  }
@@ -373,18 +373,29 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
373
373
  return transform;
374
374
  }
375
375
  }, {
376
- key: "isSelected",
377
- value: function isSelected(index) {
376
+ key: "getIndex",
377
+ value: function getIndex() {
378
378
  var _this$state6 = this.state,
379
379
  items = _this$state6.items,
380
380
  selectedIndex = _this$state6.selectedIndex;
381
381
  if (items.length === 0) {
382
- return true;
382
+ return 0;
383
383
  }
384
384
  if (selectedIndex >= 0) {
385
- return index === selectedIndex % items.length;
385
+ return selectedIndex % items.length;
386
+ }
387
+ return (items.length + selectedIndex % items.length) % items.length;
388
+ }
389
+ }, {
390
+ key: "isSelected",
391
+ value: function isSelected(index) {
392
+ var _this$state7 = this.state,
393
+ items = _this$state7.items,
394
+ selectedIndex = _this$state7.selectedIndex;
395
+ if (items.length === 0) {
396
+ return true;
386
397
  }
387
- return index === (items.length + selectedIndex % items.length) % items.length;
398
+ return index === this.getIndex();
388
399
  }
389
400
  }, {
390
401
  key: "renderModal",
@@ -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","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","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray","defaultItemsCount","transform","state","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","value","_this$state2","newValueIndex","floor","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","code","bindHandlerClick","defaultIndex","_createClass","uncontrolledProps","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","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","_this5","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","_this6","_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';\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};\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 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: null,\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 switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\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.state.selectedIndex);\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.state.selectedIndex);\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 const { code } = e;\n if (code === 'Enter' || code === 'Space') {\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 };\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 };\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 isSelected(index: number) {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n if (selectedIndex >= 0) {\n return index === selectedIndex % items.length;\n }\n\n return index === (items.length + (selectedIndex % items.length)) % items.length;\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 tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\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 } = 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 />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n 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 />\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":["React","createComponent","Component","sstyled","Root","Button","Modal","Box","Flex","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","logger","style","_sstyled","insert","findAllComponents","createBreakpoints","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","getI18nText","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref18","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray","defaultItemsCount","transform","state","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","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","code","bindHandlerClick","defaultIndex","_createClass","uncontrolledProps","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","_this$state7","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","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","_this5","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","_this6","_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';\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};\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 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: null,\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 switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\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 const { code } = e;\n if (code === 'Enter' || code === 'Space') {\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 };\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 };\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 tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\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 } = 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 />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n 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 />\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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"}