panelui-native 0.13.0 → 0.14.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/README.md +39 -23
- package/lib/module/components/button/index.js +12 -9
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/chip/index.js +313 -0
- package/lib/module/components/chip/index.js.map +1 -0
- package/lib/module/components/frame/index.js +41 -39
- package/lib/module/components/frame/index.js.map +1 -1
- package/lib/module/components/heatmap-chart/index.js +772 -0
- package/lib/module/components/heatmap-chart/index.js.map +1 -0
- package/lib/module/components/input/index.js +4 -0
- package/lib/module/components/input/index.js.map +1 -1
- package/lib/module/components/scroll-canvas/index.js +175 -0
- package/lib/module/components/scroll-canvas/index.js.map +1 -0
- package/lib/module/components/scroll-text/index.js +213 -0
- package/lib/module/components/scroll-text/index.js.map +1 -0
- package/lib/module/components/select/index.js +20 -24
- package/lib/module/components/select/index.js.map +1 -1
- package/lib/module/components/slider/index.js +2 -5
- package/lib/module/components/slider/index.js.map +1 -1
- package/lib/module/components/switch/index.js +15 -17
- package/lib/module/components/switch/index.js.map +1 -1
- package/lib/module/components/thinking-orb/index.js +741 -0
- package/lib/module/components/thinking-orb/index.js.map +1 -0
- package/lib/module/components/toggle-button/index.js +12 -3
- package/lib/module/components/toggle-button/index.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/use-keyboard-avoidance.js +99 -59
- package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
- package/lib/module/hooks/use-reveal-progress.js +75 -0
- package/lib/module/hooks/use-reveal-progress.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/index.js.map +1 -1
- package/lib/module/primitives/keyboard-avoider.js +21 -2
- package/lib/module/primitives/keyboard-avoider.js.map +1 -1
- package/lib/module/primitives/scroll-progress.js +114 -0
- package/lib/module/primitives/scroll-progress.js.map +1 -0
- package/lib/typescript/src/components/button/index.d.ts +3 -4
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chip/index.d.ts +304 -0
- package/lib/typescript/src/components/chip/index.d.ts.map +1 -0
- package/lib/typescript/src/components/frame/index.d.ts +15 -13
- package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
- package/lib/typescript/src/components/heatmap-chart/index.d.ts +260 -0
- package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -0
- package/lib/typescript/src/components/input/index.d.ts +19 -4
- package/lib/typescript/src/components/input/index.d.ts.map +1 -1
- package/lib/typescript/src/components/scroll-canvas/index.d.ts +66 -0
- package/lib/typescript/src/components/scroll-canvas/index.d.ts.map +1 -0
- package/lib/typescript/src/components/scroll-text/index.d.ts +46 -0
- package/lib/typescript/src/components/scroll-text/index.d.ts.map +1 -0
- package/lib/typescript/src/components/select/index.d.ts.map +1 -1
- package/lib/typescript/src/components/slider/index.d.ts.map +1 -1
- package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
- package/lib/typescript/src/components/thinking-orb/index.d.ts +28 -0
- package/lib/typescript/src/components/thinking-orb/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toggle-button/index.d.ts +12 -0
- package/lib/typescript/src/components/toggle-button/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +2 -1
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +16 -3
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-reveal-progress.d.ts +56 -0
- package/lib/typescript/src/hooks/use-reveal-progress.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/index.d.ts +15 -7
- package/lib/typescript/src/native/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/keyboard-avoider.d.ts +30 -3
- package/lib/typescript/src/primitives/keyboard-avoider.d.ts.map +1 -1
- package/lib/typescript/src/primitives/scroll-progress.d.ts +61 -0
- package/lib/typescript/src/primitives/scroll-progress.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/button/index.tsx +13 -11
- package/src/components/frame/index.tsx +39 -50
- package/src/components/heatmap-chart/index.tsx +1024 -0
- package/src/components/input/index.tsx +23 -4
- package/src/components/scroll-canvas/index.tsx +220 -0
- package/src/components/scroll-text/index.tsx +277 -0
- package/src/components/select/index.tsx +4 -9
- package/src/components/slider/index.tsx +4 -7
- package/src/components/switch/index.tsx +5 -8
- package/src/components/thinking-orb/index.tsx +792 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/use-keyboard-avoidance.ts +111 -65
- package/src/hooks/use-reveal-progress.ts +106 -0
- package/src/index.ts +38 -0
- package/src/native/index.ts +15 -7
- package/src/primitives/keyboard-avoider.tsx +41 -4
- package/src/primitives/scroll-progress.tsx +167 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","View","Animated","runOnUI","useAnimatedProps","useFrameCallback","useReducedMotion","useSharedValue","Svg","Path","useCSSVariable","cn","jsx","_jsx","AnimatedPath","createAnimatedComponent","BUCKETS","MIN_INK","MIN_RADIUS","STILL_FRAME","STATE_LABEL","working","searching","solving","listening","composing","shaping","PROFILES","md","speed","rows","density","radius","sm","hashD","a","b","h","Math","sin","floor","angleDelta","atan2","cos","q","value","round","radiusScale","size","dot","out","x","y","r","ink","bucket","min","max","rr","d","project","z","sy","cy","st","ct","ox","oy","scale","x1","z1","y1","drawWorking","t","p","c","R","rs","v","orbit","h1","h2","h3","ro","theta","PI","phi","acos","nx","ny","nz","ul","hypot","ux","uy","vx","vy","vz","k","ca","sa","depth","m","drawSearching","spin","tilt","cySpin","scan","li","lat","cosLat","sinLat","count","abs","lj","lon","delta","boost","exp","drawSolving","yaw","moves","slot","rest","cycle","tc","amount","active","i","push","index","local","eased","undo","inActive","axis","lo","coord","dir","y2","x2","drawListening","ri","w","crest","drawComposing","shell","golden","sqrt","rad","ta","uz","lanes","half","laneOffset","edge","wobble","off","l","SHAPES","shapePoint","f","verts","length","n","total","j","target","ax","ay","bx","by","len","ff","drawShaping","hold","morph","seg","shapes","raw","spread","samples","px","py","lengths","pulse","walked","renderFrame","state","BUCKET_INDICES","Array","from","_unused","Bucket","paths","animatedProps","fill","fillOpacity","ThinkingOrb","className","paused","color","accessibilityLabel","style","props","reducedMotion","foreground","profile","clock","still","frame","info","timeSincePreviousFrame","setActive","accessibilityRole","width","height","children","viewBox","map","displayName"],"sourceRoot":"../../../../src","sources":["components/thinking-orb/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,6 +35,7 @@ import { IconColorProvider } from "../../icons/index.js";
|
|
|
35
35
|
import { AnimatedPressable } from "../../primitives/animated-pressable.js";
|
|
36
36
|
import { Text } from "../../primitives/text.js";
|
|
37
37
|
import { cn } from "../../utils/cn.js";
|
|
38
|
+
import { selectionTick } from "../../utils/haptics.js";
|
|
38
39
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
39
40
|
const toggleVariants = tv({
|
|
40
41
|
slots: {
|
|
@@ -127,6 +128,7 @@ const ToggleButtonGroup = /*#__PURE__*/forwardRef(({
|
|
|
127
128
|
disabled = false,
|
|
128
129
|
variant,
|
|
129
130
|
size,
|
|
131
|
+
haptics,
|
|
130
132
|
children,
|
|
131
133
|
...props
|
|
132
134
|
}, ref) => {
|
|
@@ -147,8 +149,9 @@ const ToggleButtonGroup = /*#__PURE__*/forwardRef(({
|
|
|
147
149
|
toggle,
|
|
148
150
|
disabled,
|
|
149
151
|
variant,
|
|
150
|
-
size
|
|
151
|
-
|
|
152
|
+
size,
|
|
153
|
+
haptics
|
|
154
|
+
}), [selection, toggle, disabled, variant, size, haptics]);
|
|
152
155
|
return /*#__PURE__*/_jsx(ToggleGroupContext.Provider, {
|
|
153
156
|
value: context,
|
|
154
157
|
children: /*#__PURE__*/_jsx(View, {
|
|
@@ -194,6 +197,7 @@ const ToggleButtonRoot = /*#__PURE__*/forwardRef(({
|
|
|
194
197
|
disabled,
|
|
195
198
|
variant,
|
|
196
199
|
size,
|
|
200
|
+
haptics,
|
|
197
201
|
iconOnly = false,
|
|
198
202
|
selectedClassName,
|
|
199
203
|
unselectedClassName,
|
|
@@ -211,6 +215,7 @@ const ToggleButtonRoot = /*#__PURE__*/forwardRef(({
|
|
|
211
215
|
*/
|
|
212
216
|
const selected = group && id ? group.isSelected(id) : selectedProp ?? internal;
|
|
213
217
|
const isDisabled = disabled || (group?.disabled ?? false);
|
|
218
|
+
const enableHaptics = haptics ?? group?.haptics ?? false;
|
|
214
219
|
const slots = toggleVariants({
|
|
215
220
|
variant: variant ?? group?.variant,
|
|
216
221
|
size: size ?? group?.size,
|
|
@@ -226,6 +231,10 @@ const ToggleButtonRoot = /*#__PURE__*/forwardRef(({
|
|
|
226
231
|
const tint = selected ? onColor : offColor;
|
|
227
232
|
const handlePress = useCallback(event => {
|
|
228
233
|
onPress?.(event);
|
|
234
|
+
// A tick per tap, not per resolved-state change — a single-select
|
|
235
|
+
// group flips two buttons on every pick, and one buzz is the honest
|
|
236
|
+
// count of "the user pressed something".
|
|
237
|
+
if (enableHaptics) selectionTick();
|
|
229
238
|
if (group && id) {
|
|
230
239
|
group.toggle(id);
|
|
231
240
|
return;
|
|
@@ -233,7 +242,7 @@ const ToggleButtonRoot = /*#__PURE__*/forwardRef(({
|
|
|
233
242
|
const next = !selected;
|
|
234
243
|
if (selectedProp === undefined) setInternal(next);
|
|
235
244
|
onSelectedChange?.(next);
|
|
236
|
-
}, [onPress, group, id, selected, selectedProp, onSelectedChange]);
|
|
245
|
+
}, [onPress, enableHaptics, group, id, selected, selectedProp, onSelectedChange]);
|
|
237
246
|
const state = useMemo(() => ({
|
|
238
247
|
selected,
|
|
239
248
|
disabled: isDisabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","forwardRef","useCallback","useContext","useMemo","useState","View","tv","useCSSVariable","IconColorProvider","AnimatedPressable","Text","cn","jsx","_jsx","toggleVariants","slots","root","label","variants","variant","default","ghost","size","sm","md","lg","selected","true","false","iconOnly","disabled","compoundVariants","class","defaultVariants","ToggleGroupContext","ToggleButtonGroup","className","selectionMode","value","defaultValue","onValueChange","children","props","ref","isControlled","undefined","internal","setInternal","selection","toggle","id","has","includes","next","filter","item","context","isSelected","Provider","accessibilityRole","displayName","ToggleStateContext","useToggleButton","state","Error","ToggleButtonRoot","labelClassName","selectedProp","defaultSelected","onSelectedChange","selectedClassName","unselectedClassName","onPress","group","isDisabled","onColor","offColor","tint","handlePress","event","color","accessibilityState","checked","ToggleButtonLabel","ToggleButton","Object","assign","Label"],"sourceRoot":"../../../../src","sources":["components/toggle-button/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,QAEH,OAAO;AACd,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,iBAAiB,QAAQ,sBAAa;AAC/C,SACEC,iBAAiB,QAEZ,wCAAqC;AAC5C,SAASC,IAAI,QAAQ,0BAAuB;AAC5C,SAASC,EAAE,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useCallback","useContext","useMemo","useState","View","tv","useCSSVariable","IconColorProvider","AnimatedPressable","Text","cn","selectionTick","jsx","_jsx","toggleVariants","slots","root","label","variants","variant","default","ghost","size","sm","md","lg","selected","true","false","iconOnly","disabled","compoundVariants","class","defaultVariants","ToggleGroupContext","ToggleButtonGroup","className","selectionMode","value","defaultValue","onValueChange","haptics","children","props","ref","isControlled","undefined","internal","setInternal","selection","toggle","id","has","includes","next","filter","item","context","isSelected","Provider","accessibilityRole","displayName","ToggleStateContext","useToggleButton","state","Error","ToggleButtonRoot","labelClassName","selectedProp","defaultSelected","onSelectedChange","selectedClassName","unselectedClassName","onPress","group","isDisabled","enableHaptics","onColor","offColor","tint","handlePress","event","color","accessibilityState","checked","ToggleButtonLabel","ToggleButton","Object","assign","Label"],"sourceRoot":"../../../../src","sources":["components/toggle-button/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ export { useDisclosure } from "./use-disclosure.js";
|
|
|
5
5
|
export { useBreakpoint, BREAKPOINTS } from "./use-breakpoint.js";
|
|
6
6
|
export { useKeyboard } from "./use-keyboard.js";
|
|
7
7
|
export { useKeyboardAvoidance } from "./use-keyboard-avoidance.js";
|
|
8
|
+
export { useRevealProgress } from "./use-reveal-progress.js";
|
|
8
9
|
export { useScrollSections } from "./use-scroll-sections.js";
|
|
9
10
|
export { useDebouncedValue } from "./use-debounced-value.js";
|
|
10
11
|
export { usePrevious } from "./use-previous.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCopyToClipboard","useDisclosure","useBreakpoint","BREAKPOINTS","useKeyboard","useKeyboardAvoidance","useScrollSections","useDebouncedValue","usePrevious"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SACEA,kBAAkB,QAGb,4BAAyB;AAChC,SACEC,aAAa,QAGR,qBAAkB;AACzB,SACEC,aAAa,EACbC,WAAW,QAGN,qBAAkB;AACzB,SAASC,WAAW,QAAgC,mBAAgB;AACpE,SACEC,oBAAoB,
|
|
1
|
+
{"version":3,"names":["useCopyToClipboard","useDisclosure","useBreakpoint","BREAKPOINTS","useKeyboard","useKeyboardAvoidance","useRevealProgress","useScrollSections","useDebouncedValue","usePrevious"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SACEA,kBAAkB,QAGb,4BAAyB;AAChC,SACEC,aAAa,QAGR,qBAAkB;AACzB,SACEC,aAAa,EACbC,WAAW,QAGN,qBAAkB;AACzB,SAASC,WAAW,QAAgC,mBAAgB;AACpE,SACEC,oBAAoB,QAIf,6BAA0B;AACjC,SACEC,iBAAiB,QAGZ,0BAAuB;AAC9B,SACEC,iBAAiB,QAGZ,0BAAuB;AAC9B,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,WAAW,QAAQ,mBAAgB","ignoreList":[]}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* useKeyboardAvoidance —
|
|
4
|
+
* useKeyboardAvoidance — keep an element clear of the software keyboard.
|
|
5
5
|
*
|
|
6
6
|
* `KeyboardAvoidingView` shifts or pads an entire subtree by the full keyboard
|
|
7
7
|
* height regardless of where the element actually sits, which over-scrolls
|
|
8
8
|
* short forms and does nothing useful for an element already above the fold.
|
|
9
|
-
* This
|
|
10
|
-
*
|
|
9
|
+
* This works from the element's own position instead.
|
|
10
|
+
*
|
|
11
|
+
* Two modes, because "get out of the keyboard's way" and "ride the keyboard"
|
|
12
|
+
* are different jobs:
|
|
13
|
+
*
|
|
14
|
+
* - **`lift`** (default) — for a field sitting in the page's flow. The element
|
|
15
|
+
* is measured every frame while the keyboard is up and moved by exactly the
|
|
16
|
+
* current overlap, so it follows the scroll: scroll it clear and the lift
|
|
17
|
+
* decays to nothing, scroll it back under and the lift returns. Measuring
|
|
18
|
+
* once and holding the result is what leaves a field hanging out of its own
|
|
19
|
+
* slot the moment the page moves underneath it.
|
|
20
|
+
* - **`dock`** — for an absolutely-positioned composer, toolbar or search bar
|
|
21
|
+
* pinned near the bottom edge. There is nothing to measure: the element
|
|
22
|
+
* simply travels with the keyboard, less whatever bottom inset it is already
|
|
23
|
+
* sitting above.
|
|
11
24
|
*
|
|
12
25
|
* ## Install the keyboard controller
|
|
13
26
|
*
|
|
@@ -33,9 +46,19 @@
|
|
|
33
46
|
* </Animated.View>
|
|
34
47
|
* ```
|
|
35
48
|
*/
|
|
36
|
-
import { useCallback, useEffect } from 'react';
|
|
49
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
37
50
|
import { useWindowDimensions } from 'react-native';
|
|
38
|
-
import { measure, useAnimatedKeyboard, useAnimatedReaction, useAnimatedRef, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
|
|
51
|
+
import { measure, runOnJS, useAnimatedKeyboard, useAnimatedReaction, useAnimatedRef, useAnimatedStyle, useFrameCallback, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
52
|
+
|
|
53
|
+
/** How long a lifted element takes to settle back after it stops being active. */
|
|
54
|
+
const SETTLE_DURATION = 200;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Movement below this is dropped. The element's measured position already
|
|
58
|
+
* includes the translation applied on the previous frame, so the loop reads
|
|
59
|
+
* its own output — a dead band keeps sub-pixel rounding from making it hum.
|
|
60
|
+
*/
|
|
61
|
+
const EPSILON = 0.5;
|
|
39
62
|
/**
|
|
40
63
|
* Resolved once, at module load, so the hook below always calls the same
|
|
41
64
|
* underlying hook — swapping between them per render would break the rules of
|
|
@@ -74,7 +97,9 @@ export function hasKeyboardController() {
|
|
|
74
97
|
export function useKeyboardAvoidance({
|
|
75
98
|
enabled = true,
|
|
76
99
|
active = true,
|
|
77
|
-
|
|
100
|
+
mode = 'lift',
|
|
101
|
+
offset = 16,
|
|
102
|
+
bottomInset = 0
|
|
78
103
|
} = {}) {
|
|
79
104
|
const ref = useAnimatedRef();
|
|
80
105
|
const rawHeight = useKeyboardHeight();
|
|
@@ -82,81 +107,96 @@ export function useKeyboardAvoidance({
|
|
|
82
107
|
height: screenHeight
|
|
83
108
|
} = useWindowDimensions();
|
|
84
109
|
|
|
85
|
-
/**
|
|
86
|
-
const
|
|
110
|
+
/** The translation currently applied, in pixels. Zero or negative. */
|
|
111
|
+
const translation = useSharedValue(0);
|
|
87
112
|
|
|
88
|
-
// `active` is a plain prop and the
|
|
89
|
-
// mirrored
|
|
90
|
-
//
|
|
113
|
+
// `active` is a plain prop and the worklets below cannot read props, so it is
|
|
114
|
+
// mirrored — written in an effect, because touching a shared value during
|
|
115
|
+
// render is a Reanimated strict-mode violation.
|
|
91
116
|
const isActive = useSharedValue(active && enabled);
|
|
92
117
|
useEffect(() => {
|
|
93
118
|
isActive.value = active && enabled;
|
|
94
119
|
}, [active, enabled, isActive]);
|
|
95
120
|
|
|
96
121
|
/*
|
|
97
|
-
* The
|
|
98
|
-
*
|
|
122
|
+
* The whole of `lift` is this callback, and it runs only while the element is
|
|
123
|
+
* the active one *and* the keyboard is up — see the reaction below.
|
|
99
124
|
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* has scrolled since it was laid out is measured where it used to be.
|
|
125
|
+
* The element is re-measured every frame rather than once, because every
|
|
126
|
+
* interesting thing that moves it happens after the keyboard opens: the page
|
|
127
|
+
* scrolls, a sheet settles, content above it grows. A position captured at
|
|
128
|
+
* the moment of focus is right for exactly one frame, and the element spends
|
|
129
|
+
* the rest of the time holding an offset that belongs to where it used to be.
|
|
106
130
|
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* and a hook watching only the keyboard would never measure it.
|
|
111
|
-
*
|
|
112
|
-
* At the instant it becomes active the element has no translation applied,
|
|
113
|
-
* so what is measured then is the honest resting position.
|
|
131
|
+
* What is measured already includes the translation applied on the previous
|
|
132
|
+
* frame, so that is subtracted back out to recover the honest resting edge.
|
|
133
|
+
* Without it the callback would chase its own output down the screen.
|
|
114
134
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
restingBottom.value = 0;
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
135
|
+
const track = useFrameCallback(() => {
|
|
136
|
+
'worklet';
|
|
137
|
+
|
|
138
|
+
const keyboardHeight = Math.abs(rawHeight.value);
|
|
139
|
+
if (keyboardHeight === 0) return;
|
|
123
140
|
const frame = measure(ref);
|
|
124
|
-
if (frame
|
|
125
|
-
|
|
141
|
+
if (!frame || frame.height <= 0) return;
|
|
142
|
+
const restingBottom = frame.pageY + frame.height - translation.value;
|
|
143
|
+
const keyboardTop = screenHeight - keyboardHeight;
|
|
144
|
+
const overlap = restingBottom + offset - keyboardTop;
|
|
145
|
+
const next = overlap > 0 ? -overlap : 0;
|
|
146
|
+
if (Math.abs(next - translation.value) > EPSILON) translation.value = next;
|
|
147
|
+
}, false);
|
|
148
|
+
|
|
149
|
+
/*
|
|
150
|
+
* Tracking is switched on the transition rather than left running, so a
|
|
151
|
+
* screen full of fields costs nothing until one of them is being typed into.
|
|
152
|
+
* `setActive` lives on the JS side, hence the hop.
|
|
153
|
+
*/
|
|
154
|
+
const [tracking, setTracking] = useState(false);
|
|
155
|
+
useAnimatedReaction(() => isActive.value && Math.abs(rawHeight.value) > 0, (shouldTrack, wasTracking) => {
|
|
156
|
+
if (shouldTrack === wasTracking) return;
|
|
157
|
+
runOnJS(setTracking)(shouldTrack);
|
|
158
|
+
|
|
159
|
+
// Moving straight from one field to another never closes the keyboard,
|
|
160
|
+
// so the field being left has nothing to follow back down — it is sent
|
|
161
|
+
// home explicitly, or it stays hanging where the keyboard left it.
|
|
162
|
+
if (!shouldTrack && translation.value !== 0) {
|
|
163
|
+
translation.value = withTiming(0, {
|
|
164
|
+
duration: SETTLE_DURATION
|
|
165
|
+
});
|
|
126
166
|
}
|
|
127
167
|
});
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (height > 0 && y >= 0) restingBottom.value = y + height;
|
|
136
|
-
});
|
|
137
|
-
}, [ref, rawHeight, restingBottom]);
|
|
168
|
+
const {
|
|
169
|
+
setActive
|
|
170
|
+
} = track;
|
|
171
|
+
useEffect(() => {
|
|
172
|
+
setActive(tracking && mode === 'lift');
|
|
173
|
+
return () => setActive(false);
|
|
174
|
+
}, [tracking, mode, setActive]);
|
|
138
175
|
const onLayout = useCallback(_event => {
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}, [seed]);
|
|
176
|
+
// A layout pass while the element is at rest means its slot moved for
|
|
177
|
+
// some reason other than the keyboard. Anything left over from the last
|
|
178
|
+
// lift belongs to the old slot.
|
|
179
|
+
if (!tracking && translation.value !== 0) translation.value = 0;
|
|
180
|
+
}, [tracking, translation]);
|
|
145
181
|
const animatedStyle = useAnimatedStyle(() => {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (!isActive.value || keyboardHeight === 0 || restingBottom.value === 0) {
|
|
149
|
-
return {
|
|
182
|
+
if (mode === 'dock') {
|
|
183
|
+
if (!isActive.value) return {
|
|
150
184
|
transform: [{
|
|
151
185
|
translateY: 0
|
|
152
186
|
}]
|
|
153
187
|
};
|
|
188
|
+
// Both sources are normalised to a positive height here.
|
|
189
|
+
const keyboardHeight = Math.abs(rawHeight.value);
|
|
190
|
+
const travel = Math.max(keyboardHeight - bottomInset, 0);
|
|
191
|
+
return {
|
|
192
|
+
transform: [{
|
|
193
|
+
translateY: -travel
|
|
194
|
+
}]
|
|
195
|
+
};
|
|
154
196
|
}
|
|
155
|
-
const keyboardTop = screenHeight - keyboardHeight;
|
|
156
|
-
const overlap = restingBottom.value + offset - keyboardTop;
|
|
157
197
|
return {
|
|
158
198
|
transform: [{
|
|
159
|
-
translateY:
|
|
199
|
+
translateY: translation.value
|
|
160
200
|
}]
|
|
161
201
|
};
|
|
162
202
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useWindowDimensions","measure","useAnimatedKeyboard","useAnimatedReaction","useAnimatedRef","useAnimatedStyle","useSharedValue","useKeyboardHeight","controller","require","useReanimatedKeyboardAnimation","height","hasKeyboardController","useKeyboardAvoidance","enabled","active","offset","ref","rawHeight","screenHeight","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useWindowDimensions","measure","runOnJS","useAnimatedKeyboard","useAnimatedReaction","useAnimatedRef","useAnimatedStyle","useFrameCallback","useSharedValue","withTiming","SETTLE_DURATION","EPSILON","useKeyboardHeight","controller","require","useReanimatedKeyboardAnimation","height","hasKeyboardController","useKeyboardAvoidance","enabled","active","mode","offset","bottomInset","ref","rawHeight","screenHeight","translation","isActive","value","track","keyboardHeight","Math","abs","frame","restingBottom","pageY","keyboardTop","overlap","next","tracking","setTracking","shouldTrack","wasTracking","duration","setActive","onLayout","_event","animatedStyle","transform","translateY","travel","max"],"sourceRoot":"../../../src","sources":["hooks/use-keyboard-avoidance.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,mBAAmB,QAA2C,cAAc;AACrF,SACEC,OAAO,EACPC,OAAO,EACPC,mBAAmB,EACnBC,mBAAmB,EACnBC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QAGL,yBAAyB;;AAEhC;AACA,MAAMC,eAAe,GAAG,GAAG;;AAE3B;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAO,GAAG,GAAG;AA2CnB;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAqC,GAAG,CAAC,MAAM;EACnD,IAAI;IACF;IACA,MAAMC,UAAU,GAAGC,OAAO,CAAC,kCAAkC,CAAC;IAC9D,IAAI,OAAOD,UAAU,EAAEE,8BAA8B,KAAK,UAAU,EAAE;MACpE,OAAO,MAAM;QACX;QACA;QACA;QACA,MAAM;UAAEC;QAAO,CAAC,GAAGH,UAAU,CAACE,8BAA8B,CAAC,CAAC;QAC9D,OAAOC,MAAM;MACf,CAAC;IACH;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,OAAO,MAAMb,mBAAmB,CAAC,CAAC,CAACa,MAAM;AAC3C,CAAC,EAAE,CAAC;;AAEJ;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAY;EAC/C,IAAI;IACF;IACA,OAAO,OAAOH,OAAO,CAAC,kCAAkC,CAAC,EACrDC,8BAA8B,KAAK,UAAU;EACnD,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF;AAEA,OAAO,SAASG,oBAAoBA,CAAC;EACnCC,OAAO,GAAG,IAAI;EACdC,MAAM,GAAG,IAAI;EACbC,IAAI,GAAG,MAAM;EACbC,MAAM,GAAG,EAAE;EACXC,WAAW,GAAG;AACa,CAAC,GAAG,CAAC,CAAC,EAA8B;EAC/D,MAAMC,GAAG,GAAGnB,cAAc,CAAO,CAAC;EAClC,MAAMoB,SAAS,GAAGb,iBAAiB,CAAC,CAAC;EACrC,MAAM;IAAEI,MAAM,EAAEU;EAAa,CAAC,GAAG1B,mBAAmB,CAAC,CAAC;;EAEtD;EACA,MAAM2B,WAAW,GAAGnB,cAAc,CAAC,CAAC,CAAC;;EAErC;EACA;EACA;EACA,MAAMoB,QAAQ,GAAGpB,cAAc,CAACY,MAAM,IAAID,OAAO,CAAC;EAClDrB,SAAS,CAAC,MAAM;IACd8B,QAAQ,CAACC,KAAK,GAAGT,MAAM,IAAID,OAAO;EACpC,CAAC,EAAE,CAACC,MAAM,EAAED,OAAO,EAAES,QAAQ,CAAC,CAAC;;EAE/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAME,KAAK,GAAGvB,gBAAgB,CAAC,MAAM;IACnC,SAAS;;IACT,MAAMwB,cAAc,GAAGC,IAAI,CAACC,GAAG,CAACR,SAAS,CAACI,KAAK,CAAC;IAChD,IAAIE,cAAc,KAAK,CAAC,EAAE;IAE1B,MAAMG,KAAK,GAAGjC,OAAO,CAACuB,GAAG,CAAC;IAC1B,IAAI,CAACU,KAAK,IAAIA,KAAK,CAAClB,MAAM,IAAI,CAAC,EAAE;IAEjC,MAAMmB,aAAa,GAAGD,KAAK,CAACE,KAAK,GAAGF,KAAK,CAAClB,MAAM,GAAGW,WAAW,CAACE,KAAK;IACpE,MAAMQ,WAAW,GAAGX,YAAY,GAAGK,cAAc;IACjD,MAAMO,OAAO,GAAGH,aAAa,GAAGb,MAAM,GAAGe,WAAW;IACpD,MAAME,IAAI,GAAGD,OAAO,GAAG,CAAC,GAAG,CAACA,OAAO,GAAG,CAAC;IAEvC,IAAIN,IAAI,CAACC,GAAG,CAACM,IAAI,GAAGZ,WAAW,CAACE,KAAK,CAAC,GAAGlB,OAAO,EAAEgB,WAAW,CAACE,KAAK,GAAGU,IAAI;EAC5E,CAAC,EAAE,KAAK,CAAC;;EAET;AACF;AACA;AACA;AACA;EACE,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG1C,QAAQ,CAAC,KAAK,CAAC;EAC/CK,mBAAmB,CACjB,MAAMwB,QAAQ,CAACC,KAAK,IAAIG,IAAI,CAACC,GAAG,CAACR,SAAS,CAACI,KAAK,CAAC,GAAG,CAAC,EACrD,CAACa,WAAW,EAAEC,WAAW,KAAK;IAC5B,IAAID,WAAW,KAAKC,WAAW,EAAE;IACjCzC,OAAO,CAACuC,WAAW,CAAC,CAACC,WAAW,CAAC;;IAEjC;IACA;IACA;IACA,IAAI,CAACA,WAAW,IAAIf,WAAW,CAACE,KAAK,KAAK,CAAC,EAAE;MAC3CF,WAAW,CAACE,KAAK,GAAGpB,UAAU,CAAC,CAAC,EAAE;QAAEmC,QAAQ,EAAElC;MAAgB,CAAC,CAAC;IAClE;EACF,CACF,CAAC;EAED,MAAM;IAAEmC;EAAU,CAAC,GAAGf,KAAK;EAC3BhC,SAAS,CAAC,MAAM;IACd+C,SAAS,CAACL,QAAQ,IAAInB,IAAI,KAAK,MAAM,CAAC;IACtC,OAAO,MAAMwB,SAAS,CAAC,KAAK,CAAC;EAC/B,CAAC,EAAE,CAACL,QAAQ,EAAEnB,IAAI,EAAEwB,SAAS,CAAC,CAAC;EAE/B,MAAMC,QAAQ,GAAGjD,WAAW,CACzBkD,MAAyB,IAAK;IAC7B;IACA;IACA;IACA,IAAI,CAACP,QAAQ,IAAIb,WAAW,CAACE,KAAK,KAAK,CAAC,EAAEF,WAAW,CAACE,KAAK,GAAG,CAAC;EACjE,CAAC,EACD,CAACW,QAAQ,EAAEb,WAAW,CACxB,CAAC;EAED,MAAMqB,aAAa,GAAG1C,gBAAgB,CAAC,MAAM;IAC3C,IAAIe,IAAI,KAAK,MAAM,EAAE;MACnB,IAAI,CAACO,QAAQ,CAACC,KAAK,EAAE,OAAO;QAAEoB,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE,CAAC;MAAE,CAAC;MAC9D;MACA,MAAMnB,cAAc,GAAGC,IAAI,CAACC,GAAG,CAACR,SAAS,CAACI,KAAK,CAAC;MAChD,MAAMsB,MAAM,GAAGnB,IAAI,CAACoB,GAAG,CAACrB,cAAc,GAAGR,WAAW,EAAE,CAAC,CAAC;MACxD,OAAO;QAAE0B,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAE,CAACC;QAAO,CAAC;MAAE,CAAC;IACjD;IAEA,OAAO;MAAEF,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEvB,WAAW,CAACE;MAAM,CAAC;IAAE,CAAC;EAC3D,CAAC,CAAC;EAEF,OAAO;IAAEL,GAAG;IAAEsB,QAAQ;IAAEE;EAAc,CAAC;AACzC","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* useRevealProgress — how far an element has travelled through the viewport.
|
|
5
|
+
*
|
|
6
|
+
* The number every scroll-driven effect is really made of: `0` before the
|
|
7
|
+
* element has arrived, `1` once it has passed, and a smooth scrub between the
|
|
8
|
+
* two. What an effect *does* with it — recolour, fade, zoom, step through
|
|
9
|
+
* frames — is the only part that differs.
|
|
10
|
+
*
|
|
11
|
+
* The window is set the way a scroll-trigger's is: `start` and `end` are
|
|
12
|
+
* positions down the viewport, as fractions of its height. Progress is `0`
|
|
13
|
+
* while the element's **top** is still below `start`, and reaches `1` when its
|
|
14
|
+
* **bottom** passes `end` — so a tall block scrubs across its own height rather
|
|
15
|
+
* than snapping the moment its first line appears.
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* const { ref, progress } = useRevealProgress({ start: 0.9, end: 0.5 });
|
|
19
|
+
*
|
|
20
|
+
* <Animated.View ref={ref} style={useAnimatedStyle(() => ({
|
|
21
|
+
* opacity: progress.value,
|
|
22
|
+
* }))} />
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* The element is measured on the UI thread whenever the scroll position
|
|
26
|
+
* changes — not every frame, and not once at layout. Once is wrong the moment
|
|
27
|
+
* anything above it resizes; every frame is a measurement pass for a value that
|
|
28
|
+
* only changes when the scroller moves.
|
|
29
|
+
*/
|
|
30
|
+
import { useWindowDimensions } from 'react-native';
|
|
31
|
+
import { measure, useAnimatedRef, useDerivedValue } from 'react-native-reanimated';
|
|
32
|
+
import { useScrollProgress } from "../primitives/scroll-progress.js";
|
|
33
|
+
export function useRevealProgress({
|
|
34
|
+
start = 0.9,
|
|
35
|
+
end = 0.5,
|
|
36
|
+
progress: external,
|
|
37
|
+
enabled = true
|
|
38
|
+
} = {}) {
|
|
39
|
+
const ref = useAnimatedRef();
|
|
40
|
+
const scroll = useScrollProgress();
|
|
41
|
+
const {
|
|
42
|
+
height: windowHeight
|
|
43
|
+
} = useWindowDimensions();
|
|
44
|
+
const offset = scroll?.offset;
|
|
45
|
+
const viewportValue = scroll?.viewport;
|
|
46
|
+
const topValue = scroll?.top;
|
|
47
|
+
const derived = useDerivedValue(() => {
|
|
48
|
+
if (!enabled) return 1;
|
|
49
|
+
|
|
50
|
+
// Read so the scroll position is a real dependency of this value. The
|
|
51
|
+
// element's own position is not observable, and the scroller moving
|
|
52
|
+
// underneath it is the only thing that changes it while it is on screen.
|
|
53
|
+
const scrolled = offset ? offset.value : 0;
|
|
54
|
+
const viewport = viewportValue?.value || windowHeight;
|
|
55
|
+
const viewportTop = topValue?.value ?? 0;
|
|
56
|
+
if (viewport <= 0 || Number.isNaN(scrolled)) return 0;
|
|
57
|
+
const frame = measure(ref);
|
|
58
|
+
if (!frame || frame.height <= 0) return 0;
|
|
59
|
+
const top = frame.pageY - viewportTop;
|
|
60
|
+
const from = start * viewport;
|
|
61
|
+
const to = end * viewport - frame.height;
|
|
62
|
+
const span = from - to;
|
|
63
|
+
if (span <= 0) return top <= to ? 1 : 0;
|
|
64
|
+
const value = (from - top) / span;
|
|
65
|
+
return value < 0 ? 0 : value > 1 ? 1 : value;
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// An external value is passed straight through, so a caller driving the
|
|
69
|
+
// effect by hand never pays for the measurement.
|
|
70
|
+
return {
|
|
71
|
+
ref,
|
|
72
|
+
progress: external ?? derived
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=use-reveal-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useWindowDimensions","measure","useAnimatedRef","useDerivedValue","useScrollProgress","useRevealProgress","start","end","progress","external","enabled","ref","scroll","height","windowHeight","offset","viewportValue","viewport","topValue","top","derived","scrolled","value","viewportTop","Number","isNaN","frame","pageY","from","to","span"],"sourceRoot":"../../../src","sources":["hooks/use-reveal-progress.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,mBAAmB,QAAmB,cAAc;AAC7D,SACEC,OAAO,EACPC,cAAc,EACdC,eAAe,QAGV,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,kCAA+B;AA6BjE,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK,GAAG,GAAG;EACXC,GAAG,GAAG,GAAG;EACTC,QAAQ,EAAEC,QAAQ;EAClBC,OAAO,GAAG;AACc,CAAC,GAAG,CAAC,CAAC,EAA2B;EACzD,MAAMC,GAAG,GAAGT,cAAc,CAAO,CAAC;EAClC,MAAMU,MAAM,GAAGR,iBAAiB,CAAC,CAAC;EAClC,MAAM;IAAES,MAAM,EAAEC;EAAa,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EAEtD,MAAMe,MAAM,GAAGH,MAAM,EAAEG,MAAM;EAC7B,MAAMC,aAAa,GAAGJ,MAAM,EAAEK,QAAQ;EACtC,MAAMC,QAAQ,GAAGN,MAAM,EAAEO,GAAG;EAE5B,MAAMC,OAAO,GAAGjB,eAAe,CAAC,MAAM;IACpC,IAAI,CAACO,OAAO,EAAE,OAAO,CAAC;;IAEtB;IACA;IACA;IACA,MAAMW,QAAQ,GAAGN,MAAM,GAAGA,MAAM,CAACO,KAAK,GAAG,CAAC;IAC1C,MAAML,QAAQ,GAAGD,aAAa,EAAEM,KAAK,IAAIR,YAAY;IACrD,MAAMS,WAAW,GAAGL,QAAQ,EAAEI,KAAK,IAAI,CAAC;IACxC,IAAIL,QAAQ,IAAI,CAAC,IAAIO,MAAM,CAACC,KAAK,CAACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;IAErD,MAAMK,KAAK,GAAGzB,OAAO,CAACU,GAAG,CAAC;IAC1B,IAAI,CAACe,KAAK,IAAIA,KAAK,CAACb,MAAM,IAAI,CAAC,EAAE,OAAO,CAAC;IAEzC,MAAMM,GAAG,GAAGO,KAAK,CAACC,KAAK,GAAGJ,WAAW;IACrC,MAAMK,IAAI,GAAGtB,KAAK,GAAGW,QAAQ;IAC7B,MAAMY,EAAE,GAAGtB,GAAG,GAAGU,QAAQ,GAAGS,KAAK,CAACb,MAAM;IACxC,MAAMiB,IAAI,GAAGF,IAAI,GAAGC,EAAE;IACtB,IAAIC,IAAI,IAAI,CAAC,EAAE,OAAOX,GAAG,IAAIU,EAAE,GAAG,CAAC,GAAG,CAAC;IAEvC,MAAMP,KAAK,GAAG,CAACM,IAAI,GAAGT,GAAG,IAAIW,IAAI;IACjC,OAAOR,KAAK,GAAG,CAAC,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC,GAAG,CAAC,GAAGA,KAAK;EAC9C,CAAC,CAAC;;EAEF;EACA;EACA,OAAO;IAAEX,GAAG;IAAEH,QAAQ,EAAEC,QAAQ,IAAIW;EAAQ,CAAC;AAC/C","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { Portal, PortalHost, PortalProvider } from "./primitives/portal.js";
|
|
|
11
11
|
export { Text } from "./primitives/text.js";
|
|
12
12
|
export { KeyboardAvoider } from "./primitives/keyboard-avoider.js";
|
|
13
13
|
export { AnimatedPressable } from "./primitives/animated-pressable.js";
|
|
14
|
+
export { ScrollProgress, useScrollProgress } from "./primitives/scroll-progress.js";
|
|
14
15
|
|
|
15
16
|
// Native UI bridge
|
|
16
17
|
export { hasNativeUI } from "./native/index.js";
|
|
@@ -27,11 +28,13 @@ export { Button } from "./components/button/index.js";
|
|
|
27
28
|
export { ToggleButton, ToggleButtonGroup, useToggleButton } from "./components/toggle-button/index.js";
|
|
28
29
|
export { Dialog } from "./components/dialog/index.js";
|
|
29
30
|
export { Frame } from "./components/frame/index.js";
|
|
31
|
+
export { HeatmapChart, useHeatmapChart, buildHeatmapCalendar } from "./components/heatmap-chart/index.js";
|
|
30
32
|
export { Select } from "./components/select/index.js";
|
|
31
33
|
export { SectionRail } from "./components/section-rail/index.js";
|
|
32
34
|
export { Tabs } from "./components/tabs/index.js";
|
|
33
35
|
export { Card } from "./components/card/index.js";
|
|
34
36
|
export { Checkbox } from "./components/checkbox/index.js";
|
|
37
|
+
export { Chip, useChip } from "./components/chip/index.js";
|
|
35
38
|
export { EmptyState } from "./components/empty-state/index.js";
|
|
36
39
|
export { Input } from "./components/input/index.js";
|
|
37
40
|
export { InputGroup } from "./components/input-group/index.js";
|
|
@@ -47,6 +50,9 @@ export { RadioGroup } from "./components/radio-group/index.js";
|
|
|
47
50
|
export { ScrollFade } from "./components/scroll-fade/index.js";
|
|
48
51
|
export { Separator } from "./components/separator/index.js";
|
|
49
52
|
export { Shimmer } from "./components/shimmer/index.js";
|
|
53
|
+
export { ScrollText } from "./components/scroll-text/index.js";
|
|
54
|
+
export { ScrollCanvas } from "./components/scroll-canvas/index.js";
|
|
55
|
+
export { ThinkingOrb } from "./components/thinking-orb/index.js";
|
|
50
56
|
export { Skeleton } from "./components/skeleton/index.js";
|
|
51
57
|
export { Slider } from "./components/slider/index.js";
|
|
52
58
|
export { Spinner } from "./components/spinner/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Text","KeyboardAvoider","AnimatedPressable","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","Badge","BottomSheet","Button","ToggleButton","ToggleButtonGroup","useToggleButton","Dialog","Frame","Select","SectionRail","Tabs","Card","Checkbox","EmptyState","Input","InputGroup","Item","Label","LineChart","useLineChart","Marker","MessageScroller","useMessageScroller","useMessageScrollerVisibility","Message","Popover","Progress","RadioGroup","ScrollFade","Separator","Shimmer","Skeleton","Slider","Spinner","Steps","Surface","Switch","Timeline","Toast","ToastViewport","toast","useToast","Typography","AlertTriangleIcon","AppleIcon","ArrowUpRightIcon","BellIcon","CardIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","FacebookIcon","FileIcon","GoogleIcon","IconColorProvider","InfoIcon","ImageIcon","MoonIcon","PackageIcon","PaperclipIcon","PlusSquareIcon","ReceiptIcon","SearchIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SunIcon","XIcon","useIconColor","cn"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,SAASA,eAAe,QAAmC,kCAA+B;;AAE1F;AACA,SACEC,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,QAKb,sBAAmB;;AAE1B;AACA,SAASC,MAAM,EAAEC,UAAU,EAAEC,cAAc,QAAQ,wBAAqB;AACxE,SAASC,IAAI,QAAwB,sBAAmB;AACxD,SACEC,eAAe,QAEV,kCAA+B;AACtC,SACEC,iBAAiB,QAEZ,oCAAiC;;
|
|
1
|
+
{"version":3,"names":["PanelUIProvider","useTheme","useThemeMode","PANEL_THEMES","PANEL_THEME_NAMES","PANEL_EXTRA_THEMES","Portal","PortalHost","PortalProvider","Text","KeyboardAvoider","AnimatedPressable","ScrollProgress","useScrollProgress","hasNativeUI","hasHaptics","selectionTick","Accordion","Alert","Avatar","Attachment","Badge","BottomSheet","Button","ToggleButton","ToggleButtonGroup","useToggleButton","Dialog","Frame","HeatmapChart","useHeatmapChart","buildHeatmapCalendar","Select","SectionRail","Tabs","Card","Checkbox","Chip","useChip","EmptyState","Input","InputGroup","Item","Label","LineChart","useLineChart","Marker","MessageScroller","useMessageScroller","useMessageScrollerVisibility","Message","Popover","Progress","RadioGroup","ScrollFade","Separator","Shimmer","ScrollText","ScrollCanvas","ThinkingOrb","Skeleton","Slider","Spinner","Steps","Surface","Switch","Timeline","Toast","ToastViewport","toast","useToast","Typography","AlertTriangleIcon","AppleIcon","ArrowUpRightIcon","BellIcon","CardIcon","CheckCircleIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","FacebookIcon","FileIcon","GoogleIcon","IconColorProvider","InfoIcon","ImageIcon","MoonIcon","PackageIcon","PaperclipIcon","PlusSquareIcon","ReceiptIcon","SearchIcon","SendIcon","ShareNodesIcon","ShieldAlertIcon","ShieldCheckIcon","SunIcon","XIcon","useIconColor","cn"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","resolved","module","getNativeUI","OS","require","hasNativeUI"],"sourceRoot":"../../../src","sources":["native/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["Platform","resolved","module","getNativeUI","OS","require","hasNativeUI"],"sourceRoot":"../../../src","sources":["native/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,cAAc;AAgDvC,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,MAA6B,GAAG,IAAI;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAA0B;EACnD,IAAIF,QAAQ,EAAE,OAAOC,MAAM;EAC3BD,QAAQ,GAAG,IAAI;;EAEf;EACA;EACA,IAAID,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,IAAI;IACF;IACAF,MAAM,GAAGG,OAAO,CAAC,UAAU,CAAmB;EAChD,CAAC,CAAC,MAAM;IACNH,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,OAAO,SAASI,WAAWA,CAAA,EAAY;EACrC,OAAOH,WAAW,CAAC,CAAC,KAAK,IAAI;AAC/B","ignoreList":[]}
|