@semcore/carousel 2.2.32 → 2.2.34
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 +14 -2
- package/lib/cjs/Carousel.js +23 -21
- package/lib/cjs/Carousel.js.map +1 -1
- package/lib/es6/Carousel.js +23 -21
- package/lib/es6/Carousel.js.map +1 -1
- package/package.json +1 -1
- package/src/Carousel.jsx +16 -16
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [2.2.
|
|
5
|
+
## [2.2.34] - 2023-05-02
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fixed image display when specifying an index other than 0.
|
|
10
|
+
|
|
11
|
+
## [2.2.33] - 2023-04-26
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Fixed warnings in development mode.
|
|
16
|
+
|
|
17
|
+
## [2.2.31] - 2023-04-17
|
|
6
18
|
|
|
7
19
|
### Changed
|
|
8
20
|
|
|
9
|
-
- Version patch update due to children dependencies update (`@semcore/utils` [3.50.
|
|
21
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.50.0 ~> 3.50.3]).
|
|
10
22
|
|
|
11
23
|
## [2.2.30] - 2023-04-03
|
|
12
24
|
|
package/lib/cjs/Carousel.js
CHANGED
|
@@ -22,18 +22,18 @@ var _l = _interopRequireDefault(require("@semcore/icon/ChevronRight/l"));
|
|
|
22
22
|
var _l2 = _interopRequireDefault(require("@semcore/icon/ChevronLeft/l"));
|
|
23
23
|
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
24
24
|
/*__reshadow-styles__:"./style/carousel.shadow.css"*/
|
|
25
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
26
|
-
"__SCarousel": "
|
|
27
|
-
"__SContainer": "
|
|
28
|
-
"--duration": "--
|
|
29
|
-
"__SItem": "
|
|
30
|
-
"--transform": "--
|
|
31
|
-
"__SIndicators": "
|
|
32
|
-
"__SIndicator": "
|
|
33
|
-
"_active": "
|
|
34
|
-
"__SPrev": "
|
|
35
|
-
"__SNext": "
|
|
36
|
-
"_disabled": "
|
|
25
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SCarousel_1tetf_gg_{overflow:hidden;outline:0}.___SContainer_1tetf_gg_{display:flex;transition:transform var(--duration_1tetf) ease-in-out}.___SItem_1tetf_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1tetf);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SIndicators_1tetf_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1tetf_gg_{margin:0 calc(.5*var(--intergalactic-spacing-3x, 12px));cursor:pointer;display:block;width:12px;height:12px;border-radius:var(--intergalactic-control-rounded, 6px);background-color:var(--intergalactic-icon-secondary-neutral, #a9abb6);opacity:var(--intergalactic-disabled-opacity, 0.3);-o-object-fit:cover;object-fit:cover;transition:ease-in-out opacity .1s}@media (hover:hover){.___SIndicator_1tetf_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1tetf_gg_.__active_1tetf_gg_{opacity:1}.___SNext_1tetf_gg_,.___SPrev_1tetf_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.___SPrev_1tetf_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SNext_1tetf_gg_{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SNext_1tetf_gg_.__disabled_1tetf_gg_,.___SPrev_1tetf_gg_.__disabled_1tetf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1tetf_gg_{transition:none}}" /*__inner_css_end__*/, "1tetf_gg_") /*__reshadow_css_end__*/, {
|
|
26
|
+
"__SCarousel": "___SCarousel_1tetf_gg_",
|
|
27
|
+
"__SContainer": "___SContainer_1tetf_gg_",
|
|
28
|
+
"--duration": "--duration_1tetf",
|
|
29
|
+
"__SItem": "___SItem_1tetf_gg_",
|
|
30
|
+
"--transform": "--transform_1tetf",
|
|
31
|
+
"__SIndicators": "___SIndicators_1tetf_gg_",
|
|
32
|
+
"__SIndicator": "___SIndicator_1tetf_gg_",
|
|
33
|
+
"_active": "__active_1tetf_gg_",
|
|
34
|
+
"__SPrev": "___SPrev_1tetf_gg_",
|
|
35
|
+
"__SNext": "___SNext_1tetf_gg_",
|
|
36
|
+
"_disabled": "__disabled_1tetf_gg_"
|
|
37
37
|
});
|
|
38
38
|
var position = {
|
|
39
39
|
getItemMin: function getItemMin(items) {
|
|
@@ -106,7 +106,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
|
|
|
106
106
|
};
|
|
107
107
|
}, function () {
|
|
108
108
|
var items = _this.state.items;
|
|
109
|
-
if (items.length
|
|
109
|
+
if (items.length > index && index >= 0) {
|
|
110
110
|
_this.slideToValue(_this.indexIndicator, index);
|
|
111
111
|
}
|
|
112
112
|
});
|
|
@@ -410,7 +410,7 @@ var Container = function Container(props) {
|
|
|
410
410
|
var styles = props.styles,
|
|
411
411
|
duration = props.duration;
|
|
412
412
|
return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SContainer, _ref9.cn("SContainer", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
413
|
-
"role":
|
|
413
|
+
"role": 'list',
|
|
414
414
|
"use:duration": "".concat(duration, "ms")
|
|
415
415
|
}, _ref2))));
|
|
416
416
|
};
|
|
@@ -437,7 +437,7 @@ var Item = function Item(props) {
|
|
|
437
437
|
}, []);
|
|
438
438
|
return _ref10 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItem, _ref10.cn("SItem", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
439
439
|
"ref": refItem,
|
|
440
|
-
"role":
|
|
440
|
+
"role": 'listitem',
|
|
441
441
|
"id": "igc-".concat(uid, "-carousel-item-").concat(index)
|
|
442
442
|
}, _ref3))));
|
|
443
443
|
};
|
|
@@ -447,14 +447,15 @@ var Prev = function Prev(props) {
|
|
|
447
447
|
var styles = props.styles;
|
|
448
448
|
var SPrev = _flexBox.Box;
|
|
449
449
|
return _ref11 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPrev, _ref11.cn("SPrev", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
450
|
-
"aria-hidden":
|
|
450
|
+
"aria-hidden": 'true'
|
|
451
451
|
}, _ref4))));
|
|
452
452
|
};
|
|
453
453
|
Prev.defaultProps = function () {
|
|
454
454
|
return {
|
|
455
455
|
children: /*#__PURE__*/_react["default"].createElement(_l2["default"], {
|
|
456
456
|
interactive: true,
|
|
457
|
-
color: "gray-300"
|
|
457
|
+
color: "gray-300",
|
|
458
|
+
"aria-label": "Visual navigation, previous"
|
|
458
459
|
}),
|
|
459
460
|
top: 0
|
|
460
461
|
};
|
|
@@ -465,14 +466,15 @@ var Next = function Next(props) {
|
|
|
465
466
|
var styles = props.styles;
|
|
466
467
|
var SNext = _flexBox.Box;
|
|
467
468
|
return _ref12 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SNext, _ref12.cn("SNext", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
468
|
-
"aria-hidden":
|
|
469
|
+
"aria-hidden": 'true'
|
|
469
470
|
}, _ref5))));
|
|
470
471
|
};
|
|
471
472
|
Next.defaultProps = function () {
|
|
472
473
|
return {
|
|
473
474
|
children: /*#__PURE__*/_react["default"].createElement(_l["default"], {
|
|
474
475
|
interactive: true,
|
|
475
|
-
color: "gray-300"
|
|
476
|
+
color: "gray-300",
|
|
477
|
+
"aria-label": "Visual navigation, next"
|
|
476
478
|
}),
|
|
477
479
|
top: 0
|
|
478
480
|
};
|
|
@@ -487,11 +489,11 @@ var Indicators = function Indicators(_ref16) {
|
|
|
487
489
|
if (Children.origin) {
|
|
488
490
|
var _ref13;
|
|
489
491
|
return _ref13 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SIndicators, _ref13.cn("SIndicators", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
490
|
-
"aria-hidden":
|
|
492
|
+
"aria-hidden": 'true'
|
|
491
493
|
}, _ref6))), /*#__PURE__*/_react["default"].createElement(Children, _ref13.cn("Children", {})));
|
|
492
494
|
}
|
|
493
495
|
return _ref14 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SIndicators, _ref14.cn("SIndicators", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
494
|
-
"aria-hidden":
|
|
496
|
+
"aria-hidden": 'true'
|
|
495
497
|
}, _ref6))), items.map(function (item, index) {
|
|
496
498
|
return /*#__PURE__*/_react["default"].createElement(Carousel.Indicator, (0, _extends2["default"])({
|
|
497
499
|
key: index
|
package/lib/cjs/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["_core","_interopRequireWildcard","require","_react","_flexBox","_l","_interopRequireDefault","_l2","_uniqueID","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","keyCode","bindHandlerClick","_createClass2","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","Box","_this$asProps5","styles","Children","createElement","cn","assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Component","defaultIndex","uniqueIDEnhancement","Container","_ref2","arguments[0]","_ref9","SContainer","Item","_ref3","_ref10","SItem","refItem","useEffect","Prev","_ref4","_ref11","SPrev","defaultProps","children","interactive","color","top","Next","_ref5","_ref12","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, { useEffect } 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';\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 };\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 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 };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { keyCode } = e;\n if (keyCode === 13) {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded } = 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 };\n }\n\n getNextProps() {\n const { index, bounded } = 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 };\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 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 } = props;\n const SItem = Root;\n const refItem = React.createRef();\n 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 render={Box} ref={refItem} role=\"listitem\" id={`igc-${uid}-carousel-item-${index}`} />,\n );\n};\n\nconst Prev = (props) => {\n const { styles } = props;\n const SPrev = Root;\n return sstyled(styles)(<SPrev render={Box} aria-hidden=\"true\" />);\n};\n\nPrev.defaultProps = () => ({\n children: <ChevronLeft interactive color=\"gray-300\" />,\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles } = props;\n const SNext = Root;\n return sstyled(styles)(<SNext render={Box} aria-hidden=\"true\" />);\n};\n\nNext.defaultProps = () => ({\n children: <ChevronRight interactive color=\"gray-300\" />,\n top: 0,\n});\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden=\"true\">\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden=\"true\">\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["_core","_interopRequireWildcard","require","_react","_flexBox","_l","_interopRequireDefault","_l2","_uniqueID","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","keyCode","bindHandlerClick","_createClass2","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","Box","_this$asProps5","styles","Children","createElement","cn","assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","Component","defaultIndex","uniqueIDEnhancement","Container","_ref2","arguments[0]","_ref9","SContainer","Item","_ref3","_ref10","SItem","refItem","useEffect","Prev","_ref4","_ref11","SPrev","defaultProps","children","interactive","color","top","Next","_ref5","_ref12","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, { useEffect } 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';\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 };\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 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 };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { keyCode } = e;\n if (keyCode === 13) {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded } = 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 };\n }\n\n getNextProps() {\n const { index, bounded } = 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 };\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 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 } = props;\n const SItem = Root;\n const refItem = React.createRef();\n 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 render={Box} ref={refItem} role='listitem' id={`igc-${uid}-carousel-item-${index}`} />,\n );\n};\n\nconst Prev = (props) => {\n const { styles } = props;\n const SPrev = Root;\n return sstyled(styles)(<SPrev render={Box} aria-hidden='true' />);\n};\n\nPrev.defaultProps = () => ({\n children: <ChevronLeft interactive color='gray-300' aria-label='Visual navigation, previous' />,\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles } = props;\n const SNext = Root;\n return sstyled(styles)(<SNext render={Box} aria-hidden='true' />);\n};\n\nNext.defaultProps = () => ({\n children: <ChevronRight interactive color='gray-300' aria-label='Visual navigation, next' />,\n top: 0,\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,GAAAF,uBAAA,CAAAC,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,EAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,GAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,SAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAA8D;AAAA,IAAAO,KAAA,+BAAAT,KAAA,CAAAU,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI9D,IAAMC,QAAQ,GAAG;EACfC,UAAU,EAAE,SAAAA,WAASC,KAAK,EAAE;IAC1B,IAAIC,SAAS,GAAG,CAAC;IACjBD,KAAK,CAACE,OAAO,CAAC,UAASC,IAAI,EAAEC,KAAK,EAAE;MAClC,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,WAASL,KAAK,EAAE;IAC1B,IAAIC,SAAS,GAAG,CAAC;IACjBD,KAAK,CAACE,OAAO,CAAC,UAASC,IAAI,EAAEC,KAAK,EAAE;MAClC,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,OAASN,KAAK,EAAE;IACtB,OAAOA,KAAK,CAACF,QAAQ,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC,CAACF,QAAQ;EACnD,CAAC;EACDS,MAAM,EAAE,SAAAA,OAASP,KAAK,EAAE;IACtB,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;EAiBhB,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;UACfD,CAAC,CAACE,cAAc,EAAE;UAClB,IAAAC,qBAAA,GAA4BV,KAAA,CAAKW,oBAAoB,CAACpB,aAAa,CAACgB,CAAC,CAACC,GAAG,CAAC,CAAC;YAAnEI,eAAe,GAAAF,qBAAA,CAAfE,eAAe;UACvBZ,KAAA,CAAKa,QAAQ,CAAC1B,KAAK,CAACyB,eAAe,CAAC;MAAC;IAE3C,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,CACd,CAACW,IAAI,CAAC7C,KAAK,CAACmD,SAAS,iBAAAJ,MAAA,CAAiB1C,KAAK,CAAC6B,eAAe,CAAC,CAACiB,SAAS,OAAI;MAC/E;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,gCAmB2B,UAACmD,SAAS;MAAA,OAAK,UAAC5C,CAAC,EAAK;QAChD,IAAQqE,OAAO,GAAKrE,CAAC,CAAbqE,OAAO;QACf,IAAIA,OAAO,KAAK,EAAE,EAAE;UAClBrE,CAAC,CAACE,cAAc,EAAE;UAClBT,KAAA,CAAK6E,gBAAgB,CAAC1B,SAAS,CAAC,EAAE;QACpC;MACF,CAAC;IAAA;IA/OCnD,KAAA,CAAK0D,YAAY,GAAG3D,KAAK,CAACZ,KAAK,KAAK8B,SAAS;IAC7CjB,KAAA,CAAKmB,KAAK,GAAG;MACXpC,KAAK,EAAE;IACT,CAAC;IAAC,OAAAiB,KAAA;EACJ;EAAC,IAAA8E,aAAA,aAAApF,YAAA;IAAAc,GAAA;IAAA4D,KAAA,EAED,SAAAW,kBAAA,EAAoB;MAClB,OAAO;QACL5F,KAAK,EAAE;MACT,CAAC;IACH;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAED,SAAAY,mBAAmBC,SAAS,EAAE;MAC5B,IAAQ9F,KAAK,GAAK,IAAI,CAAC+B,OAAO,CAAtB/B,KAAK;MACb,IAAI8F,SAAS,CAAC9F,KAAK,KAAKA,KAAK,IAAI,IAAI,CAACuE,YAAY,EAAE;QAClD,IAAI,CAAC5B,YAAY,CAACmD,SAAS,CAAC9F,KAAK,EAAEA,KAAK,CAAC;MAC3C;IACF;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAuMD,SAAAc,kBAAA,EAAoB;MAClB,IAAQC,QAAQ,GAAK,IAAI,CAACjE,OAAO,CAAzBiE,QAAQ;MAEhB,OAAO;QACLC,GAAG,EAAE,IAAI,CAACpD,YAAY;QACtBmD,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAA3E,GAAA;IAAA4D,KAAA,EAED,SAAAiB,aAAa/C,CAAC,EAAEnD,KAAK,EAAE;MACrB,OAAO;QACLmG,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BC,GAAG,EAAE,IAAI,CAACrE,OAAO,CAACqE,GAAG;QACrBpG,KAAK,EAALA;MACF,CAAC;IACH;EAAC;IAAAqB,GAAA;IAAA4D,KAAA,EAUD,SAAAoB,aAAA,EAAe;MACb,IAAAC,cAAA,GAA2B,IAAI,CAACvE,OAAO;QAA/B/B,KAAK,GAAAsG,cAAA,CAALtG,KAAK;QAAEiD,OAAO,GAAAqD,cAAA,CAAPrD,OAAO;MACtB,IAAQrD,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,CAACd,gBAAgB,CAAC,MAAM,CAAC;QACtCe,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,MAAM,CAAC;QACjDH,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAAlF,GAAA;IAAA4D,KAAA,EAED,SAAA0B,aAAA,EAAe;MACb,IAAAC,cAAA,GAA2B,IAAI,CAAC7E,OAAO;QAA/B/B,KAAK,GAAA4G,cAAA,CAAL5G,KAAK;QAAEiD,OAAO,GAAA2D,cAAA,CAAP3D,OAAO;MACtB,IAAQrD,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,CAACd,gBAAgB,CAAC,OAAO,CAAC;QACvCe,SAAS,EAAE,IAAI,CAACC,yBAAyB,CAAC,OAAO,CAAC;QAClDH,QAAQ,EAARA;MACF,CAAC;IACH;EAAC;IAAAlF,GAAA;IAAA4D,KAAA,EAED,SAAA4B,mBAAA,EAAqB;MAAA,IAAAC,MAAA;MACnB,IAAQlH,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/B0F,MAAM,EAAE1F,GAAG,KAAKrB,KAAK;YACrBwG,OAAO,EAAEM,MAAI,CAACE,yBAAyB,CAAC3F,GAAG,CAAC;YAC5CA,GAAG,EAAHA;UACF,CAAC;QAAA,CAAC;MACJ,CAAC;IACH;EAAC;IAAAA,GAAA;IAAA4D,KAAA,EAED,SAAAgC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAnF,OAAA;QAAAoF,KAAA;MACP,IAAMC,SAAS,GAKHC,YAAG;MAJf,IAAAC,cAAA,GAA6B,IAAI,CAACvF,OAAO;QAAjCwF,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEC,QAAQ,GAAAF,cAAA,CAARE,QAAQ;MAExB,OAAAL,KAAA,GAAO,IAAA3H,aAAO,EAAC+H,MAAM,CAAC,eACpBtI,MAAA,YAAAwI,aAAA,CAACL,SAAS,EAAAD,KAAA,CAAAO,EAAA,kBAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;QAAA,aAEG,IAAI,CAACC,cAAc;QAAA,YACpB,CAAC;QAAA,gBACG,IAAI,CAACC,iBAAiB;QAAA,cACxB,IAAI,CAACC;MAAe,GAAAZ,IAAA,kBAEhCjI,MAAA,YAAAwI,aAAA,CAACD,QAAQ,EAAAL,KAAA,CAAAO,EAAA,iBAAG,CACF;IAEhB;EAAC;EAAA,OAAAnH,YAAA;AAAA,EA5TwBwH,eAAS;AAAA,IAAA/G,gBAAA,aAA9BT,YAAY,iBACK,UAAU;AAAA,IAAAS,gBAAA,aAD3BT,YAAY,kBAEM;EACpByH,YAAY,EAAE,CAAC;EACfhC,QAAQ,EAAE,GAAG;EACbvB,IAAI,EAAE,GAAG;EACTxB,OAAO,EAAE;AACX,CAAC;AAAA,IAAAjC,gBAAA,aAPGT,YAAY,WASDhB,KAAK;AAAA,IAAAyB,gBAAA,aAThBT,YAAY,aAUC,CAAC,IAAA0H,oBAAmB,GAAE,CAAC;AAqT1C,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAItH,KAAK,EAAK;EAAA,IAAAuH,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAC3B,IAAMC,UAAU,GAG2BjB,YAAG;EAF9C,IAAQE,MAAM,GAAe3G,KAAK,CAA1B2G,MAAM;IAAEvB,QAAQ,GAAKpF,KAAK,CAAlBoF,QAAQ;EAExB,OAAAqC,KAAA,GAAO,IAAA7I,aAAO,EAAC+H,MAAM,CAAC,eAACtI,MAAA,YAAAwI,aAAA,CAACa,UAAU,EAAAD,KAAA,CAAAX,EAAA,mBAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;IAAA,QAAmB,MAAM;IAAA,mBAAArF,MAAA,CAAkB0D,QAAQ;EAAA,GAAAmC,KAAA,IAAQ;AAC/F,CAAC;AAED,IAAMI,IAAI,GAAG,SAAPA,IAAIA,CAAI3H,KAAK,EAAK;EAAA,IAAA4H,KAAA,GAAAJ,YAAA;IAAAK,MAAA;EACtB,IAAQlB,MAAM,GAA6B3G,KAAK,CAAxC2G,MAAM;IAAEpB,UAAU,GAAiBvF,KAAK,CAAhCuF,UAAU;IAAEnG,KAAK,GAAUY,KAAK,CAApBZ,KAAK;IAAEoG,GAAG,GAAKxF,KAAK,CAAbwF,GAAG;EACtC,IAAMsC,KAAK,GAYMrB,YAAG;EAXpB,IAAMsB,OAAO,gBAAGzH,iBAAK,CAACC,SAAS,EAAE;EACjC,IAAAyH,gBAAS,EAAC,YAAM;IACd;IACAzC,UAAU,CAAC;MAAE/D,IAAI,EAAEuG,OAAO,CAAC7F;IAAQ,CAAC,CAAC;IACrC,OAAO,YAAM;MACX;MACAqD,UAAU,CAAC;QAAE/D,IAAI,EAAEuG,OAAO,CAAC7F;MAAQ,CAAC,EAAE,IAAI,CAAC;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAA2F,MAAA,GAAO,IAAAjJ,aAAO,EAAC+H,MAAM,CAAC,eACpBtI,MAAA,YAAAwI,aAAA,CAACiB,KAAK,EAAAD,MAAA,CAAAf,EAAA,cAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;IAAA,OAAmBgB,OAAO;IAAA,QAAO,UAAU;IAAA,aAAArG,MAAA,CAAY8D,GAAG,qBAAA9D,MAAA,CAAkBtC,KAAK;EAAA,GAAAwI,KAAA,IAAM;AAEjG,CAAC;AAED,IAAMK,IAAI,GAAG,SAAPA,IAAIA,CAAIjI,KAAK,EAAK;EAAA,IAAAkI,KAAA,GAAAV,YAAA;IAAAW,MAAA;EACtB,IAAQxB,MAAM,GAAK3G,KAAK,CAAhB2G,MAAM;EACd,IAAMyB,KAAK,GAC2B3B,YAAG;EAAzC,OAAA0B,MAAA,GAAO,IAAAvJ,aAAO,EAAC+H,MAAM,CAAC,eAACtI,MAAA,YAAAwI,aAAA,CAACuB,KAAK,EAAAD,MAAA,CAAArB,EAAA,cAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;IAAA,eAA0B;EAAM,GAAAmB,KAAA,IAAG;AAClE,CAAC;AAEDD,IAAI,CAACI,YAAY,GAAG;EAAA,OAAO;IACzBC,QAAQ,eAAEjK,MAAA,YAAAwI,aAAA,CAACpI,GAAA,WAAW;MAAC8J,WAAW;MAACC,KAAK,EAAC,UAAU;MAAC,cAAW;IAA6B,EAAG;IAC/FC,GAAG,EAAE;EACP,CAAC;AAAA,CAAC;AAEF,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAI1I,KAAK,EAAK;EAAA,IAAA2I,KAAA,GAAAnB,YAAA;IAAAoB,MAAA;EACtB,IAAQjC,MAAM,GAAK3G,KAAK,CAAhB2G,MAAM;EACd,IAAMkC,KAAK,GAC2BpC,YAAG;EAAzC,OAAAmC,MAAA,GAAO,IAAAhK,aAAO,EAAC+H,MAAM,CAAC,eAACtI,MAAA,YAAAwI,aAAA,CAACgC,KAAK,EAAAD,MAAA,CAAA9B,EAAA,cAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;IAAA,eAA0B;EAAM,GAAA4B,KAAA,IAAG;AAClE,CAAC;AAEDD,IAAI,CAACL,YAAY,GAAG;EAAA,OAAO;IACzBC,QAAQ,eAAEjK,MAAA,YAAAwI,aAAA,CAACtI,EAAA,WAAY;MAACgK,WAAW;MAACC,KAAK,EAAC,UAAU;MAAC,cAAW;IAAyB,EAAG;IAC5FC,GAAG,EAAE;EACP,CAAC;AAAA,CAAC;AAEF,IAAMK,UAAU,GAAG,SAAbA,UAAUA,CAAAC,MAAA,EAAoC;EAAA,IAAAC,KAAA,GAAAxB,YAAA;IAAAyB,MAAA;EAAA,IAA9BjK,KAAK,GAAA+J,MAAA,CAAL/J,KAAK;IAAE2H,MAAM,GAAAoC,MAAA,CAANpC,MAAM;IAAEC,QAAQ,GAAAmC,MAAA,CAARnC,QAAQ;EAC3C,IAAMsC,WAAW,GASMzC,YAAG;EAR1B,IAAIG,QAAQ,CAACuC,MAAM,EAAE;IAAA,IAAAC,MAAA;IACnB,OAAAA,MAAA,GAAO,IAAAxK,aAAO,EAAC+H,MAAM,CAAC,eACpBtI,MAAA,YAAAwI,aAAA,CAACqC,WAAW,EAAAE,MAAA,CAAAtC,EAAA,oBAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;MAAA,eAA0B;IAAM,GAAAiC,KAAA,kBAC1C3K,MAAA,YAAAwI,aAAA,CAACD,QAAQ,EAAAwC,MAAA,CAAAtC,EAAA,iBAAG,CACA;EAElB;EACA,OAAAmC,MAAA,GAAO,IAAArK,aAAO,EAAC+H,MAAM,CAAC,eACpBtI,MAAA,YAAAwI,aAAA,CAACqC,WAAW,EAAAD,MAAA,CAAAnC,EAAA,oBAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA;IAAA,eAA0B;EAAM,GAAAiC,KAAA,KACzChK,KAAK,CAAC4C,GAAG,CAAC,UAACzC,IAAI,EAAEC,KAAK;IAAA,oBACrBf,MAAA,YAAAwI,aAAA,CAACwC,QAAQ,CAACC,SAAS,MAAAC,SAAA;MAAC9I,GAAG,EAAErB;IAAM,GAAKD,IAAI,EAAI;EAAA,CAC7C,CAAC,CACU;AAElB,CAAC;AAED,IAAMmK,SAAS,GAAG,SAAZA,SAASA,CAAAE,MAAA,EAA6B;EAAA,IAAAC,KAAA,GAAAjC,YAAA;IAAAkC,MAAA;EAAA,IAAvB/C,MAAM,GAAA6C,MAAA,CAAN7C,MAAM;IAAEC,QAAQ,GAAA4C,MAAA,CAAR5C,QAAQ;EACnC,IAAM+C,UAAU,GAEMlD,YAAG;EADzB,OAAAiD,MAAA,GAAO,IAAA9K,aAAO,EAAC+H,MAAM,CAAC,eACpBtI,MAAA,YAAAwI,aAAA,CAAC8C,UAAU,EAAAD,MAAA,CAAA5C,EAAA,mBAAAjF,cAAA,qBAAA3D,KAAA,CAAA6I,WAAA,MAAA0C,KAAA,kBACTpL,MAAA,YAAAwI,aAAA,CAACD,QAAQ,EAAA8C,MAAA,CAAA5C,EAAA,iBAAG,CACD;AAEjB,CAAC;AAED,IAAMuC,QAAQ,GAAG,IAAAO,gBAAe,EAACjK,YAAY,EAAE;EAC7C2H,SAAS,EAATA,SAAS;EACTwB,UAAU,EAAVA,UAAU;EACVQ,SAAS,EAATA,SAAS;EACT3B,IAAI,EAAJA,IAAI;EACJM,IAAI,EAAJA,IAAI;EACJS,IAAI,EAAJA;AACF,CAAC,CAAC;AAAC,IAAAmB,QAAA,GAEYR,QAAQ;AAAAS,OAAA,cAAAD,QAAA"}
|
package/lib/es6/Carousel.js
CHANGED
|
@@ -23,18 +23,18 @@ import ChevronRight from '@semcore/icon/ChevronRight/l';
|
|
|
23
23
|
import ChevronLeft from '@semcore/icon/ChevronLeft/l';
|
|
24
24
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
25
25
|
/*__reshadow-styles__:"./style/carousel.shadow.css"*/
|
|
26
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
27
|
-
"__SCarousel": "
|
|
28
|
-
"__SContainer": "
|
|
29
|
-
"--duration": "--
|
|
30
|
-
"__SItem": "
|
|
31
|
-
"--transform": "--
|
|
32
|
-
"__SIndicators": "
|
|
33
|
-
"__SIndicator": "
|
|
34
|
-
"_active": "
|
|
35
|
-
"__SPrev": "
|
|
36
|
-
"__SNext": "
|
|
37
|
-
"_disabled": "
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCarousel_1tetf_gg_{overflow:hidden;outline:0}.___SContainer_1tetf_gg_{display:flex;transition:transform var(--duration_1tetf) ease-in-out}.___SItem_1tetf_gg_{flex:0 0 100%;max-width:100%;box-sizing:border-box;transform:var(--transform_1tetf);border-radius:var(--intergalactic-surface-rounded, 6px);overflow:hidden}.___SIndicators_1tetf_gg_{display:flex;justify-content:center;margin-top:var(--intergalactic-spacing-4x, 16px)}.___SIndicator_1tetf_gg_{margin:0 calc(.5*var(--intergalactic-spacing-3x, 12px));cursor:pointer;display:block;width:12px;height:12px;border-radius:var(--intergalactic-control-rounded, 6px);background-color:var(--intergalactic-icon-secondary-neutral, #a9abb6);opacity:var(--intergalactic-disabled-opacity, 0.3);-o-object-fit:cover;object-fit:cover;transition:ease-in-out opacity .1s}@media (hover:hover){.___SIndicator_1tetf_gg_:hover{opacity:calc(2*var(--intergalactic-disabled-opacity, 0.3))}}.___SIndicator_1tetf_gg_.__active_1tetf_gg_{opacity:1}.___SNext_1tetf_gg_,.___SPrev_1tetf_gg_{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.___SPrev_1tetf_gg_{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SNext_1tetf_gg_{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SNext_1tetf_gg_.__disabled_1tetf_gg_,.___SPrev_1tetf_gg_.__disabled_1tetf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SContainer_1tetf_gg_{transition:none}}" /*__inner_css_end__*/, "1tetf_gg_") /*__reshadow_css_end__*/, {
|
|
27
|
+
"__SCarousel": "___SCarousel_1tetf_gg_",
|
|
28
|
+
"__SContainer": "___SContainer_1tetf_gg_",
|
|
29
|
+
"--duration": "--duration_1tetf",
|
|
30
|
+
"__SItem": "___SItem_1tetf_gg_",
|
|
31
|
+
"--transform": "--transform_1tetf",
|
|
32
|
+
"__SIndicators": "___SIndicators_1tetf_gg_",
|
|
33
|
+
"__SIndicator": "___SIndicator_1tetf_gg_",
|
|
34
|
+
"_active": "__active_1tetf_gg_",
|
|
35
|
+
"__SPrev": "___SPrev_1tetf_gg_",
|
|
36
|
+
"__SNext": "___SNext_1tetf_gg_",
|
|
37
|
+
"_disabled": "__disabled_1tetf_gg_"
|
|
38
38
|
});
|
|
39
39
|
var position = {
|
|
40
40
|
getItemMin: function getItemMin(items) {
|
|
@@ -107,7 +107,7 @@ var CarouselRoot = /*#__PURE__*/function (_Component) {
|
|
|
107
107
|
};
|
|
108
108
|
}, function () {
|
|
109
109
|
var items = _this.state.items;
|
|
110
|
-
if (items.length
|
|
110
|
+
if (items.length > index && index >= 0) {
|
|
111
111
|
_this.slideToValue(_this.indexIndicator, index);
|
|
112
112
|
}
|
|
113
113
|
});
|
|
@@ -411,7 +411,7 @@ var Container = function Container(props) {
|
|
|
411
411
|
var styles = props.styles,
|
|
412
412
|
duration = props.duration;
|
|
413
413
|
return _ref9 = sstyled(styles), /*#__PURE__*/React.createElement(SContainer, _ref9.cn("SContainer", _objectSpread({}, _assignProps2({
|
|
414
|
-
"role":
|
|
414
|
+
"role": 'list',
|
|
415
415
|
"use:duration": "".concat(duration, "ms")
|
|
416
416
|
}, _ref2))));
|
|
417
417
|
};
|
|
@@ -438,7 +438,7 @@ var Item = function Item(props) {
|
|
|
438
438
|
}, []);
|
|
439
439
|
return _ref10 = sstyled(styles), /*#__PURE__*/React.createElement(SItem, _ref10.cn("SItem", _objectSpread({}, _assignProps3({
|
|
440
440
|
"ref": refItem,
|
|
441
|
-
"role":
|
|
441
|
+
"role": 'listitem',
|
|
442
442
|
"id": "igc-".concat(uid, "-carousel-item-").concat(index)
|
|
443
443
|
}, _ref3))));
|
|
444
444
|
};
|
|
@@ -448,14 +448,15 @@ var Prev = function Prev(props) {
|
|
|
448
448
|
var styles = props.styles;
|
|
449
449
|
var SPrev = Box;
|
|
450
450
|
return _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(SPrev, _ref11.cn("SPrev", _objectSpread({}, _assignProps4({
|
|
451
|
-
"aria-hidden":
|
|
451
|
+
"aria-hidden": 'true'
|
|
452
452
|
}, _ref4))));
|
|
453
453
|
};
|
|
454
454
|
Prev.defaultProps = function () {
|
|
455
455
|
return {
|
|
456
456
|
children: /*#__PURE__*/React.createElement(ChevronLeft, {
|
|
457
457
|
interactive: true,
|
|
458
|
-
color: "gray-300"
|
|
458
|
+
color: "gray-300",
|
|
459
|
+
"aria-label": "Visual navigation, previous"
|
|
459
460
|
}),
|
|
460
461
|
top: 0
|
|
461
462
|
};
|
|
@@ -466,14 +467,15 @@ var Next = function Next(props) {
|
|
|
466
467
|
var styles = props.styles;
|
|
467
468
|
var SNext = Box;
|
|
468
469
|
return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SNext, _ref12.cn("SNext", _objectSpread({}, _assignProps5({
|
|
469
|
-
"aria-hidden":
|
|
470
|
+
"aria-hidden": 'true'
|
|
470
471
|
}, _ref5))));
|
|
471
472
|
};
|
|
472
473
|
Next.defaultProps = function () {
|
|
473
474
|
return {
|
|
474
475
|
children: /*#__PURE__*/React.createElement(ChevronRight, {
|
|
475
476
|
interactive: true,
|
|
476
|
-
color: "gray-300"
|
|
477
|
+
color: "gray-300",
|
|
478
|
+
"aria-label": "Visual navigation, next"
|
|
477
479
|
}),
|
|
478
480
|
top: 0
|
|
479
481
|
};
|
|
@@ -488,11 +490,11 @@ var Indicators = function Indicators(_ref16) {
|
|
|
488
490
|
if (Children.origin) {
|
|
489
491
|
var _ref13;
|
|
490
492
|
return _ref13 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref13.cn("SIndicators", _objectSpread({}, _assignProps6({
|
|
491
|
-
"aria-hidden":
|
|
493
|
+
"aria-hidden": 'true'
|
|
492
494
|
}, _ref6))), /*#__PURE__*/React.createElement(Children, _ref13.cn("Children", {})));
|
|
493
495
|
}
|
|
494
496
|
return _ref14 = sstyled(styles), /*#__PURE__*/React.createElement(SIndicators, _ref14.cn("SIndicators", _objectSpread({}, _assignProps7({
|
|
495
|
-
"aria-hidden":
|
|
497
|
+
"aria-hidden": 'true'
|
|
496
498
|
}, _ref6))), items.map(function (item, index) {
|
|
497
499
|
return /*#__PURE__*/React.createElement(Carousel.Indicator, _extends({
|
|
498
500
|
key: index
|
package/lib/es6/Carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","names":["React","useEffect","createComponent","Component","sstyled","Root","Box","ChevronRight","ChevronLeft","uniqueIDEnhancement","style","_sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray","map","_objectSpread","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","keyCode","bindHandlerClick","_createClass","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","_this$asProps5","styles","Children","createElement","cn","_assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","defaultIndex","Container","_ref2","arguments[0]","_ref9","SContainer","_assignProps2","Item","_ref3","_ref10","SItem","refItem","_assignProps3","Prev","_ref4","_ref11","SPrev","_assignProps4","defaultProps","children","interactive","color","top","Next","_ref5","_ref12","SNext","_assignProps5","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","_assignProps6","_assignProps7","Carousel","Indicator","_extends","_ref17","_ref7","_ref15","SIndicator","_assignProps8"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React, { useEffect } 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';\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 };\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 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 };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { keyCode } = e;\n if (keyCode === 13) {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded } = 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 };\n }\n\n getNextProps() {\n const { index, bounded } = 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 };\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 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 } = props;\n const SItem = Root;\n const refItem = React.createRef();\n 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 render={Box} ref={refItem} role=\"listitem\" id={`igc-${uid}-carousel-item-${index}`} />,\n );\n};\n\nconst Prev = (props) => {\n const { styles } = props;\n const SPrev = Root;\n return sstyled(styles)(<SPrev render={Box} aria-hidden=\"true\" />);\n};\n\nPrev.defaultProps = () => ({\n children: <ChevronLeft interactive color=\"gray-300\" />,\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles } = props;\n const SNext = Root;\n return sstyled(styles)(<SNext render={Box} aria-hidden=\"true\" />);\n};\n\nNext.defaultProps = () => ({\n children: <ChevronRight interactive color=\"gray-300\" />,\n top: 0,\n});\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden=\"true\">\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden=\"true\">\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Carousel.js","names":["React","useEffect","createComponent","Component","sstyled","Root","Box","ChevronRight","ChevronLeft","uniqueIDEnhancement","style","_sstyled","insert","position","getItemMin","items","indexItem","forEach","item","index","getItemMax","getMin","getMax","MAP_TRANSFORM","ArrowLeft","ArrowRight","CarouselRoot","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","e","key","preventDefault","_this$controlTransfor","controlTransformItem","activeItemIndex","handlers","removeItem","arguments","length","undefined","asProps","state","updateItems","filter","element","node","setState","concat","_toConsumableArray","map","_objectSpread","transform","slideToValue","indexIndicator","refContainer","current","currentIndex","nextIndex","bounded","listIndex","_","ind","tmpArr","minTmpArr","maxTmpArr","unshift","pop","shift","push","tmpCurrentIndex","indexOf","left","nextIndexItem","direction","getDirection","i","_this$transformItem","transformItem","_this$asProps","maxIndexIndicator","isControlled","_this$asProps2","step","nextItemPosition","positionLeftItem","positionItemMax","positionItemMin","findIndex","transformContainer","_this$controlTransfor2","value","_touchStartCoord","changedTouches","clientX","touchEndCoord","delta","_this$controlTransfor3","_this$controlTransfor4","keyCode","bindHandlerClick","_createClass","uncontrolledProps","componentDidUpdate","prevProps","getContainerProps","duration","ref","getItemProps","toggleItem","uid","getPrevProps","_this$asProps3","disabled","onClick","onKeyDown","bindHandlerKeydownControl","getNextProps","_this$asProps4","getIndicatorsProps","_this2","active","bindHandlerClickIndicator","render","_ref","_ref8","SCarousel","_this$asProps5","styles","Children","createElement","cn","_assignProps","handlerKeyDown","handlerTouchStart","handlerTouchEnd","defaultIndex","Container","_ref2","arguments[0]","_ref9","SContainer","_assignProps2","Item","_ref3","_ref10","SItem","refItem","_assignProps3","Prev","_ref4","_ref11","SPrev","_assignProps4","defaultProps","children","interactive","color","top","Next","_ref5","_ref12","SNext","_assignProps5","Indicators","_ref16","_ref6","_ref14","SIndicators","origin","_ref13","_assignProps6","_assignProps7","Carousel","Indicator","_extends","_ref17","_ref7","_ref15","SIndicator","_assignProps8"],"sources":["../../src/Carousel.jsx"],"sourcesContent":["import React, { useEffect } 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';\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 };\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\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 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 };\n }\n\n bindHandlerKeydownControl = (direction) => (e) => {\n const { keyCode } = e;\n if (keyCode === 13) {\n e.preventDefault();\n this.bindHandlerClick(direction)();\n }\n };\n\n getPrevProps() {\n const { index, bounded } = 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 };\n }\n\n getNextProps() {\n const { index, bounded } = 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 };\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 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 } = props;\n const SItem = Root;\n const refItem = React.createRef();\n 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 render={Box} ref={refItem} role='listitem' id={`igc-${uid}-carousel-item-${index}`} />,\n );\n};\n\nconst Prev = (props) => {\n const { styles } = props;\n const SPrev = Root;\n return sstyled(styles)(<SPrev render={Box} aria-hidden='true' />);\n};\n\nPrev.defaultProps = () => ({\n children: <ChevronLeft interactive color='gray-300' aria-label='Visual navigation, previous' />,\n top: 0,\n});\n\nconst Next = (props) => {\n const { styles } = props;\n const SNext = Root;\n return sstyled(styles)(<SNext render={Box} aria-hidden='true' />);\n};\n\nNext.defaultProps = () => ({\n children: <ChevronRight interactive color='gray-300' aria-label='Visual navigation, next' />,\n top: 0,\n});\n\nconst Indicators = ({ items, styles, Children }) => {\n const SIndicators = Root;\n if (Children.origin) {\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n <Children />\n </SIndicators>,\n );\n }\n return sstyled(styles)(\n <SIndicators render={Box} aria-hidden='true'>\n {items.map((item, index) => (\n <Carousel.Indicator key={index} {...item} />\n ))}\n </SIndicators>,\n );\n};\n\nconst Indicator = ({ styles, Children }) => {\n const SIndicator = Root;\n return sstyled(styles)(\n <SIndicator render={Box}>\n <Children />\n </SIndicator>,\n );\n};\n\nconst Carousel = createComponent(CarouselRoot, {\n Container,\n Indicators,\n Indicator,\n Item,\n Prev,\n Next,\n});\n\nexport default Carousel;\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Carousel.jsx
CHANGED
|
@@ -9,28 +9,28 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
|
9
9
|
import style from './style/carousel.shadow.css';
|
|
10
10
|
|
|
11
11
|
const position = {
|
|
12
|
-
getItemMin: function
|
|
12
|
+
getItemMin: function(items) {
|
|
13
13
|
let indexItem = 0;
|
|
14
|
-
items.forEach(function
|
|
14
|
+
items.forEach(function(item, index) {
|
|
15
15
|
if (item.position < items[indexItem].position) {
|
|
16
16
|
indexItem = index;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
return indexItem;
|
|
20
20
|
},
|
|
21
|
-
getItemMax: function
|
|
21
|
+
getItemMax: function(items) {
|
|
22
22
|
let indexItem = 0;
|
|
23
|
-
items.forEach(function
|
|
23
|
+
items.forEach(function(item, index) {
|
|
24
24
|
if (item.position > items[indexItem].position) {
|
|
25
25
|
indexItem = index;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
return indexItem;
|
|
29
29
|
},
|
|
30
|
-
getMin: function
|
|
30
|
+
getMin: function(items) {
|
|
31
31
|
return items[position.getItemMin(items)].position;
|
|
32
32
|
},
|
|
33
|
-
getMax: function
|
|
33
|
+
getMax: function(items) {
|
|
34
34
|
return items[position.getItemMax(items)].position;
|
|
35
35
|
},
|
|
36
36
|
};
|
|
@@ -106,7 +106,7 @@ class CarouselRoot extends Component {
|
|
|
106
106
|
},
|
|
107
107
|
() => {
|
|
108
108
|
const { items } = this.state;
|
|
109
|
-
if (items.length
|
|
109
|
+
if (items.length > index && index >= 0) {
|
|
110
110
|
this.slideToValue(this.indexIndicator, index);
|
|
111
111
|
}
|
|
112
112
|
},
|
|
@@ -239,7 +239,7 @@ class CarouselRoot extends Component {
|
|
|
239
239
|
if (items[activeItemIndex]) {
|
|
240
240
|
items[
|
|
241
241
|
activeItemIndex
|
|
242
|
-
|
|
242
|
+
].node.style.transform = `translateX(${items[activeItemIndex].transform}%)`;
|
|
243
243
|
}
|
|
244
244
|
this.transformContainer(this.transform);
|
|
245
245
|
return { activeItemIndex };
|
|
@@ -363,7 +363,7 @@ const Container = (props) => {
|
|
|
363
363
|
const SContainer = Root;
|
|
364
364
|
const { styles, duration } = props;
|
|
365
365
|
|
|
366
|
-
return sstyled(styles)(<SContainer render={Box} role=
|
|
366
|
+
return sstyled(styles)(<SContainer render={Box} role='list' use:duration={`${duration}ms`} />);
|
|
367
367
|
};
|
|
368
368
|
|
|
369
369
|
const Item = (props) => {
|
|
@@ -380,29 +380,29 @@ const Item = (props) => {
|
|
|
380
380
|
}, []);
|
|
381
381
|
|
|
382
382
|
return sstyled(styles)(
|
|
383
|
-
<SItem render={Box} ref={refItem} role=
|
|
383
|
+
<SItem render={Box} ref={refItem} role='listitem' id={`igc-${uid}-carousel-item-${index}`} />,
|
|
384
384
|
);
|
|
385
385
|
};
|
|
386
386
|
|
|
387
387
|
const Prev = (props) => {
|
|
388
388
|
const { styles } = props;
|
|
389
389
|
const SPrev = Root;
|
|
390
|
-
return sstyled(styles)(<SPrev render={Box} aria-hidden=
|
|
390
|
+
return sstyled(styles)(<SPrev render={Box} aria-hidden='true' />);
|
|
391
391
|
};
|
|
392
392
|
|
|
393
393
|
Prev.defaultProps = () => ({
|
|
394
|
-
children: <ChevronLeft interactive color=
|
|
394
|
+
children: <ChevronLeft interactive color='gray-300' aria-label='Visual navigation, previous' />,
|
|
395
395
|
top: 0,
|
|
396
396
|
});
|
|
397
397
|
|
|
398
398
|
const Next = (props) => {
|
|
399
399
|
const { styles } = props;
|
|
400
400
|
const SNext = Root;
|
|
401
|
-
return sstyled(styles)(<SNext render={Box} aria-hidden=
|
|
401
|
+
return sstyled(styles)(<SNext render={Box} aria-hidden='true' />);
|
|
402
402
|
};
|
|
403
403
|
|
|
404
404
|
Next.defaultProps = () => ({
|
|
405
|
-
children: <ChevronRight interactive color=
|
|
405
|
+
children: <ChevronRight interactive color='gray-300' aria-label='Visual navigation, next' />,
|
|
406
406
|
top: 0,
|
|
407
407
|
});
|
|
408
408
|
|
|
@@ -410,13 +410,13 @@ const Indicators = ({ items, styles, Children }) => {
|
|
|
410
410
|
const SIndicators = Root;
|
|
411
411
|
if (Children.origin) {
|
|
412
412
|
return sstyled(styles)(
|
|
413
|
-
<SIndicators render={Box} aria-hidden=
|
|
413
|
+
<SIndicators render={Box} aria-hidden='true'>
|
|
414
414
|
<Children />
|
|
415
415
|
</SIndicators>,
|
|
416
416
|
);
|
|
417
417
|
}
|
|
418
418
|
return sstyled(styles)(
|
|
419
|
-
<SIndicators render={Box} aria-hidden=
|
|
419
|
+
<SIndicators render={Box} aria-hidden='true'>
|
|
420
420
|
{items.map((item, index) => (
|
|
421
421
|
<Carousel.Indicator key={index} {...item} />
|
|
422
422
|
))}
|