@alfalab/core-components-bottom-sheet 6.9.2 → 6.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/component.js CHANGED
@@ -23,7 +23,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
23
23
  var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
24
24
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
25
25
 
26
- var styles = {"modal":"bottom-sheet__modal_t885f","wrapper":"bottom-sheet__wrapper_t885f","fullscreen":"bottom-sheet__fullscreen_t885f","component":"bottom-sheet__component_t885f","withTransition":"bottom-sheet__withTransition_t885f","scrollableContainer":"bottom-sheet__scrollableContainer_t885f","marker":"bottom-sheet__marker_t885f","defaultMarker":"bottom-sheet__defaultMarker_t885f","content":"bottom-sheet__content_t885f","noHeader":"bottom-sheet__noHeader_t885f","noFooter":"bottom-sheet__noFooter_t885f","scrollLocked":"bottom-sheet__scrollLocked_t885f","hiddenScrollbar":"bottom-sheet__hiddenScrollbar_t885f","disabledPointerEvents":"bottom-sheet__disabledPointerEvents_t885f","appear":"bottom-sheet__appear_t885f","enter":"bottom-sheet__enter_t885f","appearActive":"bottom-sheet__appearActive_t885f","enterActive":"bottom-sheet__enterActive_t885f","enterDone":"bottom-sheet__enterDone_t885f","appearDone":"bottom-sheet__appearDone_t885f","exit":"bottom-sheet__exit_t885f","exitActive":"bottom-sheet__exitActive_t885f","background-accent":"bottom-sheet__background-accent_t885f","background-info":"bottom-sheet__background-info_t885f","background-attention-muted":"bottom-sheet__background-attention-muted_t885f","background-positive-muted":"bottom-sheet__background-positive-muted_t885f","background-negative-muted":"bottom-sheet__background-negative-muted_t885f","background-primary":"bottom-sheet__background-primary_t885f","background-primary-inverted":"bottom-sheet__background-primary-inverted_t885f","background-secondary":"bottom-sheet__background-secondary_t885f","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_t885f","background-tertiary":"bottom-sheet__background-tertiary_t885f","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_t885f","background-quaternary":"bottom-sheet__background-quaternary_t885f","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_t885f","background-specialbg-component":"bottom-sheet__background-specialbg-component_t885f","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_t885f","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_t885f","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_t885f","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_t885f","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_t885f","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_t885f","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_t885f","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_t885f"};
26
+ var styles = {"modal":"bottom-sheet__modal_1nk6m","wrapper":"bottom-sheet__wrapper_1nk6m","fullscreen":"bottom-sheet__fullscreen_1nk6m","component":"bottom-sheet__component_1nk6m","withTransition":"bottom-sheet__withTransition_1nk6m","scrollableContainer":"bottom-sheet__scrollableContainer_1nk6m","marker":"bottom-sheet__marker_1nk6m","defaultMarker":"bottom-sheet__defaultMarker_1nk6m","content":"bottom-sheet__content_1nk6m","noHeader":"bottom-sheet__noHeader_1nk6m","noFooter":"bottom-sheet__noFooter_1nk6m","scrollLocked":"bottom-sheet__scrollLocked_1nk6m","hiddenScrollbar":"bottom-sheet__hiddenScrollbar_1nk6m","disabledPointerEvents":"bottom-sheet__disabledPointerEvents_1nk6m","appear":"bottom-sheet__appear_1nk6m","enter":"bottom-sheet__enter_1nk6m","appearActive":"bottom-sheet__appearActive_1nk6m","enterActive":"bottom-sheet__enterActive_1nk6m","enterDone":"bottom-sheet__enterDone_1nk6m","appearDone":"bottom-sheet__appearDone_1nk6m","exit":"bottom-sheet__exit_1nk6m","exitActive":"bottom-sheet__exitActive_1nk6m","background-accent":"bottom-sheet__background-accent_1nk6m","background-info":"bottom-sheet__background-info_1nk6m","background-attention-muted":"bottom-sheet__background-attention-muted_1nk6m","background-positive-muted":"bottom-sheet__background-positive-muted_1nk6m","background-negative-muted":"bottom-sheet__background-negative-muted_1nk6m","background-primary":"bottom-sheet__background-primary_1nk6m","background-primary-inverted":"bottom-sheet__background-primary-inverted_1nk6m","background-secondary":"bottom-sheet__background-secondary_1nk6m","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_1nk6m","background-tertiary":"bottom-sheet__background-tertiary_1nk6m","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_1nk6m","background-quaternary":"bottom-sheet__background-quaternary_1nk6m","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_1nk6m","background-specialbg-component":"bottom-sheet__background-specialbg-component_1nk6m","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_1nk6m","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_1nk6m","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_1nk6m","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_1nk6m","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_1nk6m","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_1nk6m","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_1nk6m","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_1nk6m"};
27
27
  require('./index.css')
28
28
 
29
29
  var isNil = coreComponentsShared.fnUtils.isNil;
