@pagopa/io-app-design-system 5.11.11 → 5.11.13-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 (24) hide show
  1. package/lib/commonjs/components/templates/ForceScrollDownView.js +43 -73
  2. package/lib/commonjs/components/templates/ForceScrollDownView.js.map +1 -1
  3. package/lib/commonjs/components/toast/ToastProvider.js +5 -1
  4. package/lib/commonjs/components/toast/ToastProvider.js.map +1 -1
  5. package/lib/module/components/templates/ForceScrollDownView.js +45 -75
  6. package/lib/module/components/templates/ForceScrollDownView.js.map +1 -1
  7. package/lib/module/components/toast/ToastProvider.js +6 -2
  8. package/lib/module/components/toast/ToastProvider.js.map +1 -1
  9. package/lib/typescript/components/templates/ForceScrollDownView.d.ts +7 -1
  10. package/lib/typescript/components/templates/ForceScrollDownView.d.ts.map +1 -1
  11. package/lib/typescript/components/toast/ToastProvider.d.ts.map +1 -1
  12. package/package.json +1 -1
  13. package/src/components/templates/ForceScrollDownView.tsx +72 -104
  14. package/src/components/toast/ToastProvider.tsx +13 -1
  15. package/lib/commonjs/components/templates/__test__/ForceScrollDownView.test.js +0 -115
  16. package/lib/commonjs/components/templates/__test__/ForceScrollDownView.test.js.map +0 -1
  17. package/lib/commonjs/components/templates/__test__/__snapshots__/ForceScrollDownView.test.tsx.snap +0 -18
  18. package/lib/module/components/templates/__test__/ForceScrollDownView.test.js +0 -113
  19. package/lib/module/components/templates/__test__/ForceScrollDownView.test.js.map +0 -1
  20. package/lib/module/components/templates/__test__/__snapshots__/ForceScrollDownView.test.tsx.snap +0 -18
  21. package/lib/typescript/components/templates/__test__/ForceScrollDownView.test.d.ts +0 -2
  22. package/lib/typescript/components/templates/__test__/ForceScrollDownView.test.d.ts.map +0 -1
  23. package/src/components/templates/__test__/ForceScrollDownView.test.tsx +0 -106
  24. package/src/components/templates/__test__/__snapshots__/ForceScrollDownView.test.tsx.snap +0 -18
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ForceScrollDownView = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
10
  var _core = require("../../core");
10
11
  var _buttons = require("../buttons");
