@hzblj/kara-components 0.12.0 → 0.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.
- package/CHANGELOG.md +19 -0
- package/README.md +2 -1
- package/lib/module/atoms/icon/icon.android.js +1 -1
- package/lib/module/atoms/icon/icon.android.js.map +1 -1
- package/lib/module/atoms/icon/icon.ios.js +1 -1
- package/lib/module/atoms/icon/icon.ios.js.map +1 -1
- package/lib/module/atoms/pressable/pressable.js +1 -1
- package/lib/module/atoms/pressable/pressable.js.map +1 -1
- package/lib/module/atoms/rn-icon/index.js +1 -1
- package/lib/module/atoms/rn-icon/index.js.map +1 -1
- package/lib/module/atoms/rn-icon/rn-icon.js +26 -0
- package/lib/module/atoms/rn-icon/rn-icon.js.map +1 -0
- package/lib/module/atoms/segmented-control/segmented-control.android.js +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.android.js.map +1 -1
- package/lib/module/atoms/slider/slider.android.js +1 -1
- package/lib/module/atoms/slider/slider.android.js.map +1 -1
- package/lib/module/atoms/switch/switch.android.js +1 -1
- package/lib/module/atoms/switch/switch.android.js.map +1 -1
- package/lib/module/glyph/rn-glyph.android.js +8 -3
- package/lib/module/glyph/rn-glyph.android.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.android.js +1 -1
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.ios.js +1 -1
- package/lib/module/organisms/context-menu/context-menu.ios.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.ios.js.map +1 -1
- package/lib/typescript/atoms/icon/icon.types.d.ts +6 -15
- package/lib/typescript/atoms/pressable/pressable.types.d.ts +1 -1
- package/lib/typescript/atoms/rn-icon/rn-icon.d.ts +6 -1
- package/lib/typescript/index.d.ts +0 -1
- package/package.json +6 -4
- package/src/atoms/icon/icon.android.tsx +1 -1
- package/src/atoms/icon/icon.ios.tsx +1 -1
- package/src/atoms/icon/icon.types.ts +6 -15
- package/src/atoms/pressable/pressable.tsx +1 -1
- package/src/atoms/pressable/pressable.types.ts +1 -2
- package/src/atoms/rn-icon/rn-icon.tsx +28 -0
- package/src/atoms/segmented-control/segmented-control.android.tsx +1 -1
- package/src/atoms/slider/slider.android.tsx +1 -1
- package/src/atoms/switch/switch.android.tsx +1 -1
- package/src/glyph/rn-glyph.android.tsx +14 -3
- package/src/index.ts +0 -1
- package/src/molecules/navigation-bar/navigation-bar.android.tsx +1 -1
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +1 -1
- package/src/organisms/context-menu/context-menu.android.tsx +1 -1
- package/src/organisms/context-menu/context-menu.ios.tsx +1 -1
- package/src/organisms/fab-menu/fab-menu.ios.tsx +1 -1
- package/src/organisms/swipe-actions/swipe-actions.ios.tsx +1 -1
- package/lib/module/atoms/rn-icon/rn-icon.android.js +0 -29
- package/lib/module/atoms/rn-icon/rn-icon.android.js.map +0 -1
- package/lib/module/atoms/rn-icon/rn-icon.ios.js +0 -29
- package/lib/module/atoms/rn-icon/rn-icon.ios.js.map +0 -1
- package/lib/module/haptics/haptics.js +0 -56
- package/lib/module/haptics/haptics.js.map +0 -1
- package/lib/module/haptics/index.js +0 -5
- package/lib/module/haptics/index.js.map +0 -1
- package/lib/module/haptics/use-haptic-feedback.js +0 -33
- package/lib/module/haptics/use-haptic-feedback.js.map +0 -1
- package/lib/typescript/atoms/rn-icon/rn-icon.ios.d.ts +0 -3
- package/lib/typescript/haptics/haptics.d.ts +0 -61
- package/lib/typescript/haptics/index.d.ts +0 -2
- package/lib/typescript/haptics/use-haptic-feedback.d.ts +0 -15
- package/src/atoms/rn-icon/rn-icon.android.tsx +0 -28
- package/src/atoms/rn-icon/rn-icon.ios.tsx +0 -28
- package/src/haptics/haptics.ts +0 -68
- package/src/haptics/index.ts +0 -2
- package/src/haptics/use-haptic-feedback.ts +0 -36
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {useEffect, useRef} from 'react'
|
|
2
|
-
|
|
3
|
-
import {type Haptic, haptics} from './haptics'
|
|
4
|
-
|
|
5
|
-
/** Picks the haptic for one change of a trigger — or none, to stay silent for that change. */
|
|
6
|
-
export type HapticResolver<T> = (previous: T, next: T) => Haptic | false | null | undefined
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Plays a haptic whenever `trigger` changes — never on mount — like SwiftUI's `sensoryFeedback(_:trigger:)`. Give it
|
|
10
|
-
* a haptic, or a function of the previous and next value that picks one per change. Changes are compared with
|
|
11
|
-
* `Object.is`, so a trigger is a primitive or a stable reference.
|
|
12
|
-
*
|
|
13
|
-
* ```ts
|
|
14
|
-
* useHapticFeedback(tab, 'selection')
|
|
15
|
-
* useHapticFeedback(quantity, (before, after) => (after > before ? 'tick' : 'soft'))
|
|
16
|
-
* useHapticFeedback(payment.status, (_, status) => status === 'paid' ? 'success' : status === 'failed' && 'error')
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export const useHapticFeedback = <T>(trigger: T, feedback: Haptic | HapticResolver<T>): void => {
|
|
20
|
-
const previous = useRef(trigger)
|
|
21
|
-
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
const before = previous.current
|
|
24
|
-
|
|
25
|
-
if (Object.is(before, trigger)) {
|
|
26
|
-
return
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
previous.current = trigger
|
|
30
|
-
const haptic = typeof feedback === 'function' ? feedback(before, trigger) : feedback
|
|
31
|
-
|
|
32
|
-
if (haptic) {
|
|
33
|
-
haptics.play(haptic)
|
|
34
|
-
}
|
|
35
|
-
}, [feedback, trigger])
|
|
36
|
-
}
|