@@ -99,7 +99,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
99
99
  var handleTransitionEnd = function (event) {
100
100
  setSheetHeight();
101
101
  if (event.propertyName === 'transform' && event.target === event.currentTarget) {
102
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
102
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
103
103
  }
104
104
  };
105
105
  var scrollToArea = function (idx) {
@@ -127,23 +127,33 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
127
127
  onClose();
128
128
  return;
129
129
  }
130
- var offset_1 = nextArea_1
130
+ var nextOffset = nextArea_1
131
131
  ? lastMagneticArea - nextArea_1
132
132
  : lastMagneticArea - activeArea;
133
- setSheetOffset(offset_1);
133
+ setSheetOffset(nextOffset);
134
134
  setActiveArea(function (prevState) { return nextArea_1 !== null && nextArea_1 !== void 0 ? nextArea_1 : prevState; });
135
135
  if (nextArea_1) {
136
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_1));
136
+ var nextAreaIdx = getActiveAreaIndex(nextArea_1);
137
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
138
+ if (sheetOffset === nextOffset) {
139
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
140
+ setSheetHeight();
141
+ }
137
142
  }
138
143
  return;
139
144
  }
140
145
  if (shouldMagnetizeUpByVelocity) {
141
146
  var nextArea_2 = magneticAreas.find(function (area) { return area > activeArea; });
142
- var offset_2 = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
143
- setSheetOffset(offset_2);
147
+ var nextOffset = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
148
+ setSheetOffset(nextOffset);
144
149
  setActiveArea(function (prevState) { return nextArea_2 !== null && nextArea_2 !== void 0 ? nextArea_2 : prevState; });
145
150
  if (nextArea_2) {
146
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_2));
151
+ var nextAreaIdx = getActiveAreaIndex(nextArea_2);
152
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
153
+ if (sheetOffset === nextOffset) {
154
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
155
+ setSheetHeight();
156
+ }
147
157
  }
148
158
  return;
149
159
  }
@@ -171,10 +181,17 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
171
181
  onClose();
172
182
  }
173
183
  else {
174
- setSheetOffset(lastMagneticArea - nearestArea);
184
+ var nextOffset = lastMagneticArea - nearestArea;
185
+ var nextAreaIdx = getActiveAreaIndex(nearestArea);
186
+ setSheetOffset(nextOffset);
175
187
  setActiveArea(nearestArea);
176
188
  setBackdropOpacity(1);
177
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nearestArea));
189
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
190
+ // Если nextOffset == offset, то onTransitionEnd не отработает и onMagnetizeEnd не вызовется
191
+ if (sheetOffset === nextOffset) {
192
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
193
+ setSheetHeight();
194
+ }
178
195
  }
179
196
  };
180
197
  /**
@@ -256,7 +273,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
256
273
  setBackdropOpacity(1);
257
274
  setSheetOffset(isNil(idx) ? magneticAreas[0] : lastMagneticArea - magneticAreas[idx]);
258
275
  setActiveArea(nextArea);
259
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
276
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(0);
260
277
  if (transitionProps.onExited) {
261
278
  transitionProps.onExited(node);
262
279
  }
@@ -278,7 +295,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
278
295
  setSheetHeight();
279
296
  // Ready for swiping
280
297
  setSwipingInProgress(false);
281
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
298
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
282
299
  if (transitionProps.onEntered) {
283
300
  transitionProps.onEntered(node, isAppearing);
284
301
  }
@@ -11,7 +11,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
12
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
13
13
 
14
- var styles = {"footer":"bottom-sheet__footer_1pca6","sticky":"bottom-sheet__sticky_1pca6","highlighted":"bottom-sheet__highlighted_1pca6","background-accent":"bottom-sheet__background-accent_1pca6","background-info":"bottom-sheet__background-info_1pca6","background-attention-muted":"bottom-sheet__background-attention-muted_1pca6","background-positive-muted":"bottom-sheet__background-positive-muted_1pca6","background-negative-muted":"bottom-sheet__background-negative-muted_1pca6","background-primary":"bottom-sheet__background-primary_1pca6","background-primary-inverted":"bottom-sheet__background-primary-inverted_1pca6","background-secondary":"bottom-sheet__background-secondary_1pca6","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_1pca6","background-tertiary":"bottom-sheet__background-tertiary_1pca6","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_1pca6","background-quaternary":"bottom-sheet__background-quaternary_1pca6","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_1pca6","background-specialbg-component":"bottom-sheet__background-specialbg-component_1pca6","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_1pca6","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_1pca6","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_1pca6","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_1pca6","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_1pca6","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_1pca6","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_1pca6","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_1pca6"};
14
+ var styles = {"footer":"bottom-sheet__footer_prru6","sticky":"bottom-sheet__sticky_prru6","highlighted":"bottom-sheet__highlighted_prru6","background-accent":"bottom-sheet__background-accent_prru6","background-info":"bottom-sheet__background-info_prru6","background-attention-muted":"bottom-sheet__background-attention-muted_prru6","background-positive-muted":"bottom-sheet__background-positive-muted_prru6","background-negative-muted":"bottom-sheet__background-negative-muted_prru6","background-primary":"bottom-sheet__background-primary_prru6","background-primary-inverted":"bottom-sheet__background-primary-inverted_prru6","background-secondary":"bottom-sheet__background-secondary_prru6","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_prru6","background-tertiary":"bottom-sheet__background-tertiary_prru6","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_prru6","background-quaternary":"bottom-sheet__background-quaternary_prru6","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_prru6","background-specialbg-component":"bottom-sheet__background-specialbg-component_prru6","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_prru6","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_prru6","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_prru6","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_prru6","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_prru6","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_prru6","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_prru6","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_prru6"};
15
15
  require('./index.css')
16
16
 
17
17
  var Footer = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: piiay */