11
- var _ScaleInOutAnimation = require("../common/ScaleInOutAnimation");
12
12
  var _layout = require("../layout");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -25,109 +25,81 @@ const ForceScrollDownView = ({
25
25
  style,
26
26
  contentContainerStyle,
27
27
  scrollEnabled = true,
28
- onThresholdCrossed
28
+ onThresholdCrossed,
29
+ animatedRef
29
30
  }) => {
30
- const scrollViewRef = (0, _react.useRef)(null);
31
+ const internalAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
32
+ const scrollViewRef = animatedRef ?? internalAnimatedRef;
31
33
  const {
32
34
  footerActionsInlineMeasurements,
33
35
  handleFooterActionsInlineMeasurements
34
36
  } = (0, _layout.useFooterActionsInlineMeasurements)();
35
37
  const threshold = footerActions ? footerActionsInlineMeasurements.safeBottomAreaHeight : customThreshold;
36
38
 
37
- /**
38
- * The height of the scroll view, used to determine whether or not the scrollable content fits inside
39
- * the scroll view and whether the "scroll to bottom" button should be displayed.
40
- */
41
- const [scrollViewHeight, setScrollViewHeight] = (0, _react.useState)(0);
42
-
43
- /**
44
- * The height of the scrollable content, used to determine whether or not the "scroll to bottom" button
45
- * should be displayed.
46
- */
47
- const [contentHeight, setContentHeight] = (0, _react.useState)(0);
48
-
49
- /**
50
- * Whether or not the scroll view has crossed the threshold from the bottom.
51
- */
52
- const [isThresholdCrossed, setThresholdCrossed] = (0, _react.useState)(false);
53
-
54
39
  /**
55
40
  * Whether or not the "scroll to bottom" button should be visible. This is controlled by the threshold
56
41
  * and the current scroll position.
57
42
  */
58
- const [isButtonVisible, setButtonVisible] = (0, _react.useState)(true);
43
+ // const [isButtonVisible, setButtonVisible] = useState(true);
59
44
 
60
- /**
61
- * A callback that is called whenever the scroll view is scrolled. It checks whether or not the
62
- * scroll view has crossed the threshold from the bottom and updates the state accordingly.
63
- * The callback is designed to update button visibility only when crossing the threshold.
64
- */
65
- const handleScroll = (0, _react.useCallback)(event => {
66
- const {
67
- layoutMeasurement,
68
- contentOffset,
69
- contentSize
70
- } = event.nativeEvent;
71
- const thresholdCrossed = layoutMeasurement.height + contentOffset.y >= contentSize.height - (threshold ?? 0);
72
- if (isThresholdCrossed !== thresholdCrossed) {
73
- setThresholdCrossed(thresholdCrossed);
74
- setButtonVisible(!thresholdCrossed);
45
+ const isButtonVisible = (0, _reactNativeReanimated.useSharedValue)(1);
46
+ const scrollViewHeight = (0, _reactNativeReanimated.useSharedValue)(0);
47
+ const contentHeight = (0, _reactNativeReanimated.useSharedValue)(0);
48
+ const offsetY = (0, _reactNativeReanimated.useScrollViewOffset)(scrollViewRef);
49
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => scrollViewHeight.value + Math.max(offsetY.value, 0) >= contentHeight.value - (threshold ?? 0), (crossed, previous) => {
50
+ if (crossed !== previous) {
51
+ // eslint-disable-next-line functional/immutable-data
52
+ isButtonVisible.value = (0, _reactNativeReanimated.withSpring)(crossed && scrollEnabled ? 0 : 1, _core.IOSpringValues.button);
53
+ if (onThresholdCrossed) {
54
+ (0, _reactNativeReanimated.runOnJS)(onThresholdCrossed)(crossed);
55
+ }
75
56
  }
76
- }, [threshold, isThresholdCrossed]);
77
-
78
- /**
79
- * A side effect that calls the `onThresholdCrossed` callback whenever the value of `isThresholdCrossed` changes.
80
- */
81
- (0, _react.useEffect)(() => {
82
- onThresholdCrossed?.(isThresholdCrossed);
83
- }, [onThresholdCrossed, isThresholdCrossed]);
57
+ });
84
58
 
85
59
  /**
86
60
  * A callback that is called whenever the size of the scrollable content changes. It updates the
87
61
  * state with the new content height.
88
62
  */
89
- const handleContentSizeChange = (0, _react.useCallback)((_contentWidth, contentHeight) => {
90
- setContentHeight(contentHeight);
91
- }, []);
63
+ const handleContentSizeChange = (0, _react.useCallback)(
64
+ // eslint-disable-next-line functional/immutable-data
65
+ (_w, h) => contentHeight.value = h, [contentHeight]);
92
66
 
93
67
  /**
94
68
  * A callback that is called whenever the size of the scroll view changes. It updates the state
95
69
  * with the new scroll view height.
96
70
  */
97
- const handleLayout = (0, _react.useCallback)(event => {
98
- setScrollViewHeight(event.nativeEvent.layout.height);
99
- }, []);
71
+ const handleLayout = (0, _react.useCallback)(event =>
72
+ // eslint-disable-next-line functional/immutable-data
73
+ scrollViewHeight.value = event.nativeEvent.layout.height, [scrollViewHeight]);
100
74
 
101
75
  /**
102
76
  * A callback that is called when the "scroll to bottom" button is pressed. It scrolls the
103
77
  * scroll view to the bottom and hides the button.
104
78
  */
105
79
  const handleScrollDownPress = (0, _react.useCallback)(() => {
106
- setButtonVisible(false);
107
- scrollViewRef.current?.scrollToEnd();
108
- }, [scrollViewRef]);
80
+ (0, _reactNativeReanimated.runOnUI)(() => {
81
+ "worklet";
109
82
 
110
- /**
111
- * Whether or not the "scroll to bottom" button needs to be displayed. It is only displayed
112
- * when the scrollable content cannot fit inside the scroll view and the button is enabled
113
- * (`scrollEnabled` is `true`).
114
- */
115
- const needsScroll = (0, _react.useMemo)(() => scrollViewHeight > 0 && contentHeight > 0 && scrollViewHeight < contentHeight, [scrollViewHeight, contentHeight]);
83
+ // eslint-disable-next-line functional/immutable-data
84
+ isButtonVisible.value = (0, _reactNativeReanimated.withSpring)(0, _core.IOSpringValues.button);
85
+ const targetY = Math.max(0, contentHeight.value - scrollViewHeight.value);
86
+ (0, _reactNativeReanimated.scrollTo)(scrollViewRef, 0, targetY, true);
87
+ })();
88
+ }, [scrollViewRef, contentHeight, scrollViewHeight, isButtonVisible]);
116
89
 
