@salutejs/plasma-new-hope 0.326.0-canary.2013.15518408913.0 → 0.326.0-canary.2013.15538813402.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.
Files changed (101) hide show
  1. package/cjs/components/Carousel/CarouselNew/Carousel.css +40 -9
  2. package/cjs/components/Carousel/CarouselNew/Carousel.js +46 -31
  3. package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  4. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js +43 -2
  5. package/cjs/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
  6. package/cjs/components/Carousel/CarouselNew/Carousel.styles_1fs4wwn.css +5 -0
  7. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  8. package/cjs/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
  9. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  10. package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  11. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -5
  12. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
  13. package/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -1
  14. package/cjs/components/Carousel/CarouselNew/ui/Dots/{Dots.styles_1i4srxq.css → Dots.styles_ea836d.css} +1 -1
  15. package/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
  16. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  17. package/cjs/components/Sheet/hooks/useOverflow.js +2 -1
  18. package/cjs/components/Sheet/hooks/useOverflow.js.map +1 -1
  19. package/cjs/index.css +10 -9
  20. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +48 -35
  21. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.styles.js +39 -31
  22. package/emotion/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  23. package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  24. package/emotion/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +9 -9
  25. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
  26. package/emotion/cjs/components/Sheet/hooks/useOverflow.js +2 -1
  27. package/emotion/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
  28. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
  29. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
  30. package/emotion/es/components/Carousel/CarouselNew/Carousel.js +47 -37
  31. package/emotion/es/components/Carousel/CarouselNew/Carousel.styles.js +38 -30
  32. package/emotion/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  33. package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  34. package/emotion/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +9 -9
  35. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
  36. package/emotion/es/components/Sheet/hooks/useOverflow.js +2 -1
  37. package/emotion/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
  38. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
  39. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
  40. package/es/components/Carousel/CarouselNew/Carousel.css +40 -9
  41. package/es/components/Carousel/CarouselNew/Carousel.js +48 -33
  42. package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
  43. package/es/components/Carousel/CarouselNew/Carousel.styles.js +39 -3
  44. package/es/components/Carousel/CarouselNew/Carousel.styles.js.map +1 -1
  45. package/es/components/Carousel/CarouselNew/Carousel.styles_1fs4wwn.css +5 -0
  46. package/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  47. package/es/components/Carousel/CarouselNew/Carousel.tokens.js.map +1 -1
  48. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  49. package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
  50. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.css +5 -5
  51. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
  52. package/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js.map +1 -1
  53. package/es/components/Carousel/CarouselNew/ui/Dots/{Dots.styles_1i4srxq.css → Dots.styles_ea836d.css} +1 -1
  54. package/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
  55. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  56. package/es/components/Sheet/hooks/useOverflow.js +2 -1
  57. package/es/components/Sheet/hooks/useOverflow.js.map +1 -1
  58. package/es/index.css +10 -9
  59. package/package.json +5 -5
  60. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +48 -35
  61. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.styles.js +19 -20
  62. package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  63. package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  64. package/styled-components/cjs/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
  65. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +12 -3
  66. package/styled-components/cjs/components/Sheet/hooks/useOverflow.js +2 -1
  67. package/styled-components/cjs/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
  68. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
  69. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
  70. package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +47 -37
  71. package/styled-components/es/components/Carousel/CarouselNew/Carousel.styles.js +18 -19
  72. package/styled-components/es/components/Carousel/CarouselNew/Carousel.tokens.js +2 -1
  73. package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -1
  74. package/styled-components/es/components/Carousel/CarouselNew/ui/Dots/Dots.styles.js +1 -1
  75. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +12 -3
  76. package/styled-components/es/components/Sheet/hooks/useOverflow.js +2 -1
  77. package/styled-components/es/examples/plasma_b2c/components/Carousel/Carousel.stories.tsx +9 -20
  78. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +12 -3
  79. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +11 -3
  80. package/types/components/Carousel/CarouselNew/Carousel.d.ts +2 -8
  81. package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
  82. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts +88 -9
  83. package/types/components/Carousel/CarouselNew/Carousel.styles.d.ts.map +1 -1
  84. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts +1 -0
  85. package/types/components/Carousel/CarouselNew/Carousel.tokens.d.ts.map +1 -1
  86. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +7 -52
  87. package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
  88. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts +8 -4
  89. package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
  90. package/types/components/Carousel/CarouselNew/ui/Dots/Dots.styles.d.ts.map +1 -1
  91. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +0 -2
  92. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  93. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +0 -4
  94. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  95. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +3 -3
  96. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  97. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  98. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  99. package/types/components/Sheet/hooks/useOverflow.d.ts.map +1 -1
  100. package/cjs/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
  101. package/es/components/Carousel/CarouselNew/Carousel.styles_1gx7oht.css +0 -4
