@semcore/carousel 17.2.2 → 17.2.3-prerelease.1
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 +7 -0
- package/lib/cjs/Carousel.js +34 -32
- package/lib/cjs/Carousel.js.map +1 -1
- package/lib/cjs/Carousel.types.js.map +1 -1
- package/lib/es6/Carousel.js +34 -32
- package/lib/es6/Carousel.js.map +1 -1
- package/lib/es6/Carousel.types.js.map +1 -1
- package/lib/esm/Carousel.mjs +35 -33
- package/lib/types/Carousel.d.ts +2 -11
- package/lib/types/Carousel.types.d.ts +160 -108
- package/package.json +4 -4
- package/src/Carousel.tsx +37 -33
- package/src/Carousel.types.ts +174 -129
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","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":[]}
|
|
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","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 type { Intergalactic } from '@semcore/core';\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 { NSCarousel } 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 Intergalactic.InternalTypings.InferComponentProps<NSCarousel.Component>,\n typeof enhance,\n NSCarousel.Handlers,\n WithI18nEnhanceProps,\n NSCarousel.State,\n NSCarousel.DefaultProps\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: NSCarousel.Props) {\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(): NSCarousel.Handlers {\n return {\n index: [\n null,\n () => {\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: typeof this.asProps) {\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: NSCarousel.Item, 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: NSCarousel.Item.Props, 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(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Container.Component, typeof CarouselRoot, 'Container'>,\n) {\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: Intergalactic.InternalTypings.InferComponentProps<NSCarousel.ContentBox.Component>) {\n const SContentBox = Root;\n const { styles } = props;\n\n return sstyled(styles)(<SContentBox render={Box} />);\n}\n\nclass Item extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Item.Component, typeof CarouselRoot, 'Item'>\n> {\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: typeof this.asProps) {\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(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Prev.Component, typeof CarouselRoot, 'Prev'>,\n) {\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(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Next.Component, typeof CarouselRoot, 'Next'>,\n) {\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(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Indicators.Component, typeof CarouselRoot, 'Indicators'>,\n) {\n const { items, styles, Children, inverted } = props;\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: NSCarousel.Item, index: number) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nfunction Indicator(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSCarousel.Indicator.Component, typeof CarouselRoot, 'Indicator'>,\n) {\n const { styles, Children } = props;\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 NSCarousel.Component,\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import type { BoxProps } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic
|
|
1
|
+
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import type { BoxProps } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSCarousel {\n type Props = BoxProps & {\n /** Index active item */\n index?: number;\n /**\n * Index of the active item selected by default\n * @default 0\n */\n defaultIndex?: number;\n /** Called when the selection is changed */\n onIndexChange?: (index: number) => void;\n /** Animation duration\n * @default 300 */\n duration?: number;\n /** Disables infinite items change in the carousel\n * @default false */\n bounded?: boolean;\n /** Internal */\n step?: number;\n /** Specifies the locale for i18n support */\n locale?: string;\n /** Enable zoom feature for carousel items */\n zoom?: boolean;\n /** Width for items in zooming modal */\n zoomWidth?: number;\n /** Type of indicators */\n indicators?: 'default' | 'hide' | 'preview';\n };\n type DefaultProps = {\n defaultIndex: 0;\n duration: 350;\n step: 100;\n bounded: false;\n i18n: LocalizedMessages;\n locale: 'en';\n indicators: 'default';\n };\n type State = {\n isOpenZoom: boolean;\n selectedIndex: number;\n items: NSCarousel.Item[];\n };\n type Ctx = {\n getContainerProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getIndicatorsProps: PropGetterFn;\n };\n type Handlers = {\n index: [\n null,\n (index: NSCarousel.Props['index']) => void,\n ];\n };\n type Item = {\n node: HTMLElement;\n };\n\n namespace Container {\n type Component = Intergalactic.Component<'div', BoxProps>;\n }\n\n namespace ContentBox {\n type Component = Intergalactic.Component<'div', BoxProps>;\n }\n\n namespace Indicators {\n type Props = BoxProps & {\n items?: NSCarousel.Item[];\n inverted?: boolean;\n };\n type Component = Intergalactic.Component<'div', Props, State>;\n }\n\n namespace Indicator {\n type Props = Omit<BoxProps, 'position'> & {\n active?: boolean;\n onClick?: () => void;\n inverted?: boolean;\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Item {\n type Props = BoxProps & {\n /** Flag for css cursor\n * @private\n */\n zoomIn?: boolean;\n /** Flag for css cursor\n * @private\n */\n zoomOut?: boolean;\n\n /** Function to add item to list in Carousel\n * @private\n */\n toggleItem?: (item: NSCarousel.Item, toRemove?: boolean) => void;\n\n /** Index of item in carousel */\n index?: number;\n\n uid?: string;\n\n /** Flag - is current item shown now */\n current?: boolean;\n\n /** Handler for show item in modal window\n * @private\n */\n onToggleZoomModal?: () => void;\n\n /** Value for transform item\n * @private\n */\n transform?: number;\n\n /**\n * Flag data zoomed\n * @private\n */\n isOpenZoom?: boolean;\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Prev {\n type Props = BoxProps & {\n label?: string;\n inverted?: boolean;\n tabIndex?: number;\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Next {\n type Props = BoxProps & {\n label?: string;\n inverted?: boolean;\n tabIndex?: number;\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx & State> & {\n Container: Container.Component;\n ContentBox: ContentBox.Component;\n Indicators: Indicators.Component;\n Indicator: Indicator.Component;\n Item: Item.Component;\n Prev: Prev.Component;\n Next: Next.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type CarouselProps = NSCarousel.Props;\n/** @deprecated It will be removed in v18. */\nexport type CarouselDefaultProps = NSCarousel.DefaultProps;\n/** @deprecated It will be removed in v18. */\nexport type CarouselContext = NSCarousel.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type CarouselItem = NSCarousel.Item;\n/** @deprecated It will be removed in v18. */\nexport type CarouselItemProps = NSCarousel.Item.Props;\n/** @deprecated It will be removed in v18. */\nexport type CarouselState = NSCarousel.State;\n/** @deprecated It will be removed in v18. */\nexport type CarouselButtonProps = NSCarousel.Prev.Props;\n/** @deprecated It will be removed in v18. */\nexport type CarouselIndicatorsProps = NSCarousel.Indicators.Props;\n/** @deprecated It will be removed in v18. */\nexport type CarouselIndicatorProps = NSCarousel.Indicator.Props;\n\nexport type { NSCarousel };\n"],"mappings":"","ignoreList":[]}
|
package/lib/esm/Carousel.mjs
CHANGED
|
@@ -18,31 +18,31 @@ const style = (
|
|
|
18
18
|
/*__reshadow_css_start__*/
|
|
19
19
|
(sstyled.insert(
|
|
20
20
|
/*__inner_css_start__*/
|
|
21
|
-
'.
|
|
21
|
+
'.___SCarousel_rfhoj_gg_{overflow:hidden;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SContainer_rfhoj_gg_{display:flex;transition:transform var(--duration_rfhoj) ease-in-out}.___SContentBox_rfhoj_gg_,.___SIndicator_rfhoj_gg_,.___SModalBox_rfhoj_gg_{position:relative;overflow:hidden;border-radius:var(--intergalactic-surface-rounded,8px)}.___SContentBox_rfhoj_gg_:has(.___SItem_rfhoj_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_rfhoj_gg_:has(.___SItem_rfhoj_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}.___SImageBoxContainer_rfhoj_gg_{position:relative;border-radius:var(--intergalactic-surface-rounded,8px)}.___SImageBoxContainer_rfhoj_gg_:has(.___SItem_rfhoj_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_rfhoj_gg_:has(.___SItem_rfhoj_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-outline,oklch(.424 .269 264.2/.469))}}@supports (color:oklab(0% 0 0%)){.___SImageBoxContainer_rfhoj_gg_:has(.___SItem_rfhoj_gg_:focus-visible):after{outline-color:var(--intergalactic-keyboard-focus-invert-outline,oklch(1 0 0/.7))}}.___SImageBoxContainer_rfhoj_gg_ .___SItem_rfhoj_gg_:focus-visible{outline:none}.___SModalContainer_rfhoj_gg_{display:flex;transition:transform var(--duration_rfhoj) ease-in-out}.___SItem_rfhoj_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_rfhoj);border-radius:var(--intergalactic-surface-rounded,8px);overflow:hidden;outline:none}.___SItem_rfhoj_gg_>img{display:block}.___SItem_rfhoj_gg_.__zoomIn_rfhoj_gg_{cursor:zoom-in}.___SItem_rfhoj_gg_.__zoomOut_rfhoj_gg_{cursor:zoom-out}.___SIndicators_rfhoj_gg_{display:flex;justify-content:center;margin:var(--intergalactic-spacing-4x,16px) 4px 4px 4px;outline:none;position:relative}.___SIndicator_rfhoj_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_rfhoj_gg_{background-color:var(--intergalactic-icon-secondary-neutral,oklch(.104 .023 162.3/.385))}}.___SIndicator_rfhoj_gg_[aria-roledescription=slide]{width:100px;height:100px}@media (hover:hover){.___SIndicator_rfhoj_gg_:hover{opacity:calc(var(--intergalactic-disabled-opacity, .4)*2)}}.___SIndicator_rfhoj_gg_.__active_rfhoj_gg_{opacity:1}.___SIndicator_rfhoj_gg_.__inverted_rfhoj_gg_{background-color:var(--intergalactic-icon-primary-invert,#fdfffece)}@media (color-gamut:p3){.___SIndicator_rfhoj_gg_.__inverted_rfhoj_gg_{background-color:var(--intergalactic-icon-primary-invert,oklch(.998 .003 173.3/.808))}}.___SNext_rfhoj_gg_,.___SPrev_rfhoj_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_rfhoj_gg_ .___SNextButton_rfhoj_gg_ span:has(>svg:only-child),.___SNext_rfhoj_gg_ .___SPrevButton_rfhoj_gg_ span:has(>svg:only-child),.___SPrev_rfhoj_gg_ .___SNextButton_rfhoj_gg_ span:has(>svg:only-child),.___SPrev_rfhoj_gg_ .___SPrevButton_rfhoj_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_rfhoj_gg_{margin-right:var(--intergalactic-spacing-2x,8px)}.___SNext_rfhoj_gg_{margin-left:var(--intergalactic-spacing-2x,8px)}.___SNext_rfhoj_gg_.__disabled_rfhoj_gg_,.___SPrev_rfhoj_gg_.__disabled_rfhoj_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_rfhoj_gg_{transition:none}}',
|
|
22
22
|
/*__inner_css_end__*/
|
|
23
|
-
"
|
|
23
|
+
"rfhoj_gg_"
|
|
24
24
|
), /*__reshadow_css_end__*/
|
|
25
25
|
{
|
|
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": "
|
|
26
|
+
"__SCarousel": "___SCarousel_rfhoj_gg_",
|
|
27
|
+
"__SContainer": "___SContainer_rfhoj_gg_",
|
|
28
|
+
"--duration": "--duration_rfhoj",
|
|
29
|
+
"__SContentBox": "___SContentBox_rfhoj_gg_",
|
|
30
|
+
"__SModalBox": "___SModalBox_rfhoj_gg_",
|
|
31
|
+
"__SIndicator": "___SIndicator_rfhoj_gg_",
|
|
32
|
+
"__SItem": "___SItem_rfhoj_gg_",
|
|
33
|
+
"__SModalContainer": "___SModalContainer_rfhoj_gg_",
|
|
34
|
+
"_zoomIn": "__zoomIn_rfhoj_gg_",
|
|
35
|
+
"_zoomOut": "__zoomOut_rfhoj_gg_",
|
|
36
|
+
"__SIndicators": "___SIndicators_rfhoj_gg_",
|
|
37
|
+
"_active": "__active_rfhoj_gg_",
|
|
38
|
+
"_inverted": "__inverted_rfhoj_gg_",
|
|
39
|
+
"__SPrev": "___SPrev_rfhoj_gg_",
|
|
40
|
+
"__SNext": "___SNext_rfhoj_gg_",
|
|
41
|
+
"_disabled": "__disabled_rfhoj_gg_",
|
|
42
|
+
"__SImageBoxContainer": "___SImageBoxContainer_rfhoj_gg_",
|
|
43
|
+
"--transform": "--transform_rfhoj",
|
|
44
|
+
"__SPrevButton": "___SPrevButton_rfhoj_gg_",
|
|
45
|
+
"__SNextButton": "___SNextButton_rfhoj_gg_"
|
|
46
46
|
})
|
|
47
47
|
);
|
|
48
48
|
const MAP_TRANSFORM = {
|
|
@@ -262,7 +262,7 @@ class CarouselRoot extends Component {
|
|
|
262
262
|
}
|
|
263
263
|
uncontrolledProps() {
|
|
264
264
|
return {
|
|
265
|
-
index: [null, (
|
|
265
|
+
index: [null, () => {
|
|
266
266
|
this.refCarousel.current?.blur();
|
|
267
267
|
setTimeout(() => {
|
|
268
268
|
this.refCarousel.current?.focus();
|
|
@@ -671,13 +671,14 @@ function Next(props) {
|
|
|
671
671
|
})));
|
|
672
672
|
}
|
|
673
673
|
;
|
|
674
|
-
function Indicators({
|
|
675
|
-
items,
|
|
676
|
-
styles,
|
|
677
|
-
Children,
|
|
678
|
-
inverted
|
|
679
|
-
}) {
|
|
674
|
+
function Indicators(props) {
|
|
680
675
|
var _ref8 = arguments[0], _ref16;
|
|
676
|
+
const {
|
|
677
|
+
items,
|
|
678
|
+
styles,
|
|
679
|
+
Children,
|
|
680
|
+
inverted
|
|
681
|
+
} = props;
|
|
681
682
|
const SIndicators = Box;
|
|
682
683
|
if (Children.origin) {
|
|
683
684
|
var _ref15;
|
|
@@ -698,11 +699,12 @@ function Indicators({
|
|
|
698
699
|
}))));
|
|
699
700
|
}
|
|
700
701
|
;
|
|
701
|
-
function Indicator({
|
|
702
|
-
styles,
|
|
703
|
-
Children
|
|
704
|
-
}) {
|
|
702
|
+
function Indicator(props) {
|
|
705
703
|
var _ref9 = arguments[0], _ref17;
|
|
704
|
+
const {
|
|
705
|
+
styles,
|
|
706
|
+
Children
|
|
707
|
+
} = props;
|
|
706
708
|
const SIndicator = Box;
|
|
707
709
|
return _ref17 = sstyled(styles), /* @__PURE__ */ React.createElement(SIndicator, _ref17.cn("SIndicator", {
|
|
708
710
|
...assignProps({}, _ref9)
|
package/lib/types/Carousel.d.ts
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { CarouselProps, CarouselState, CarouselContext, CarouselItemProps, CarouselButtonProps, CarouselIndicatorsProps, CarouselIndicatorProps } from './Carousel.types';
|
|
1
|
+
import type { NSCarousel } from './Carousel.types';
|
|
3
2
|
/**
|
|
4
3
|
* Carousel
|
|
5
4
|
*
|
|
6
5
|
* {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-api/|API} | {@link https://developer.semrush.com/intergalactic/components/carousel/carousel-code/|Examples}
|
|
7
6
|
*/
|
|
8
|
-
declare const Carousel:
|
|
9
|
-
Container: import("@semcore/core").Intergalactic.Component<"div", BoxProps>;
|
|
10
|
-
ContentBox: import("@semcore/core").Intergalactic.Component<"div", BoxProps>;
|
|
11
|
-
Indicators: import("@semcore/core").Intergalactic.Component<"div", CarouselIndicatorsProps, CarouselState>;
|
|
12
|
-
Indicator: import("@semcore/core").Intergalactic.Component<"div", CarouselIndicatorProps>;
|
|
13
|
-
Item: import("@semcore/core").Intergalactic.Component<"div", CarouselItemProps>;
|
|
14
|
-
Prev: import("@semcore/core").Intergalactic.Component<"div", CarouselButtonProps>;
|
|
15
|
-
Next: import("@semcore/core").Intergalactic.Component<"div", CarouselButtonProps>;
|
|
16
|
-
};
|
|
7
|
+
declare const Carousel: NSCarousel.Component;
|
|
17
8
|
export default Carousel;
|