117
90
  /**
118
- * Whether or not to render the "scroll to bottom" button. It is only rendered when the scroll view
119
- * is enabled, needs to be scrolled, and the button is visible (`isButtonVisible` is `true`).
91
+ * The "scroll to bottom" button component. It is wrapped in a reanimated View
92
+ * and has animated style applied to it.
120
93
  */
121
- const shouldRenderScrollButton = scrollEnabled && needsScroll && isButtonVisible;
122
94
 
123
- /**
124
- * The "scroll to bottom" button component. It is wrapped in a reanimated view and has enter and exit
125
- * animations applied to it.
126
- */
127
- const scrollDownButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScaleInOutAnimation.ScaleInOutAnimation, {
128
- springConfig: _core.IOSpringValues.button,
129
- style: styles.scrollDownButton,
130
- visible: shouldRenderScrollButton,
95
+ const buttonTransitionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
96
+ opacity: isButtonVisible.value,
97
+ transform: [{
98
+ scale: (0, _reactNativeReanimated.interpolate)(isButtonVisible.value, [0, 1], [0.5, 1])
99
+ }]
100
+ }));
101
+ const scrollDownButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
102
+ style: [styles.scrollDownButton, buttonTransitionStyle],
131
103
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_buttons.IconButtonSolid, {
132
104
  testID: "ScrollDownButton",
133
105
  accessibilityLabel: "Scroll to bottom",
@@ -136,13 +108,11 @@ const ForceScrollDownView = ({
136
108
  })
137
109
  });
138
110
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
139
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
111
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.ScrollView, {
140
112
  testID: "ScrollView",
141
113
  ref: scrollViewRef,
142
114
  scrollEnabled: scrollEnabled,
143
115
  style: style,
144
- onScroll: handleScroll,
145
- scrollEventThrottle: 8,
146
116
  onLayout: handleLayout,
147
117
  onContentSizeChange: handleContentSizeChange,
148
118
  contentContainerStyle: contentContainerStyle,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_core","_buttons","_ScaleInOutAnimation","_layout","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ForceScrollDownView","footerActions","children","threshold","customThreshold","style","contentContainerStyle","scrollEnabled","onThresholdCrossed","scrollViewRef","useRef","footerActionsInlineMeasurements","handleFooterActionsInlineMeasurements","useFooterActionsInlineMeasurements","safeBottomAreaHeight","scrollViewHeight","setScrollViewHeight","useState","contentHeight","setContentHeight","isThresholdCrossed","setThresholdCrossed","isButtonVisible","setButtonVisible","handleScroll","useCallback","event","layoutMeasurement","contentOffset","contentSize","nativeEvent","thresholdCrossed","height","y","useEffect","handleContentSizeChange","_contentWidth","handleLayout","layout","handleScrollDownPress","current","scrollToEnd","needsScroll","useMemo","shouldRenderScrollButton","scrollDownButton","jsx","ScaleInOutAnimation","springConfig","IOSpringValues","button","styles","visible","IconButtonSolid","testID","accessibilityLabel","icon","onPress","jsxs","Fragment","ScrollView","ref","onScroll","scrollEventThrottle","onLayout","onContentSizeChange","FooterActions","onMeasure","fixed","exports","StyleSheet","create","position","zIndex","right","IOVisualCostants","scrollDownButtonRight","bottom","scrollDownButtonBottom"],"sourceRoot":"../../../../src","sources":["components/templates/ForceScrollDownView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_core","_buttons","_layout","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ForceScrollDownView","footerActions","children","threshold","customThreshold","style","contentContainerStyle","scrollEnabled","onThresholdCrossed","animatedRef","internalAnimatedRef","useAnimatedRef","scrollViewRef","footerActionsInlineMeasurements","handleFooterActionsInlineMeasurements","useFooterActionsInlineMeasurements","safeBottomAreaHeight","isButtonVisible","useSharedValue","scrollViewHeight","contentHeight","offsetY","useScrollViewOffset","useAnimatedReaction","value","Math","max","crossed","previous","withSpring","IOSpringValues","button","runOnJS","handleContentSizeChange","useCallback","_w","h","handleLayout","event","nativeEvent","layout","height","handleScrollDownPress","runOnUI","targetY","scrollTo","buttonTransitionStyle","useAnimatedStyle","opacity","transform","scale","interpolate","scrollDownButton","jsx","View","styles","IconButtonSolid","testID","accessibilityLabel","icon","onPress","jsxs","Fragment","ScrollView","ref","onLayout","onContentSizeChange","FooterActions","onMeasure","fixed","exports","StyleSheet","create","position","zIndex","right","IOVisualCostants","scrollDownButtonRight","bottom","scrollDownButtonBottom"],"sourceRoot":"../../../../src","sources":["components/templates/ForceScrollDownView.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _lodash = require("lodash");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactNative = require("react-native");
10
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
11
12
  var _core = require("../../core");
12
13
  var _functions = require("../../functions");
13
14
  var _templates = require("../templates");
@@ -98,10 +99,13 @@ const ToastProvider = ({
98
99
  removeToast: (0, _lodash.throttle)(removeToast, TOAST_THROTTLE_TIME),
99
100
  removeAllToasts
100
101
  }), [addToast, removeToast, removeAllToasts]);