@@ -6,13 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.carouselNewRoot = exports.carouselNewConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("react"));
9
+ var _Icon = /*#__PURE__*/require("../../_Icon");
10
+ var _Carousel = /*#__PURE__*/require("./Carousel.tokens");
9
11
  var _base = /*#__PURE__*/require("./variations/_size/base");
10
12
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
11
- var _Carousel = /*#__PURE__*/require("./Carousel.styles");
13
+ var _Carousel2 = /*#__PURE__*/require("./Carousel.styles");
12
14
  var _useCarousel2 = /*#__PURE__*/require("./hooks/useCarousel");
13
15
  var _useDragScroll = /*#__PURE__*/require("./hooks/useDragScroll");
14
16
  var _ui = /*#__PURE__*/require("./ui");
15
- var _br;
17
+ var _IconDisclosureLeft, _IconDisclosureRight;
16
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
20
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
@@ -20,59 +22,70 @@ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructur
20
22
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
23
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
24
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // import { useForkRef } from '@salutejs/plasma-core';
24
- // import { base, CarouselWrapper, CarouselTrack } from './Carousel.styles';
25
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
26
  /**
26
27
  * Компонент для создания списков с прокруткой.
27
28
  */
28
29
  var carouselNewRoot = exports.carouselNewRoot = function carouselNewRoot(Root) {
29
- return /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
30
- // @ts-ignore
31
- ref) {
30
+ return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
32
31
  var view = _ref.view,
33
32
  size = _ref.size,
34
- outerIndex = _ref.index,
35
33
  scrollAlign = _ref.scrollAlign,
36
- detectActive = _ref.detectActive,
37
- detectThreshold = _ref.detectThreshold,
38
- onIndexChange = _ref.onIndexChange,
39
34
  children = _ref.children,
40
35
  _ref$isDragScrollDisa = _ref.isDragScrollDisabled,
41
36
  isDragScrollDisabled = _ref$isDragScrollDisa === void 0 ? false : _ref$isDragScrollDisa,
42
- paginationOptions = _ref.paginationOptions;
37
+ gap = _ref.gap,
38
+ paginationOptions = _ref.paginationOptions,
39
+ className = _ref.className,
40
+ style = _ref.style;
43
41
  var _useState = (0, _react.useState)(0),
44
42
  _useState2 = _slicedToArray(_useState, 2),
45
- internalIndex = _useState2[0],
46
- setInternalIndex = _useState2[1];
47
- var index = outerIndex !== null && outerIndex !== void 0 ? outerIndex : internalIndex;
48
- var handleChangeIndex = (0, _react.useCallback)(function (index) {
49
- if (onIndexChange) {
50
- onIndexChange(index);
51
- }
52
- setInternalIndex(index);
53
- }, [onIndexChange]);
54
-
55
- // const { scrollRef, trackRef } = useCarousel({
43
+ index = _useState2[0],
44
+ setIndex = _useState2[1];
45
+ var slidesAmount = _react.Children.count(children);
46
+ var handleClickLeft = function handleClickLeft() {
47
+ setIndex(Math.max(0, index - 1));
48
+ };
49
+ var handleClickRight = function handleClickRight() {
50
+ setIndex(Math.min(slidesAmount - 1, index + 1));
51
+ };
56
52
  var _useCarousel = (0, _useCarousel2.useCarousel)({
57
53
  index: index,
58
54
  scrollAlign: scrollAlign,
59
- detectActive: detectActive,
60
- detectThreshold: detectThreshold,
61
- onIndexChange: onIndexChange
55
+ onIndexChange: setIndex
62
56
  }),
63
- scrollRef = _useCarousel.scrollRef;
64
-
65
- // const handleRef = useForkRef(scrollRef, ref);
66
-
57
+ scrollRef = _useCarousel.scrollRef,
58
+ trackRef = _useCarousel.trackRef;
67
59
  (0, _useDragScroll.useDragScroll)(scrollRef, isDragScrollDisabled);
68
- var slidesAmount = _react.Children.count(children);
69
60
  return /*#__PURE__*/_react["default"].createElement(Root, {
61
+ className: className,
62
+ style: style,
70
63
  size: size,
71
64
  view: view,
72
- index: index
73
- }, _br || (_br = /*#__PURE__*/_react["default"].createElement("br", null)), !(paginationOptions !== null && paginationOptions !== void 0 && paginationOptions.disabled) && /*#__PURE__*/_react["default"].createElement(_ui.Dots, {
65
+ ref: ref
66
+ }, /*#__PURE__*/_react["default"].createElement(_Carousel2.ControlsWrapper, null, index !== 0 && /*#__PURE__*/_react["default"].createElement(_Carousel2.IconButton, {
67
+ pin: "circle-circle",
68
+ onClick: handleClickLeft
69
+ }, _IconDisclosureLeft || (_IconDisclosureLeft = /*#__PURE__*/_react["default"].createElement(_Icon.IconDisclosureLeft, {
70
+ size: "m",
71
+ color: "inherit"
72
+ }))), /*#__PURE__*/_react["default"].createElement(_Carousel2.CarouselWrapper, {
73
+ ref: scrollRef
74
+ }, /*#__PURE__*/_react["default"].createElement(_Carousel2.CarouselTrack, {
75
+ ref: trackRef
76
+ // aria-live={ariaLive}
77
+ ,
78
+ gap: gap
79
+ }, children)), index !== slidesAmount - 1 && /*#__PURE__*/_react["default"].createElement(_Carousel2.IconButton, {
80
+ className: _Carousel.classes.rightControlButton,
81
+ pin: "circle-circle",
82
+ onClick: handleClickRight
83
+ }, _IconDisclosureRight || (_IconDisclosureRight = /*#__PURE__*/_react["default"].createElement(_Icon.IconDisclosureRight, {
84
+ size: "m",
85
+ color: "inherit"
86
+ })))), !(paginationOptions !== null && paginationOptions !== void 0 && paginationOptions.disabled) && /*#__PURE__*/_react["default"].createElement(_ui.Dots, {
74
87
  index: index,
75
- onChange: handleChangeIndex,
88
+ onChange: setIndex,
76
89
  visibleCount: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.visibleDots) || slidesAmount,
77
90
  count: slidesAmount,
78
91
  centered: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.centered) || false
@@ -83,7 +96,7 @@ var carouselNewConfig = exports.carouselNewConfig = {
83
96
  name: 'Carousel',
84
97
  tag: 'div',
85
98
  layout: carouselNewRoot,
86
- base: _Carousel.base,
99
+ base: _Carousel2.base,
87
100
  variations: {
88
101
  view: {
89
102
  css: _base2.base
@@ -4,29 +4,28 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.base = exports.CarouselWrapper = exports.CarouselTrack = exports.CarouselGridWrapper = void 0;
7
+ exports.base = exports.IconButtonComponent = exports.IconButton = exports.ControlsWrapper = exports.CarouselWrapper = exports.CarouselTrack = void 0;
8
8
  var _styledComponents = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("styled-components"));
9
+ var _engines = /*#__PURE__*/require("../../../engines");
10
+ var _IconButton = /*#__PURE__*/require("../../IconButton");
11
+ var _Carousel = /*#__PURE__*/require("./Carousel.tokens");
9
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
- var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["position:relative;padding:20px 0;border-top:2px solid #ff000038;&:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff000038;}"]);
12
-
13
- /**
14
- * Компонент применяется, если требуется компенсировать отступы контейнера в сетке.
15
- * При обертывании вокруг ``Carousel``, добавляет карусели и ее прокрутке дополнительные отступы.
16
- * Стилизованный компонент, обладающий всеми свойствами ``div``.
17
- */
18
- var CarouselGridWrapper = exports.CarouselGridWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
19
- componentId: "plasma-new-hope__sc-vln28v-0"
20
- })(["overflow:hidden;margin-left:calc(var(--plasma-grid-margin) * -1);margin-right:calc(var(--plasma-grid-margin) * -1);"]);
14
+ var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_IconButton.iconButtonConfig);
15
+ var IconButtonComponent = exports.IconButtonComponent = /*#__PURE__*/(0, _engines.component)(mergedConfig);
16
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["position:relative;"]);
21
17
  var CarouselWrapper = exports.CarouselWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