1
+ /* hash: oxp47 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-accent: #ef3124;
@@ -39,60 +39,64 @@
39
39
  } :root {
40
40
  } :root {
41
41
  } :root {
42
+
43
+ /* header */
44
+
45
+ /* footer */
42
46
  --bottom-sheet-footer-border-top: 1px solid var(--color-light-border-secondary);
43
47
  --bottom-sheet-footer-background-color: var(--color-light-bg-primary);
44
- } .bottom-sheet__footer_1pca6 {
48
+ } .bottom-sheet__footer_prru6 {
45
49
  padding: var(--gap-m) var(--gap-m);
46
50
  background-color: var(--color-light-bg-primary);
47
- } .bottom-sheet__sticky_1pca6 {
51
+ } .bottom-sheet__sticky_prru6 {
48
52
  position: sticky;
49
53
  bottom: 0;
50
54
  z-index: 1;
51
- } .bottom-sheet__highlighted_1pca6 {
55
+ } .bottom-sheet__highlighted_prru6 {
52
56
  border-top: var(--bottom-sheet-footer-border-top);
53
57
  background-color: var(--bottom-sheet-footer-background-color);
54
- } .bottom-sheet__background-accent_1pca6 {
58
+ } .bottom-sheet__background-accent_prru6 {
55
59
  background-color: var(--color-light-bg-accent);
56
- } .bottom-sheet__background-info_1pca6 {
60
+ } .bottom-sheet__background-info_prru6 {
57
61
  background-color: var(--color-light-bg-info);
58
- } .bottom-sheet__background-attention-muted_1pca6 {
62
+ } .bottom-sheet__background-attention-muted_prru6 {
59
63
  background-color: var(--color-light-bg-attention-muted);
60
- } .bottom-sheet__background-positive-muted_1pca6 {
64
+ } .bottom-sheet__background-positive-muted_prru6 {
61
65
  background-color: var(--color-light-bg-positive-muted);
62
- } .bottom-sheet__background-negative-muted_1pca6 {
66
+ } .bottom-sheet__background-negative-muted_prru6 {
63
67
  background-color: var(--color-light-bg-negative-muted);
64
- } .bottom-sheet__background-primary_1pca6 {
68
+ } .bottom-sheet__background-primary_prru6 {
65
69
  background-color: var(--color-light-bg-primary);
66
- } .bottom-sheet__background-primary-inverted_1pca6 {
70
+ } .bottom-sheet__background-primary-inverted_prru6 {
67
71
  background-color: var(--color-light-bg-primary-inverted);
68
- } .bottom-sheet__background-secondary_1pca6 {
72
+ } .bottom-sheet__background-secondary_prru6 {
69
73
  background-color: var(--color-light-bg-secondary);
70
- } .bottom-sheet__background-secondary-inverted_1pca6 {
74
+ } .bottom-sheet__background-secondary-inverted_prru6 {
71
75
  background-color: var(--color-light-bg-secondary-inverted);
72
- } .bottom-sheet__background-tertiary_1pca6 {
76
+ } .bottom-sheet__background-tertiary_prru6 {
73
77
  background-color: var(--color-light-bg-tertiary);
74
- } .bottom-sheet__background-tertiary-inverted_1pca6 {
78
+ } .bottom-sheet__background-tertiary-inverted_prru6 {
75
79
  background-color: var(--color-light-bg-tertiary-inverted);
76
- } .bottom-sheet__background-quaternary_1pca6 {
80
+ } .bottom-sheet__background-quaternary_prru6 {
77
81
  background-color: var(--color-light-bg-quaternary);
78
- } .bottom-sheet__background-quaternary-inverted_1pca6 {
82
+ } .bottom-sheet__background-quaternary-inverted_prru6 {
79
83
  background-color: var(--color-light-bg-quaternary-inverted);
80
- } .bottom-sheet__background-specialbg-component_1pca6 {
84
+ } .bottom-sheet__background-specialbg-component_prru6 {
81
85
  background-color: var(--color-light-specialbg-component);
82
- } .bottom-sheet__background-specialbg-component-inverted_1pca6 {
86
+ } .bottom-sheet__background-specialbg-component-inverted_prru6 {
83
87
  background-color: var(--color-light-specialbg-component-inverted);
84
- } .bottom-sheet__background-specialbg-primary-grouped_1pca6 {
88
+ } .bottom-sheet__background-specialbg-primary-grouped_prru6 {
85
89
  background-color: var(--color-light-specialbg-primary-grouped);
86
- } .bottom-sheet__background-specialbg-secondary-grouped_1pca6 {
90
+ } .bottom-sheet__background-specialbg-secondary-grouped_prru6 {
87
91
  background-color: var(--color-light-specialbg-secondary-grouped);
88
- } .bottom-sheet__background-specialbg-tertiary-grouped_1pca6 {
92
+ } .bottom-sheet__background-specialbg-tertiary-grouped_prru6 {
89
93
  background-color: var(--color-light-specialbg-tertiary-grouped);
90
- } .bottom-sheet__background-specialbg-secondary-transparent_1pca6 {
94
+ } .bottom-sheet__background-specialbg-secondary-transparent_prru6 {
91
95
  background-color: var(--color-light-specialbg-secondary-transparent);
92
- } .bottom-sheet__background-specialbg-secondary-transparent-inverted_1pca6 {
96
+ } .bottom-sheet__background-specialbg-secondary-transparent-inverted_prru6 {
93
97
  background-color: var(--color-light-specialbg-secondary-transparent-inverted);
94
- } .bottom-sheet__background-specialbg-tertiary-transparent_1pca6 {
98
+ } .bottom-sheet__background-specialbg-tertiary-transparent_prru6 {
95
99
  background-color: var(--color-light-specialbg-tertiary-transparent);
96
- } .bottom-sheet__background-specialbg-tertiary-transparent-inverted_1pca6 {
100
+ } .bottom-sheet__background-specialbg-tertiary-transparent-inverted_prru6 {
97
101
  background-color: var(--color-light-specialbg-tertiary-transparent-inverted);
98
102
  }
