@codeleap/mobile 5.4.5 → 5.5.1
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/components/CalendarInput/index.js +9 -23
- package/dist/components/CalendarInput/index.js.map +1 -1
- package/dist/components/FileInput/index.js +3 -20
- package/dist/components/FileInput/index.js.map +1 -1
- package/dist/components/FileInput/types.d.ts +0 -3
- package/dist/components/Grid/index.js +1 -1
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/InputBase/index.d.ts +6 -2
- package/dist/components/InputBase/index.js +14 -26
- package/dist/components/InputBase/index.js.map +1 -1
- package/dist/components/InputBase/types.d.ts +2 -2
- package/dist/components/InputOverlay/index.d.ts +8 -0
- package/dist/components/InputOverlay/index.js +75 -0
- package/dist/components/InputOverlay/index.js.map +1 -0
- package/dist/components/InputOverlay/store.d.ts +10 -0
- package/dist/components/InputOverlay/store.js +47 -0
- package/dist/components/InputOverlay/store.js.map +1 -0
- package/dist/components/InputOverlay/types.d.ts +22 -0
- package/dist/components/InputOverlay/types.js +2 -0
- package/dist/components/InputOverlay/types.js.map +1 -0
- package/dist/components/Scroll/index.d.ts +10 -2
- package/dist/components/Scroll/index.js +6 -22
- package/dist/components/Scroll/index.js.map +1 -1
- package/dist/components/SegmentedControl/index.js +1 -2
- package/dist/components/SegmentedControl/index.js.map +1 -1
- package/dist/components/TextInput/index.d.ts +10 -2
- package/dist/components/TextInput/index.js +2 -3
- package/dist/components/TextInput/index.js.map +1 -1
- package/dist/components/TextInput/useTextInput.js +2 -0
- package/dist/components/TextInput/useTextInput.js.map +1 -1
- package/dist/components/TimeInput/index.js +9 -24
- package/dist/components/TimeInput/index.js.map +1 -1
- package/dist/components/components.d.ts +1 -0
- package/dist/components/components.js +1 -0
- package/dist/components/components.js.map +1 -1
- package/dist/modules/backgroundTimer.js +3 -4
- package/dist/modules/backgroundTimer.js.map +1 -1
- package/package.json +17 -17
- package/package.json.bak +1 -1
- package/src/components/CalendarInput/index.tsx +31 -42
- package/src/components/FileInput/index.tsx +2 -25
- package/src/components/FileInput/types.ts +0 -3
- package/src/components/Grid/index.tsx +2 -3
- package/src/components/Icon/index.tsx +2 -2
- package/src/components/InputBase/index.tsx +18 -36
- package/src/components/InputBase/types.ts +2 -2
- package/src/components/InputOverlay/index.tsx +113 -0
- package/src/components/InputOverlay/store.ts +60 -0
- package/src/components/InputOverlay/types.ts +25 -0
- package/src/components/Scroll/index.tsx +6 -39
- package/src/components/SegmentedControl/index.tsx +1 -2
- package/src/components/TextInput/index.tsx +2 -3
- package/src/components/TextInput/useTextInput.ts +2 -0
- package/src/components/TimeInput/index.tsx +28 -41
- package/src/components/components.ts +2 -1
- package/src/modules/backgroundTimer.ts +6 -7
- package/dist/components/InputBase/useInputOverlay.d.ts +0 -1
- package/dist/components/InputBase/useInputOverlay.js +0 -30
- package/dist/components/InputBase/useInputOverlay.js.map +0 -1
- package/src/components/InputBase/useInputOverlay.ts +0 -38
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { useBooleanToggle } from '@codeleap/hooks'
|
|
2
|
-
import { globalState } from '@codeleap/store'
|
|
3
|
-
import { useCallback } from 'react'
|
|
4
|
-
import { useId } from '@codeleap/hooks'
|
|
5
|
-
|
|
6
|
-
const inputOverlayStore = globalState({})
|
|
7
|
-
|
|
8
|
-
export const useInputOverlay = (autoClosePeersOverlays: boolean, providedId?: string) => {
|
|
9
|
-
if (!autoClosePeersOverlays) return useBooleanToggle(false)
|
|
10
|
-
|
|
11
|
-
const id = useId(providedId)
|
|
12
|
-
|
|
13
|
-
const isOpen = inputOverlayStore.use(state => state[id])
|
|
14
|
-
|
|
15
|
-
const toggle = useCallback(() => {
|
|
16
|
-
const isCurrentlyOpen = inputOverlayStore.value[id]
|
|
17
|
-
const isAnyOtherOpen = Object.entries(inputOverlayStore.value).some(
|
|
18
|
-
([key, isOpen]) => key !== id && isOpen
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
const newValues = Object.keys(inputOverlayStore.value).reduce((acc, key) => {
|
|
22
|
-
acc[key] = false
|
|
23
|
-
return acc
|
|
24
|
-
}, {} as Record<string, boolean>)
|
|
25
|
-
|
|
26
|
-
if (isAnyOtherOpen && !isCurrentlyOpen) {
|
|
27
|
-
inputOverlayStore.set(newValues)
|
|
28
|
-
|
|
29
|
-
setTimeout(() => {
|
|
30
|
-
inputOverlayStore.set({ [id]: true })
|
|
31
|
-
}, 100)
|
|
32
|
-
} else {
|
|
33
|
-
inputOverlayStore.set({ ...newValues, [id]: !isCurrentlyOpen })
|
|
34
|
-
}
|
|
35
|
-
}, [])
|
|
36
|
-
|
|
37
|
-
return [isOpen, toggle]
|
|
38
|
-
}
|