@semcore/carousel 3.17.1-prerelease.1 → 3.18.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 +7 -1
- package/lib/cjs/Carousel.js +424 -263
- package/lib/cjs/Carousel.js.map +1 -1
- package/lib/cjs/Carousel.types.js +2 -0
- package/lib/cjs/Carousel.types.js.map +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/carousel.shadow.css +19 -2
- package/lib/es6/Carousel.js +426 -264
- package/lib/es6/Carousel.js.map +1 -1
- package/lib/es6/Carousel.types.js +2 -0
- package/lib/es6/Carousel.types.js.map +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/carousel.shadow.css +19 -2
- package/package.json +8 -5
- package/src/Carousel.tsx +676 -0
- package/src/Carousel.types.ts +122 -0
- package/src/style/carousel.shadow.css +19 -2
- package/lib/cjs/index.d.js +0 -2
- package/lib/cjs/index.d.js.map +0 -1
- package/lib/es6/index.d.js +0 -2
- package/lib/es6/index.d.js.map +0 -1
- package/lib/types/index.d.ts +0 -76
- package/src/Carousel.jsx +0 -458
- package/src/index.d.ts +0 -76
- /package/src/{index.js → index.ts} +0 -0
package/lib/es6/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["React","createComponent","Component","sstyled","Root","Box","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","style","_sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray","map","_objectSpread","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","bindHandlerClick","_createClass","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","getI18nText","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","_this$asProps5","styles","Children","createElement","cn","_assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","defaultIndex","i18n","locale","Container","_ref2","arguments[0]","_ref9","SContainer","_assignProps2","Item","_ref3","_ref10","SItem","refItem","useEffect","_assignProps3","Prev","_ref4","_ref11","children","_props$top","top","SPrev","_assignProps4","Next","_ref5","_ref12","_props$top2","SNext","_assignProps5","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","_assignProps6","_assignProps7","Carousel","Indicator","_extends","_ref17","_ref7","_ref15","SIndicator","_assignProps8"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\n\nimport { Box } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/carousel.shadow.css';\n\nconst position = {\n getItemMin: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position < items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getItemMax: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position > items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getMin: function (items) {\n return items[position.getItemMin(items)].position;\n },\n getMax: function (items) {\n return items[position.getItemMax(items)].position;\n },\n};\n\nconst MAP_TRANSFORM = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nclass CarouselRoot extends Component {\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 };\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n refContainer = React.createRef();\n transform = 0;\n positionLeftItem = 0;\n indexIndicator = 0;\n\n constructor(props) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled) {\n this.slideToValue(prevProps.index, index);\n }\n }\n\n handlerKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n const { activeItemIndex } = this.controlTransformItem(MAP_TRANSFORM[e.key]);\n this.handlers.index(activeItemIndex);\n }\n }\n };\n\n toggleItem = (item, removeItem = false) => {\n const { index } = this.asProps;\n const { items } = this.state;\n if (removeItem) {\n this.updateItems(items.filter((element) => element.node !== item.node));\n } else {\n this.setState(\n (state) => {\n return {\n items: [...state.items, item].map((element, position) => ({\n ...element,\n position,\n transform: 0,\n })),\n };\n },\n () => {\n const { items } = this.state;\n if (items.length > index && index >= 0) {\n this.slideToValue(this.indexIndicator, index);\n }\n },\n );\n }\n };\n\n updateItems = (items) => {\n this.setState(() => ({ items }));\n };\n\n transformContainer = (transform) => {\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex, nextIndex, bounded) => {\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 = (currentIndex, nextIndexItem, bounded) => {\n if (currentIndex === nextIndexItem) return false;\n const direction = this.getDirection(\n currentIndex,\n nextIndexItem,\n bounded || this.asProps.bounded,\n );\n let i = currentIndex;\n while (nextIndexItem !== i) {\n const { activeItemIndex } = this.transformItem(direction);\n i = activeItemIndex;\n }\n };\n\n controlTransformItem = (direction) => {\n const { bounded, index } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (this.isControlled) {\n if (direction === 'right') {\n if (bounded && index === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n return { activeItemIndex: index === maxIndexIndicator ? 0 : index + 1 };\n }\n if (direction === 'left') {\n if (bounded && index === 0) {\n return { activeItemIndex: 0 };\n }\n return { activeItemIndex: index === 0 ? maxIndexIndicator : index - 1 };\n }\n }\n return this.transformItem(direction);\n };\n\n transformItem = (direction) => {\n const { bounded, step } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n let nextItemPosition = undefined;\n\n if (direction === 'right') {\n if (bounded && this.positionLeftItem === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n this.positionLeftItem += 1;\n const positionItemMax = position.getMax(items);\n\n if (this.positionLeftItem > positionItemMax) {\n nextItemPosition = position.getItemMin(items);\n items[nextItemPosition].position = positionItemMax + 1;\n items[nextItemPosition].transform += items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator += 1;\n if (this.indexIndicator > maxIndexIndicator) {\n this.indexIndicator = 0;\n }\n this.transform -= step;\n }\n if (direction === 'left') {\n if (bounded && this.positionLeftItem === 0) {\n return { activeItemIndex: 0 };\n }\n this.positionLeftItem -= 1;\n const positionItemMin = position.getMin(items);\n\n if (this.positionLeftItem < positionItemMin) {\n nextItemPosition = position.getItemMax(items);\n items[nextItemPosition].position = positionItemMin - 1;\n items[nextItemPosition].transform -= items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator -= 1;\n if (this.indexIndicator < 0) {\n this.indexIndicator = maxIndexIndicator;\n }\n this.transform += step;\n }\n\n const activeItemIndex = items.findIndex((item) => item.position === this.positionLeftItem);\n if (items[activeItemIndex]) {\n items[\n activeItemIndex\n ].node.style.transform = `translateX(${items[activeItemIndex].transform}%)`;\n }\n this.transformContainer(this.transform);\n return { activeItemIndex };\n };\n\n bindHandlerClick = (direction) => {\n return () => {\n const { activeItemIndex } = this.controlTransformItem(direction);\n this.handlers.index(activeItemIndex);\n };\n };\n\n bindHandlerClickIndicator = (value) => {\n return () => {\n !this.isControlled && this.slideToValue(this.indexIndicator, value, true);\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n const { activeItemIndex } = this.controlTransformItem('left');\n this.handlers.index(activeItemIndex);\n } else if (delta < -50) {\n const { activeItemIndex } = this.controlTransformItem('right');\n this.handlers.index(activeItemIndex);\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_, index) {\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: index === this.asProps.index,\n };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n label: getI18nText('prev'),\n };\n }\n\n getNextProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === items.length - 1;\n }\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n label: getI18nText('next'),\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { index } = this.asProps;\n\n return {\n items: items.map((item, key) => ({\n active: key === index,\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n render() {\n const SCarousel = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='group'\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n <Children />\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nconst Item = (props) => {\n const { styles, toggleItem, index, uid, current } = props;\n const SItem = Root;\n const refItem = React.createRef();\n React.useEffect(() => {\n // add item\n toggleItem({ node: refItem.current });\n return () => {\n // remove item\n toggleItem({ node: refItem.current }, true);\n };\n }, []);\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n />,\n );\n};\n\nconst Prev = (props) => {\n const { styles, children, Children, label, top = 0 } = props;\n const SPrev = Root;\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children ? <Children /> : <ChevronLeft interactive aria-label={label} />}\n </SPrev>,\n );\n};\n\nconst Next = (props) => {\n const { styles, children, Children, label, top = 0 } = props;\n const SNext = Root;\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children ? <Children /> : <ChevronRight interactive aria-label={label} />}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["React","createComponent","Component","sstyled","Root","Button","Modal","Box","Flex","ChevronRight","ChevronLeft","uniqueIDEnhancement","i18nEnhance","localizedMessages","logger","style","_sstyled","insert","findAllComponents","createBreakpoints","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","getI18nText","media","BreakPoints","isSmallScreen","index","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_ref18","_props$index","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray","defaultItemsCount","transform","state","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","_this$state","maxIndexIndicator","handlers","isControlled","transformContainer","value","_this$state2","newValueIndex","floor","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","defaultIndex","_createClass","uncontrolledProps","componentDidMount","warn","displayName","deprecatedComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","SModalContainer","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread","_assignProps","i","Item","_extends","zoomOut","Next","Indicators","render","_ref2","_ref10","_this5","SCarousel","_this$asProps4","indicators","Controls","_assignProps2","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_assignProps3","_Component2","_super2","_this6","_len","args","Array","_key","apply","refItem","componentWillUnmount","_ref4","_ref12","_this$props","SItem","_assignProps4","_ref5","_ref13","children","_props$top","top","SPrev","_React$useState","useState","_React$useState2","_slicedToArray","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","_assignProps5","_ref6","_ref14","_props$top2","SNext","_React$useState3","_React$useState4","_assignProps6","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_assignProps7","_assignProps8","_ref20","_ref8","_ref17","SIndicator","_assignProps9"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n};\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n CarouselContext,\n CarouselState,\n typeof enhance\n> {\n static displayName = 'Carousel';\n static defaultProps = {\n defaultIndex: 0,\n duration: 350,\n step: 100,\n bounded: false,\n i18n: localizedMessages,\n locale: 'en',\n indicators: 'default',\n };\n\n static style = style;\n static enhance = Object.values(enhance);\n\n defaultItemsCount = 0;\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n }\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.state.selectedIndex);\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.state.selectedIndex);\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n this.state.isOpenZoom && this.transformContainer();\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n label: getI18nText('prev'),\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n label: getI18nText('next'),\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n isSelected(index: number) {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n if (selectedIndex >= 0) {\n return index === selectedIndex % items.length;\n }\n\n return index === (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </Box>\n {isSmall ? (\n <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n ) : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n indicators,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='group'\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={100}\n h={100}\n aria-roledescription='slide'\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))\n }\n </Carousel.Indicators>\n )}\n </>\n ) : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props: BoxProps & { duration?: number }) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem }, true);\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nconst Prev = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <Button\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <Button\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n />\n )}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children, inverted }: CarouselIndicatorsProps) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }: CarouselIndicatorProps) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel: typeof CarouselType = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { BoxProps } from '@semcore/flex-box';\nimport { IRootComponentProps } from '@semcore/core/src';\n\n/** @deprecated */\nexport interface ICarouselProps extends CarouselProps, UnknownProperties {}\nexport type CarouselProps = 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 /** @ignore */\n step?: number;\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\n/** @deprecated */\nexport interface ICarouselContext extends CarouselContext, UnknownProperties {}\nexport type CarouselContext = {\n getContainerProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getIndicatorsProps: PropGetterFn;\n};\n\nexport type CarouselItem = {\n node: HTMLElement;\n};\n\nexport type CarouselItemProps = 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: CarouselItem, 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/** @deprecated */\nexport interface ICarouselState extends CarouselState, UnknownProperties {}\nexport type CarouselState = {\n isOpenZoom: boolean;\n selectedIndex: number;\n items: CarouselItem[];\n};\n\nexport type CarouselButtonProps = IRootComponentProps &\n BoxProps & {\n label?: string;\n inverted?: boolean;\n };\n\nexport type CarouselIndicatorsProps = IRootComponentProps &\n BoxProps & {\n items?: CarouselItem[];\n inverted?: boolean;\n };\n\nexport type CarouselIndicatorProps = IRootComponentProps &\n Omit<BoxProps, 'position'> & {\n active?: boolean;\n onClick?: () => void;\n inverted?: boolean;\n } & CarouselItem;\n\ndeclare const CarouselType: Intergalactic.Component<\n 'div',\n CarouselProps,\n CarouselContext & CarouselState\n> & {\n Container: Intergalactic.Component<'div', BoxProps>;\n Indicators: Intergalactic.Component<'div', CarouselIndicatorsProps, CarouselState>;\n Indicator: Intergalactic.Component<'div', CarouselIndicatorProps>;\n Item: Intergalactic.Component<'div', CarouselItemProps>;\n Prev: Intergalactic.Component<'div', CarouselButtonProps>;\n Next: Intergalactic.Component<'div', CarouselButtonProps>;\n};\n\nexport default CarouselType;\n"],"mappings":""}
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './Carousel';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,YAAY"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
SCarousel {
|
|
2
2
|
overflow: hidden;
|
|
3
3
|
outline: none;
|
|
4
|
+
user-select: none;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
SContainer {
|
|
@@ -8,6 +9,11 @@ SContainer {
|
|
|
8
9
|
transition: transform var(--duration) ease-in-out;
|
|
9
10
|
}
|
|
10
11
|
|
|
12
|
+
SModalContainer {
|
|
13
|
+
display: flex;
|
|
14
|
+
transition: transform var(--duration) ease-in-out;
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
SItem {
|
|
12
18
|
flex: 0 0 100%;
|
|
13
19
|
max-width: 100%;
|
|
@@ -17,6 +23,13 @@ SItem {
|
|
|
17
23
|
overflow: hidden;
|
|
18
24
|
}
|
|
19
25
|
|
|
26
|
+
SItem[zoomIn] {
|
|
27
|
+
cursor: zoom-in;
|
|
28
|
+
}
|
|
29
|
+
SItem[zoomOut] {
|
|
30
|
+
cursor: zoom-out;
|
|
31
|
+
}
|
|
32
|
+
|
|
20
33
|
SIndicators {
|
|
21
34
|
display: flex;
|
|
22
35
|
justify-content: center;
|
|
@@ -44,6 +57,10 @@ SIndicator[active] {
|
|
|
44
57
|
opacity: 1;
|
|
45
58
|
}
|
|
46
59
|
|
|
60
|
+
SIndicator[inverted] {
|
|
61
|
+
background-color: var(--intergalactic-icon-primary-invert, #ffffff);
|
|
62
|
+
}
|
|
63
|
+
|
|
47
64
|
SPrev,
|
|
48
65
|
SNext {
|
|
49
66
|
display: inline-flex;
|
|
@@ -54,10 +71,10 @@ SNext {
|
|
|
54
71
|
}
|
|
55
72
|
|
|
56
73
|
SPrev {
|
|
57
|
-
margin-right: var(--intergalactic-spacing-
|
|
74
|
+
margin-right: var(--intergalactic-spacing-2x, 8px);
|
|
58
75
|
}
|
|
59
76
|
SNext {
|
|
60
|
-
margin-left: var(--intergalactic-spacing-
|
|
77
|
+
margin-left: var(--intergalactic-spacing-2x, 8px);
|
|
61
78
|
}
|
|
62
79
|
|
|
63
80
|
SPrev[disabled],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/carousel",
|
|
3
3
|
"description": "Semrush Carousel Component",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.18.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -9,12 +9,15 @@
|
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@semcore/flex-box": "5.
|
|
13
|
-
"@semcore/icon": "4.
|
|
14
|
-
"@semcore/utils": "4.
|
|
12
|
+
"@semcore/flex-box": "5.11.0",
|
|
13
|
+
"@semcore/icon": "4.17.0",
|
|
14
|
+
"@semcore/utils": "4.13.0",
|
|
15
|
+
"@semcore/button": "5.12.0",
|
|
16
|
+
"@semcore/modal": "4.19.0",
|
|
17
|
+
"@semcore/breakpoints": "1.12.3"
|
|
15
18
|
},
|
|
16
19
|
"peerDependencies": {
|
|
17
|
-
"@semcore/core": "^2.
|
|
20
|
+
"@semcore/core": "^2.10.0",
|
|
18
21
|
"react": "16.8 - 18",
|
|
19
22
|
"react-dom": "16.8 - 18"
|
|
20
23
|
},
|