@@ -13,7 +13,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
14
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
15
15
 
16
- var styles = {"headerWrapper":"bottom-sheet__headerWrapper_9u9n9","hasContent":"bottom-sheet__hasContent_9u9n9","header":"bottom-sheet__header_9u9n9","sticky":"bottom-sheet__sticky_9u9n9","highlighted":"bottom-sheet__highlighted_9u9n9","justifyEnd":"bottom-sheet__justifyEnd_9u9n9","addon":"bottom-sheet__addon_9u9n9","addonFixed":"bottom-sheet__addonFixed_9u9n9","title":"bottom-sheet__title_9u9n9","titleCenter":"bottom-sheet__titleCenter_9u9n9","titleLeft":"bottom-sheet__titleLeft_9u9n9","trimTitle":"bottom-sheet__trimTitle_9u9n9"};
16
+ var styles = {"headerWrapper":"bottom-sheet__headerWrapper_ewh7e","hasContent":"bottom-sheet__hasContent_ewh7e","header":"bottom-sheet__header_ewh7e","sticky":"bottom-sheet__sticky_ewh7e","highlighted":"bottom-sheet__highlighted_ewh7e","justifyEnd":"bottom-sheet__justifyEnd_ewh7e","addon":"bottom-sheet__addon_ewh7e","addonFixed":"bottom-sheet__addonFixed_ewh7e","title":"bottom-sheet__title_ewh7e","titleCenter":"bottom-sheet__titleCenter_ewh7e","titleLeft":"bottom-sheet__titleLeft_ewh7e","trimTitle":"bottom-sheet__trimTitle_ewh7e"};
17
17
  require('./index.css')
18
18
 
19
19
  var Header = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: 1jt3v */
1
+ /* hash: 2bds5 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-border-secondary: #e9e9eb; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -12,7 +12,6 @@
12
12
 
13
13
  /* Hard up */
