@planningcenter/tapestry-react 2.6.0-rc.9 → 2.6.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/dist/cjs/Button/Button.js +8 -1
- package/dist/cjs/Button/Button.test.js +51 -8
- package/dist/cjs/DataTable/components/BodyRow.js +2 -2
- package/dist/cjs/DataTable/hooks/useCollapsibleRows.js +2 -2
- package/dist/cjs/Dropdown/Dropdown.js +5 -3
- package/dist/cjs/Dropdown/Dropdown.test.js +3 -3
- package/dist/cjs/Dropdown/Link.js +2 -4
- package/dist/cjs/Input/InputLabel.js +40 -63
- package/dist/cjs/Modal/Modal.js +15 -7
- package/dist/cjs/Modal/Modal.test.js +2 -2
- package/dist/cjs/Popover/Popover.js +10 -2
- package/dist/cjs/Scrim/Scrim.js +16 -4
- package/dist/cjs/Table/Table.js +5 -3
- package/dist/cjs/ThemeProvider/ThemeProvider.js +2 -2
- package/dist/cjs/TimeField/TimeField.js +1 -1
- package/dist/cjs/Tooltip/Tooltip.js +27 -23
- package/dist/cjs/system/utils.js +2 -2
- package/dist/cjs/utils.js +3 -3
- package/dist/esm/Button/Button.js +8 -1
- package/dist/esm/Button/Button.test.js +67 -9
- package/dist/esm/DataTable/components/BodyRow.js +2 -2
- package/dist/esm/DataTable/hooks/useCollapsibleRows.js +1 -1
- package/dist/esm/Dropdown/Dropdown.js +6 -4
- package/dist/esm/Dropdown/Dropdown.test.js +1 -1
- package/dist/esm/Dropdown/Link.js +1 -2
- package/dist/esm/Input/InputLabel.js +40 -63
- package/dist/esm/Modal/Modal.js +13 -7
- package/dist/esm/Modal/Modal.test.js +1 -1
- package/dist/esm/Popover/Popover.js +8 -2
- package/dist/esm/Scrim/Scrim.js +15 -4
- package/dist/esm/Table/Table.js +2 -1
- package/dist/esm/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/esm/TimeField/TimeField.js +1 -1
- package/dist/esm/Tooltip/Tooltip.js +29 -24
- package/dist/esm/system/utils.js +1 -1
- package/dist/esm/utils.js +1 -1
- package/dist/types/Button/Button.d.ts +4 -0
- package/dist/types/ThemeProvider/ThemeProvider.d.ts +3 -3
- package/dist/types/index.d.ts +1 -1
- package/package.json +4 -4
- package/src/Button/Button.test.tsx +30 -0
- package/src/Button/Button.tsx +14 -1
- package/src/DataTable/DataTable.js +1 -1
- package/src/DataTable/components/BodyRow.js +1 -1
- package/src/DataTable/hooks/useCollapsibleRows.js +1 -1
- package/src/Dropdown/Dropdown.js +7 -4
- package/src/Dropdown/Dropdown.mdx +3 -3
- package/src/Dropdown/Dropdown.test.tsx +1 -1
- package/src/Dropdown/Link.js +1 -7
- package/src/Input/InputLabel.js +39 -36
- package/src/Input/InputLabel.mdx +1 -0
- package/src/Modal/Modal.js +12 -4
- package/src/Modal/Modal.mdx +2 -1
- package/src/Modal/Modal.test.tsx +1 -1
- package/src/Popover/Popover.mdx +1 -0
- package/src/Popover/Popover.tsx +8 -2
- package/src/Scrim/Scrim.mdx +1 -0
- package/src/Scrim/Scrim.tsx +11 -6
- package/src/Sidebar/Sidebar.mdx +0 -1
- package/src/Table/Table.js +2 -1
- package/src/ThemeProvider/ThemeProvider.tsx +7 -6
- package/src/TimeField/TimeField.js +1 -1
- package/src/Tooltip/Tooltip.js +19 -21
- package/src/index.d.ts +1 -1
- package/src/system/utils.js +1 -1
- package/src/utils.js +1 -1
package/src/Tooltip/Tooltip.js
CHANGED
|
@@ -5,7 +5,6 @@ import React, {
|
|
|
5
5
|
forwardRef,
|
|
6
6
|
useRef,
|
|
7
7
|
useState,
|
|
8
|
-
useCallback,
|
|
9
8
|
useImperativeHandle,
|
|
10
9
|
useEffect,
|
|
11
10
|
} from 'react'
|
|
@@ -122,19 +121,18 @@ function Tooltip(props: Props, ref) {
|
|
|
122
121
|
...childProps
|
|
123
122
|
} = useThemeProps('tooltip', props)
|
|
124
123
|
|
|
125
|
-
let isPageInView = true
|
|
126
|
-
let
|
|
127
|
-
let isMouseDown = false
|
|
124
|
+
let isPageInView = useRef(true)
|
|
125
|
+
let isMouseDown = useRef(false)
|
|
128
126
|
let openTimeoutId = useRef(null)
|
|
129
127
|
let closeTimeoutId = useRef(null)
|
|
130
128
|
|
|
131
|
-
// prevents tooltips showing when focused and navigating back to a page after leaving
|
|
132
|
-
const cleanupPageViewChange = useCallback(
|
|
133
|
-
pageViewChange((inView) => setTimeout(() => (isPageInView = inView)))
|
|
134
|
-
)
|
|
135
129
|
const [isPopoverOpen, setIsPopoverOpen] = useState(defaultOpen)
|
|
136
130
|
|
|
137
131
|
useEffect(() => {
|
|
132
|
+
// prevents tooltips showing when focused and navigating back to a page after leaving
|
|
133
|
+
const cleanupPageViewChange = pageViewChange((inView) =>
|
|
134
|
+
setTimeout(() => (isPageInView.current = inView))
|
|
135
|
+
)
|
|
138
136
|
emitter.on('CLOSE_OPEN_TOOLTIPS', close)
|
|
139
137
|
return () => {
|
|
140
138
|
emitter.off('CLOSE_OPEN_TOOLTIPS', close)
|
|
@@ -178,7 +176,7 @@ function Tooltip(props: Props, ref) {
|
|
|
178
176
|
}
|
|
179
177
|
}, [triggerOnHover])
|
|
180
178
|
|
|
181
|
-
const createOpenTimeout =
|
|
179
|
+
const createOpenTimeout = () => {
|
|
182
180
|
clearGlobalTimeout()
|
|
183
181
|
if (openTimeoutId.current === null) {
|
|
184
182
|
clearTimeout(closeTimeoutId.current)
|
|
@@ -191,31 +189,31 @@ function Tooltip(props: Props, ref) {
|
|
|
191
189
|
)
|
|
192
190
|
}
|
|
193
191
|
}
|
|
194
|
-
}
|
|
192
|
+
}
|
|
195
193
|
|
|
196
|
-
const createCloseTimeout =
|
|
194
|
+
const createCloseTimeout = () => {
|
|
197
195
|
startGlobalTimeout()
|
|
198
196
|
if (closeTimeoutId.current === null) {
|
|
199
197
|
clearTimeout(openTimeoutId.current)
|
|
200
198
|
openTimeoutId.current = null
|
|
201
199
|
closeTimeoutId.current = setTimeout(() => close(), closeDelay)
|
|
202
200
|
}
|
|
203
|
-
}
|
|
201
|
+
}
|
|
204
202
|
|
|
205
|
-
const handleFocus =
|
|
206
|
-
if (isPageInView && !isMouseDown) {
|
|
203
|
+
const handleFocus = () => {
|
|
204
|
+
if (isPageInView.current && !isMouseDown.current) {
|
|
207
205
|
open()
|
|
208
206
|
}
|
|
209
|
-
}
|
|
207
|
+
}
|
|
210
208
|
|
|
211
|
-
const handleMouseDown =
|
|
212
|
-
isMouseDown = true
|
|
209
|
+
const handleMouseDown = () => {
|
|
210
|
+
isMouseDown.current = true
|
|
213
211
|
close()
|
|
214
|
-
}
|
|
212
|
+
}
|
|
215
213
|
|
|
216
|
-
const handleMouseUp =
|
|
217
|
-
isMouseDown = false
|
|
218
|
-
}
|
|
214
|
+
const handleMouseUp = () => {
|
|
215
|
+
isMouseDown.current = false
|
|
216
|
+
}
|
|
219
217
|
|
|
220
218
|
const child = Children.only(children)
|
|
221
219
|
const {
|
package/src/index.d.ts
CHANGED
|
@@ -350,7 +350,7 @@ export const Checkbox: HTMLInputWrapperComponent
|
|
|
350
350
|
// Input
|
|
351
351
|
// =====
|
|
352
352
|
|
|
353
|
-
export const Input:
|
|
353
|
+
export const Input: HTMLInputWrapperComponent & {
|
|
354
354
|
Inline: HTMLInputWrapperComponent
|
|
355
355
|
Input: HTMLInputWrapperComponent
|
|
356
356
|
InputBox: CommonComponent
|
package/src/system/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useContext, useCallback } from 'react'
|
|
2
2
|
import { ThemeContext } from '@emotion/react'
|
|
3
3
|
import { darken, getLuminance, lighten, parseToRgb } from 'polished'
|
|
4
|
-
import
|
|
4
|
+
import get from 'lodash/get'
|
|
5
5
|
|
|
6
6
|
import { getColor } from './colors'
|
|
7
7
|
import defaultTheme from './default-theme'
|