@semcore/carousel 17.2.3-prerelease.1 → 17.2.3-prerelease.3
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/lib/cjs/Carousel.js.map +1 -1
- package/lib/cjs/Carousel.types.js.map +1 -1
- package/lib/es6/Carousel.js.map +1 -1
- package/lib/es6/Carousel.types.js.map +1 -1
- package/lib/types/Carousel.d.ts +1 -0
- package/lib/types/Carousel.d.ts.map +1 -0
- package/lib/types/Carousel.types.d.ts +10 -9
- package/lib/types/Carousel.types.d.ts.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +1 -0
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts.map +1 -0
- package/package.json +8 -8
- package/src/Carousel.tsx +1 -1
- package/src/Carousel.types.ts +9 -9
package/lib/cjs/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_i18nEnhance","_findComponent","_logger","_uniqueID","_useFocusLock","_l","_l2","_modal","_react","_intergalacticDynamicLocales","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","Component","constructor","props","_defineProperty2","default","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","setTimeout","itemElement","refCarousel","querySelector","HTMLElement","setFocus","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","blur","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","Box","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_ref4","_ref11","SContentBox","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_ref6","_ref13","children","label","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref14","SNext","SNextButton","ChevronRight","_ref8","_ref16","SIndicators","origin","_ref15","_ref9","_ref17","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { BoxProps } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport 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
|
+
{"version":3,"file":"Carousel.js","names":["_core","require","_baseComponents","_button","_interopRequireDefault","_i18nEnhance","_findComponent","_logger","_uniqueID","_useFocusLock","_l","_l2","_modal","_react","_intergalacticDynamicLocales","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","Component","constructor","props","_defineProperty2","default","React","createRef","e","firstSlide","lastSlide","state","items","length","key","preventDefault","transformItem","slideToValue","metaKey","target","HTMLDivElement","role","handleToggleZoomModal","item","removeItem","setState","prevState","newItems","filter","element","node","defaultItemsCount","transform","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","maxIndexIndicator","handlers","isControlled","transformContainer","getIndex","value","newValueIndex","floor","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","setTimeout","itemElement","refCarousel","querySelector","HTMLElement","setFocus","bindHandlerClick","undefined","defaultIndex","uncontrolledProps","blur","focus","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","_props","zoom","isCurrent","isSelected","toggleItem","uid","zoomIn","onToggleZoomModal","getTransform","getPrevProps","getI18nText","disabled","bindHandlerKeydownControl","getNextProps","getIndicatorsProps","_item","active","onClick","bindHandlerClickIndicator","getIndicatorProps","slideNumber","count","renderModal","isSmall","ComponentItems","_ref","_ref0","SModalContainer","Box","SModalBox","SImageBoxContainer","styles","zoomWidth","createElement","cn","Flex","Carousel","Prev","inverted","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref1","SCarousel","hasZoom","ariaLabel","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","ContentBox","Container","Indicator","w","Context","Consumer","mediaIndex","step","i18n","locale","_ref3","arguments[0]","_ref10","SContainer","_ref4","_ref11","SContentBox","args","refItem","componentWillUnmount","_ref5","_ref12","SItem","_ref6","_ref13","children","label","top","SPrev","SPrevButton","Button","ChevronLeft","_ref7","_ref14","SNext","SNextButton","ChevronRight","_ref8","_ref16","SIndicators","origin","_ref15","_ref9","_ref17","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import { createBreakpoints, Box, Flex } from '@semcore/base-components';\nimport type { NSBox } 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 {
|
|
1
|
+
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import type { NSBox } 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 = NSBox.Props & {\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', NSBox.Props>;\n }\n\n namespace ContentBox {\n type Component = Intergalactic.Component<'div', NSBox.Props>;\n }\n\n namespace Indicators {\n type Props = NSBox.Props & {\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<NSBox.Props, '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 = NSBox.Props & {\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 = NSBox.Props & {\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 = NSBox.Props & {\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/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","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
|
+
{"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 { NSBox } 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 {
|
|
1
|
+
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import type { NSBox } 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 = NSBox.Props & {\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', NSBox.Props>;\n }\n\n namespace ContentBox {\n type Component = Intergalactic.Component<'div', NSBox.Props>;\n }\n\n namespace Indicators {\n type Props = NSBox.Props & {\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<NSBox.Props, '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 = NSBox.Props & {\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 = NSBox.Props & {\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 = NSBox.Props & {\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/types/Carousel.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0uBnD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,sBAWZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NSBox } from '@semcore/base-components';
|
|
2
2
|
import type { PropGetterFn, Intergalactic } from '@semcore/core';
|
|
3
3
|
import type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
4
4
|
declare namespace NSCarousel {
|
|
5
|
-
type Props =
|
|
5
|
+
type Props = NSBox.Props & {
|
|
6
6
|
/** Index active item */
|
|
7
7
|
index?: number;
|
|
8
8
|
/**
|
|
@@ -60,20 +60,20 @@ declare namespace NSCarousel {
|
|
|
60
60
|
node: HTMLElement;
|
|
61
61
|
};
|
|
62
62
|
namespace Container {
|
|
63
|
-
type Component = Intergalactic.Component<'div',
|
|
63
|
+
type Component = Intergalactic.Component<'div', NSBox.Props>;
|
|
64
64
|
}
|
|
65
65
|
namespace ContentBox {
|
|
66
|
-
type Component = Intergalactic.Component<'div',
|
|
66
|
+
type Component = Intergalactic.Component<'div', NSBox.Props>;
|
|
67
67
|
}
|
|
68
68
|
namespace Indicators {
|
|
69
|
-
type Props =
|
|
69
|
+
type Props = NSBox.Props & {
|
|
70
70
|
items?: NSCarousel.Item[];
|
|
71
71
|
inverted?: boolean;
|
|
72
72
|
};
|
|
73
73
|
type Component = Intergalactic.Component<'div', Props, State>;
|
|
74
74
|
}
|
|
75
75
|
namespace Indicator {
|
|
76
|
-
type Props = Omit<
|
|
76
|
+
type Props = Omit<NSBox.Props, 'position'> & {
|
|
77
77
|
active?: boolean;
|
|
78
78
|
onClick?: () => void;
|
|
79
79
|
inverted?: boolean;
|
|
@@ -81,7 +81,7 @@ declare namespace NSCarousel {
|
|
|
81
81
|
type Component = Intergalactic.Component<'div', Props>;
|
|
82
82
|
}
|
|
83
83
|
namespace Item {
|
|
84
|
-
type Props =
|
|
84
|
+
type Props = NSBox.Props & {
|
|
85
85
|
/** Flag for css cursor
|
|
86
86
|
* @private
|
|
87
87
|
*/
|
|
@@ -116,7 +116,7 @@ declare namespace NSCarousel {
|
|
|
116
116
|
type Component = Intergalactic.Component<'div', Props>;
|
|
117
117
|
}
|
|
118
118
|
namespace Prev {
|
|
119
|
-
type Props =
|
|
119
|
+
type Props = NSBox.Props & {
|
|
120
120
|
label?: string;
|
|
121
121
|
inverted?: boolean;
|
|
122
122
|
tabIndex?: number;
|
|
@@ -124,7 +124,7 @@ declare namespace NSCarousel {
|
|
|
124
124
|
type Component = Intergalactic.Component<'div', Props>;
|
|
125
125
|
}
|
|
126
126
|
namespace Next {
|
|
127
|
-
type Props =
|
|
127
|
+
type Props = NSBox.Props & {
|
|
128
128
|
label?: string;
|
|
129
129
|
inverted?: boolean;
|
|
130
130
|
tabIndex?: number;
|
|
@@ -160,3 +160,4 @@ export type CarouselIndicatorsProps = NSCarousel.Indicators.Props;
|
|
|
160
160
|
/** @deprecated It will be removed in v18. */
|
|
161
161
|
export type CarouselIndicatorProps = NSCarousel.Indicator.Props;
|
|
162
162
|
export type { NSCarousel };
|
|
163
|
+
//# sourceMappingURL=Carousel.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Carousel.types.d.ts","sourceRoot":"","sources":["../../src/Carousel.types.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.d.ts","sourceRoot":"","sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/carousel",
|
|
3
3
|
"description": "Semrush Carousel Component",
|
|
4
|
-
"version": "17.2.3-prerelease.
|
|
4
|
+
"version": "17.2.3-prerelease.3",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
"require": "./lib/cjs/index.js"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/button": "^17.2.
|
|
18
|
-
"@semcore/modal": "^17.2.2"
|
|
17
|
+
"@semcore/button": "^17.2.2-prerelease.3",
|
|
18
|
+
"@semcore/modal": "^17.2.2-prerelease.3"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"@semcore/base-components": "^17.2.
|
|
22
|
-
"@semcore/icon": "^17.2.
|
|
21
|
+
"@semcore/base-components": "^17.2.2-prerelease.3",
|
|
22
|
+
"@semcore/icon": "^17.2.1-prerelease.3"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"directory": "semcore/carousel"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@semcore/
|
|
31
|
-
"@semcore/
|
|
30
|
+
"@semcore/base-components": "17.2.2-prerelease.3",
|
|
31
|
+
"@semcore/core": "17.3.1-prerelease.3",
|
|
32
32
|
"@semcore/testing-utils": "1.0.0",
|
|
33
|
-
"@semcore/icon": "17.2.
|
|
33
|
+
"@semcore/icon": "17.2.1-prerelease.3"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "pnpm semcore-builder --source=js,ts && pnpm vite build"
|
package/src/Carousel.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createBreakpoints, Box, Flex } from '@semcore/base-components';
|
|
2
|
-
import type {
|
|
2
|
+
import type { NSBox } from '@semcore/base-components';
|
|
3
3
|
import Button from '@semcore/button';
|
|
4
4
|
import type { Intergalactic } from '@semcore/core';
|
|
5
5
|
import { createComponent, Component, sstyled, Root } from '@semcore/core';
|
package/src/Carousel.types.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NSBox } from '@semcore/base-components';
|
|
2
2
|
import type { PropGetterFn, Intergalactic } from '@semcore/core';
|
|
3
3
|
|
|
4
4
|
import type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
5
5
|
|
|
6
6
|
declare namespace NSCarousel {
|
|
7
|
-
type Props =
|
|
7
|
+
type Props = NSBox.Props & {
|
|
8
8
|
/** Index active item */
|
|
9
9
|
index?: number;
|
|
10
10
|
/**
|
|
@@ -63,15 +63,15 @@ declare namespace NSCarousel {
|
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
namespace Container {
|
|
66
|
-
type Component = Intergalactic.Component<'div',
|
|
66
|
+
type Component = Intergalactic.Component<'div', NSBox.Props>;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
namespace ContentBox {
|
|
70
|
-
type Component = Intergalactic.Component<'div',
|
|
70
|
+
type Component = Intergalactic.Component<'div', NSBox.Props>;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
namespace Indicators {
|
|
74
|
-
type Props =
|
|
74
|
+
type Props = NSBox.Props & {
|
|
75
75
|
items?: NSCarousel.Item[];
|
|
76
76
|
inverted?: boolean;
|
|
77
77
|
};
|
|
@@ -79,7 +79,7 @@ declare namespace NSCarousel {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
namespace Indicator {
|
|
82
|
-
type Props = Omit<
|
|
82
|
+
type Props = Omit<NSBox.Props, 'position'> & {
|
|
83
83
|
active?: boolean;
|
|
84
84
|
onClick?: () => void;
|
|
85
85
|
inverted?: boolean;
|
|
@@ -88,7 +88,7 @@ declare namespace NSCarousel {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
namespace Item {
|
|
91
|
-
type Props =
|
|
91
|
+
type Props = NSBox.Props & {
|
|
92
92
|
/** Flag for css cursor
|
|
93
93
|
* @private
|
|
94
94
|
*/
|
|
@@ -131,7 +131,7 @@ declare namespace NSCarousel {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
namespace Prev {
|
|
134
|
-
type Props =
|
|
134
|
+
type Props = NSBox.Props & {
|
|
135
135
|
label?: string;
|
|
136
136
|
inverted?: boolean;
|
|
137
137
|
tabIndex?: number;
|
|
@@ -140,7 +140,7 @@ declare namespace NSCarousel {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
namespace Next {
|
|
143
|
-
type Props =
|
|
143
|
+
type Props = NSBox.Props & {
|
|
144
144
|
label?: string;
|
|
145
145
|
inverted?: boolean;
|
|
146
146
|
tabIndex?: number;
|