14
14
  } :root {
15
- --border-radius-xl: 16px;
16
15
  } :root {
17
16
  --gap-2xs: 4px;
18
17
  --gap-xs: 8px;
@@ -22,47 +21,51 @@
22
21
  sans-serif;
23
22
  } :root {
24
23
  } :root {
24
+
25
+ /* header */
25
26
  --bottom-sheet-header-border-bottom: 1px solid var(--color-light-border-secondary);
26
27
  --bottom-sheet-title-font-size: 18px;
27
28
  --bottom-sheet-title-font-weight: 700;
28
29
  --bottom-sheet-title-line-height: 24px;
29
30
  --bottom-sheet-title-font-family: var(--font-family-system);
30
- } .bottom-sheet__headerWrapper_9u9n9 {
31
+
32
+ /* footer */
33
+ } .bottom-sheet__headerWrapper_ewh7e {
31
34
  padding: var(--gap-s) var(--gap-xs) var(--gap-2xs);
32
- border-top-right-radius: var(--border-radius-xl);
33
- border-top-left-radius: var(--border-radius-xl);
35
+ border-top-left-radius: inherit;
36
+ border-top-right-radius: inherit;
34
37
  z-index: 1;
35
- } .bottom-sheet__hasContent_9u9n9 {
38
+ } .bottom-sheet__hasContent_ewh7e {
36
39
  background-color: inherit;
37
- } .bottom-sheet__header_9u9n9 {
40
+ } .bottom-sheet__header_ewh7e {
38
41
  display: flex;
39
- } .bottom-sheet__sticky_9u9n9 {
42
+ } .bottom-sheet__sticky_ewh7e {
40
43
  position: sticky;
41
44
  top: 0;
42
- } .bottom-sheet__highlighted_9u9n9 {
45
+ } .bottom-sheet__highlighted_ewh7e {
43
46
  border-bottom: var(--bottom-sheet-header-border-bottom);
44
- } .bottom-sheet__justifyEnd_9u9n9 {
47
+ } .bottom-sheet__justifyEnd_ewh7e {
45
48
  justify-content: flex-end;
46
- } .bottom-sheet__addon_9u9n9 {
49
+ } .bottom-sheet__addon_ewh7e {
47
50
  display: flex;
48
51
  justify-content: center;
49
52
  align-items: center;
50
53
  min-width: 48px;
51
54
  height: 48px;
52
- } .bottom-sheet__addonFixed_9u9n9 {
55
+ } .bottom-sheet__addonFixed_ewh7e {
53
56
  position: fixed;
54
- } .bottom-sheet__title_9u9n9 {
57
+ } .bottom-sheet__title_ewh7e {
55
58
  padding: var(--gap-s) var(--gap-xs);
56
59
  width: 100%;
57
60
  font-size: var(--bottom-sheet-title-font-size);
58
61
  font-weight: var(--bottom-sheet-title-font-weight);
59
62
  line-height: var(--bottom-sheet-title-line-height);
60
63
  font-family: var(--bottom-sheet-title-font-family);
61
- } .bottom-sheet__titleCenter_9u9n9 {
64
+ } .bottom-sheet__titleCenter_ewh7e {
62
65
  text-align: center;
63
- } .bottom-sheet__titleLeft_9u9n9 {
66
+ } .bottom-sheet__titleLeft_ewh7e {
64
67
  text-align: left;
65
- } .bottom-sheet__trimTitle_9u9n9 {
68
+ } .bottom-sheet__trimTitle_ewh7e {
66
69
  white-space: nowrap;
67
70
  overflow: hidden;
68
71
  text-overflow: ellipsis;
package/cssm/component.js CHANGED
@@ -100,7 +100,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
100
100
  var handleTransitionEnd = function (event) {
101
101
  setSheetHeight();
102
102
  if (event.propertyName === 'transform' && event.target === event.currentTarget) {
103
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
103
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
104
104
  }
105
105
  };
106
106
  var scrollToArea = function (idx) {
@@ -128,23 +128,33 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
128
128
  onClose();
129
129
  return;
130
130
  }
131
- var offset_1 = nextArea_1
131
+ var nextOffset = nextArea_1
132
132
  ? lastMagneticArea - nextArea_1
133
133
  : lastMagneticArea - activeArea;
134
- setSheetOffset(offset_1);
134
+ setSheetOffset(nextOffset);
135
135
  setActiveArea(function (prevState) { return nextArea_1 !== null && nextArea_1 !== void 0 ? nextArea_1 : prevState; });
136
136
  if (nextArea_1) {
137
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_1));
137
+ var nextAreaIdx = getActiveAreaIndex(nextArea_1);
138
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
139
+ if (sheetOffset === nextOffset) {
140
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
141
+ setSheetHeight();
142
+ }
138
143
  }
139
144
  return;
140
145
  }
141
146
  if (shouldMagnetizeUpByVelocity) {
142
147
  var nextArea_2 = magneticAreas.find(function (area) { return area > activeArea; });
143
- var offset_2 = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
144
- setSheetOffset(offset_2);
148
+ var nextOffset = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
149
+ setSheetOffset(nextOffset);
145
150
  setActiveArea(function (prevState) { return nextArea_2 !== null && nextArea_2 !== void 0 ? nextArea_2 : prevState; });
146
151
  if (nextArea_2) {
147
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_2));
152
+ var nextAreaIdx = getActiveAreaIndex(nextArea_2);
153
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
154
+ if (sheetOffset === nextOffset) {
155
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
156
+ setSheetHeight();
157
+ }
148
158
  }
149
159
  return;
150
160
  }
@@ -172,10 +182,17 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
172
182
  onClose();
173
183
  }
174
184
  else {
175
- setSheetOffset(lastMagneticArea - nearestArea);
185
+ var nextOffset = lastMagneticArea - nearestArea;
186
+ var nextAreaIdx = getActiveAreaIndex(nearestArea);
187
+ setSheetOffset(nextOffset);
176
188
  setActiveArea(nearestArea);
177
189
  setBackdropOpacity(1);
178
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nearestArea));
190
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
191
+ // Если nextOffset == offset, то onTransitionEnd не отработает и onMagnetizeEnd не вызовется
192
+ if (sheetOffset === nextOffset) {
193
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
194
+ setSheetHeight();
195
+ }
179
196
  }
