@artsy/palette-mobile 13.0.8 → 13.0.10
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 +24 -0
- package/README.md +37 -0
- package/dist/elements/ToolTip/ToolTip.d.ts +2 -0
- package/dist/elements/ToolTip/ToolTip.js +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# v13.0.10 (Mon Sep 18 2023)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- fix: Add flowDirection prop to tooltip component [#151](https://github.com/artsy/palette-mobile/pull/151) ([@olerichter00](https://github.com/olerichter00))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Ole ([@olerichter00](https://github.com/olerichter00))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v13.0.9 (Fri Sep 15 2023)
|
|
14
|
+
|
|
15
|
+
#### 🐛 Bug Fix
|
|
16
|
+
|
|
17
|
+
- docs: update readme with Developing Features using Local Versions [#150](https://github.com/artsy/palette-mobile/pull/150) ([@gkartalis](https://github.com/gkartalis))
|
|
18
|
+
|
|
19
|
+
#### Authors: 1
|
|
20
|
+
|
|
21
|
+
- George ([@gkartalis](https://github.com/gkartalis))
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
1
25
|
# v13.0.8 (Thu Sep 14 2023)
|
|
2
26
|
|
|
3
27
|
:tada: This release contains work from a new contributor! :tada:
|
package/README.md
CHANGED
|
@@ -54,6 +54,43 @@ yarn start
|
|
|
54
54
|
|
|
55
55
|
And then either open Xcode and run, or Android Studio, or run `yarn ios` or `yarn android` from the command line, or just open up the simulator if you have done this before.
|
|
56
56
|
|
|
57
|
+
## Developing Features using Local Versions of Palette
|
|
58
|
+
|
|
59
|
+
When developing new components in Palette, it's often useful to test those components in consuming apps (such as Eigen). However, due to the poor support for symlinks in React Native, this can be difficult. Enter [yalc](https://github.com/wclr/yalc). Yalc is a mini package manager that one can publish to and install from, which makes it easy to test code in realtime from outside of your app.
|
|
60
|
+
|
|
61
|
+
> Note: [@artsy/palette-mobile](https://github.com/artsy/palette-mobile) uses Storybooks for developing features; work there first! Then, when ready (and if necessary), test your code locally using the flow described below. You can also publish npm canary releases from the palette-mobile repo by attaching a `canary` label to your PR.
|
|
62
|
+
|
|
63
|
+
### Setup
|
|
64
|
+
|
|
65
|
+
- Install `yalc` globally:
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
yarn global add yalc
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- Navigate to `palette-mobile` in the terminal and start the watcher:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
cd palette-mobile
|
|
75
|
+
yarn local-palette-dev
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- Navigate back to Eigen and link:
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
cd eigen
|
|
82
|
+
yarn local-palette-dev
|
|
83
|
+
yarn start
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
This will update `package.json` to point at the yalc-published version of palette.
|
|
87
|
+
|
|
88
|
+
- When done developing your local palette feature, be sure to unlink:
|
|
89
|
+
|
|
90
|
+
```sh
|
|
91
|
+
yarn local-palette-dev:stop
|
|
92
|
+
```
|
|
93
|
+
|
|
57
94
|
## Repos consuming Palette Mobile
|
|
58
95
|
|
|
59
96
|
- [Eigen](https://github.com/artsy/eigen)
|
|
@@ -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,
|