22
- componentId: "plasma-new-hope__sc-vln28v-1"
23
- })(["position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:", ";", " &{scroll-padding:0 var(--plasma-grid-margin);padding-left:var(--plasma-grid-margin);}user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);"], function (_ref) {
24
- var scrollSnapType = _ref.scrollSnapType;
25
- return "x ".concat(scrollSnapType);
26
- }, CarouselGridWrapper);
18
+ componentId: "plasma-new-hope__sc-vln28v-0"
19
+ })(["position:relative;margin:0;padding:0;list-style:none;-ms-overflow-style:none;scrollbar-width:none;::-webkit-scrollbar{display:none;}overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);"]);
27
20
  var CarouselTrack = exports.CarouselTrack = /*#__PURE__*/_styledComponents["default"].div.withConfig({
28
- componentId: "plasma-new-hope__sc-vln28v-2"
29
- })(["display:inline-flex;flex-direction:row;gap:", ";"], function (_ref2) {
30
- var gap = _ref2.gap;
21
+ componentId: "plasma-new-hope__sc-vln28v-1"
22
+ })(["display:inline-flex;flex-direction:row;gap:", ";"], function (_ref) {
23
+ var gap = _ref.gap;
31
24
  return gap || 0;
32
- });
25
+ });
26
+ var IconButton = exports.IconButton = /*#__PURE__*/(0, _styledComponents["default"])(IconButtonComponent).withConfig({
27
+ componentId: "plasma-new-hope__sc-vln28v-2"
28
+ })(["position:absolute;top:50%;transform:translateY(-50%);left:0.75rem;z-index:10;", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(", ");", ":var(--surface-transparent-secondary-hover);", ":var(--surface-transparent-secondary-active);", ":2.5rem;", ":2.5rem;", ":1rem;", ":0.625rem;&.", "{left:auto;right:0.75rem;}"], _IconButton.iconButtonTokens.iconButtonColor, _IconButton.iconButtonTokens.iconButtonBackgroundColor, _IconButton.iconButtonTokens.iconButtonLoadingBackgroundColor, _IconButton.iconButtonTokens.iconButtonBackgroundColor, _IconButton.iconButtonTokens.iconButtonBackgroundColorHover, _IconButton.iconButtonTokens.iconButtonBackgroundColorActive, _IconButton.iconButtonTokens.iconButtonHeight, _IconButton.iconButtonTokens.iconButtonWidth, _IconButton.iconButtonTokens.iconButtonPadding, _IconButton.iconButtonTokens.iconButtonRadius, _Carousel.classes.rightControlButton);
29
+ var ControlsWrapper = exports.ControlsWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
30
+ componentId: "plasma-new-hope__sc-vln28v-3"
31
+ })(["position:relative;"]);
@@ -13,7 +13,8 @@ var classes = exports.classes = {
13
13
  temporaryNatural: 'dot-temporary-natural',
14
14
  shrinking: 'dot-shrinking',
15
15
  availableDotsLeft: 'dot-available-dots-left',
16
- availableDotsRight: 'dot-available-dots-right'
16
+ availableDotsRight: 'dot-available-dots-right',
17
+ rightControlButton: 'carousel-right-control-button'
17
18
  };