180
197
  };
181
198
  /**
@@ -257,7 +274,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
257
274
  setBackdropOpacity(1);
258
275
  setSheetOffset(isNil(idx) ? magneticAreas[0] : lastMagneticArea - magneticAreas[idx]);
259
276
  setActiveArea(nextArea);
260
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
277
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(0);
261
278
  if (transitionProps.onExited) {
262
279
  transitionProps.onExited(node);
263
280
  }
@@ -279,7 +296,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
279
296
  setSheetHeight();
280
297
  // Ready for swiping
281
298
  setSwipingInProgress(false);
282
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
299
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
283
300
  if (transitionProps.onEntered) {
284
301
  transitionProps.onEntered(node, isAppearing);
285
302
  }
@@ -38,6 +38,10 @@
38
38
  } :root {
39
39
  } :root {
40
40
  } :root {
41
+
42
+ /* header */
43
+
44
+ /* footer */
41
45
  --bottom-sheet-footer-border-top: 1px solid var(--color-light-border-secondary);
42
46
  --bottom-sheet-footer-background-color: var(--color-light-bg-primary);
43
47
  } .footer {
@@ -11,7 +11,6 @@
11
11
 
12
12
  /* Hard up */
13
13
  } :root {
14
- --border-radius-xl: 16px;
15
14
  } :root {
16
15
  --gap-2xs: 4px;
17
16
  --gap-xs: 8px;
@@ -21,15 +20,19 @@
21
20
  sans-serif;
22
21
  } :root {
23
22
  } :root {
23
+
24
+ /* header */
24
25
  --bottom-sheet-header-border-bottom: 1px solid var(--color-light-border-secondary);
25
26
  --bottom-sheet-title-font-size: 18px;
26
27
  --bottom-sheet-title-font-weight: 700;
27
28
  --bottom-sheet-title-line-height: 24px;
28
29
  --bottom-sheet-title-font-family: var(--font-family-system);
30
+
31
+ /* footer */
29
32
  } .headerWrapper {
30
33
  padding: var(--gap-s) var(--gap-xs) var(--gap-2xs);
31
- border-top-right-radius: var(--border-radius-xl);
32
- border-top-left-radius: var(--border-radius-xl);
34
+ border-top-left-radius: inherit;
35
+ border-top-right-radius: inherit;
33
36
  z-index: 1;
34
37
  } .hasContent {
35
38
  background-color: inherit;
@@ -44,6 +44,12 @@
44
44
  } :root {
45
45
  --bottom-sheet-in-transition: transform 0.5s cubic-bezier(0.09, 0.91, 0.18, 0.99);
46
46
  --bottom-sheet-out-transition: transform 0.3s ease;
47
+ --bottom-sheet-top-radius: var(--border-radius-xl);
48
+ --bottom-sheet-shadow: none;
49
+
50
+ /* header */
51
+
52
+ /* footer */
47
53
  } .modal {
48
54
  background-color: transparent;
49
55
  position: fixed;
@@ -54,8 +60,8 @@
54
60
  } .wrapper {
55
61
  transform: translateY(100%);
56
62
  pointer-events: none;
57
- border-top-right-radius: var(--border-radius-xl);
58
- border-top-left-radius: var(--border-radius-xl);
63
+ border-top-right-radius: var(--bottom-sheet-top-radius);
64
+ border-top-left-radius: var(--bottom-sheet-top-radius);
59
65
  transition: border-radius 0.3s ease;
60
66
  } .fullscreen {
61
67
  border-radius: 0;
@@ -66,6 +72,7 @@
66
72
  border-radius: inherit;
67
73
  background-color: var(--color-light-bg-primary);
68
74
  pointer-events: all;
75
+ box-shadow: var(--bottom-sheet-shadow);
69
76
  } .withTransition {
70
77
  transition: var(--bottom-sheet-out-transition);
71
78
  } .scrollableContainer {
package/cssm/types.d.ts CHANGED
@@ -259,7 +259,7 @@ type BottomSheetProps = {
259
259
  /**
260
260
  * Вызывается после окончания анимации притягивания
261
261
  */
262
- onMagnetizeEnd?: () => void;
262
+ onMagnetizeEnd?: (index: number) => void;
263
263
  /**
264
264
  * Вызывается при изменении положения шторки
265
265
  */
package/cssm/vars.css ADDED
@@ -0,0 +1,21 @@
1
+ :root {
2
+ } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root {
5
+ } :root {
6
+
7
+ /* Hard */
8
+
9
+ /* Up */
10
+
11
+ /* Hard up */
12
+ } :root {
13
+ } :root {
14
+ } :root {
15
+ } :root {
16
+ } :root {
17
+
18
+ /* header */
19
+
20
+ /* footer */
21
+ }
package/esm/component.js CHANGED
@@ -13,7 +13,7 @@ import { convertPercentToNumber, TIMEOUT, MARKER_HEIGHT, SCROLL_OFFSET, SWIPE_VE
13
13
  import '@alfalab/core-components-navigation-bar/esm';
14
14
  import '@alfalab/core-components-backdrop/esm';
15
15
 
16
- var styles = {"modal":"bottom-sheet__modal_t885f","wrapper":"bottom-sheet__wrapper_t885f","fullscreen":"bottom-sheet__fullscreen_t885f","component":"bottom-sheet__component_t885f","withTransition":"bottom-sheet__withTransition_t885f","scrollableContainer":"bottom-sheet__scrollableContainer_t885f","marker":"bottom-sheet__marker_t885f","defaultMarker":"bottom-sheet__defaultMarker_t885f","content":"bottom-sheet__content_t885f","noHeader":"bottom-sheet__noHeader_t885f","noFooter":"bottom-sheet__noFooter_t885f","scrollLocked":"bottom-sheet__scrollLocked_t885f","hiddenScrollbar":"bottom-sheet__hiddenScrollbar_t885f","disabledPointerEvents":"bottom-sheet__disabledPointerEvents_t885f","appear":"bottom-sheet__appear_t885f","enter":"bottom-sheet__enter_t885f","appearActive":"bottom-sheet__appearActive_t885f","enterActive":"bottom-sheet__enterActive_t885f","enterDone":"bottom-sheet__enterDone_t885f","appearDone":"bottom-sheet__appearDone_t885f","exit":"bottom-sheet__exit_t885f","exitActive":"bottom-sheet__exitActive_t885f","background-accent":"bottom-sheet__background-accent_t885f","background-info":"bottom-sheet__background-info_t885f","background-attention-muted":"bottom-sheet__background-attention-muted_t885f","background-positive-muted":"bottom-sheet__background-positive-muted_t885f","background-negative-muted":"bottom-sheet__background-negative-muted_t885f","background-primary":"bottom-sheet__background-primary_t885f","background-primary-inverted":"bottom-sheet__background-primary-inverted_t885f","background-secondary":"bottom-sheet__background-secondary_t885f","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_t885f","background-tertiary":"bottom-sheet__background-tertiary_t885f","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_t885f","background-quaternary":"bottom-sheet__background-quaternary_t885f","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_t885f","background-specialbg-component":"bottom-sheet__background-specialbg-component_t885f","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_t885f","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_t885f","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_t885f","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_t885f","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_t885f","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_t885f","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_t885f","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_t885f"};
16
+ var styles = {"modal":"bottom-sheet__modal_1nk6m","wrapper":"bottom-sheet__wrapper_1nk6m","fullscreen":"bottom-sheet__fullscreen_1nk6m","component":"bottom-sheet__component_1nk6m","withTransition":"bottom-sheet__withTransition_1nk6m","scrollableContainer":"bottom-sheet__scrollableContainer_1nk6m","marker":"bottom-sheet__marker_1nk6m","defaultMarker":"bottom-sheet__defaultMarker_1nk6m","content":"bottom-sheet__content_1nk6m","noHeader":"bottom-sheet__noHeader_1nk6m","noFooter":"bottom-sheet__noFooter_1nk6m","scrollLocked":"bottom-sheet__scrollLocked_1nk6m","hiddenScrollbar":"bottom-sheet__hiddenScrollbar_1nk6m","disabledPointerEvents":"bottom-sheet__disabledPointerEvents_1nk6m","appear":"bottom-sheet__appear_1nk6m","enter":"bottom-sheet__enter_1nk6m","appearActive":"bottom-sheet__appearActive_1nk6m","enterActive":"bottom-sheet__enterActive_1nk6m","enterDone":"bottom-sheet__enterDone_1nk6m","appearDone":"bottom-sheet__appearDone_1nk6m","exit":"bottom-sheet__exit_1nk6m","exitActive":"bottom-sheet__exitActive_1nk6m","background-accent":"bottom-sheet__background-accent_1nk6m","background-info":"bottom-sheet__background-info_1nk6m","background-attention-muted":"bottom-sheet__background-attention-muted_1nk6m","background-positive-muted":"bottom-sheet__background-positive-muted_1nk6m","background-negative-muted":"bottom-sheet__background-negative-muted_1nk6m","background-primary":"bottom-sheet__background-primary_1nk6m","background-primary-inverted":"bottom-sheet__background-primary-inverted_1nk6m","background-secondary":"bottom-sheet__background-secondary_1nk6m","background-secondary-inverted":"bottom-sheet__background-secondary-inverted_1nk6m","background-tertiary":"bottom-sheet__background-tertiary_1nk6m","background-tertiary-inverted":"bottom-sheet__background-tertiary-inverted_1nk6m","background-quaternary":"bottom-sheet__background-quaternary_1nk6m","background-quaternary-inverted":"bottom-sheet__background-quaternary-inverted_1nk6m","background-specialbg-component":"bottom-sheet__background-specialbg-component_1nk6m","background-specialbg-component-inverted":"bottom-sheet__background-specialbg-component-inverted_1nk6m","background-specialbg-primary-grouped":"bottom-sheet__background-specialbg-primary-grouped_1nk6m","background-specialbg-secondary-grouped":"bottom-sheet__background-specialbg-secondary-grouped_1nk6m","background-specialbg-tertiary-grouped":"bottom-sheet__background-specialbg-tertiary-grouped_1nk6m","background-specialbg-secondary-transparent":"bottom-sheet__background-specialbg-secondary-transparent_1nk6m","background-specialbg-secondary-transparent-inverted":"bottom-sheet__background-specialbg-secondary-transparent-inverted_1nk6m","background-specialbg-tertiary-transparent":"bottom-sheet__background-specialbg-tertiary-transparent_1nk6m","background-specialbg-tertiary-transparent-inverted":"bottom-sheet__background-specialbg-tertiary-transparent-inverted_1nk6m"};
17
17
  require('./index.css')
18
18
 
19
19
  var isNil = fnUtils.isNil;
@@ -89,7 +89,7 @@ var BottomSheet = forwardRef(function (_a, ref) {
89
89
  var handleTransitionEnd = function (event) {
90
90
  setSheetHeight();
91
91
  if (event.propertyName === 'transform' && event.target === event.currentTarget) {
92
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
92
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
93
93
  }
94
94
  };
95
95
  var scrollToArea = function (idx) {
@@ -117,23 +117,33 @@ var BottomSheet = forwardRef(function (_a, ref) {
117
117
  onClose();
118
118
  return;
119
119
  }
120
- var offset_1 = nextArea_1
120
+ var nextOffset = nextArea_1
121
121
  ? lastMagneticArea - nextArea_1
122
122
  : lastMagneticArea - activeArea;
123
- setSheetOffset(offset_1);
123
+ setSheetOffset(nextOffset);
124
124
  setActiveArea(function (prevState) { return nextArea_1 !== null && nextArea_1 !== void 0 ? nextArea_1 : prevState; });
125
125
  if (nextArea_1) {
126
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_1));
126
+ var nextAreaIdx = getActiveAreaIndex(nextArea_1);
127
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
128
+ if (sheetOffset === nextOffset) {
129
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
130
+ setSheetHeight();
131
+ }
127
132
  }
128
133
  return;
129
134
  }
130
135
  if (shouldMagnetizeUpByVelocity) {
131
136
  var nextArea_2 = magneticAreas.find(function (area) { return area > activeArea; });
132
- var offset_2 = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
133
- setSheetOffset(offset_2);
137
+ var nextOffset = nextArea_2 ? lastMagneticArea - nextArea_2 : 0;
138
+ setSheetOffset(nextOffset);
134
139
  setActiveArea(function (prevState) { return nextArea_2 !== null && nextArea_2 !== void 0 ? nextArea_2 : prevState; });
135
140
  if (nextArea_2) {
136
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nextArea_2));
141
+ var nextAreaIdx = getActiveAreaIndex(nextArea_2);
142
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
143
+ if (sheetOffset === nextOffset) {
144
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
145
+ setSheetHeight();
146
+ }
137
147
  }
138
148
  return;
139
149
  }
@@ -161,10 +171,17 @@ var BottomSheet = forwardRef(function (_a, ref) {
161
171
  onClose();
162
172
  }
163
173
  else {
164
- setSheetOffset(lastMagneticArea - nearestArea);
174
+ var nextOffset = lastMagneticArea - nearestArea;
175
+ var nextAreaIdx = getActiveAreaIndex(nearestArea);
176
+ setSheetOffset(nextOffset);
165
177
  setActiveArea(nearestArea);
166
178
  setBackdropOpacity(1);
167
- onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(getActiveAreaIndex(nearestArea));
179
+ onMagnetize === null || onMagnetize === void 0 ? void 0 : onMagnetize(nextAreaIdx);
180
+ // Если nextOffset == offset, то onTransitionEnd не отработает и onMagnetizeEnd не вызовется
181
+ if (sheetOffset === nextOffset) {
182
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(nextAreaIdx);
183
+ setSheetHeight();
184
+ }
168
185
  }
169
186
  };
170
187
  /**
@@ -246,7 +263,7 @@ var BottomSheet = forwardRef(function (_a, ref) {
246
263
  setBackdropOpacity(1);
247
264
  setSheetOffset(isNil(idx) ? magneticAreas[0] : lastMagneticArea - magneticAreas[idx]);
248
265
  setActiveArea(nextArea);
249
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
266
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(0);
250
267
  if (transitionProps.onExited) {
251
268
  transitionProps.onExited(node);
252
269
  }
@@ -268,7 +285,7 @@ var BottomSheet = forwardRef(function (_a, ref) {
268
285
  setSheetHeight();
269
286
  // Ready for swiping
270
287
  setSwipingInProgress(false);
271
- onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd();
288
+ onMagnetizeEnd === null || onMagnetizeEnd === void 0 ? void 0 : onMagnetizeEnd(getActiveAreaIndex(activeArea));
272
289
  if (transitionProps.onEntered) {
273
290
  transitionProps.onEntered(node, isAppearing);
274
291
  }