@artsy/palette-mobile 13.0.9 → 13.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v13.0.11 (Tue Sep 19 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - fix: progressive onboarding positioning on android [#153](https://github.com/artsy/palette-mobile/pull/153) ([@MounirDhahri](https://github.com/MounirDhahri))
6
+
7
+ #### Authors: 1
8
+
9
+ - Mounir Dhahri ([@MounirDhahri](https://github.com/MounirDhahri))
10
+
11
+ ---
12
+
13
+ # v13.0.10 (Mon Sep 18 2023)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - fix: Add flowDirection prop to tooltip component [#151](https://github.com/artsy/palette-mobile/pull/151) ([@olerichter00](https://github.com/olerichter00))
18
+
19
+ #### Authors: 1
20
+
21
+ - Ole ([@olerichter00](https://github.com/olerichter00))
22
+
23
+ ---
24
+
1
25
  # v13.0.9 (Fri Sep 15 2023)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.POPOVER_VARIANTS = exports.Popover = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const palette_tokens_1 = require("@artsy/palette-tokens");
9
+ const react_native_1 = require("react-native");
9
10
  const react_native_popover_view_1 = __importDefault(require("react-native-popover-view"));
10
11
  const react_native_reanimated_1 = require("react-native-reanimated");
11
12
  const styled_components_1 = __importDefault(require("styled-components"));
@@ -14,7 +15,9 @@ const Flex_1 = require("../Flex");
14
15
  const Touchable_1 = require("../Touchable");
15
16
  const Popover = ({ variant = "dark", children, visible, onPressOutside, onDismiss, onCloseComplete, placement = "top", title, content, noCloseIcon, }) => {
16
17
  const style = exports.POPOVER_VARIANTS[variant];
17
- return ((0, jsx_runtime_1.jsx)(react_native_popover_view_1.default, { backgroundStyle: { opacity: 0.5, backgroundColor: palette_tokens_1.THEME.colors["black100"] }, popoverStyle: [{ backgroundColor: style.backgroundColor }, style.shadow], from: children, isVisible: visible, onCloseComplete: onCloseComplete, onRequestClose: onPressOutside, placement: placement, arrowSize: { height: 11, width: 22 }, animationConfig: {
18
+ return ((0, jsx_runtime_1.jsx)(react_native_popover_view_1.default, { backgroundStyle: { opacity: 0.5, backgroundColor: palette_tokens_1.THEME.colors["black100"] }, popoverStyle: [{ backgroundColor: style.backgroundColor }, style.shadow], from: children, isVisible: visible,
19
+ // this is required to make sure that the popover is positioned correctly on android
20
+ verticalOffset: react_native_1.Platform.OS === "android" ? -(react_native_1.StatusBar.currentHeight ?? 0) : 0, onCloseComplete: onCloseComplete, onRequestClose: onPressOutside, placement: placement, arrowSize: { height: 11, width: 22 }, animationConfig: {
18
21
  duration: 400,
19
22
  easing: react_native_reanimated_1.Easing.out(react_native_reanimated_1.Easing.exp),
20
23
  }, children: (0, jsx_runtime_1.jsxs)(Container, { variant: variant, p: 1, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", children: [title ? title : (0, jsx_runtime_1.jsx)(Flex_1.Flex, {}), !noCloseIcon && ((0, jsx_runtime_1.jsx)(Touchable_1.Touchable, { onPress: onDismiss, children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { ml: 0.5, children: (0, jsx_runtime_1.jsx)(svgs_1.CloseIcon, { width: 18, height: 18, fill: style.fill }) }) }))] }), content] }) }));
@@ -6,6 +6,8 @@ interface ToolTipContextValues {
6
6
  interface ToolTipProps {
7
7
  children?: React.ReactNode;
8
8
  enabled?: Boolean;
9
+ /** The direction the tooltip should flow. If not provided, the tooltip will flow to the left if it is near the right edge of the screen, and vice-versa */
10
+ flowDirection?: "LEFT" | "RIGHT";
9
11
  initialToolTipText?: string;
10
12
  maxWidth?: number;
11
13
  onPress?: () => void;
@@ -33,7 +33,7 @@ exports.ToolTipContext = (0, react_1.createContext)({
33
33
  * </ToolTip>
34
34
  *
35
35
  */
36
- const ToolTip = ({ children, enabled = true, initialToolTipText, maxWidth, onPress, position = "TOP", tapToDismiss = false, testID, xOffset = 0, yOffset = 5, }) => {
36
+ const ToolTip = ({ children, enabled = true, flowDirection, initialToolTipText, maxWidth, onPress, position = "TOP", tapToDismiss = false, testID, xOffset = 0, yOffset = 5, }) => {
37
37
  const { space } = (0, useTheme_1.useTheme)();
38
38
  const mWidth = (0, useScreenDimensions_1.useScreenDimensions)().width - space(2) * 2; // 40 accounting for padding 20 on each side of the screen
39
39
  const MAX_TOOLTIP_WIDTH = maxWidth ?? mWidth;
@@ -51,8 +51,8 @@ const ToolTip = ({ children, enabled = true, initialToolTipText, maxWidth, onPre
51
51
  // Calculate the direction of flow of the tooltip. So a tooltip near the right edge of the screen
52
52
  // should flow to the left so it remains in the viewport, and vice-versa. Without this, tooltip
53
53
  // around the edges can flow off screen
54
- const nearLeftEdge = pageX < mWidth / 4;
55
- const nearRightEdge = pageX > mWidth - mWidth / 4;
54
+ const nearLeftEdge = pageX < mWidth / 4 || flowDirection === "RIGHT";
55
+ const nearRightEdge = pageX > mWidth - mWidth / 4 || flowDirection === "LEFT";
56
56
  const extraStyle = nearLeftEdge ? { left: 0 } : nearRightEdge ? { right: 0 } : undefined;
57
57
  return ((0, jsx_runtime_1.jsxs)(exports.ToolTipContext.Provider, { value: {
58
58
  dismissToolTip,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/palette-mobile",
3
- "version": "13.0.9",
3
+ "version": "13.0.11",
4
4
  "description": "Artsy's design system for React Native",
5
5
  "scripts": {
6
6
  "android": "react-native run-android",