18
19
  var tokens = exports.tokens = {
19
20
  paginationDotBackground: '--plasma-carousel-pagination-dot-background',
@@ -236,13 +236,13 @@ var THROTTLE_DEFAULT_MS = 100;
236
236
  var DEBOUNCE_DEFAULT_MS = 150;
237
237
  var useCarousel = exports.useCarousel = function useCarousel(_ref4) {
238
238
  var index = _ref4.index,
239
+ onIndexChange = _ref4.onIndexChange,
239
240
  _ref4$detectActive = _ref4.detectActive,
240
241
  detectActive = _ref4$detectActive === void 0 ? false : _ref4$detectActive,
241
242
  _ref4$detectThreshold = _ref4.detectThreshold,
242
243
  detectThreshold = _ref4$detectThreshold === void 0 ? 0.5 : _ref4$detectThreshold,
243
244
  _ref4$scrollAlign = _ref4.scrollAlign,
244
245
  scrollAlign = _ref4$scrollAlign === void 0 ? 'center' : _ref4$scrollAlign,
245
- onIndexChange = _ref4.onIndexChange,
246
246
  _ref4$throttleMs = _ref4.throttleMs,
247
247
  throttleMs = _ref4$throttleMs === void 0 ? THROTTLE_DEFAULT_MS : _ref4$throttleMs,
248
248
  _ref4$debounceMs = _ref4.debounceMs,
@@ -9,7 +9,7 @@ var _Carousel = /*#__PURE__*/require("../../Carousel.tokens");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
10
  var Wrapper = exports.Wrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
11
11
  componentId: "plasma-new-hope__sc-feybgn-0"
12
- })(["display:flex;align-items:center;justify-content:center;--duration:0.3s;--half-duration:0.15s;"]);
12
+ })(["display:flex;align-items:center;justify-content:center;margin-top:0.75rem;--duration:0.3s;--half-duration:0.15s;"]);
13
13
  var TransitionWrapper = exports.TransitionWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