102
+ const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
101
103
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_context.ToastContext.Provider, {
102
104
  value: contextValue,
103
105
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(InitializeToastRef, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.SafeAreaView, {
104
- style: styles.container,
106
+ style: [styles.container, {
107
+ paddingTop: _reactNative.Platform.OS === "android" ? insets.top : 0
108
+ }],
105
109
  pointerEvents: "box-none",
106
110
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
107
111
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_react","_interopRequireDefault","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_core","_functions","_templates","_ToastNotification","_context","_useIOToast","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_TOAST_STACK_SIZE","exports","TOAST_DURATION_TIME","TOAST_THROTTLE_TIME","ToastNotificationStackItem","onDismiss","toast","jsx","View","entering","SlideInUp","springify","damping","mass","stiffness","exiting","SlideOutUp","duration","easing","Easing","inOut","exp","layout","SequencedTransition","delay","style","paddingBottom","children","Dismissable","ToastNotification","ToastProvider","toastId","React","useRef","toasts","setToasts","useState","addToast","useCallback","id","current","prevToasts","length","mostRecentToasts","slice","setTimeout","filter","hapticFeedback","triggerHaptic","AccessibilityInfo","announceForAccessibilityWithOptions","message","queue","removeToast","removeAllToasts","contextValue","useMemo","throttle","jsxs","ToastContext","Provider","value","InitializeToastRef","SafeAreaView","styles","container","pointerEvents","padding","IOVisualCostants","appMarginDefault","map","useIOToast","IOToastRef","StyleSheet","create","zIndex","position","bottom","left","right","top","overflow"],"sourceRoot":"../../../../src","sources":["components/toast/ToastProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","require","_react","_interopRequireDefault","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_core","_functions","_templates","_ToastNotification","_context","_useIOToast","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_TOAST_STACK_SIZE","exports","TOAST_DURATION_TIME","TOAST_THROTTLE_TIME","ToastNotificationStackItem","onDismiss","toast","jsx","View","entering","SlideInUp","springify","damping","mass","stiffness","exiting","SlideOutUp","duration","easing","Easing","inOut","exp","layout","SequencedTransition","delay","style","paddingBottom","children","Dismissable","ToastNotification","ToastProvider","toastId","React","useRef","toasts","setToasts","useState","addToast","useCallback","id","current","prevToasts","length","mostRecentToasts","slice","setTimeout","filter","hapticFeedback","triggerHaptic","AccessibilityInfo","announceForAccessibilityWithOptions","message","queue","removeToast","removeAllToasts","contextValue","useMemo","throttle","insets","useSafeAreaInsets","jsxs","ToastContext","Provider","value","InitializeToastRef","SafeAreaView","styles","container","paddingTop","Platform","OS","top","pointerEvents","padding","IOVisualCostants","appMarginDefault","map","useIOToast","IOToastRef","StyleSheet","create","zIndex","position","bottom","left","right","overflow"],"sourceRoot":"../../../../src","sources":["components/toast/ToastProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
- import { ScrollView, StyleSheet } from "react-native";
3
+ import React, { useCallback } from "react";
4
+ import { StyleSheet } from "react-native";
5
+ import Animated, { interpolate, runOnJS, runOnUI, scrollTo, useAnimatedReaction, useAnimatedRef, useAnimatedStyle, useScrollViewOffset, useSharedValue, withSpring } from "react-native-reanimated";
5
6
  import { IOSpringValues, IOVisualCostants } from "../../core";
6
7
  import { IconButtonSolid } from "../buttons";
7
- import { ScaleInOutAnimation } from "../common/ScaleInOutAnimation";
8
8
  import { FooterActions, useFooterActionsInlineMeasurements } from "../layout";
9
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
10
  /**
@@ -20,109 +20,81 @@ const ForceScrollDownView = ({
20
20
  style,
21
21
  contentContainerStyle,
22
22
  scrollEnabled = true,
23
- onThresholdCrossed
23
+ onThresholdCrossed,
24
+ animatedRef
24
25
  }) => {
25
- const scrollViewRef = useRef(null);
26
+ const internalAnimatedRef = useAnimatedRef();
27
+ const scrollViewRef = animatedRef ?? internalAnimatedRef;
26
28
  const {
27
29
  footerActionsInlineMeasurements,
28
30
  handleFooterActionsInlineMeasurements
29
31
  } = useFooterActionsInlineMeasurements();
30
32
  const threshold = footerActions ? footerActionsInlineMeasurements.safeBottomAreaHeight : customThreshold;
31
33
 
32
- /**
33
- * The height of the scroll view, used to determine whether or not the scrollable content fits inside
34
- * the scroll view and whether the "scroll to bottom" button should be displayed.
35
- */
36
- const [scrollViewHeight, setScrollViewHeight] = useState(0);
37
-
38
- /**
39
- * The height of the scrollable content, used to determine whether or not the "scroll to bottom" button
40
- * should be displayed.
41
- */
42
- const [contentHeight, setContentHeight] = useState(0);
43
-
44
- /**
45
- * Whether or not the scroll view has crossed the threshold from the bottom.
46
- */
47
- const [isThresholdCrossed, setThresholdCrossed] = useState(false);
48
-
49
34
  /**
50
35
  * Whether or not the "scroll to bottom" button should be visible. This is controlled by the threshold
51
36
  * and the current scroll position.
52
37
  */
53
- const [isButtonVisible, setButtonVisible] = useState(true);
38
+ // const [isButtonVisible, setButtonVisible] = useState(true);
54
39
 
55
- /**
56
- * A callback that is called whenever the scroll view is scrolled. It checks whether or not the
57
- * scroll view has crossed the threshold from the bottom and updates the state accordingly.
58
- * The callback is designed to update button visibility only when crossing the threshold.
59
- */
60
- const handleScroll = useCallback(event => {
61
- const {
62
- layoutMeasurement,
63
- contentOffset,
64
- contentSize
65
- } = event.nativeEvent;
66
- const thresholdCrossed = layoutMeasurement.height + contentOffset.y >= contentSize.height - (threshold ?? 0);
67
- if (isThresholdCrossed !== thresholdCrossed) {
68
- setThresholdCrossed(thresholdCrossed);
69
- setButtonVisible(!thresholdCrossed);
40
+ const isButtonVisible = useSharedValue(1);
41
+ const scrollViewHeight = useSharedValue(0);
42
+ const contentHeight = useSharedValue(0);
43
+ const offsetY = useScrollViewOffset(scrollViewRef);
44
+ useAnimatedReaction(() => scrollViewHeight.value + Math.max(offsetY.value, 0) >= contentHeight.value - (threshold ?? 0), (crossed, previous) => {
45
+ if (crossed !== previous) {
46
+ // eslint-disable-next-line functional/immutable-data
47
+ isButtonVisible.value = withSpring(crossed && scrollEnabled ? 0 : 1, IOSpringValues.button);
48
+ if (onThresholdCrossed) {
49
+ runOnJS(onThresholdCrossed)(crossed);
50
+ }
70
51
  }
71
- }, [threshold, isThresholdCrossed]);
72
-
73
- /**
74
- * A side effect that calls the `onThresholdCrossed` callback whenever the value of `isThresholdCrossed` changes.
75
- */
76
- useEffect(() => {
77
- onThresholdCrossed?.(isThresholdCrossed);
78
- }, [onThresholdCrossed, isThresholdCrossed]);
52
+ });
79
53
 
80
54
  /**
81
55
  * A callback that is called whenever the size of the scrollable content changes. It updates the
82
56
  * state with the new content height.
83
57
  */
84
- const handleContentSizeChange = useCallback((_contentWidth, contentHeight) => {
85
- setContentHeight(contentHeight);
86
- }, []);
58
+ const handleContentSizeChange = useCallback(
59
+ // eslint-disable-next-line functional/immutable-data
60
+ (_w, h) => contentHeight.value = h, [contentHeight]);
87
61
 
88
62
  /**
89
63
  * A callback that is called whenever the size of the scroll view changes. It updates the state
90
64
  * with the new scroll view height.
91
65
  */
92
- const handleLayout = useCallback(event => {
93
- setScrollViewHeight(event.nativeEvent.layout.height);
94
- }, []);
66
+ const handleLayout = useCallback(event =>
67
+ // eslint-disable-next-line functional/immutable-data
68
+ scrollViewHeight.value = event.nativeEvent.layout.height, [scrollViewHeight]);
95
69
 
96
70
  /**
97
71
  * A callback that is called when the "scroll to bottom" button is pressed. It scrolls the
98
72
  * scroll view to the bottom and hides the button.
99
73
  */
100
74
  const handleScrollDownPress = useCallback(() => {
101
- setButtonVisible(false);
102
- scrollViewRef.current?.scrollToEnd();
103
- }, [scrollViewRef]);
75
+ runOnUI(() => {
76
+ "worklet";
104
77
 
105
- /**
106
- * Whether or not the "scroll to bottom" button needs to be displayed. It is only displayed
107
- * when the scrollable content cannot fit inside the scroll view and the button is enabled
108
- * (`scrollEnabled` is `true`).
109
- */
110
- const needsScroll = useMemo(() => scrollViewHeight > 0 && contentHeight > 0 && scrollViewHeight < contentHeight, [scrollViewHeight, contentHeight]);
78
+ // eslint-disable-next-line functional/immutable-data
79
+ isButtonVisible.value = withSpring(0, IOSpringValues.button);
80
+ const targetY = Math.max(0, contentHeight.value - scrollViewHeight.value);
81
+ scrollTo(scrollViewRef, 0, targetY, true);
82
+ })();
83
+ }, [scrollViewRef, contentHeight, scrollViewHeight, isButtonVisible]);
111
84
 
112
85
  /**
113
- * Whether or not to render the "scroll to bottom" button. It is only rendered when the scroll view
114
- * is enabled, needs to be scrolled, and the button is visible (`isButtonVisible` is `true`).
86
+ * The "scroll to bottom" button component. It is wrapped in a reanimated View
87
+ * and has animated style applied to it.
115
88
  */
116
- const shouldRenderScrollButton = scrollEnabled && needsScroll && isButtonVisible;
117
89
 
118
- /**
119
- * The "scroll to bottom" button component. It is wrapped in a reanimated view and has enter and exit
120
- * animations applied to it.
121
- */
122
- const scrollDownButton = /*#__PURE__*/_jsx(ScaleInOutAnimation, {
123
- springConfig: IOSpringValues.button,
124
- style: styles.scrollDownButton,
125
- visible: shouldRenderScrollButton,
90
+ const buttonTransitionStyle = useAnimatedStyle(() => ({
91
+ opacity: isButtonVisible.value,
92
+ transform: [{
93
+ scale: interpolate(isButtonVisible.value, [0, 1], [0.5, 1])
94
+ }]
95
+ }));
96
+ const scrollDownButton = /*#__PURE__*/_jsx(Animated.View, {
97
+ style: [styles.scrollDownButton, buttonTransitionStyle],
126
98
  children: /*#__PURE__*/_jsx(IconButtonSolid, {
127
99
  testID: "ScrollDownButton",
128
100
  accessibilityLabel: "Scroll to bottom",
@@ -131,13 +103,11 @@ const ForceScrollDownView = ({
131
103
  })
132
104
  });
133
105
  return /*#__PURE__*/_jsxs(_Fragment, {
134
- children: [/*#__PURE__*/_jsxs(ScrollView, {
106
+ children: [/*#__PURE__*/_jsxs(Animated.ScrollView, {
135
107
  testID: "ScrollView",
136
108
  ref: scrollViewRef,
137
109
  scrollEnabled: scrollEnabled,
138
110
  style: style,
139
- onScroll: handleScroll,
140
- scrollEventThrottle: 8,
141
111
  onLayout: handleLayout,
142
112
  onContentSizeChange: handleContentSizeChange,
143
113
  contentContainerStyle: contentContainerStyle,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","ScrollView","StyleSheet","IOSpringValues","IOVisualCostants","IconButtonSolid","ScaleInOutAnimation","FooterActions","useFooterActionsInlineMeasurements","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ForceScrollDownView","footerActions","children","threshold","customThreshold","style","contentContainerStyle","scrollEnabled","onThresholdCrossed","scrollViewRef","footerActionsInlineMeasurements","handleFooterActionsInlineMeasurements","safeBottomAreaHeight","scrollViewHeight","setScrollViewHeight","contentHeight","setContentHeight","isThresholdCrossed","setThresholdCrossed","isButtonVisible","setButtonVisible","handleScroll","event","layoutMeasurement","contentOffset","contentSize","nativeEvent","thresholdCrossed","height","y","handleContentSizeChange","_contentWidth","handleLayout","layout","handleScrollDownPress","current","scrollToEnd","needsScroll","shouldRenderScrollButton","scrollDownButton","springConfig","button","styles","visible","testID","accessibilityLabel","icon","onPress","ref","onScroll","scrollEventThrottle","onLayout","onContentSizeChange","onMeasure","fixed","create","position","zIndex","right","scrollDownButtonRight","bottom","scrollDownButtonBottom"],"sourceRoot":"../../../../src","sources":["components/templates/ForceScrollDownView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","StyleSheet","Animated","interpolate","runOnJS","runOnUI","scrollTo","useAnimatedReaction","useAnimatedRef","useAnimatedStyle","useScrollViewOffset","useSharedValue","withSpring","IOSpringValues","IOVisualCostants","IconButtonSolid","FooterActions","useFooterActionsInlineMeasurements","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ForceScrollDownView","footerActions","children","threshold","customThreshold","style","contentContainerStyle","scrollEnabled","onThresholdCrossed","animatedRef","internalAnimatedRef","scrollViewRef","footerActionsInlineMeasurements","handleFooterActionsInlineMeasurements","safeBottomAreaHeight","isButtonVisible","scrollViewHeight","contentHeight","offsetY","value","Math","max","crossed","previous","button","handleContentSizeChange","_w","h","handleLayout","event","nativeEvent","layout","height","handleScrollDownPress","targetY","buttonTransitionStyle","opacity","transform","scale","scrollDownButton","View","styles","testID","accessibilityLabel","icon","onPress","ScrollView","ref","onLayout","onContentSizeChange","onMeasure","fixed","create","position","zIndex","right","scrollDownButtonRight","bottom","scrollDownButtonBottom"],"sourceRoot":"../../../../src","sources":["components/templates/ForceScrollDownView.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,9 @@
2
2
 
3
3
  import { throttle } from "lodash";
4
4
  import React from "react";
5
- import { AccessibilityInfo, SafeAreaView, StyleSheet, View } from "react-native";
5
+ import { AccessibilityInfo, Platform, SafeAreaView, StyleSheet, View } from "react-native";
6
6
  import Animated, { Easing, SequencedTransition, SlideInUp, SlideOutUp } from "react-native-reanimated";
7
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
7
8
  import { IOVisualCostants } from "../../core";
8
9
  import { triggerHaptic } from "../../functions";
9
10
  import { Dismissable } from "../templates";
@@ -93,10 +94,13 @@ export const ToastProvider = ({
93
94
  removeToast: throttle(removeToast, TOAST_THROTTLE_TIME),
94
95
  removeAllToasts
95
96
  }), [addToast, removeToast, removeAllToasts]);
97
+ const insets = useSafeAreaInsets();
96
98
  return /*#__PURE__*/_jsxs(ToastContext.Provider, {
97
99
  value: contextValue,
98
100
  children: [/*#__PURE__*/_jsx(InitializeToastRef, {}), /*#__PURE__*/_jsx(SafeAreaView, {
99
- style: styles.container,
101
+ style: [styles.container, {
102
+ paddingTop: Platform.OS === "android" ? insets.top : 0
103
+ }],
100
104
  pointerEvents: "box-none",
101
105
  children: /*#__PURE__*/_jsx(View, {
102
106
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["throttle","React","AccessibilityInfo","SafeAreaView","StyleSheet","View","Animated","Easing","SequencedTransition","SlideInUp","SlideOutUp","IOVisualCostants","triggerHaptic","Dismissable","ToastNotification","ToastContext","IOToastRef","useIOToast","jsx","_jsx","jsxs","_jsxs","MAX_TOAST_STACK_SIZE","TOAST_DURATION_TIME","TOAST_THROTTLE_TIME","ToastNotificationStackItem","onDismiss","toast","entering","springify","damping","mass","stiffness","exiting","duration","easing","inOut","exp","layout","delay","style","paddingBottom","children","ToastProvider","toastId","useRef","toasts","setToasts","useState","addToast","useCallback","id","current","prevToasts","length","mostRecentToasts","slice","setTimeout","filter","t","hapticFeedback","announceForAccessibilityWithOptions","message","queue","removeToast","removeAllToasts","contextValue","useMemo","Provider","value","InitializeToastRef","styles","container","pointerEvents","padding","appMarginDefault","map","create","zIndex","position","bottom","left","right","top","overflow"],"sourceRoot":"../../../../src","sources":["components/toast/ToastProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["throttle","React","AccessibilityInfo","Platform","SafeAreaView","StyleSheet","View","Animated","Easing","SequencedTransition","SlideInUp","SlideOutUp","useSafeAreaInsets","IOVisualCostants","triggerHaptic","Dismissable","ToastNotification","ToastContext","IOToastRef","useIOToast","jsx","_jsx","jsxs","_jsxs","MAX_TOAST_STACK_SIZE","TOAST_DURATION_TIME","TOAST_THROTTLE_TIME","ToastNotificationStackItem","onDismiss","toast","entering","springify","damping","mass","stiffness","exiting","duration","easing","inOut","exp","layout","delay","style","paddingBottom","children","ToastProvider","toastId","useRef","toasts","setToasts","useState","addToast","useCallback","id","current","prevToasts","length","mostRecentToasts","slice","setTimeout","filter","t","hapticFeedback","announceForAccessibilityWithOptions","message","queue","removeToast","removeAllToasts","contextValue","useMemo","insets","Provider","value","InitializeToastRef","styles","container","paddingTop","OS","top","pointerEvents","padding","appMarginDefault","map","create","zIndex","position","bottom","left","right","overflow"],"sourceRoot":"../../../../src","sources":["components/toast/ToastProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import React, { ComponentProps, ReactNode } from "react";
2
2
  import { ScrollViewProps } from "react-native";
3
+ import Animated, { AnimatedRef } from "react-native-reanimated";
3
4
  import { FooterActions } from "../layout";
4
5
  type ForceScrollDownViewActions = {
5
6
  /**
@@ -27,6 +28,11 @@ export type ForceScrollDownView = {
27
28
  * is passed a boolean indicating whether the threshold has been crossed (`true`) or not (`false`).
28
29
  */
29
30
  onThresholdCrossed?: (crossed: boolean) => void;
31
+ /**
32
+ * Optional Animated ref to be used with `useScrollViewOffset`
33
+ * (outside this component)
34
+ */
35
+ animatedRef?: AnimatedRef<Animated.ScrollView>;
30
36
  } & ForceScrollDownViewSlot & Pick<ScrollViewProps, "style" | "contentContainerStyle" | "scrollEnabled" | "testID">;
31
37
  /**
32
38
  * A React Native component that displays a scroll view with a button that scrolls to the bottom of the content
@@ -34,6 +40,6 @@ export type ForceScrollDownView = {
34
40
  * configurable by the `threshold` prop. The button, and the scrolling, can also be disabled by setting the
35
41
  * `scrollEnabled` prop to `false`.
36
42
  */
37
- declare const ForceScrollDownView: ({ footerActions, children, threshold: customThreshold, style, contentContainerStyle, scrollEnabled, onThresholdCrossed }: ForceScrollDownView) => React.JSX.Element;
43
+ declare const ForceScrollDownView: ({ footerActions, children, threshold: customThreshold, style, contentContainerStyle, scrollEnabled, onThresholdCrossed, animatedRef }: ForceScrollDownView) => React.JSX.Element;
38
44
  export { ForceScrollDownView };
39
45
  //# sourceMappingURL=ForceScrollDownView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ForceScrollDownView.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/ForceScrollDownView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,cAAc,EACd,SAAS,EAMV,MAAM,OAAO,CAAC;AACf,OAAO,EAKL,eAAe,EAEhB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAC;AAE9E,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,IAAI,CACjB,cAAc,CAAC,OAAO,aAAa,CAAC,EACpC,OAAO,GAAG,WAAW,CACtB,CAAC;CACH,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,KAAK,uBAAuB,GACxB,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD,GAAG,uBAAuB,GACzB,IAAI,CACF,eAAe,EACf,OAAO,GAAG,uBAAuB,GAAG,eAAe,GAAG,QAAQ,CAC/D,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,0HAQ1B,mBAAmB,sBA4JrB,CAAC;AAWF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"ForceScrollDownView.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/ForceScrollDownView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;AACtE,OAAO,EAAqB,eAAe,EAAc,MAAM,cAAc,CAAC;AAC9E,OAAO,QAAQ,EAAE,EACf,WAAW,EAWZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAC;AAE9E,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,IAAI,CACjB,cAAc,CAAC,OAAO,aAAa,CAAC,EACpC,OAAO,GAAG,WAAW,CACtB,CAAC;CACH,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEF,KAAK,uBAAuB,GACxB,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;CAChD,GAAG,uBAAuB,GACzB,IAAI,CACF,eAAe,EACf,OAAO,GAAG,uBAAuB,GAAG,eAAe,GAAG,QAAQ,CAC/D,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,uIAS1B,mBAAmB,sBAyHrB,CAAC;AAWF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAyBvC,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,cAAc,kBAAkB,sBAuE7D,CAAC"}
1
+ {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/toast/ToastProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B;;;GAGG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAyBvC,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,cAAc,kBAAkB,sBAiF7D,CAAC"}