@semcore/carousel 17.2.1 → 17.2.2-prerelease.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/Carousel.js +29 -21
- package/lib/cjs/Carousel.js.map +1 -1
- package/lib/es6/Carousel.js +29 -21
- package/lib/es6/Carousel.js.map +1 -1
- package/lib/esm/Carousel.mjs +30 -22
- package/package.json +4 -4
- package/src/Carousel.tsx +9 -0
package/CHANGELOG.md
CHANGED
package/lib/cjs/Carousel.js
CHANGED
|
@@ -14,35 +14,36 @@ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhan
|
|
|
14
14
|
var _findComponent = require("@semcore/core/lib/utils/findComponent");
|
|
15
15
|
var _logger = _interopRequireDefault(require("@semcore/core/lib/utils/logger"));
|
|
16
16
|
var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
|
|
17
|
+
var _useFocusLock = require("@semcore/core/lib/utils/use/useFocusLock");
|
|
17
18
|
var _l = _interopRequireDefault(require("@semcore/icon/ChevronLeft/l"));
|
|
18
19
|
var _l2 = _interopRequireDefault(require("@semcore/icon/ChevronRight/l"));
|
|
19
20
|
var _modal = _interopRequireDefault(require("@semcore/modal"));
|
|
20
21
|
var _react = _interopRequireDefault(require("react"));
|
|
21
22
|
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
22
23
|
/*!__reshadow-styles__:"./style/carousel.shadow.css"*/
|
|
23
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
24
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SCarousel_1c6zn_gg_{overflow:hidden;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SContentBox_1c6zn_gg_,.___SIndicator_1c6zn_gg_,.___SModalBox_1c6zn_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded,8px)}.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}.___SImageBoxContainer_1c6zn_gg_{position:relative;border-radius:var(--intergalactic-surface-rounded,8px)}.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}@supports (color:oklab(0% 0 0%)){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-invert-outline,oklch(1 0 0/.7))}}.___SImageBoxContainer_1c6zn_gg_ .___SItem_1c6zn_gg_:focus-visible{outline:none}.___SModalContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SItem_1c6zn_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1c6zn);border-radius:var(--intergalactic-surface-rounded,8px);overflow:hidden;outline:none}.___SItem_1c6zn_gg_>img{display:block}.___SItem_1c6zn_gg_.__zoomIn_1c6zn_gg_{cursor:zoom-in}.___SItem_1c6zn_gg_.__zoomOut_1c6zn_gg_{cursor:zoom-out}.___SIndicators_1c6zn_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x,16px) 4px 4px 4px;outline:none;position:relative}.___SIndicator_1c6zn_gg_{margin:0 calc(var(--intergalactic-spacing-3x, 12px)*.5);cursor:pointer;display:block;width:12px;height:12px;background-color:var(--intergalactic-icon-secondary-neutral,rgba(0,5,2,.385));opacity:var(--intergalactic-disabled-opacity,.4);-o-object-fit:cover;object-fit:cover;transition:opacity .1s ease-in-out}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_{background-color:var(--intergalactic-icon-secondary-neutral,oklch(.104 .023 162.3/.385))}}.___SIndicator_1c6zn_gg_[aria-roledescription=slide]{width:100px;height:100px}@media (hover:hover){.___SIndicator_1c6zn_gg_:hover{opacity:calc(var(--intergalactic-disabled-opacity, .4)*2)}}.___SIndicator_1c6zn_gg_.__active_1c6zn_gg_{opacity:1}.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,#fdfffece)}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,oklch(.998 .003 173.3/.808))}}.___SNext_1c6zn_gg_,.___SPrev_1c6zn_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral,oklch(.092 .024 152.2/.526))}.___SNext_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SNext_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child){margin-left:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px);margin-right:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px)}.___SPrev_1c6zn_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_{margin-left:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_.__disabled_1c6zn_gg_,.___SPrev_1c6zn_gg_.__disabled_1c6zn_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1c6zn_gg_{transition:none}}", /*__inner_css_end__*/"1c6zn_gg_"),
|
|
24
25
|
/*__reshadow_css_end__*/
|
|
25
26
|
{
|
|
26
|
-
"__SCarousel": "
|
|
27
|
-
"__SContainer": "
|
|
28
|
-
"--duration": "--
|
|
29
|
-
"__SContentBox": "
|
|
30
|
-
"__SModalBox": "
|
|
31
|
-
"__SIndicator": "
|
|
32
|
-
"__SItem": "
|
|
33
|
-
"__SModalContainer": "
|
|
34
|
-
"_zoomIn": "
|
|
35
|
-
"_zoomOut": "
|
|
36
|
-
"__SIndicators": "
|
|
37
|
-
"_active": "
|
|
38
|
-
"_inverted": "
|
|
39
|
-
"__SPrev": "
|
|
40
|
-
"__SNext": "
|
|
41
|
-
"_disabled": "
|
|
42
|
-
"__SImageBoxContainer": "
|
|
43
|
-
"--transform": "--
|
|
44
|
-
"__SPrevButton": "
|
|
45
|
-
"__SNextButton": "
|
|
27
|
+
"__SCarousel": "___SCarousel_1c6zn_gg_",
|
|
28
|
+
"__SContainer": "___SContainer_1c6zn_gg_",
|
|
29
|
+
"--duration": "--duration_1c6zn",
|
|
30
|
+
"__SContentBox": "___SContentBox_1c6zn_gg_",
|
|
31
|
+
"__SModalBox": "___SModalBox_1c6zn_gg_",
|
|
32
|
+
"__SIndicator": "___SIndicator_1c6zn_gg_",
|
|
33
|
+
"__SItem": "___SItem_1c6zn_gg_",
|
|
34
|
+
"__SModalContainer": "___SModalContainer_1c6zn_gg_",
|
|
35
|
+
"_zoomIn": "__zoomIn_1c6zn_gg_",
|
|
36
|
+
"_zoomOut": "__zoomOut_1c6zn_gg_",
|
|
37
|
+
"__SIndicators": "___SIndicators_1c6zn_gg_",
|
|
38
|
+
"_active": "__active_1c6zn_gg_",
|
|
39
|
+
"_inverted": "__inverted_1c6zn_gg_",
|
|
40
|
+
"__SPrev": "___SPrev_1c6zn_gg_",
|
|
41
|
+
"__SNext": "___SNext_1c6zn_gg_",
|
|
42
|
+
"_disabled": "__disabled_1c6zn_gg_",
|
|
43
|
+
"__SImageBoxContainer": "___SImageBoxContainer_1c6zn_gg_",
|
|
44
|
+
"--transform": "--transform_1c6zn",
|
|
45
|
+
"__SPrevButton": "___SPrevButton_1c6zn_gg_",
|
|
46
|
+
"__SNextButton": "___SNextButton_1c6zn_gg_"
|
|
46
47
|
});
|
|
47
48
|
const MAP_TRANSFORM = {
|
|
48
49
|
ArrowLeft: 'left',
|
|
@@ -240,6 +241,13 @@ class CarouselRoot extends _core.Component {
|
|
|
240
241
|
}, () => {
|
|
241
242
|
if (this.state.isOpenZoom) {
|
|
242
243
|
this.transformContainer();
|
|
244
|
+
} else {
|
|
245
|
+
setTimeout(() => {
|
|
246
|
+
const itemElement = this.refCarousel.current?.querySelector('[role="tabpanel"][tabIndex="0"]');
|
|
247
|
+
if (itemElement instanceof HTMLElement) {
|
|
248
|
+
(0, _useFocusLock.setFocus)(itemElement);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
243
251
|
}
|
|
244
252
|
});
|
|
245
253
|
});
|
package/lib/cjs/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_i18nEnhance","_findComponent","_logger","_uniqueID","_l","_l2","_modal","_react","_intergalacticDynamicLocales","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","Component","constructor","props","_defineProperty2","default","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","_index","refCarousel","blur","setTimeout","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","Box","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_ref4","_ref11","SContentBox","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_ref6","_ref13","children","label","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref14","SNext","SNextButton","ChevronRight","_ref8","_ref16","SIndicators","origin","_ref15","_ref9","_ref17","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { BoxProps } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n CarouselDefaultProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n typeof enhance,\n { index: any },\n CarouselContext & WithI18nEnhanceProps,\n CarouselState,\n CarouselDefaultProps\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 } as const;\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const SImageBoxContainer = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SImageBoxContainer>\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n </SImageBoxContainer>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n indicators,\n getI18nText,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n aria-roledescription={getI18nText('Carousel:aria-roledescription')}\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={undefined}\n aria-roledescription={getI18nText('Carousel.Indicator:aria-roledescription')}\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nfunction Container(props: BoxProps & { duration?: number }) {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n}\n\nfunction ContentBox(props: BoxProps) {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n}\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nfunction Prev(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nfunction Next(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nfunction Indicators({ items, styles, Children, inverted }: CarouselIndicatorsProps) {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} innerOffset>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} invertOutline={inverted}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nfunction Indicator({ styles, Children }: CarouselIndicatorProps) {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\n/**\n * Carousel\n *\n * {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-api/|API} | {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-code/|Examples}\n */\nconst Carousel = createComponent<\n typeof CarouselType,\n typeof CarouselRoot\n>(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_i18nEnhance","_findComponent","_logger","_uniqueID","_useFocusLock","_l","_l2","_modal","_react","_intergalacticDynamicLocales","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","Component","constructor","props","_defineProperty2","default","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","setTimeout","itemElement","refCarousel","querySelector","HTMLElement","setFocus","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","_index","blur","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","Box","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_ref4","_ref11","SContentBox","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_ref6","_ref13","children","label","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref14","SNext","SNextButton","ChevronRight","_ref8","_ref16","SIndicators","origin","_ref15","_ref9","_ref17","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { BoxProps } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { setFocus } from '@semcore/core/lib/utils/use/useFocusLock';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n CarouselDefaultProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n typeof enhance,\n { index: any },\n CarouselContext & WithI18nEnhanceProps,\n CarouselState,\n CarouselDefaultProps\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 } as const;\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n } else {\n setTimeout(() => {\n const itemElement = this.refCarousel.current?.querySelector('[role=\"tabpanel\"][tabIndex=\"0\"]');\n\n if (itemElement instanceof HTMLElement) {\n setFocus(itemElement);\n }\n });\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const SImageBoxContainer = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SImageBoxContainer>\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n </SImageBoxContainer>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n indicators,\n getI18nText,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n aria-roledescription={getI18nText('Carousel:aria-roledescription')}\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={undefined}\n aria-roledescription={getI18nText('Carousel.Indicator:aria-roledescription')}\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nfunction Container(props: BoxProps & { duration?: number }) {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n}\n\nfunction ContentBox(props: BoxProps) {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n}\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nfunction Prev(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nfunction Next(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nfunction Indicators({ items, styles, Children, inverted }: CarouselIndicatorsProps) {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} innerOffset>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} invertOutline={inverted}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nfunction Indicator({ styles, Children }: CarouselIndicatorProps) {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\n/**\n * Carousel\n *\n * {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-api/|API} | {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-code/|Examples}\n */\nconst Carousel = createComponent<\n typeof CarouselType,\n typeof CarouselRoot\n>(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/Carousel.js
CHANGED
|
@@ -18,34 +18,35 @@ import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
|
|
|
18
18
|
import { findAllComponents } from '@semcore/core/lib/utils/findComponent';
|
|
19
19
|
import logger from '@semcore/core/lib/utils/logger';
|
|
20
20
|
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
21
|
+
import { setFocus } from '@semcore/core/lib/utils/use/useFocusLock';
|
|
21
22
|
import ChevronLeft from '@semcore/icon/ChevronLeft/l';
|
|
22
23
|
import ChevronRight from '@semcore/icon/ChevronRight/l';
|
|
23
24
|
import Modal from '@semcore/modal';
|
|
24
25
|
import React from 'react';
|
|
25
26
|
/*!__reshadow-styles__:"./style/carousel.shadow.css"*/
|
|
26
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
27
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SCarousel_1c6zn_gg_{overflow:hidden;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SContentBox_1c6zn_gg_,.___SIndicator_1c6zn_gg_,.___SModalBox_1c6zn_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded,8px)}.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}.___SImageBoxContainer_1c6zn_gg_{position:relative;border-radius:var(--intergalactic-surface-rounded,8px)}.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:\"\";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}@supports (color:oklab(0% 0 0%)){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-invert-outline,oklch(1 0 0/.7))}}.___SImageBoxContainer_1c6zn_gg_ .___SItem_1c6zn_gg_:focus-visible{outline:none}.___SModalContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SItem_1c6zn_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1c6zn);border-radius:var(--intergalactic-surface-rounded,8px);overflow:hidden;outline:none}.___SItem_1c6zn_gg_>img{display:block}.___SItem_1c6zn_gg_.__zoomIn_1c6zn_gg_{cursor:zoom-in}.___SItem_1c6zn_gg_.__zoomOut_1c6zn_gg_{cursor:zoom-out}.___SIndicators_1c6zn_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x,16px) 4px 4px 4px;outline:none;position:relative}.___SIndicator_1c6zn_gg_{margin:0 calc(var(--intergalactic-spacing-3x, 12px)*.5);cursor:pointer;display:block;width:12px;height:12px;background-color:var(--intergalactic-icon-secondary-neutral,rgba(0,5,2,.385));opacity:var(--intergalactic-disabled-opacity,.4);-o-object-fit:cover;object-fit:cover;transition:opacity .1s ease-in-out}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_{background-color:var(--intergalactic-icon-secondary-neutral,oklch(.104 .023 162.3/.385))}}.___SIndicator_1c6zn_gg_[aria-roledescription=slide]{width:100px;height:100px}@media (hover:hover){.___SIndicator_1c6zn_gg_:hover{opacity:calc(var(--intergalactic-disabled-opacity, .4)*2)}}.___SIndicator_1c6zn_gg_.__active_1c6zn_gg_{opacity:1}.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,#fdfffece)}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,oklch(.998 .003 173.3/.808))}}.___SNext_1c6zn_gg_,.___SPrev_1c6zn_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral,oklch(.092 .024 152.2/.526))}.___SNext_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SNext_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child){margin-left:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px);margin-right:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px)}.___SPrev_1c6zn_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_{margin-left:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_.__disabled_1c6zn_gg_,.___SPrev_1c6zn_gg_.__disabled_1c6zn_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1c6zn_gg_{transition:none}}", /*__inner_css_end__*/"1c6zn_gg_"),
|
|
27
28
|
/*__reshadow_css_end__*/
|
|
28
29
|
{
|
|
29
|
-
"__SCarousel": "
|
|
30
|
-
"__SContainer": "
|
|
31
|
-
"--duration": "--
|
|
32
|
-
"__SContentBox": "
|
|
33
|
-
"__SModalBox": "
|
|
34
|
-
"__SIndicator": "
|
|
35
|
-
"__SItem": "
|
|
36
|
-
"__SModalContainer": "
|
|
37
|
-
"_zoomIn": "
|
|
38
|
-
"_zoomOut": "
|
|
39
|
-
"__SIndicators": "
|
|
40
|
-
"_active": "
|
|
41
|
-
"_inverted": "
|
|
42
|
-
"__SPrev": "
|
|
43
|
-
"__SNext": "
|
|
44
|
-
"_disabled": "
|
|
45
|
-
"__SImageBoxContainer": "
|
|
46
|
-
"--transform": "--
|
|
47
|
-
"__SPrevButton": "
|
|
48
|
-
"__SNextButton": "
|
|
30
|
+
"__SCarousel": "___SCarousel_1c6zn_gg_",
|
|
31
|
+
"__SContainer": "___SContainer_1c6zn_gg_",
|
|
32
|
+
"--duration": "--duration_1c6zn",
|
|
33
|
+
"__SContentBox": "___SContentBox_1c6zn_gg_",
|
|
34
|
+
"__SModalBox": "___SModalBox_1c6zn_gg_",
|
|
35
|
+
"__SIndicator": "___SIndicator_1c6zn_gg_",
|
|
36
|
+
"__SItem": "___SItem_1c6zn_gg_",
|
|
37
|
+
"__SModalContainer": "___SModalContainer_1c6zn_gg_",
|
|
38
|
+
"_zoomIn": "__zoomIn_1c6zn_gg_",
|
|
39
|
+
"_zoomOut": "__zoomOut_1c6zn_gg_",
|
|
40
|
+
"__SIndicators": "___SIndicators_1c6zn_gg_",
|
|
41
|
+
"_active": "__active_1c6zn_gg_",
|
|
42
|
+
"_inverted": "__inverted_1c6zn_gg_",
|
|
43
|
+
"__SPrev": "___SPrev_1c6zn_gg_",
|
|
44
|
+
"__SNext": "___SNext_1c6zn_gg_",
|
|
45
|
+
"_disabled": "__disabled_1c6zn_gg_",
|
|
46
|
+
"__SImageBoxContainer": "___SImageBoxContainer_1c6zn_gg_",
|
|
47
|
+
"--transform": "--transform_1c6zn",
|
|
48
|
+
"__SPrevButton": "___SPrevButton_1c6zn_gg_",
|
|
49
|
+
"__SNextButton": "___SNextButton_1c6zn_gg_"
|
|
49
50
|
});
|
|
50
51
|
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
51
52
|
const MAP_TRANSFORM = {
|
|
@@ -244,6 +245,13 @@ class CarouselRoot extends Component {
|
|
|
244
245
|
}, () => {
|
|
245
246
|
if (this.state.isOpenZoom) {
|
|
246
247
|
this.transformContainer();
|
|
248
|
+
} else {
|
|
249
|
+
setTimeout(() => {
|
|
250
|
+
const itemElement = this.refCarousel.current?.querySelector('[role="tabpanel"][tabIndex="0"]');
|
|
251
|
+
if (itemElement instanceof HTMLElement) {
|
|
252
|
+
setFocus(itemElement);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
247
255
|
}
|
|
248
256
|
});
|
|
249
257
|
});
|
package/lib/es6/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["createBreakpoints","Box","Flex","Button","createComponent","Component","sstyled","Root","i18nEnhance","findAllComponents","logger","uniqueIDEnhancement","ChevronLeft","ChevronRight","Modal","React","style","_sstyled","insert","localizedMessages","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","constructor","props","_defineProperty","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","_index","refCarousel","blur","setTimeout","focus","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_assignProps3","_ref4","_ref11","SContentBox","_assignProps4","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_assignProps5","_ref6","_ref13","children","label","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref14","SNext","SNextButton","_assignProps7","_ref8","_ref16","SIndicators","origin","_ref15","_assignProps8","_assignProps9","_ref9","_ref17","SIndicator","_assignProps0"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { BoxProps } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n CarouselDefaultProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n typeof enhance,\n { index: any },\n CarouselContext & WithI18nEnhanceProps,\n CarouselState,\n CarouselDefaultProps\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 } as const;\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const SImageBoxContainer = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SImageBoxContainer>\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n </SImageBoxContainer>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n indicators,\n getI18nText,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n aria-roledescription={getI18nText('Carousel:aria-roledescription')}\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={undefined}\n aria-roledescription={getI18nText('Carousel.Indicator:aria-roledescription')}\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nfunction Container(props: BoxProps & { duration?: number }) {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n}\n\nfunction ContentBox(props: BoxProps) {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n}\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nfunction Prev(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nfunction Next(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nfunction Indicators({ items, styles, Children, inverted }: CarouselIndicatorsProps) {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} innerOffset>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} invertOutline={inverted}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nfunction Indicator({ styles, Children }: CarouselIndicatorProps) {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\n/**\n * Carousel\n *\n * {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-api/|API} | {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-code/|Examples}\n */\nconst Carousel = createComponent<\n typeof CarouselType,\n typeof CarouselRoot\n>(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["createBreakpoints","Box","Flex","Button","createComponent","Component","sstyled","Root","i18nEnhance","findAllComponents","logger","uniqueIDEnhancement","setFocus","ChevronLeft","ChevronRight","Modal","React","style","_sstyled","insert","localizedMessages","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","media","BreakPoints","isSmallScreen","index","CarouselRoot","constructor","props","_defineProperty","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","setTimeout","itemElement","refCarousel","querySelector","HTMLElement","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","_index","blur","focus","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Carousel","Prev","inverted","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_assignProps3","_ref4","_ref11","SContentBox","_assignProps4","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_assignProps5","_ref6","_ref13","children","label","top","SPrev","SPrevButton","_assignProps6","_ref7","_ref14","SNext","SNextButton","_assignProps7","_ref8","_ref16","SIndicators","origin","_ref15","_assignProps8","_assignProps9","_ref9","_ref17","SIndicator","_assignProps0"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { BoxProps } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport logger from '@semcore/core/lib/utils/logger';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { setFocus } from '@semcore/core/lib/utils/use/useFocusLock';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport Modal from '@semcore/modal';\nimport React from 'react';\n\nimport type CarouselType from './Carousel.types';\nimport type {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n CarouselDefaultProps,\n} from './Carousel.types';\nimport style from './style/carousel.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index?: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n typeof enhance,\n { index: any },\n CarouselContext & WithI18nEnhanceProps,\n CarouselState,\n CarouselDefaultProps\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 } as const;\n\n static style = style;\n static enhance = enhance;\n\n defaultItemsCount = 0;\n refCarousel = React.createRef<HTMLElement>();\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: [\n null,\n (_index: number) => {\n this.refCarousel.current?.blur();\n setTimeout(() => {\n this.refCarousel.current?.focus();\n }, 0);\n },\n ],\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n const firstSlide = 1;\n const lastSlide = this.state.items.length + 1;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.slideToValue(firstSlide);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.slideToValue(lastSlide);\n break;\n }\n }\n\n if (e.metaKey) {\n // like home or end\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.slideToValue(firstSlide);\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n this.slideToValue(lastSlide);\n }\n }\n\n if (\n (e.key === 'Enter' || e.key === ' ') &&\n e.target instanceof HTMLDivElement &&\n e.target.role === 'tabpanel'\n ) {\n this.handleToggleZoomModal();\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.getIndex());\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n isOpenZoom: this.state.isOpenZoom,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n if (this.state.isOpenZoom) {\n this.transformContainer();\n } else {\n setTimeout(() => {\n const itemElement = this.refCarousel.current?.querySelector('[role=\"tabpanel\"][tabIndex=\"0\"]');\n\n if (itemElement instanceof HTMLElement) {\n setFocus(itemElement);\n }\n });\n }\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n 'onClick': this.bindHandlerClick('left'),\n 'onKeyDown': this.bindHandlerKeydownControl('left'),\n disabled,\n 'label': getI18nText('prev'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText, uid } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n 'onClick': this.bindHandlerClick('right'),\n 'onKeyDown': this.bindHandlerKeydownControl('right'),\n disabled,\n 'label': getI18nText('next'),\n 'aria-controls': `igc-${uid}-carousel`,\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { getI18nText } = this.asProps;\n\n return {\n 'items': items.map((_item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n 'role': 'tablist',\n 'tabIndex': 0,\n 'aria-label': getI18nText('slides'),\n };\n }\n\n getIndicatorProps(_: any, index: number) {\n const isCurrent = this.isSelected(index);\n const { getI18nText } = this.asProps;\n\n return {\n 'role': 'tab',\n 'aria-selected': isCurrent,\n 'aria-controls': `igc-${this.asProps.uid}-carousel-item-${index}`,\n 'aria-label': getI18nText('slide', { slideNumber: index + 1 }),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n getIndex() {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return 0;\n }\n\n if (selectedIndex >= 0) {\n return selectedIndex % items.length;\n }\n\n return (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n isSelected(index: number) {\n const { items } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n return index === this.getIndex();\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const SModalBox = Box;\n const SImageBoxContainer = Box;\n const { styles, uid, duration, zoomWidth } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <SImageBoxContainer>\n <SModalBox>\n <SModalContainer\n render={Box}\n aria-live='polite'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </SModalBox>\n </SImageBoxContainer>\n {isSmall\n ? (\n <Flex justifyContent='center' mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n )\n : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n uid,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n indicators,\n getI18nText,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='region'\n aria-roledescription={getI18nText('Carousel:aria-roledescription')}\n onKeyDown={this.handlerKeyDown}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n ref={this.refCarousel}\n id={`igc-${uid}-carousel`}\n >\n {Controls.length === 0\n ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Carousel.ContentBox>\n <Carousel.Container aria-label={ariaLabel}>\n <Children />\n </Carousel.Container>\n </Carousel.ContentBox>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={undefined}\n aria-roledescription={getI18nText('Carousel.Indicator:aria-roledescription')}\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))}\n </Carousel.Indicators>\n )}\n </>\n )\n : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nfunction Container(props: BoxProps & { duration?: number }) {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(\n <SContainer render={Box} use:duration={`${duration}ms`} aria-live='polite' />,\n );\n}\n\nfunction ContentBox(props: BoxProps) {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n}\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem, transform } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem });\n }\n\n if (transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n if (toggleItem && refItem) {\n toggleItem({ node: refItem }, true);\n }\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='tabpanel'\n data-carousel={`igc-${uid}-carousel`}\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n use:tabIndex={current ? 0 : -1}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nfunction Prev(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const SPrevButton = Button;\n\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SPrevButton\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SPrev>,\n );\n};\n\nfunction Next(props: CarouselButtonProps) {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const SNextButton = Button;\n\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children\n ? (\n <Children />\n )\n : (\n <SNextButton\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use='tertiary'\n size='l'\n innerOutline\n />\n )}\n </SNext>,\n );\n};\n\nfunction Indicators({ items, styles, Children, inverted }: CarouselIndicatorsProps) {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} innerOffset>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} invertOutline={inverted}>\n {items?.map((item: CarouselItem, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nfunction Indicator({ styles, Children }: CarouselIndicatorProps) {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\n/**\n * Carousel\n *\n * {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-api/|API} | {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-code/|Examples}\n */\nconst Carousel = createComponent<\n typeof CarouselType,\n typeof CarouselRoot\n>(CarouselRoot, {\n Container,\n ContentBox,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/esm/Carousel.mjs
CHANGED
|
@@ -7,6 +7,7 @@ import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
|
|
|
7
7
|
import { findAllComponents } from "@semcore/core/lib/utils/findComponent";
|
|
8
8
|
import logger from "@semcore/core/lib/utils/logger";
|
|
9
9
|
import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
|
|
10
|
+
import { setFocus } from "@semcore/core/lib/utils/use/useFocusLock";
|
|
10
11
|
import ChevronLeft from "@semcore/icon/ChevronLeft/l";
|
|
11
12
|
import ChevronRight from "@semcore/icon/ChevronRight/l";
|
|
12
13
|
import Modal from "@semcore/modal";
|
|
@@ -17,31 +18,31 @@ const style = (
|
|
|
17
18
|
/*__reshadow_css_start__*/
|
|
18
19
|
(sstyled.insert(
|
|
19
20
|
/*__inner_css_start__*/
|
|
20
|
-
'.
|
|
21
|
+
'.___SCarousel_1c6zn_gg_{overflow:hidden;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SContentBox_1c6zn_gg_,.___SIndicator_1c6zn_gg_,.___SModalBox_1c6zn_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded,8px)}.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:"";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:-2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SContentBox_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}.___SImageBoxContainer_1c6zn_gg_{position:relative;border-radius:var(--intergalactic-surface-rounded,8px)}.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{border-radius:inherit;z-index:2;position:absolute;top:0;right:0;bottom:0;left:0;content:"";outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@media (color-gamut:p3){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}@supports (color:oklab(0% 0 0%)){.___SImageBoxContainer_1c6zn_gg_:has(.___SItem_1c6zn_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-invert-outline,oklch(1 0 0/.7))}}.___SImageBoxContainer_1c6zn_gg_ .___SItem_1c6zn_gg_:focus-visible{outline:none}.___SModalContainer_1c6zn_gg_{display:flex;transition:transform var(--duration_1c6zn) ease-in-out}.___SItem_1c6zn_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1c6zn);border-radius:var(--intergalactic-surface-rounded,8px);overflow:hidden;outline:none}.___SItem_1c6zn_gg_>img{display:block}.___SItem_1c6zn_gg_.__zoomIn_1c6zn_gg_{cursor:zoom-in}.___SItem_1c6zn_gg_.__zoomOut_1c6zn_gg_{cursor:zoom-out}.___SIndicators_1c6zn_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x,16px) 4px 4px 4px;outline:none;position:relative}.___SIndicator_1c6zn_gg_{margin:0 calc(var(--intergalactic-spacing-3x, 12px)*.5);cursor:pointer;display:block;width:12px;height:12px;background-color:var(--intergalactic-icon-secondary-neutral,rgba(0,5,2,.385));opacity:var(--intergalactic-disabled-opacity,.4);-o-object-fit:cover;object-fit:cover;transition:opacity .1s ease-in-out}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_{background-color:var(--intergalactic-icon-secondary-neutral,oklch(.104 .023 162.3/.385))}}.___SIndicator_1c6zn_gg_[aria-roledescription=slide]{width:100px;height:100px}@media (hover:hover){.___SIndicator_1c6zn_gg_:hover{opacity:calc(var(--intergalactic-disabled-opacity, .4)*2)}}.___SIndicator_1c6zn_gg_.__active_1c6zn_gg_{opacity:1}.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,#fdfffece)}@media (color-gamut:p3){.___SIndicator_1c6zn_gg_.__inverted_1c6zn_gg_{background-color:var(--intergalactic-icon-primary-invert,oklch(.998 .003 173.3/.808))}}.___SNext_1c6zn_gg_,.___SPrev_1c6zn_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--intergalactic-icon-primary-neutral,oklch(.092 .024 152.2/.526))}.___SNext_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SNext_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SNextButton_1c6zn_gg_ span:has(>svg:only-child),.___SPrev_1c6zn_gg_ .___SPrevButton_1c6zn_gg_ span:has(>svg:only-child){margin-left:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px);margin-right:calc(var(--intergalactic-spacing-1x, 4px)*2 - 1px)}.___SPrev_1c6zn_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_{margin-left:var(--intergalactic-spacing-2x,8px)}.___SNext_1c6zn_gg_.__disabled_1c6zn_gg_,.___SPrev_1c6zn_gg_.__disabled_1c6zn_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1c6zn_gg_{transition:none}}',
|
|
21
22
|
/*__inner_css_end__*/
|
|
22
|
-
"
|
|
23
|
+
"1c6zn_gg_"
|
|
23
24
|
), /*__reshadow_css_end__*/
|
|
24
25
|
{
|
|
25
|
-
"__SCarousel": "
|
|
26
|
-
"__SContainer": "
|
|
27
|
-
"--duration": "--
|
|
28
|
-
"__SContentBox": "
|
|
29
|
-
"__SModalBox": "
|
|
30
|
-
"__SIndicator": "
|
|
31
|
-
"__SItem": "
|
|
32
|
-
"__SModalContainer": "
|
|
33
|
-
"_zoomIn": "
|
|
34
|
-
"_zoomOut": "
|
|
35
|
-
"__SIndicators": "
|
|
36
|
-
"_active": "
|
|
37
|
-
"_inverted": "
|
|
38
|
-
"__SPrev": "
|
|
39
|
-
"__SNext": "
|
|
40
|
-
"_disabled": "
|
|
41
|
-
"__SImageBoxContainer": "
|
|
42
|
-
"--transform": "--
|
|
43
|
-
"__SPrevButton": "
|
|
44
|
-
"__SNextButton": "
|
|
26
|
+
"__SCarousel": "___SCarousel_1c6zn_gg_",
|
|
27
|
+
"__SContainer": "___SContainer_1c6zn_gg_",
|
|
28
|
+
"--duration": "--duration_1c6zn",
|
|
29
|
+
"__SContentBox": "___SContentBox_1c6zn_gg_",
|
|
30
|
+
"__SModalBox": "___SModalBox_1c6zn_gg_",
|
|
31
|
+
"__SIndicator": "___SIndicator_1c6zn_gg_",
|
|
32
|
+
"__SItem": "___SItem_1c6zn_gg_",
|
|
33
|
+
"__SModalContainer": "___SModalContainer_1c6zn_gg_",
|
|
34
|
+
"_zoomIn": "__zoomIn_1c6zn_gg_",
|
|
35
|
+
"_zoomOut": "__zoomOut_1c6zn_gg_",
|
|
36
|
+
"__SIndicators": "___SIndicators_1c6zn_gg_",
|
|
37
|
+
"_active": "__active_1c6zn_gg_",
|
|
38
|
+
"_inverted": "__inverted_1c6zn_gg_",
|
|
39
|
+
"__SPrev": "___SPrev_1c6zn_gg_",
|
|
40
|
+
"__SNext": "___SNext_1c6zn_gg_",
|
|
41
|
+
"_disabled": "__disabled_1c6zn_gg_",
|
|
42
|
+
"__SImageBoxContainer": "___SImageBoxContainer_1c6zn_gg_",
|
|
43
|
+
"--transform": "--transform_1c6zn",
|
|
44
|
+
"__SPrevButton": "___SPrevButton_1c6zn_gg_",
|
|
45
|
+
"__SNextButton": "___SNextButton_1c6zn_gg_"
|
|
45
46
|
})
|
|
46
47
|
);
|
|
47
48
|
const MAP_TRANSFORM = {
|
|
@@ -236,6 +237,13 @@ class CarouselRoot extends Component {
|
|
|
236
237
|
}, () => {
|
|
237
238
|
if (this.state.isOpenZoom) {
|
|
238
239
|
this.transformContainer();
|
|
240
|
+
} else {
|
|
241
|
+
setTimeout(() => {
|
|
242
|
+
const itemElement = this.refCarousel.current?.querySelector('[role="tabpanel"][tabIndex="0"]');
|
|
243
|
+
if (itemElement instanceof HTMLElement) {
|
|
244
|
+
setFocus(itemElement);
|
|
245
|
+
}
|
|
246
|
+
});
|
|
239
247
|
}
|
|
240
248
|
});
|
|
241
249
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/carousel",
|
|
3
3
|
"description": "Semrush Carousel Component",
|
|
4
|
-
"version": "17.2.
|
|
4
|
+
"version": "17.2.2-prerelease.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@semcore/button": "^17.2.1",
|
|
18
|
-
"@semcore/modal": "^17.2.
|
|
18
|
+
"@semcore/modal": "^17.2.2-prerelease.0"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"@semcore/base-components": "^17.2.1",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"directory": "semcore/carousel"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@semcore/base-components": "17.2.1",
|
|
31
|
-
"@semcore/testing-utils": "1.0.0",
|
|
32
30
|
"@semcore/core": "17.2.1",
|
|
31
|
+
"@semcore/testing-utils": "1.0.0",
|
|
32
|
+
"@semcore/base-components": "17.2.1",
|
|
33
33
|
"@semcore/icon": "17.2.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
package/src/Carousel.tsx
CHANGED
|
@@ -7,6 +7,7 @@ import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
|
|
|
7
7
|
import { findAllComponents } from '@semcore/core/lib/utils/findComponent';
|
|
8
8
|
import logger from '@semcore/core/lib/utils/logger';
|
|
9
9
|
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
10
|
+
import { setFocus } from '@semcore/core/lib/utils/use/useFocusLock';
|
|
10
11
|
import ChevronLeft from '@semcore/icon/ChevronLeft/l';
|
|
11
12
|
import ChevronRight from '@semcore/icon/ChevronRight/l';
|
|
12
13
|
import Modal from '@semcore/modal';
|
|
@@ -356,6 +357,14 @@ class CarouselRoot extends Component<
|
|
|
356
357
|
() => {
|
|
357
358
|
if (this.state.isOpenZoom) {
|
|
358
359
|
this.transformContainer();
|
|
360
|
+
} else {
|
|
361
|
+
setTimeout(() => {
|
|
362
|
+
const itemElement = this.refCarousel.current?.querySelector('[role="tabpanel"][tabIndex="0"]');
|
|
363
|
+
|
|
364
|
+
if (itemElement instanceof HTMLElement) {
|
|
365
|
+
setFocus(itemElement);
|
|
366
|
+
}
|
|
367
|
+
});
|
|
359
368
|
}
|
|
360
369
|
},
|
|
361
370
|
);
|