14
14
  componentId: "plasma-new-hope__sc-feybgn-1"
15
15
  })(["position:relative;display:flex;transition:transform 0s ease;&.", "{transition:transform var(--duration) ease;}& .", "{width:0.5rem;height:0.5rem;margin:0 0.25rem;cursor:pointer;background-color:var(", ");border-radius:100%;&.", "{background-color:var(", ");}@keyframes fadeOut{from{transform:scale(0.75);opacity:1;}to{transform:scale(0);opacity:0;}}&.", "{animation:fadeOut var(--half-duration) ease forwards;}@keyframes shrinking{from{transform:scale(1);}to{transform:scale(0.75);}}&.", "{animation:shrinking var(--half-duration) var(--half-duration) ease forwards;}}"], _Carousel.classes.animating, _Carousel.classes.dot, _Carousel.tokens.paginationDotBackground, _Carousel.classes.active, _Carousel.tokens.paginationDotActiveBackground, _Carousel.classes.animateOut, _Carousel.classes.shrinking);
@@ -19,7 +19,7 @@ var _base2 = /*#__PURE__*/require("./variations/_view/base");
19
19
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
20
20
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
21
21
  var _SingleDate = /*#__PURE__*/require("./SingleDate.styles");
22
- var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "hasRequiredIndicator", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "calendarContainerWidth", "calendarContainerHeight", "stretched", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange", "autoComplete"];
22
+ var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "hasRequiredIndicator", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "calendarContainerWidth", "calendarContainerHeight", "stretched", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange", "autoComplete"];
23
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
24
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -98,6 +98,8 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
98
98
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
99
99
  _ref$closeOnEsc = _ref.closeOnEsc,
100
100
  closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
101
+ _ref$closeAfterDateSe = _ref.closeAfterDateSelect,
102
+ closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
101
103
  offset = _ref.offset,
102
104
  calendarContainerWidth = _ref.calendarContainerWidth,
103
105
  calendarContainerHeight = _ref.calendarContainerHeight,
@@ -172,14 +174,14 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
172
174
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
173
175
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
174
176
  handleChangeValue = _useDatePicker.handleChangeValue,
175
- handleCalendarPick = _useDatePicker.handleCalendarPick,
177
+ onCalendarPick = _useDatePicker.handleCalendarPick,
176
178
  handleSearch = _useDatePicker.handleSearch,
177
179
  updateExternalDate = _useDatePicker.updateExternalDate;
