@semcore/carousel 3.17.1-prerelease.1 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -1
- package/lib/cjs/Carousel.js +424 -263
- package/lib/cjs/Carousel.js.map +1 -1
- package/lib/cjs/Carousel.types.js +2 -0
- package/lib/cjs/Carousel.types.js.map +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/carousel.shadow.css +19 -2
- package/lib/es6/Carousel.js +426 -264
- package/lib/es6/Carousel.js.map +1 -1
- package/lib/es6/Carousel.types.js +2 -0
- package/lib/es6/Carousel.types.js.map +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/carousel.shadow.css +19 -2
- package/package.json +8 -5
- package/src/Carousel.tsx +676 -0
- package/src/Carousel.types.ts +122 -0
- package/src/style/carousel.shadow.css +19 -2
- package/lib/cjs/index.d.js +0 -2
- package/lib/cjs/index.d.js.map +0 -1
- package/lib/es6/index.d.js +0 -2
- package/lib/es6/index.d.js.map +0 -1
- package/lib/types/index.d.ts +0 -76
- package/src/Carousel.jsx +0 -458
- package/src/index.d.ts +0 -76
- /package/src/{index.js → index.ts} +0 -0
package/lib/cjs/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","style","sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray2","map","_objectSpread2","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","bindHandlerClick","_createClass2","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","getI18nText","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","Box","_this$asProps5","styles","Children","createElement","cn","assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Component","defaultIndex","i18n","localizedMessages","locale","uniqueIDEnhancement","i18nEnhance","Container","_ref2","arguments[0]","_ref9","SContainer","Item","_ref3","_ref10","SItem","refItem","useEffect","Prev","_ref4","_ref11","children","_props$top","top","SPrev","Next","_ref5","_ref12","_props$top2","SNext","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","Carousel","Indicator","_extends2","_ref17","_ref7","_ref15","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\n\nimport { Box } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/carousel.shadow.css';\n\nconst position = {\n getItemMin: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position < items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getItemMax: function (items) {\n let indexItem = 0;\n items.forEach(function (item, index) {\n if (item.position > items[indexItem].position) {\n indexItem = index;\n }\n });\n return indexItem;\n },\n getMin: function (items) {\n return items[position.getItemMin(items)].position;\n },\n getMax: function (items) {\n return items[position.getItemMax(items)].position;\n },\n};\n\nconst MAP_TRANSFORM = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nclass CarouselRoot extends Component {\n static displayName = 'Carousel';\n static defaultProps = {\n defaultIndex: 0,\n duration: 350,\n step: 100,\n bounded: false,\n i18n: localizedMessages,\n locale: 'en',\n };\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n refContainer = React.createRef();\n transform = 0;\n positionLeftItem = 0;\n indexIndicator = 0;\n\n constructor(props) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled) {\n this.slideToValue(prevProps.index, index);\n }\n }\n\n handlerKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n const { activeItemIndex } = this.controlTransformItem(MAP_TRANSFORM[e.key]);\n this.handlers.index(activeItemIndex);\n }\n }\n };\n\n toggleItem = (item, removeItem = false) => {\n const { index } = this.asProps;\n const { items } = this.state;\n if (removeItem) {\n this.updateItems(items.filter((element) => element.node !== item.node));\n } else {\n this.setState(\n (state) => {\n return {\n items: [...state.items, item].map((element, position) => ({\n ...element,\n position,\n transform: 0,\n })),\n };\n },\n () => {\n const { items } = this.state;\n if (items.length > index && index >= 0) {\n this.slideToValue(this.indexIndicator, index);\n }\n },\n );\n }\n };\n\n updateItems = (items) => {\n this.setState(() => ({ items }));\n };\n\n transformContainer = (transform) => {\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex, nextIndex, bounded) => {\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (currentIndex, nextIndexItem, bounded) => {\n if (currentIndex === nextIndexItem) return false;\n const direction = this.getDirection(\n currentIndex,\n nextIndexItem,\n bounded || this.asProps.bounded,\n );\n let i = currentIndex;\n while (nextIndexItem !== i) {\n const { activeItemIndex } = this.transformItem(direction);\n i = activeItemIndex;\n }\n };\n\n controlTransformItem = (direction) => {\n const { bounded, index } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (this.isControlled) {\n if (direction === 'right') {\n if (bounded && index === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n return { activeItemIndex: index === maxIndexIndicator ? 0 : index + 1 };\n }\n if (direction === 'left') {\n if (bounded && index === 0) {\n return { activeItemIndex: 0 };\n }\n return { activeItemIndex: index === 0 ? maxIndexIndicator : index - 1 };\n }\n }\n return this.transformItem(direction);\n };\n\n transformItem = (direction) => {\n const { bounded, step } = this.asProps;\n const { items } = this.state;\n const maxIndexIndicator = items.length - 1;\n let nextItemPosition = undefined;\n\n if (direction === 'right') {\n if (bounded && this.positionLeftItem === maxIndexIndicator) {\n return { activeItemIndex: maxIndexIndicator };\n }\n this.positionLeftItem += 1;\n const positionItemMax = position.getMax(items);\n\n if (this.positionLeftItem > positionItemMax) {\n nextItemPosition = position.getItemMin(items);\n items[nextItemPosition].position = positionItemMax + 1;\n items[nextItemPosition].transform += items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator += 1;\n if (this.indexIndicator > maxIndexIndicator) {\n this.indexIndicator = 0;\n }\n this.transform -= step;\n }\n if (direction === 'left') {\n if (bounded && this.positionLeftItem === 0) {\n return { activeItemIndex: 0 };\n }\n this.positionLeftItem -= 1;\n const positionItemMin = position.getMin(items);\n\n if (this.positionLeftItem < positionItemMin) {\n nextItemPosition = position.getItemMax(items);\n items[nextItemPosition].position = positionItemMin - 1;\n items[nextItemPosition].transform -= items.length * step;\n this.updateItems([...items]);\n }\n\n this.indexIndicator -= 1;\n if (this.indexIndicator < 0) {\n this.indexIndicator = maxIndexIndicator;\n }\n this.transform += step;\n }\n\n const activeItemIndex = items.findIndex((item) => item.position === this.positionLeftItem);\n if (items[activeItemIndex]) {\n items[\n activeItemIndex\n ].node.style.transform = `translateX(${items[activeItemIndex].transform}%)`;\n }\n this.transformContainer(this.transform);\n return { activeItemIndex };\n };\n\n bindHandlerClick = (direction) => {\n return () => {\n const { activeItemIndex } = this.controlTransformItem(direction);\n this.handlers.index(activeItemIndex);\n };\n };\n\n bindHandlerClickIndicator = (value) => {\n return () => {\n !this.isControlled && this.slideToValue(this.indexIndicator, value, true);\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n const { activeItemIndex } = this.controlTransformItem('left');\n this.handlers.index(activeItemIndex);\n } else if (delta < -50) {\n const { activeItemIndex } = this.controlTransformItem('right');\n this.handlers.index(activeItemIndex);\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(_, index) {\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: index === this.asProps.index,\n };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n label: getI18nText('prev'),\n };\n }\n\n getNextProps() {\n const { index, bounded, getI18nText } = this.asProps;\n const { items } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = index === items.length - 1;\n }\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n label: getI18nText('next'),\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n const { index } = this.asProps;\n\n return {\n items: items.map((item, key) => ({\n active: key === index,\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n render() {\n const SCarousel = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='group'\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n <Children />\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nconst Item = (props) => {\n const { styles, toggleItem, index, uid, current } = props;\n const SItem = Root;\n const refItem = React.createRef();\n React.useEffect(() => {\n // add item\n toggleItem({ node: refItem.current });\n return () => {\n // remove item\n toggleItem({ node: refItem.current }, true);\n };\n }, []);\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n />,\n );\n};\n\nconst Prev = (props) => {\n const { styles, children, Children, label, top = 0 } = props;\n const SPrev = Root;\n return sstyled(styles)(\n <SPrev render={Box} top={top}>\n {children ? <Children /> : <ChevronLeft interactive aria-label={label} />}\n </SPrev>,\n );\n};\n\nconst Next = (props) => {\n const { styles, children, Children, label, top = 0 } = props;\n const SNext = Root;\n return sstyled(styles)(\n <SNext render={Box} top={top}>\n {children ? <Children /> : <ChevronRight interactive aria-label={label} />}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,EAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,GAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,YAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,4BAAA,GAAAR,OAAA;AAAmF;AAAA,IAAAS,KAAA,+BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAInF,IAAMC,QAAQ,GAAG;EACfC,UAAU,EAAE,SAAAA,WAAUC,KAAK,EAAE;IAC3B,IAAIC,SAAS,GAAG,CAAC;IACjBD,KAAK,CAACE,OAAO,CAAC,UAAUC,IAAI,EAAEC,KAAK,EAAE;MACnC,IAAID,IAAI,CAACL,QAAQ,GAAGE,KAAK,CAACC,SAAS,CAAC,CAACH,QAAQ,EAAE;QAC7CG,SAAS,GAAGG,KAAK;MACnB;IACF,CAAC,CAAC;IACF,OAAOH,SAAS;EAClB,CAAC;EACDI,UAAU,EAAE,SAAAA,WAAUL,KAAK,EAAE;IAC3B,IAAIC,SAAS,GAAG,CAAC;IACjBD,KAAK,CAACE,OAAO,CAAC,UAAUC,IAAI,EAAEC,KAAK,EAAE;MACnC,IAAID,IAAI,CAACL,QAAQ,GAAGE,KAAK,CAACC,SAAS,CAAC,CAACH,QAAQ,EAAE;QAC7CG,SAAS,GAAGG,KAAK;MACnB;IACF,CAAC,CAAC;IACF,OAAOH,SAAS;EAClB,CAAC;EACDK,MAAM,EAAE,SAAAA,OAAUN,KAAK,EAAE;IACvB,OAAOA,KAAK,CAACF,QAAQ,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC,CAACF,QAAQ;EACnD,CAAC;EACDS,MAAM,EAAE,SAAAA,OAAUP,KAAK,EAAE;IACvB,OAAOA,KAAK,CAACF,QAAQ,CAACO,UAAU,CAACL,KAAK,CAAC,CAAC,CAACF,QAAQ;EACnD;AACF,CAAC;AAED,IAAMU,aAAa,GAAG;EACpBC,SAAS,EAAE,MAAM;EACjBC,UAAU,EAAE;AACd,CAAC;AAAC,IAEIC,YAAY,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,YAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,YAAA;EAmBhB,SAAAA,aAAYK,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAP,YAAA;IACjBM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAAE,IAAAI,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCANAK,iBAAK,CAACC,SAAS,EAAE;IAAA,IAAAH,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gBACpB,CAAC;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBACM,CAAC;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,qBACH,CAAC;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,qBAuBD,UAACO,CAAC,EAAK;MACtB,QAAQA,CAAC,CAACC,GAAG;QACX,KAAK,WAAW;QAChB,KAAK,YAAY;UAAE;YACjBD,CAAC,CAACE,cAAc,EAAE;YAClB,IAAAC,qBAAA,GAA4BV,KAAA,CAAKW,oBAAoB,CAACpB,aAAa,CAACgB,CAAC,CAACC,GAAG,CAAC,CAAC;cAAnEI,eAAe,GAAAF,qBAAA,CAAfE,eAAe;YACvBZ,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACyB,eAAe,CAAC;UACtC;MAAC;IAEL,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,iBAEY,UAACd,IAAI,EAAyB;MAAA,IAAvB4B,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;MACpC,IAAQ5B,KAAK,GAAKa,KAAA,CAAKkB,OAAO,CAAtB/B,KAAK;MACb,IAAQJ,KAAK,GAAKiB,KAAA,CAAKmB,KAAK,CAApBpC,KAAK;MACb,IAAI+B,UAAU,EAAE;QACdd,KAAA,CAAKoB,WAAW,CAACrC,KAAK,CAACsC,MAAM,CAAC,UAACC,OAAO;UAAA,OAAKA,OAAO,CAACC,IAAI,KAAKrC,IAAI,CAACqC,IAAI;QAAA,EAAC,CAAC;MACzE,CAAC,MAAM;QACLvB,KAAA,CAAKwB,QAAQ,CACX,UAACL,KAAK,EAAK;UACT,OAAO;YACLpC,KAAK,EAAE,GAAA0C,MAAA,KAAAC,mBAAA,aAAIP,KAAK,CAACpC,KAAK,IAAEG,IAAI,GAAEyC,GAAG,CAAC,UAACL,OAAO,EAAEzC,QAAQ;cAAA,WAAA+C,cAAA,iBAAAA,cAAA,iBAC/CN,OAAO;gBACVzC,QAAQ,EAARA,QAAQ;gBACRgD,SAAS,EAAE;cAAC;YAAA,CACZ;UACJ,CAAC;QACH,CAAC,EACD,YAAM;UACJ,IAAQ9C,KAAK,GAAKiB,KAAA,CAAKmB,KAAK,CAApBpC,KAAK;UACb,IAAIA,KAAK,CAACiC,MAAM,GAAG7B,KAAK,IAAIA,KAAK,IAAI,CAAC,EAAE;YACtCa,KAAA,CAAK8B,YAAY,CAAC9B,KAAA,CAAK+B,cAAc,EAAE5C,KAAK,CAAC;UAC/C;QACF,CAAC,CACF;MACH;IACF,CAAC;IAAA,IAAAgB,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,kBAEa,UAACjB,KAAK,EAAK;MACvBiB,KAAA,CAAKwB,QAAQ,CAAC;QAAA,OAAO;UAAEzC,KAAK,EAALA;QAAM,CAAC;MAAA,CAAC,CAAC;IAClC,CAAC;IAAA,IAAAoB,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,yBAEoB,UAAC6B,SAAS,EAAK;MAClC,IAAI7B,KAAA,CAAKgC,YAAY,CAACC,OAAO,EAAE;QAC7BjC,KAAA,CAAKgC,YAAY,CAACC,OAAO,CAACvD,KAAK,CAACmD,SAAS,iBAAAJ,MAAA,CAAiBI,SAAS,OAAI;MACzE;IACF,CAAC;IAAA,IAAA1B,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBAEc,UAACkC,YAAY,EAAEC,SAAS,EAAEC,OAAO,EAAK;MACnD,IAAIA,OAAO,EAAE;QACX,OAAOF,YAAY,GAAGC,SAAS,GAAG,OAAO,GAAG,MAAM;MACpD;MACA,IAAQpD,KAAK,GAAKiB,KAAA,CAAKmB,KAAK,CAApBpC,KAAK;MACb,IAAMsD,SAAS,GAAGtD,KAAK,CAAC4C,GAAG,CAAC,UAACW,CAAC,EAAEC,GAAG;QAAA,OAAKA,GAAG;MAAA,EAAC;MAC5C,IAAMC,MAAM,OAAAd,mBAAA,aAAOW,SAAS,CAAC;MAC7B,IAAMI,SAAS,GAAGD,MAAM,CAAC,CAAC,CAAC;MAC3B,IAAME,SAAS,GAAGF,MAAM,CAACA,MAAM,CAACxB,MAAM,GAAG,CAAC,CAAC;MAE3C,IAAIwB,MAAM,CAACxB,MAAM,KAAK,CAAC,EAAE;QACvB,OAAOkB,YAAY,GAAGC,SAAS,GAAG,OAAO,GAAG,MAAM;MACpD;MACA,IAAID,YAAY,KAAKO,SAAS,EAAE;QAC9BD,MAAM,CAACG,OAAO,CAACD,SAAS,CAAC;QACzBF,MAAM,CAACI,GAAG,EAAE;MACd;MACA,IAAIV,YAAY,KAAKQ,SAAS,EAAE;QAC9BF,MAAM,CAACK,KAAK,EAAE;QACdL,MAAM,CAACM,IAAI,CAACL,SAAS,CAAC;MACxB;MAEA,IAAMM,eAAe,GAAGP,MAAM,CAACQ,OAAO,CAACd,YAAY,CAAC;MACpD,IAAMe,IAAI,GAAGT,MAAM,CAACQ,OAAO,CAACb,SAAS,CAAC;MAEtC,OAAOc,IAAI,GAAGF,eAAe,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO;IACtD,CAAC;IAAA,IAAA5C,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBAEc,UAACkC,YAAY,EAAEgB,aAAa,EAAEd,OAAO,EAAK;MACvD,IAAIF,YAAY,KAAKgB,aAAa,EAAE,OAAO,KAAK;MAChD,IAAMC,SAAS,GAAGnD,KAAA,CAAKoD,YAAY,CACjClB,YAAY,EACZgB,aAAa,EACbd,OAAO,IAAIpC,KAAA,CAAKkB,OAAO,CAACkB,OAAO,CAChC;MACD,IAAIiB,CAAC,GAAGnB,YAAY;MACpB,OAAOgB,aAAa,KAAKG,CAAC,EAAE;QAC1B,IAAAC,mBAAA,GAA4BtD,KAAA,CAAKuD,aAAa,CAACJ,SAAS,CAAC;UAAjDvC,eAAe,GAAA0C,mBAAA,CAAf1C,eAAe;QACvByC,CAAC,GAAGzC,eAAe;MACrB;IACF,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,2BAEsB,UAACmD,SAAS,EAAK;MACpC,IAAAK,aAAA,GAA2BxD,KAAA,CAAKkB,OAAO;QAA/BkB,OAAO,GAAAoB,aAAA,CAAPpB,OAAO;QAAEjD,KAAK,GAAAqE,aAAA,CAALrE,KAAK;MACtB,IAAQJ,KAAK,GAAKiB,KAAA,CAAKmB,KAAK,CAApBpC,KAAK;MACb,IAAM0E,iBAAiB,GAAG1E,KAAK,CAACiC,MAAM,GAAG,CAAC;MAE1C,IAAIhB,KAAA,CAAK0D,YAAY,EAAE;QACrB,IAAIP,SAAS,KAAK,OAAO,EAAE;UACzB,IAAIf,OAAO,IAAIjD,KAAK,KAAKsE,iBAAiB,EAAE;YAC1C,OAAO;cAAE7C,eAAe,EAAE6C;YAAkB,CAAC;UAC/C;UACA,OAAO;YAAE7C,eAAe,EAAEzB,KAAK,KAAKsE,iBAAiB,GAAG,CAAC,GAAGtE,KAAK,GAAG;UAAE,CAAC;QACzE;QACA,IAAIgE,SAAS,KAAK,MAAM,EAAE;UACxB,IAAIf,OAAO,IAAIjD,KAAK,KAAK,CAAC,EAAE;YAC1B,OAAO;cAAEyB,eAAe,EAAE;YAAE,CAAC;UAC/B;UACA,OAAO;YAAEA,eAAe,EAAEzB,KAAK,KAAK,CAAC,GAAGsE,iBAAiB,GAAGtE,KAAK,GAAG;UAAE,CAAC;QACzE;MACF;MACA,OAAOa,KAAA,CAAKuD,aAAa,CAACJ,SAAS,CAAC;IACtC,CAAC;IAAA,IAAAhD,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBAEe,UAACmD,SAAS,EAAK;MAC7B,IAAAQ,cAAA,GAA0B3D,KAAA,CAAKkB,OAAO;QAA9BkB,OAAO,GAAAuB,cAAA,CAAPvB,OAAO;QAAEwB,IAAI,GAAAD,cAAA,CAAJC,IAAI;MACrB,IAAQ7E,KAAK,GAAKiB,KAAA,CAAKmB,KAAK,CAApBpC,KAAK;MACb,IAAM0E,iBAAiB,GAAG1E,KAAK,CAACiC,MAAM,GAAG,CAAC;MAC1C,IAAI6C,gBAAgB,GAAG5C,SAAS;MAEhC,IAAIkC,SAAS,KAAK,OAAO,EAAE;QACzB,IAAIf,OAAO,IAAIpC,KAAA,CAAK8D,gBAAgB,KAAKL,iBAAiB,EAAE;UAC1D,OAAO;YAAE7C,eAAe,EAAE6C;UAAkB,CAAC;QAC/C;QACAzD,KAAA,CAAK8D,gBAAgB,IAAI,CAAC;QAC1B,IAAMC,eAAe,GAAGlF,QAAQ,CAACS,MAAM,CAACP,KAAK,CAAC;QAE9C,IAAIiB,KAAA,CAAK8D,gBAAgB,GAAGC,eAAe,EAAE;UAC3CF,gBAAgB,GAAGhF,QAAQ,CAACC,UAAU,CAACC,KAAK,CAAC;UAC7CA,KAAK,CAAC8E,gBAAgB,CAAC,CAAChF,QAAQ,GAAGkF,eAAe,GAAG,CAAC;UACtDhF,KAAK,CAAC8E,gBAAgB,CAAC,CAAChC,SAAS,IAAI9C,KAAK,CAACiC,MAAM,GAAG4C,IAAI;UACxD5D,KAAA,CAAKoB,WAAW,KAAAM,mBAAA,aAAK3C,KAAK,EAAE;QAC9B;QAEAiB,KAAA,CAAK+B,cAAc,IAAI,CAAC;QACxB,IAAI/B,KAAA,CAAK+B,cAAc,GAAG0B,iBAAiB,EAAE;UAC3CzD,KAAA,CAAK+B,cAAc,GAAG,CAAC;QACzB;QACA/B,KAAA,CAAK6B,SAAS,IAAI+B,IAAI;MACxB;MACA,IAAIT,SAAS,KAAK,MAAM,EAAE;QACxB,IAAIf,OAAO,IAAIpC,KAAA,CAAK8D,gBAAgB,KAAK,CAAC,EAAE;UAC1C,OAAO;YAAElD,eAAe,EAAE;UAAE,CAAC;QAC/B;QACAZ,KAAA,CAAK8D,gBAAgB,IAAI,CAAC;QAC1B,IAAME,eAAe,GAAGnF,QAAQ,CAACQ,MAAM,CAACN,KAAK,CAAC;QAE9C,IAAIiB,KAAA,CAAK8D,gBAAgB,GAAGE,eAAe,EAAE;UAC3CH,gBAAgB,GAAGhF,QAAQ,CAACO,UAAU,CAACL,KAAK,CAAC;UAC7CA,KAAK,CAAC8E,gBAAgB,CAAC,CAAChF,QAAQ,GAAGmF,eAAe,GAAG,CAAC;UACtDjF,KAAK,CAAC8E,gBAAgB,CAAC,CAAChC,SAAS,IAAI9C,KAAK,CAACiC,MAAM,GAAG4C,IAAI;UACxD5D,KAAA,CAAKoB,WAAW,KAAAM,mBAAA,aAAK3C,KAAK,EAAE;QAC9B;QAEAiB,KAAA,CAAK+B,cAAc,IAAI,CAAC;QACxB,IAAI/B,KAAA,CAAK+B,cAAc,GAAG,CAAC,EAAE;UAC3B/B,KAAA,CAAK+B,cAAc,GAAG0B,iBAAiB;QACzC;QACAzD,KAAA,CAAK6B,SAAS,IAAI+B,IAAI;MACxB;MAEA,IAAMhD,eAAe,GAAG7B,KAAK,CAACkF,SAAS,CAAC,UAAC/E,IAAI;QAAA,OAAKA,IAAI,CAACL,QAAQ,KAAKmB,KAAA,CAAK8D,gBAAgB;MAAA,EAAC;MAC1F,IAAI/E,KAAK,CAAC6B,eAAe,CAAC,EAAE;QAC1B7B,KAAK,CACH6B,eAAe,CAChB,CAACW,IAAI,CAAC7C,KAAK,CAACmD,SAAS,iBAAAJ,MAAA,CAAiB1C,KAAK,CAAC6B,eAAe,CAAC,CAACiB,SAAS,OAAI;MAC7E;MACA7B,KAAA,CAAKkE,kBAAkB,CAAClE,KAAA,CAAK6B,SAAS,CAAC;MACvC,OAAO;QAAEjB,eAAe,EAAfA;MAAgB,CAAC;IAC5B,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,uBAEkB,UAACmD,SAAS,EAAK;MAChC,OAAO,YAAM;QACX,IAAAgB,sBAAA,GAA4BnE,KAAA,CAAKW,oBAAoB,CAACwC,SAAS,CAAC;UAAxDvC,eAAe,GAAAuD,sBAAA,CAAfvD,eAAe;QACvBZ,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACyB,eAAe,CAAC;MACtC,CAAC;IACH,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCAE2B,UAACoE,KAAK,EAAK;MACrC,OAAO,YAAM;QACX,CAACpE,KAAA,CAAK0D,YAAY,IAAI1D,KAAA,CAAK8B,YAAY,CAAC9B,KAAA,CAAK+B,cAAc,EAAEqC,KAAK,EAAE,IAAI,CAAC;QACzEpE,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACiF,KAAK,CAAC;MAC5B,CAAC;IACH,CAAC;IAAA,IAAAjE,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,wBAEmB,UAACO,CAAC,EAAK;MACzBP,KAAA,CAAKqE,gBAAgB,GAAG9D,CAAC,CAAC+D,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;IACrD,CAAC;IAAA,IAAApE,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,sBAEiB,UAACO,CAAC,EAAK;MACvB,IAAMiE,aAAa,GAAGjE,CAAC,CAAC+D,cAAc,CAAC,CAAC,CAAC,CAACC,OAAO;MACjD,IAAME,KAAK,GAAGD,aAAa,GAAGxE,KAAA,CAAKqE,gBAAgB;MACnD,IAAII,KAAK,GAAG,EAAE,EAAE;QACd,IAAAC,sBAAA,GAA4B1E,KAAA,CAAKW,oBAAoB,CAAC,MAAM,CAAC;UAArDC,eAAe,GAAA8D,sBAAA,CAAf9D,eAAe;QACvBZ,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACyB,eAAe,CAAC;MACtC,CAAC,MAAM,IAAI6D,KAAK,GAAG,CAAC,EAAE,EAAE;QACtB,IAAAE,sBAAA,GAA4B3E,KAAA,CAAKW,oBAAoB,CAAC,OAAO,CAAC;UAAtDC,gBAAe,GAAA+D,sBAAA,CAAf/D,eAAe;QACvBZ,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACyB,gBAAe,CAAC;MACtC;IACF,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gCAoB2B,UAACmD,SAAS;MAAA,OAAK,UAAC5C,CAAC,EAAK;QAChD,IAAQC,GAAG,GAAKD,CAAC,CAATC,GAAG;QACX,IAAIA,GAAG,KAAK,OAAO,EAAE;UACnBD,CAAC,CAACE,cAAc,EAAE;UAClBT,KAAA,CAAK4E,gBAAgB,CAACzB,SAAS,CAAC,EAAE;QACpC;MACF,CAAC;IAAA;IAjPCnD,KAAA,CAAK0D,YAAY,GAAG3D,KAAK,CAACZ,KAAK,KAAK8B,SAAS;IAC7CjB,KAAA,CAAKmB,KAAK,GAAG;MACXpC,KAAK,EAAE;IACT,CAAC;IAAC,OAAAiB,KAAA;EACJ;EAAC,IAAA6E,aAAA,aAAAnF,YAAA;IAAAc,GAAA;IAAA4D,KAAA,EAED,SAAAU,kBAAA,EAAoB;MAClB,OAAO;QACL3F,KAAK,EAAE;MACT,CAAC;IACH;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAED,SAAAW,mBAAmBC,SAAS,EAAE;MAC5B,IAAQ7F,KAAK,GAAK,IAAI,CAAC+B,OAAO,CAAtB/B,KAAK;MACb,IAAI6F,SAAS,CAAC7F,KAAK,KAAKA,KAAK,IAAI,IAAI,CAACuE,YAAY,EAAE;QAClD,IAAI,CAAC5B,YAAY,CAACkD,SAAS,CAAC7F,KAAK,EAAEA,KAAK,CAAC;MAC3C;IACF;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAwMD,SAAAa,kBAAA,EAAoB;MAClB,IAAQC,QAAQ,GAAK,IAAI,CAAChE,OAAO,CAAzBgE,QAAQ;MAEhB,OAAO;QACLC,GAAG,EAAE,IAAI,CAACnD,YAAY;QACtBkD,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAA1E,GAAA;IAAA4D,KAAA,EAED,SAAAgB,aAAa9C,CAAC,EAAEnD,KAAK,EAAE;MACrB,OAAO;QACLkG,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BC,GAAG,EAAE,IAAI,CAACpE,OAAO,CAACoE,GAAG;QACrBnG,KAAK,EAALA,KAAK;QACL8C,OAAO,EAAE9C,KAAK,KAAK,IAAI,CAAC+B,OAAO,CAAC/B;MAClC,CAAC;IACH;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAUD,SAAAmB,aAAA,EAAe;MACb,IAAAC,cAAA,GAAwC,IAAI,CAACtE,OAAO;QAA5C/B,KAAK,GAAAqG,cAAA,CAALrG,KAAK;QAAEiD,OAAO,GAAAoD,cAAA,CAAPpD,OAAO;QAAEqD,WAAW,GAAAD,cAAA,CAAXC,WAAW;MACnC,IAAQ1G,KAAK,GAAK,IAAI,CAACoC,KAAK,CAApBpC,KAAK;MACb,IAAI2G,QAAQ,GAAG,KAAK;MACpB,IAAI3G,KAAK,CAACiC,MAAM,IAAIoB,OAAO,EAAE;QAC3BsD,QAAQ,GAAGvG,KAAK,KAAK,CAAC;MACxB;MACA,OAAO;QACLwG,OAAO,EAAE,IAAI,CAACf,gBAAgB,CAAC,MAAM,CAAC;QACtCgB,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,MAAM,CAAC;QACjDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAEL,WAAW,CAAC,MAAM;MAC3B,CAAC;IACH;EAAC;IAAAjF,GAAA;IAAA4D,KAAA,EAED,SAAA2B,aAAA,EAAe;MACb,IAAAC,cAAA,GAAwC,IAAI,CAAC9E,OAAO;QAA5C/B,KAAK,GAAA6G,cAAA,CAAL7G,KAAK;QAAEiD,OAAO,GAAA4D,cAAA,CAAP5D,OAAO;QAAEqD,WAAW,GAAAO,cAAA,CAAXP,WAAW;MACnC,IAAQ1G,KAAK,GAAK,IAAI,CAACoC,KAAK,CAApBpC,KAAK;MACb,IAAI2G,QAAQ,GAAG,KAAK;MACpB,IAAI3G,KAAK,CAACiC,MAAM,IAAIoB,OAAO,EAAE;QAC3BsD,QAAQ,GAAGvG,KAAK,KAAKJ,KAAK,CAACiC,MAAM,GAAG,CAAC;MACvC;MACA,OAAO;QACL2E,OAAO,EAAE,IAAI,CAACf,gBAAgB,CAAC,OAAO,CAAC;QACvCgB,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,OAAO,CAAC;QAClDH,QAAQ,EAARA,QAAQ;QACRI,KAAK,EAAEL,WAAW,CAAC,MAAM;MAC3B,CAAC;IACH;EAAC;IAAAjF,GAAA;IAAA4D,KAAA,EAED,SAAA6B,mBAAA,EAAqB;MAAA,IAAAC,MAAA;MACnB,IAAQnH,KAAK,GAAK,IAAI,CAACoC,KAAK,CAApBpC,KAAK;MACb,IAAQI,KAAK,GAAK,IAAI,CAAC+B,OAAO,CAAtB/B,KAAK;MAEb,OAAO;QACLJ,KAAK,EAAEA,KAAK,CAAC4C,GAAG,CAAC,UAACzC,IAAI,EAAEsB,GAAG;UAAA,OAAM;YAC/B2F,MAAM,EAAE3F,GAAG,KAAKrB,KAAK;YACrBwG,OAAO,EAAEO,MAAI,CAACE,yBAAyB,CAAC5F,GAAG,CAAC;YAC5CA,GAAG,EAAHA;UACF,CAAC;QAAA,CAAC;MACJ,CAAC;IACH;EAAC;IAAAA,GAAA;IAAA4D,KAAA,EAED,SAAAiC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAApF,OAAA;QAAAqF,KAAA;MACP,IAAMC,SAAS,GAKHC,YAAG;MAJf,IAAAC,cAAA,GAA6B,IAAI,CAACxF,OAAO;QAAjCyF,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEC,QAAQ,GAAAF,cAAA,CAARE,QAAQ;MAExB,OAAAL,KAAA,GAAO,IAAA5H,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACL,SAAS,EAAAD,KAAA,CAAAO,EAAA,kBAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;QAAA,QAEH,OAAO;QAAA,aACD,IAAI,CAACC,cAAc;QAAA,YACpB,CAAC;QAAA,gBACG,IAAI,CAACC,iBAAiB;QAAA,cACxB,IAAI,CAACC;MAAe,GAAAZ,IAAA,kBAEhCpI,MAAA,YAAA2I,aAAA,CAACD,QAAQ,EAAAL,KAAA,CAAAO,EAAA,iBAAG,CACF;IAEhB;EAAC;EAAA,OAAApH,YAAA;AAAA,EAnUwByH,eAAS;AAAA,IAAAhH,gBAAA,aAA9BT,YAAY,iBACK,UAAU;AAAA,IAAAS,gBAAA,aAD3BT,YAAY,kBAEM;EACpB0H,YAAY,EAAE,CAAC;EACflC,QAAQ,EAAE,GAAG;EACbtB,IAAI,EAAE,GAAG;EACTxB,OAAO,EAAE,KAAK;EACdiF,IAAI,EAAEC,8CAAiB;EACvBC,MAAM,EAAE;AACV,CAAC;AAAA,IAAApH,gBAAA,aATGT,YAAY,WAWDhB,KAAK;AAAA,IAAAyB,gBAAA,aAXhBT,YAAY,aAYC,CAAC,IAAA8H,oBAAmB,GAAE,EAAE,IAAAC,uBAAW,EAACH,8CAAiB,CAAC,CAAC;AA0T1E,IAAMI,SAAS,GAAG,SAAZA,SAASA,CAAI3H,KAAK,EAAK;EAAA,IAAA4H,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAC3B,IAAMC,UAAU,GAG2BrB,YAAG;EAF9C,IAAQE,MAAM,GAAe5G,KAAK,CAA1B4G,MAAM;IAAEzB,QAAQ,GAAKnF,KAAK,CAAlBmF,QAAQ;EAExB,OAAA2C,KAAA,GAAO,IAAAlJ,aAAO,EAACgI,MAAM,CAAC,eAACzI,MAAA,YAAA2I,aAAA,CAACiB,UAAU,EAAAD,KAAA,CAAAf,EAAA,mBAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;IAAA,QAAmB,MAAM;IAAA,mBAAAtF,MAAA,CAAkByD,QAAQ;EAAA,GAAAyC,KAAA,IAAQ;AAC/F,CAAC;AAED,IAAMI,IAAI,GAAG,SAAPA,IAAIA,CAAIhI,KAAK,EAAK;EAAA,IAAAiI,KAAA,GAAAJ,YAAA;IAAAK,MAAA;EACtB,IAAQtB,MAAM,GAAsC5G,KAAK,CAAjD4G,MAAM;IAAEtB,UAAU,GAA0BtF,KAAK,CAAzCsF,UAAU;IAAElG,KAAK,GAAmBY,KAAK,CAA7BZ,KAAK;IAAEmG,GAAG,GAAcvF,KAAK,CAAtBuF,GAAG;IAAErD,OAAO,GAAKlC,KAAK,CAAjBkC,OAAO;EAC/C,IAAMiG,KAAK,GAaCzB,YAAG;EAZf,IAAM0B,OAAO,gBAAG9H,iBAAK,CAACC,SAAS,EAAE;EACjCD,iBAAK,CAAC+H,SAAS,CAAC,YAAM;IACpB;IACA/C,UAAU,CAAC;MAAE9D,IAAI,EAAE4G,OAAO,CAAClG;IAAQ,CAAC,CAAC;IACrC,OAAO,YAAM;MACX;MACAoD,UAAU,CAAC;QAAE9D,IAAI,EAAE4G,OAAO,CAAClG;MAAQ,CAAC,EAAE,IAAI,CAAC;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAAgG,MAAA,GAAO,IAAAtJ,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACqB,KAAK,EAAAD,MAAA,CAAAnB,EAAA,cAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;IAAA,OAECoB,OAAO;IAAA,QACP,UAAU;IAAA,aAAA1G,MAAA,CACJ6D,GAAG,qBAAA7D,MAAA,CAAkBtC,KAAK;IAAA,gBACvB8C;EAAO,GAAA+F,KAAA,IACrB;AAEN,CAAC;AAED,IAAMK,IAAI,GAAG,SAAPA,IAAIA,CAAItI,KAAK,EAAK;EAAA,IAAAuI,KAAA,GAAAV,YAAA;IAAAW,MAAA;EACtB,IAAQ5B,MAAM,GAAyC5G,KAAK,CAApD4G,MAAM;IAAE6B,QAAQ,GAA+BzI,KAAK,CAA5CyI,QAAQ;IAAE5B,QAAQ,GAAqB7G,KAAK,CAAlC6G,QAAQ;IAAEd,KAAK,GAAc/F,KAAK,CAAxB+F,KAAK;IAAA2C,UAAA,GAAc1I,KAAK,CAAjB2I,GAAG;IAAHA,GAAG,GAAAD,UAAA,cAAG,CAAC,GAAAA,UAAA;EAClD,IAAME,KAAK,GAEMlC,YAAG;EADpB,OAAA8B,MAAA,GAAO,IAAA5J,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAAC8B,KAAK,EAAAJ,MAAA,CAAAzB,EAAA,cAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;IAAA,OAAmB2B;EAAG,GAAAJ,KAAA,KACzBE,QAAQ,gBAAGtK,MAAA,YAAA2I,aAAA,CAACD,QAAQ,EAAA2B,MAAA,CAAAzB,EAAA,iBAAG,gBAAG5I,MAAA,YAAA2I,aAAA,CAACvI,GAAA,WAAW,EAAAiK,MAAA,CAAAzB,EAAA;IAAA;IAAA,cAAyBhB;EAAK,GAAI,CACnE;AAEZ,CAAC;AAED,IAAM8C,IAAI,GAAG,SAAPA,IAAIA,CAAI7I,KAAK,EAAK;EAAA,IAAA8I,KAAA,GAAAjB,YAAA;IAAAkB,MAAA;EACtB,IAAQnC,MAAM,GAAyC5G,KAAK,CAApD4G,MAAM;IAAE6B,QAAQ,GAA+BzI,KAAK,CAA5CyI,QAAQ;IAAE5B,QAAQ,GAAqB7G,KAAK,CAAlC6G,QAAQ;IAAEd,KAAK,GAAc/F,KAAK,CAAxB+F,KAAK;IAAAiD,WAAA,GAAchJ,KAAK,CAAjB2I,GAAG;IAAHA,GAAG,GAAAK,WAAA,cAAG,CAAC,GAAAA,WAAA;EAClD,IAAMC,KAAK,GAEMvC,YAAG;EADpB,OAAAqC,MAAA,GAAO,IAAAnK,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACmC,KAAK,EAAAF,MAAA,CAAAhC,EAAA,cAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;IAAA,OAAmB2B;EAAG,GAAAG,KAAA,KACzBL,QAAQ,gBAAGtK,MAAA,YAAA2I,aAAA,CAACD,QAAQ,EAAAkC,MAAA,CAAAhC,EAAA,iBAAG,gBAAG5I,MAAA,YAAA2I,aAAA,CAACxI,EAAA,WAAY,EAAAyK,MAAA,CAAAhC,EAAA;IAAA;IAAA,cAAyBhB;EAAK,GAAI,CACpE;AAEZ,CAAC;AAED,IAAMmD,UAAU,GAAG,SAAbA,UAAUA,CAAAC,MAAA,EAAoC;EAAA,IAAAC,KAAA,GAAAvB,YAAA;IAAAwB,MAAA;EAAA,IAA9BrK,KAAK,GAAAmK,MAAA,CAALnK,KAAK;IAAE4H,MAAM,GAAAuC,MAAA,CAANvC,MAAM;IAAEC,QAAQ,GAAAsC,MAAA,CAARtC,QAAQ;EAC3C,IAAMyC,WAAW,GASM5C,YAAG;EAR1B,IAAIG,QAAQ,CAAC0C,MAAM,EAAE;IAAA,IAAAC,MAAA;IACnB,OAAAA,MAAA,GAAO,IAAA5K,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACwC,WAAW,EAAAE,MAAA,CAAAzC,EAAA,oBAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;MAAA,eAA0B;IAAM,GAAAoC,KAAA,kBAC1CjL,MAAA,YAAA2I,aAAA,CAACD,QAAQ,EAAA2C,MAAA,CAAAzC,EAAA,iBAAG,CACA;EAElB;EACA,OAAAsC,MAAA,GAAO,IAAAzK,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACwC,WAAW,EAAAD,MAAA,CAAAtC,EAAA,oBAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA;IAAA,eAA0B;EAAM,GAAAoC,KAAA,KACzCpK,KAAK,CAAC4C,GAAG,CAAC,UAACzC,IAAI,EAAEC,KAAK;IAAA,oBACrBjB,MAAA,YAAA2I,aAAA,CAAC2C,QAAQ,CAACC,SAAS,MAAAC,SAAA;MAAClJ,GAAG,EAAErB;IAAM,GAAKD,IAAI,EAAI;EAAA,CAC7C,CAAC,CACU;AAElB,CAAC;AAED,IAAMuK,SAAS,GAAG,SAAZA,SAASA,CAAAE,MAAA,EAA6B;EAAA,IAAAC,KAAA,GAAAhC,YAAA;IAAAiC,MAAA;EAAA,IAAvBlD,MAAM,GAAAgD,MAAA,CAANhD,MAAM;IAAEC,QAAQ,GAAA+C,MAAA,CAAR/C,QAAQ;EACnC,IAAMkD,UAAU,GAEMrD,YAAG;EADzB,OAAAoD,MAAA,GAAO,IAAAlL,aAAO,EAACgI,MAAM,CAAC,eACpBzI,MAAA,YAAA2I,aAAA,CAACiD,UAAU,EAAAD,MAAA,CAAA/C,EAAA,mBAAAlF,cAAA,qBAAA7D,KAAA,CAAAgJ,WAAA,MAAA6C,KAAA,kBACT1L,MAAA,YAAA2I,aAAA,CAACD,QAAQ,EAAAiD,MAAA,CAAA/C,EAAA,iBAAG,CACD;AAEjB,CAAC;AAED,IAAM0C,QAAQ,GAAG,IAAAO,gBAAe,EAACrK,YAAY,EAAE;EAC7CgI,SAAS,EAATA,SAAS;EACTuB,UAAU,EAAVA,UAAU;EACVQ,SAAS,EAATA,SAAS;EACT1B,IAAI,EAAJA,IAAI;EACJM,IAAI,EAAJA,IAAI;EACJO,IAAI,EAAJA;AACF,CAAC,CAAC;AAAC,IAAAoB,QAAA,GAEYR,QAAQ;AAAAS,OAAA,cAAAD,QAAA"}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_button","_modal","_flexBox","_l","_l2","_uniqueID","_i18nEnhance","_intergalacticDynamicLocales","_logger","_findComponent","_breakpoints","style","sstyled","insert","MAP_TRANSFORM","ArrowLeft","ArrowRight","enhance","uid","uniqueIDEnhancement","getI18nText","i18nEnhance","localizedMessages","media","BreakPoints","createBreakpoints","isSmallScreen","index","CarouselRoot","_Component","_inherits2","_super","_createSuper2","props","_ref18","_props$index","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","e","key","preventDefault","transformItem","item","removeItem","arguments","length","undefined","setState","prevState","newItems","items","filter","element","node","concat","_toConsumableArray2","defaultItemsCount","transform","state","selectedIndex","refContainer","current","refModalContainer","currentIndex","nextIndex","bounded","asProps","listIndex","map","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","direction","diff","Math","abs","_this$state","maxIndexIndicator","handlers","isControlled","transformContainer","value","_this$state2","newValueIndex","floor","slideToValue","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","isOpenZoom","bindHandlerClick","defaultIndex","_createClass2","uncontrolledProps","componentDidMount","logger","warn","displayName","deprecatedComponents","findAllComponents","Children","componentDidUpdate","prevProps","_this2","getContainerProps","duration","ref","getItemProps","zoom","isCurrent","isSelected","toggleItem","zoomIn","onToggleZoomModal","handleToggleZoomModal","getTransform","getPrevProps","_this$asProps","_this$state3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","label","getNextProps","_this$asProps2","_this$state4","getIndicatorsProps","_this3","active","bindHandlerClickIndicator","_this$state5","count","_this$state6","renderModal","isSmall","ComponentItems","_ref","_ref9","_this4","SModalContainer","Box","_this$asProps3","styles","hasZoom","zoomWidth","ariaLabel","ariaRoledescription","createElement","cn","Flex","Carousel","Prev","inverted","overflow","borderRadius","_objectSpread2","assignProps","i","Item","_extends2","zoomOut","Next","Indicators","render","_ref2","_ref10","_this5","SCarousel","_this$asProps4","indicators","Controls","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Fragment","Container","Indicator","w","h","Context","Consumer","mediaIndex","Component","step","i18n","locale","Object","values","_ref3","arguments[0]","_ref11","SContainer","_Component2","_super2","_this6","_len","args","Array","_key","apply","refItem","componentWillUnmount","_ref4","_ref12","_this$props","SItem","_ref5","_ref13","children","_props$top","top","SPrev","_React$useState","useState","_React$useState2","_slicedToArray2","isActive","setIsActive","handleMouseEnter","useCallback","handleMouseLeave","ChevronLeft","_ref6","_ref14","_props$top2","SNext","_React$useState3","_React$useState4","ChevronRight","_ref19","_ref7","_ref16","SIndicators","origin","_ref15","_ref20","_ref8","_ref17","SIndicator","createComponent","_default","exports"],"sources":["../../src/Carousel.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Button from '@semcore/button';\nimport Modal from '@semcore/modal';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ChevronRight from '@semcore/icon/ChevronRight/l';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/l';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport logger from '@semcore/utils/lib/logger';\nimport style from './style/carousel.shadow.css';\nimport CarouselType, {\n CarouselProps,\n CarouselState,\n CarouselContext,\n CarouselItem,\n CarouselItemProps,\n CarouselButtonProps,\n CarouselIndicatorsProps,\n CarouselIndicatorProps,\n} from './Carousel.types';\nimport { BoxProps } from '@semcore/flex-box';\nimport { findAllComponents } from '@semcore/utils/lib/findComponent';\nimport { createBreakpoints } from '@semcore/breakpoints';\n\nconst MAP_TRANSFORM: Record<string, 'left' | 'right'> = {\n ArrowLeft: 'left',\n ArrowRight: 'right',\n};\n\nconst enhance = {\n uid: uniqueIDEnhancement(),\n getI18nText: i18nEnhance(localizedMessages),\n};\nconst media = ['(min-width: 481px)', '(max-width: 480px)'];\nconst BreakPoints = createBreakpoints(media);\nconst isSmallScreen = (index: number) => index === 1;\n\nclass CarouselRoot extends Component<\n CarouselProps,\n CarouselContext,\n CarouselState,\n typeof enhance\n> {\n static displayName = 'Carousel';\n static defaultProps = {\n defaultIndex: 0,\n duration: 350,\n step: 100,\n bounded: false,\n i18n: localizedMessages,\n locale: 'en',\n indicators: 'default',\n };\n\n static style = style;\n static enhance = Object.values(enhance);\n\n defaultItemsCount = 0;\n refContainer = React.createRef<HTMLElement>();\n refModalContainer = React.createRef<HTMLElement>();\n _touchStartCoord = -1;\n\n constructor(props: CarouselProps) {\n super(props);\n this.isControlled = props.index !== undefined;\n this.state = {\n items: [],\n isOpenZoom: false,\n selectedIndex: props.index ?? props.defaultIndex ?? 0,\n };\n }\n\n uncontrolledProps() {\n return {\n index: null,\n };\n }\n\n componentDidMount() {\n const { selectedIndex } = this.state;\n\n if (selectedIndex !== 0) {\n if (selectedIndex < 0 || selectedIndex >= this.defaultItemsCount) {\n logger.warn(\n true,\n `You couldn't use value for the \\`index\\` or \\`defaultIndex\\` not from \\`Item's\\` length range.`,\n CarouselRoot.displayName,\n );\n this.setState({ selectedIndex: 0 });\n } else {\n this.transformContainer();\n }\n }\n\n const deprecatedComponents = findAllComponents(this.asProps.Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n logger.warn(\n deprecatedComponents.length > 0,\n 'Please, try to remove `Prev`, `Next`, `Indicators` and other children components from your Carousel, except only `Item` elements.',\n CarouselRoot.displayName,\n );\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const { index } = this.asProps;\n if (prevProps.index !== index && this.isControlled && index !== undefined) {\n this.setState({ selectedIndex: index }, () => this.transformContainer());\n }\n }\n\n handlerKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight': {\n e.preventDefault();\n this.transformItem(MAP_TRANSFORM[e.key]);\n }\n }\n };\n\n toggleItem = (item: CarouselItem, removeItem = false) => {\n this.setState((prevState) => {\n const newItems = removeItem\n ? prevState.items.filter((element) => element.node !== item.node)\n : [...prevState.items, item];\n\n return {\n items: newItems,\n };\n });\n\n if (!removeItem) {\n this.defaultItemsCount++;\n }\n };\n\n transformContainer = () => {\n const transform = this.state.selectedIndex * -1 * 100;\n\n if (this.refContainer.current) {\n this.refContainer.current.style.transform = `translateX(${transform}%)`;\n }\n if (this.refModalContainer.current) {\n this.refModalContainer.current.style.transform = `translateX(${transform}%)`;\n }\n };\n\n getDirection = (currentIndex: number, nextIndex: number) => {\n const { bounded } = this.asProps;\n\n if (bounded) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n const { items } = this.state;\n const listIndex = items.map((_, ind) => ind);\n const tmpArr = [...listIndex];\n const minTmpArr = tmpArr[0];\n const maxTmpArr = tmpArr[tmpArr.length - 1];\n\n if (tmpArr.length === 2) {\n return currentIndex < nextIndex ? 'right' : 'left';\n }\n if (currentIndex === minTmpArr) {\n tmpArr.unshift(maxTmpArr);\n tmpArr.pop();\n }\n if (currentIndex === maxTmpArr) {\n tmpArr.shift();\n tmpArr.push(minTmpArr);\n }\n\n const tmpCurrentIndex = tmpArr.indexOf(currentIndex);\n const left = tmpArr.indexOf(nextIndex);\n\n return left - tmpCurrentIndex < 0 ? 'left' : 'right';\n };\n\n slideToValue = (nextIndex: number) => {\n const { selectedIndex } = this.state;\n const direction = selectedIndex < nextIndex ? 'right' : 'left';\n let diff = Math.abs(selectedIndex - nextIndex);\n while (diff > 0) {\n this.transformItem(direction);\n diff--;\n }\n };\n\n transformItem = (direction: 'left' | 'right') => {\n const { bounded } = this.asProps;\n const { items, selectedIndex } = this.state;\n const maxIndexIndicator = items.length - 1;\n\n if (direction === 'right') {\n if (bounded && selectedIndex === maxIndexIndicator) {\n this.handlers.index(maxIndexIndicator);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === maxIndexIndicator ? 0 : selectedIndex + 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex + 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.state.selectedIndex);\n },\n );\n\n return;\n }\n if (direction === 'left') {\n if (bounded && selectedIndex === 0) {\n this.handlers.index(0);\n\n return;\n }\n if (this.isControlled) {\n this.handlers.index(selectedIndex === 0 ? maxIndexIndicator : selectedIndex - 1);\n\n return;\n }\n\n this.setState(\n (prevState) => ({\n selectedIndex: prevState.selectedIndex - 1,\n }),\n () => {\n this.transformContainer();\n this.handlers.index(this.state.selectedIndex);\n },\n );\n\n return;\n }\n };\n\n bindHandlerClick = (direction: 'left' | 'right') => {\n return () => {\n this.transformItem(direction);\n };\n };\n\n bindHandlerClickIndicator = (value: number) => {\n return () => {\n const { selectedIndex, items } = this.state;\n if (!this.isControlled && value !== selectedIndex) {\n const newValueIndex = Math.floor(selectedIndex / items.length) * items.length + value;\n this.slideToValue(newValueIndex);\n }\n this.handlers.index(value);\n };\n };\n\n handlerTouchStart = (e: React.TouchEvent) => {\n this._touchStartCoord = e.changedTouches[0].clientX;\n };\n\n handlerTouchEnd = (e: React.TouchEvent) => {\n const touchEndCoord = e.changedTouches[0].clientX;\n const delta = touchEndCoord - this._touchStartCoord;\n if (delta > 50) {\n this.transformItem('left');\n } else if (delta < -50) {\n this.transformItem('right');\n }\n };\n\n getContainerProps() {\n const { duration } = this.asProps;\n\n return {\n ref: this.refContainer,\n duration,\n };\n }\n\n getItemProps(props: CarouselItemProps, index: number) {\n const { zoom } = this.asProps;\n const isCurrent = this.isSelected(index);\n\n return {\n toggleItem: this.toggleItem,\n uid: this.asProps.uid,\n index,\n current: isCurrent,\n zoomIn: zoom,\n onToggleZoomModal: this.handleToggleZoomModal,\n transform: isCurrent ? this.getTransform() : undefined,\n };\n }\n\n handleToggleZoomModal = () => {\n this.setState(\n (prevState) => {\n return {\n isOpenZoom: !prevState.isOpenZoom,\n };\n },\n () => {\n this.state.isOpenZoom && this.transformContainer();\n },\n );\n };\n\n bindHandlerKeydownControl = (direction: 'left' | 'right') => (e: React.KeyboardEvent) => {\n const { key } = e;\n if (key === 'Enter') {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { bounded, getI18nText } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === 0;\n }\n return {\n onClick: this.bindHandlerClick('left'),\n onKeyDown: this.bindHandlerKeydownControl('left'),\n disabled,\n label: getI18nText('prev'),\n };\n }\n\n getNextProps() {\n const { bounded, getI18nText } = this.asProps;\n const { items, selectedIndex } = this.state;\n let disabled = false;\n if (items.length && bounded) {\n disabled = selectedIndex === items.length - 1;\n }\n\n return {\n onClick: this.bindHandlerClick('right'),\n onKeyDown: this.bindHandlerKeydownControl('right'),\n disabled,\n label: getI18nText('next'),\n };\n }\n\n getIndicatorsProps() {\n const { items } = this.state;\n\n return {\n items: items.map((item, key) => ({\n active: this.isSelected(key),\n onClick: this.bindHandlerClickIndicator(key),\n key,\n })),\n };\n }\n\n getTransform() {\n const { items, selectedIndex } = this.state;\n\n const direction = selectedIndex > 0 ? 1 : -1;\n const count = items.length === 0 ? 0 : Math.floor(selectedIndex / items.length) * direction;\n const transform =\n selectedIndex > 0 && selectedIndex < items.length\n ? 0\n : 100 * direction * count * items.length;\n\n return transform;\n }\n\n isSelected(index: number) {\n const { items, selectedIndex } = this.state;\n\n if (items.length === 0) {\n return true;\n }\n\n if (selectedIndex >= 0) {\n return index === selectedIndex % items.length;\n }\n\n return index === (items.length + (selectedIndex % items.length)) % items.length;\n }\n\n renderModal(isSmall: boolean, ComponentItems: any[]) {\n const SModalContainer = Root;\n const {\n styles,\n uid,\n duration,\n zoom: hasZoom,\n zoomWidth,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n } = this.asProps;\n const { isOpenZoom } = this.state;\n\n return sstyled(styles)(\n <Modal\n visible={isOpenZoom}\n onClose={this.handleToggleZoomModal}\n ghost={true}\n closable={!isSmall}\n >\n <Flex direction={isSmall ? 'column' : 'row'}>\n {!isSmall && <Carousel.Prev inverted={true} />}\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <SModalContainer\n render={Box}\n role='list'\n use:duration={`${duration}ms`}\n ref={this.refModalContainer}\n use:w={undefined}\n wMax={zoomWidth}\n >\n {ComponentItems.map((item, i) => {\n return (\n <Carousel.Item\n {...item.props}\n key={item.key}\n uid={uid}\n index={i}\n current={this.isSelected(i)}\n toggleItem={undefined}\n zoom={true}\n zoomOut={true}\n transform={this.isSelected(i) ? this.getTransform() : undefined}\n />\n );\n })}\n </SModalContainer>\n </Box>\n {isSmall ? (\n <Flex justifyContent={'center'} mt={2}>\n <Carousel.Prev inverted={true} />\n <Carousel.Next inverted={true} />\n </Flex>\n ) : (\n <Carousel.Next inverted={true} />\n )}\n </Flex>\n {!isSmall && <Carousel.Indicators inverted={true} />}\n </Modal>,\n );\n }\n\n render() {\n const SCarousel = Root;\n const {\n styles,\n Children,\n zoom: hasZoom,\n 'aria-label': ariaLabel,\n 'aria-roledescription': ariaRoledescription,\n indicators,\n } = this.asProps;\n const ComponentItems = findAllComponents(Children, ['Carousel.Item']);\n const Controls = findAllComponents(Children, [\n 'Carousel.Prev',\n 'Carousel.Next',\n 'Carousel.Indicators',\n ]);\n\n return sstyled(styles)(\n <SCarousel\n render={Box}\n role='group'\n onKeyDown={this.handlerKeyDown}\n tabIndex={0}\n onTouchStart={this.handlerTouchStart}\n onTouchEnd={this.handlerTouchEnd}\n >\n {Controls.length === 0 ? (\n <>\n <Flex>\n <Carousel.Prev />\n <Box style={{ overflow: 'hidden', borderRadius: 6 }}>\n <Carousel.Container\n aria-roledescription={ariaRoledescription}\n aria-label={ariaLabel}\n >\n <Children />\n </Carousel.Container>\n </Box>\n <Carousel.Next />\n </Flex>\n {indicators === 'default' && <Carousel.Indicators />}\n {indicators === 'preview' && (\n <Carousel.Indicators>\n {() =>\n ComponentItems.map((item, index) => (\n <Carousel.Indicator\n {...item.props}\n key={item.key}\n w={100}\n h={100}\n aria-roledescription='slide'\n active={this.isSelected(index)}\n onClick={this.bindHandlerClickIndicator(index)}\n />\n ))\n }\n </Carousel.Indicators>\n )}\n </>\n ) : (\n <Children />\n )}\n {hasZoom && (\n <BreakPoints>\n <BreakPoints.Context.Consumer>\n {(mediaIndex) => this.renderModal(isSmallScreen(mediaIndex), ComponentItems)}\n </BreakPoints.Context.Consumer>\n </BreakPoints>\n )}\n </SCarousel>,\n );\n }\n}\n\nconst Container = (props: BoxProps & { duration?: number }) => {\n const SContainer = Root;\n const { styles, duration } = props;\n\n return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);\n};\n\nclass Item extends Component<CarouselItemProps> {\n refItem = React.createRef<HTMLElement>();\n\n componentDidMount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem });\n }\n\n componentWillUnmount() {\n const { toggleItem } = this.props;\n const refItem = this.refItem.current;\n\n toggleItem && refItem && toggleItem({ node: refItem }, true);\n }\n\n componentDidUpdate(prevProps: CarouselItemProps) {\n const transform = this.props.transform;\n const refItem = this.refItem.current;\n\n if (prevProps.transform !== transform && refItem) {\n refItem.style.transform = `translateX(${transform}%)`;\n }\n }\n\n render() {\n const { styles, index, uid, current, zoomIn, onToggleZoomModal, transform } = this.props;\n const SItem = Root;\n\n return sstyled(styles)(\n <SItem\n render={Box}\n ref={this.refItem}\n role='listitem'\n id={`igc-${uid}-carousel-item-${index}`}\n aria-current={current}\n onClick={zoomIn ? onToggleZoomModal : undefined}\n zoomIn={zoomIn}\n />,\n );\n }\n}\n\nconst Prev = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SPrev = Root;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SPrev render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <Button\n addonLeft={ChevronLeft}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n />\n )}\n </SPrev>,\n );\n};\n\nconst Next = (props: CarouselButtonProps) => {\n const { styles, children, Children, label, top = 0, inverted } = props;\n const SNext = Root;\n const [isActive, setIsActive] = React.useState(false);\n const handleMouseEnter = React.useCallback(() => {\n setIsActive(true);\n }, []);\n const handleMouseLeave = React.useCallback(() => {\n setIsActive(false);\n }, []);\n\n return sstyled(styles)(\n <SNext render={Box} top={top} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {children ? (\n <Children />\n ) : (\n <Button\n addonLeft={ChevronRight}\n aria-label={label}\n theme={inverted ? 'invert' : 'muted'}\n use={'tertiary'}\n active={isActive}\n size={'l'}\n />\n )}\n </SNext>,\n );\n};\n\nconst Indicators = ({ items, styles, Children, inverted }: CarouselIndicatorsProps) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items?.map((item, index) => (\n <Carousel.Indicator key={index} {...item} inverted={inverted} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }: CarouselIndicatorProps) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel: typeof CarouselType = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Carousel.types.js","names":[],"sources":["../../src/Carousel.types.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { BoxProps } from '@semcore/flex-box';\nimport { IRootComponentProps } from '@semcore/core/src';\n\n/** @deprecated */\nexport interface ICarouselProps extends CarouselProps, UnknownProperties {}\nexport type CarouselProps = BoxProps & {\n /** Index active item */\n index?: number;\n /**\n * Index of the active item selected by default\n * @default 0\n */\n defaultIndex?: number;\n /** Called when the selection is changed */\n onIndexChange?: (index: number) => void;\n /** Animation duration\n * @default 300 */\n duration?: number;\n /** Disables infinite items change in the carousel\n * @default false */\n bounded?: boolean;\n /** @ignore */\n step?: number;\n locale?: string;\n /** Enable zoom feature for carousel items */\n zoom?: boolean;\n /** Width for items in zooming modal */\n zoomWidth?: number;\n /** Type of indicators */\n indicators?: 'default' | 'hide' | 'preview';\n};\n\n/** @deprecated */\nexport interface ICarouselContext extends CarouselContext, UnknownProperties {}\nexport type CarouselContext = {\n getContainerProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getIndicatorsProps: PropGetterFn;\n};\n\nexport type CarouselItem = {\n node: HTMLElement;\n};\n\nexport type CarouselItemProps = BoxProps & {\n /** Flag for css cursor\n * @private\n */\n zoomIn?: boolean;\n /** Flag for css cursor\n * @private\n */\n zoomOut?: boolean;\n\n /** Function to add item to list in Carousel\n * @private\n */\n toggleItem?: (item: CarouselItem, toRemove?: boolean) => void;\n\n /** Index of item in carousel */\n index?: number;\n\n uid?: string;\n\n /** Flag - is current item shown now */\n current?: boolean;\n\n /** Handler for show item in modal window\n * @private\n */\n onToggleZoomModal?: () => void;\n\n /** Value for transform item\n * @private\n */\n transform?: number;\n};\n\n/** @deprecated */\nexport interface ICarouselState extends CarouselState, UnknownProperties {}\nexport type CarouselState = {\n isOpenZoom: boolean;\n selectedIndex: number;\n items: CarouselItem[];\n};\n\nexport type CarouselButtonProps = IRootComponentProps &\n BoxProps & {\n label?: string;\n inverted?: boolean;\n };\n\nexport type CarouselIndicatorsProps = IRootComponentProps &\n BoxProps & {\n items?: CarouselItem[];\n inverted?: boolean;\n };\n\nexport type CarouselIndicatorProps = IRootComponentProps &\n Omit<BoxProps, 'position'> & {\n active?: boolean;\n onClick?: () => void;\n inverted?: boolean;\n } & CarouselItem;\n\ndeclare const CarouselType: Intergalactic.Component<\n 'div',\n CarouselProps,\n CarouselContext & CarouselState\n> & {\n Container: Intergalactic.Component<'div', BoxProps>;\n Indicators: Intergalactic.Component<'div', CarouselIndicatorsProps, CarouselState>;\n Indicator: Intergalactic.Component<'div', CarouselIndicatorProps>;\n Item: Intergalactic.Component<'div', CarouselItemProps>;\n Prev: Intergalactic.Component<'div', CarouselButtonProps>;\n Next: Intergalactic.Component<'div', CarouselButtonProps>;\n};\n\nexport default CarouselType;\n"],"mappings":""}
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Carousel","_interopRequireDefault","require"],"sources":["../../src/index.
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Carousel","_interopRequireDefault","require"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './Carousel';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
SCarousel {
|
|
2
2
|
overflow: hidden;
|
|
3
3
|
outline: none;
|
|
4
|
+
user-select: none;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
SContainer {
|
|
@@ -8,6 +9,11 @@ SContainer {
|
|
|
8
9
|
transition: transform var(--duration) ease-in-out;
|
|
9
10
|
}
|
|
10
11
|
|
|
12
|
+
SModalContainer {
|
|
13
|
+
display: flex;
|
|
14
|
+
transition: transform var(--duration) ease-in-out;
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
SItem {
|
|
12
18
|
flex: 0 0 100%;
|
|
13
19
|
max-width: 100%;
|
|
@@ -17,6 +23,13 @@ SItem {
|
|
|
17
23
|
overflow: hidden;
|
|
18
24
|
}
|
|
19
25
|
|
|
26
|
+
SItem[zoomIn] {
|
|
27
|
+
cursor: zoom-in;
|
|
28
|
+
}
|
|
29
|
+
SItem[zoomOut] {
|
|
30
|
+
cursor: zoom-out;
|
|
31
|
+
}
|
|
32
|
+
|
|
20
33
|
SIndicators {
|
|
21
34
|
display: flex;
|
|
22
35
|
justify-content: center;
|
|
@@ -44,6 +57,10 @@ SIndicator[active] {
|
|
|
44
57
|
opacity: 1;
|
|
45
58
|
}
|
|
46
59
|
|
|
60
|
+
SIndicator[inverted] {
|
|
61
|
+
background-color: var(--intergalactic-icon-primary-invert, #ffffff);
|
|
62
|
+
}
|
|
63
|
+
|
|
47
64
|
SPrev,
|
|
48
65
|
SNext {
|
|
49
66
|
display: inline-flex;
|
|
@@ -54,10 +71,10 @@ SNext {
|
|
|
54
71
|
}
|
|
55
72
|
|
|
56
73
|
SPrev {
|
|
57
|
-
margin-right: var(--intergalactic-spacing-
|
|
74
|
+
margin-right: var(--intergalactic-spacing-2x, 8px);
|
|
58
75
|
}
|
|
59
76
|
SNext {
|
|
60
|
-
margin-left: var(--intergalactic-spacing-
|
|
77
|
+
margin-left: var(--intergalactic-spacing-2x, 8px);
|
|
61
78
|
}
|
|
62
79
|
|
|
63
80
|
SPrev[disabled],
|