178
180
  var handleToggle = function handleToggle(innerOpened, event) {
179
181
  if (disabled || readOnly) {
180
182
  return;
181
183
  }
182
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== _useKeyboardNavigation.keys.Escape ? true : innerOpened;
184
+ var isCalendarOpen = (event === null || event === void 0 ? void 0 : event.target) === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== _useKeyboardNavigation.keys.Escape ? true : innerOpened;
183
185
  if (!innerOpened && !calendarValue) {
184
186
  setCalendarValue(function (prevValue) {
185
187
  return prevValue === undefined ? null : undefined;
@@ -220,6 +222,13 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
220
222
  onBlur(event);
221
223
  }
222
224
  };
225
+ var handleCalendarPick = function handleCalendarPick(date, dateInfo) {
226
+ onCalendarPick(date, dateInfo);
227
+ if (closeAfterDateSelect) {
228
+ setIsInnerOpen(false);
229
+ handleToggle(false);
230
+ }
231
+ };
223
232
  var DatePickerInput = /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledInput, {
224
233
  ref: inputRef,
225
234
  className: (0, _classnames["default"])(datePickerErrorClass, datePickerSuccessClass),
@@ -5,9 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useOverflow = void 0;
7
7
  var _react = /*#__PURE__*/require("react");
8
+ var _utils = /*#__PURE__*/require("../../../utils");
8
9
  var useOverflow = exports.useOverflow = function useOverflow(_ref) {
9
10
  var opened = _ref.opened;
10
- var overflow = (0, _react.useRef)(document.body.style.overflowY);
11
+ var overflow = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflowY : 'initial');
11
12
 
12
13
  // linaria не поддерживает динамический global
13
14
  (0, _react.useEffect)(function () {
@@ -35,7 +35,7 @@ const meta: Meta<StoryCarouselProps> = {
35
35
  },
36
36
  },
37
37
  align: {
38
- options: ['center', 'start', 'end'],
38
+ options: ['start', 'center', 'end'],
39
39
  control: {
40
40
  type: 'inline-radio',
41
41
  },
@@ -52,6 +52,9 @@ const meta: Meta<StoryCarouselProps> = {
52
52
  paginationCentered: {
53
53
  control: 'boolean',
54
54
  },
55
+ gap: {
56
+ control: 'text',
57
+ },
55
58
  },
56
59
  args: {
57
60
  view: 'default',
@@ -61,10 +64,11 @@ const meta: Meta<StoryCarouselProps> = {
61
64
  visibleDots: 6,
62
65
  slides: 10,
63
66
  paginationCentered: false,
67
+ gap: '20px',
64
68
  },
65
69
  parameters: {
66
70
  controls: {
67
- include: ['visibleDots', 'slides', 'paginationCentered'],
71
+ include: ['align', 'isDragScrollDisabled', 'visibleDots', 'slides', 'paginationCentered', 'gap'],
68
72
  },
69
73
  },
70
74
  };
@@ -89,10 +93,9 @@ const StoryDefault = ({
89
93
  slides,
90
94
  paginationCentered,
91
95
  isDragScrollDisabled,
96
+ gap,
92
97
  ...rest
93
98
  }: StoryCarouselProps) => {
94
- const [index, setIndex] = React.useState(0);
95
-
96
99
  const items = Array(slides)
97
100
  .fill(1)
98
101
  .map((_, i) => ({
@@ -102,26 +105,12 @@ const StoryDefault = ({
102
105
 
103
106
  return (
104
107
  <>
105
- <button type="button" onClick={() => setIndex((prev) => Math.max(prev - 1, 0))}>
106
- prev
107
- </button>
108
- <button type="button" onClick={() => setIndex((prev) => Math.min(prev + 1, slides - 1))}>
109
- next
110
- </button>
111
- <br />
112
- <span>текущий индекс: {index}</span>
113
-
114
- <br />
115
- <br />
116
-
117
- <div style={{ width: '800px' }}>
108
+ <div style={{ width: '600px' }}>
118
109
  <Carousel
119
- index={index}
120
- onIndexChange={setIndex}
121
110
  detectActive
122
111
  scrollAlign={align}
123
112
  isDragScrollDisabled={isDragScrollDisabled}
124
- gap="20px"
113
+ gap={gap}
125
114
  paginationOptions={{
126
115
  visibleDots,
127
116
  centered: paginationCentered,
@@ -14,6 +14,7 @@ const onChangeValue = action('onChangeValue');
14
14
  const onCommitDate = action('onCommitDate');
15
15
  const onBlur = action('onBlur');
16
16
  const onFocus = action('onFocus');
17
+ const onToggle = action('onToggle');
17
18
 
18
19
  const onChangeFirstValue = action('onChangeFirstValue');
19
20
  const onChangeSecondValue = action('onChangeSecondValue');
@@ -118,7 +119,10 @@ const StoryDefault = ({
118
119
  contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
119
120
  onBlur={onBlur}
120
121
  onFocus={onFocus}
121
- onToggle={(is) => setIsOpen(is)}
122
+ onToggle={(is) => {
123
+ setIsOpen(is);
124
+ onToggle(is);
125
+ }}
122
126
  onChangeValue={onChangeValue}
123
127
  onCommitDate={onCommitDate}
124
128
  lang={lang}
@@ -162,6 +166,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
162
166
  includeEdgeDates: true,
163
167
  min: new Date(2024, 1, 1),
164
168
  max: new Date(2024, 12, 29),
169
+ closeAfterDateSelect: true,
165
170
  maskWithFormat: true,
166
171
  required: false,
167
172
  requiredPlacement: 'right',
@@ -262,7 +267,10 @@ const StoryRange = ({
262
267
  secondTextfieldTextBefore={
263
268
  showDefaultTextBefore ? secondTextfieldTextBefore || 'ПО' : secondTextfieldTextBefore
264
269
  }
265
- onToggle={(is) => setIsOpen(is)}
270
+ onToggle={(is) => {
271
+ setIsOpen(is);
272
+ onToggle(is);
273
+ }}
266
274
  onChangeFirstValue={onChangeFirstValue}
267
275
  onChangeSecondValue={onChangeSecondValue}
268
276
  lang={lang}
@@ -304,11 +312,11 @@ export const Range: StoryObj<StoryPropsRange> = {
304
312
  calendarContainerHeight: 0,
305
313
  stretched: false,
306
314
  isDoubleCalendar: false,
307
- closeAfterDateSelect: true,
308
315
  dividerVariant: 'dash',
309
316
  includeEdgeDates: true,
310
317
  min: new Date(2024, 1, 1),
311
318
  max: new Date(2024, 12, 29),
319
+ closeAfterDateSelect: true,
312
320
  renderFromDate: new Date(2024, 4, 14),
313
321
  maskWithFormat: false,
314
322
  required: false,
@@ -410,6 +418,7 @@ export const Deferred: StoryObj<StoryPropsDefault> = {
410
418
  includeEdgeDates: true,
411
419
  min: new Date(2024, 1, 1),
412
420
  max: new Date(2024, 12, 29),
421
+ closeAfterDateSelect: true,
413
422
  maskWithFormat: false,
414
423
  required: false,
415
424
  requiredPlacement: 'right',
@@ -118,7 +118,10 @@ const StoryDefault = ({
118
118
  contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
119
119
  onBlur={onBlur}
120
120
  onFocus={onFocus}
121
- onToggle={(is) => setIsOpen(is)}
121
+ onToggle={(is) => {
122
+ setIsOpen(is);
123
+ onToggle(is);
124
+ }}
122
125
  onChangeValue={onChangeValue}
123
126
  onCommitDate={onCommitDate}
124
127
  lang={lang}
@@ -162,6 +165,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
162
165
  includeEdgeDates: true,
163
166
  min: new Date(2024, 1, 1),
164
167
  max: new Date(2024, 12, 29),
168
+ closeAfterDateSelect: true,
165
169
  maskWithFormat: false,
166
170
  required: false,
167
171
  requiredPlacement: 'right',
@@ -262,7 +266,10 @@ const StoryRange = ({
262
266
  secondTextfieldTextBefore={
263
267
  showDefaultTextBefore ? secondTextfieldTextBefore || 'ПО' : secondTextfieldTextBefore
264
268
  }
265
- onToggle={(is) => setIsOpen(is)}
269
+ onToggle={(is) => {
270
+ setIsOpen(is);
271
+ onToggle(is);
272
+ }}
266
273
  onChangeFirstValue={onChangeFirstValue}
267
274
  onChangeSecondValue={onChangeSecondValue}
268
275
  lang={lang}
@@ -304,11 +311,11 @@ export const Range: StoryObj<StoryPropsRange> = {
304
311
  calendarContainerHeight: 0,
305
312
  stretched: false,
306
313
  isDoubleCalendar: false,
307
- closeAfterDateSelect: true,
308
314
  dividerVariant: 'dash',
309
315
  includeEdgeDates: true,
310
316
  min: new Date(2024, 1, 1),
311
317
  max: new Date(2024, 12, 29),
318
+ closeAfterDateSelect: true,
312
319
  renderFromDate: new Date(2024, 4, 14),
313
320
  maskWithFormat: false,
314
321
  required: false,
@@ -410,6 +417,7 @@ export const Deferred: StoryObj<StoryPropsDefault> = {
410
417
  includeEdgeDates: true,
411
418
  min: new Date(2024, 1, 1),
412
419
  max: new Date(2024, 12, 29),
420
+ closeAfterDateSelect: true,
413
421
  maskWithFormat: false,
414
422
  required: false,
415
423
  requiredPlacement: 'right',
@@ -1,18 +1,16 @@
1
- var _br;
1
+ var _IconDisclosureLeft, _IconDisclosureRight;
2
2
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
4
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
5
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
7
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
- import React, { forwardRef, useState, useCallback, Children } from 'react';
9
- // import { useForkRef } from '@salutejs/plasma-core';
10
-
8
+ import React, { forwardRef, useState, Children } from 'react';
9
+ import { IconDisclosureLeft, IconDisclosureRight } from "../../_Icon";
10
+ import { classes } from "./Carousel.tokens";
11
11
  import { base as sizeCSS } from "./variations/_size/base";
12
12
  import { base as viewCSS } from "./variations/_view/base";
13
- import { base } from "./Carousel.styles";
14
- // import { base, CarouselWrapper, CarouselTrack } from './Carousel.styles';
15
-
13
+ import { base, CarouselWrapper, CarouselTrack, ControlsWrapper, IconButton } from "./Carousel.styles";
16
14
  import { useCarousel } from "./hooks/useCarousel";
17
15
  import { useDragScroll } from "./hooks/useDragScroll";
18
16
  import { Dots } from "./ui";
@@ -21,53 +19,65 @@ import { Dots } from "./ui";
21
19
  * Компонент для создания списков с прокруткой.
22
20
  */
23
21
  export var carouselNewRoot = function carouselNewRoot(Root) {
24
- return /*#__PURE__*/forwardRef(function (_ref,
25
- // @ts-ignore
26
- ref) {
22
+ return /*#__PURE__*/forwardRef(function (_ref, ref) {
27
23
  var view = _ref.view,
28
24
  size = _ref.size,
29
- outerIndex = _ref.index,
30
25
  scrollAlign = _ref.scrollAlign,
31
- detectActive = _ref.detectActive,
32
- detectThreshold = _ref.detectThreshold,
33
- onIndexChange = _ref.onIndexChange,
34
26
  children = _ref.children,
35
27
  _ref$isDragScrollDisa = _ref.isDragScrollDisabled,
36
28
  isDragScrollDisabled = _ref$isDragScrollDisa === void 0 ? false : _ref$isDragScrollDisa,
37
- paginationOptions = _ref.paginationOptions;
29
+ gap = _ref.gap,
30
+ paginationOptions = _ref.paginationOptions,
31
+ className = _ref.className,
32
+ style = _ref.style;
38
33
  var _useState = useState(0),
39
34
  _useState2 = _slicedToArray(_useState, 2),
40
- internalIndex = _useState2[0],
41
- setInternalIndex = _useState2[1];
42
- var index = outerIndex !== null && outerIndex !== void 0 ? outerIndex : internalIndex;
43
- var handleChangeIndex = useCallback(function (index) {
44
- if (onIndexChange) {
45
- onIndexChange(index);
46
- }
47
- setInternalIndex(index);
48
- }, [onIndexChange]);
49
-
50
- // const { scrollRef, trackRef } = useCarousel({
35
+ index = _useState2[0],
36
+ setIndex = _useState2[1];
37
+ var slidesAmount = Children.count(children);
38
+ var handleClickLeft = function handleClickLeft() {
39
+ setIndex(Math.max(0, index - 1));
40
+ };
41
+ var handleClickRight = function handleClickRight() {
42
+ setIndex(Math.min(slidesAmount - 1, index + 1));
43
+ };
51
44
  var _useCarousel = useCarousel({
52
45
  index: index,
53
46
  scrollAlign: scrollAlign,
54
- detectActive: detectActive,
55
- detectThreshold: detectThreshold,
56
- onIndexChange: onIndexChange
47
+ onIndexChange: setIndex
57
48
  }),
58
- scrollRef = _useCarousel.scrollRef;
59
-
60
- // const handleRef = useForkRef(scrollRef, ref);
61
-
49
+ scrollRef = _useCarousel.scrollRef,
50
+ trackRef = _useCarousel.trackRef;
62
51
  useDragScroll(scrollRef, isDragScrollDisabled);
63
- var slidesAmount = Children.count(children);
64
52
  return /*#__PURE__*/React.createElement(Root, {
53
+ className: className,
54
+ style: style,
65
55
  size: size,
66
56
  view: view,
67
- index: index
68
- }, _br || (_br = /*#__PURE__*/React.createElement("br", null)), !(paginationOptions !== null && paginationOptions !== void 0 && paginationOptions.disabled) && /*#__PURE__*/React.createElement(Dots, {
57
+ ref: ref
58
+ }, /*#__PURE__*/React.createElement(ControlsWrapper, null, index !== 0 && /*#__PURE__*/React.createElement(IconButton, {
59
+ pin: "circle-circle",
60
+ onClick: handleClickLeft
61
+ }, _IconDisclosureLeft || (_IconDisclosureLeft = /*#__PURE__*/React.createElement(IconDisclosureLeft, {
62
+ size: "m",
63
+ color: "inherit"
64
+ }))), /*#__PURE__*/React.createElement(CarouselWrapper, {
65
+ ref: scrollRef
66
+ }, /*#__PURE__*/React.createElement(CarouselTrack, {
67
+ ref: trackRef
68
+ // aria-live={ariaLive}
69
+ ,
70
+ gap: gap
71
+ }, children)), index !== slidesAmount - 1 && /*#__PURE__*/React.createElement(IconButton, {
72
+ className: classes.rightControlButton,
73
+ pin: "circle-circle",
74
+ onClick: handleClickRight
75
+ }, _IconDisclosureRight || (_IconDisclosureRight = /*#__PURE__*/React.createElement(IconDisclosureRight, {
76
+ size: "m",
77
+ color: "inherit"
78
+ })))), !(paginationOptions !== null && paginationOptions !== void 0 && paginationOptions.disabled) && /*#__PURE__*/React.createElement(Dots, {
69
79
  index: index,
70
- onChange: handleChangeIndex,
80
+ onChange: setIndex,
71
81
  visibleCount: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.visibleDots) || slidesAmount,
72
82
  count: slidesAmount,
73
83
  centered: (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.centered) || false