panelui-native 0.88.1 → 0.88.2

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.
@@ -46,6 +46,9 @@
46
46
  * `Submit` disables itself while the field is empty. A dialog that accepts an
47
47
  * empty answer produces empty feedback, and the person who sent it believes
48
48
  * they said something.
49
+ *
50
+ * Disabled, it drops the fill instead of dimming it. A tinted accent pill
51
+ * still reads as the thing to press, whatever its opacity.
49
52
  */
50
53
  import { createContext, forwardRef, isValidElement, useCallback, useContext, useMemo, useState } from 'react';
51
54
  import { Pressable, TextInput, View } from 'react-native';
@@ -129,11 +132,35 @@ const feedbackVariants = tv({
129
132
  }
130
133
  },
131
134
  disabled: {
132
- true: {
133
- action: 'opacity-[0.45]'
134
- }
135
+ true: {}
135
136
  }
136
- }
137
+ },
138
+ compoundVariants: [
139
+ /*
140
+ * A disabled Submit loses its fill rather than dimming it.
141
+ *
142
+ * A tinted accent pill is still an accent pill: at any opacity it reads as
143
+ * the thing on the dialog to press, so an inert one gets pressed and then
144
+ * gets reported as broken. Dropping the fill is what makes the state
145
+ * legible before the press.
146
+ *
147
+ * The tint is fainter than Cancel's own on purpose. Matched fills would
148
+ * read as two Cancels rather than as one live action and one dead one.
149
+ */
150
+ {
151
+ tone: 'submit',
152
+ disabled: true,
153
+ class: {
154
+ action: 'bg-foreground/[0.04]',
155
+ actionLabel: 'font-medium text-muted-foreground/50'
156
+ }
157
+ }, {
158
+ tone: 'cancel',
159
+ disabled: true,
160
+ class: {
161
+ action: 'opacity-[0.45]'
162
+ }
163
+ }]
137
164
  });
138
165
  const FeedbackContext = /*#__PURE__*/createContext(null);
139
166
  function useFeedback(component) {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","TextInput","View","Animated","FadeIn","FadeOut","ZoomIn","tv","XIcon","AnimatedPressable","KeyboardAvoider","ModalPortal","Scrim","Text","textChildren","useBackHandler","cn","jsx","_jsx","jsxs","_jsxs","SHELL_PADDING","SHELL_RADIUS","PANEL_RADIUS","FOOTER_INSET","FIELD_MIN_HEIGHT","CLOSE_SIZE","CLOSE_HIT_SLOP","feedbackVariants","slots","shell","recess","panel","title","close","field","footer","action","actionLabel","variants","tone","cancel","submit","disabled","true","FeedbackContext","useFeedback","component","context","Error","FeedbackRoot","children","open","onOpenChange","defaultOpen","value","defaultValue","onValueChange","internalOpen","setInternalOpen","openControlled","undefined","resolvedOpen","internalValue","setInternalValue","valueControlled","resolvedValue","setOpen","next","setValue","Provider","displayName","FeedbackTrigger","onPress","pointerEvents","FeedbackContent","className","dismissible","blur","props","entering","duration","exiting","accessibilityLabel","mode","offset","springify","damping","stiffness","mass","accessibilityViewIsModal","style","borderRadius","padding","FeedbackPanel","ref","FeedbackTitle","FeedbackClose","label","accessibilityRole","hitSlop","pressScale","pressOpacity","top","right","width","height","size","FeedbackField","onChangeText","minHeight","placeholder","dialog","text","multiline","textAlignVertical","FeedbackFooter","marginTop","marginHorizontal","Action","labelClassName","accessibilityState","FeedbackCancel","FeedbackSubmit","onSubmit","empty","trim","length","Feedback","Object","assign","Trigger","Content","Panel","Title","Close","Field","Footer","Cancel","Submit"],"sourceRoot":"../../../../src","sources":["components/feedback/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","TextInput","View","Animated","FadeIn","FadeOut","ZoomIn","tv","XIcon","AnimatedPressable","KeyboardAvoider","ModalPortal","Scrim","Text","textChildren","useBackHandler","cn","jsx","_jsx","jsxs","_jsxs","SHELL_PADDING","SHELL_RADIUS","PANEL_RADIUS","FOOTER_INSET","FIELD_MIN_HEIGHT","CLOSE_SIZE","CLOSE_HIT_SLOP","feedbackVariants","slots","shell","recess","panel","title","close","field","footer","action","actionLabel","variants","tone","cancel","submit","disabled","true","compoundVariants","class","FeedbackContext","useFeedback","component","context","Error","FeedbackRoot","children","open","onOpenChange","defaultOpen","value","defaultValue","onValueChange","internalOpen","setInternalOpen","openControlled","undefined","resolvedOpen","internalValue","setInternalValue","valueControlled","resolvedValue","setOpen","next","setValue","Provider","displayName","FeedbackTrigger","onPress","pointerEvents","FeedbackContent","className","dismissible","blur","props","entering","duration","exiting","accessibilityLabel","mode","offset","springify","damping","stiffness","mass","accessibilityViewIsModal","style","borderRadius","padding","FeedbackPanel","ref","FeedbackTitle","FeedbackClose","label","accessibilityRole","hitSlop","pressScale","pressOpacity","top","right","width","height","size","FeedbackField","onChangeText","minHeight","placeholder","dialog","text","multiline","textAlignVertical","FeedbackFooter","marginTop","marginHorizontal","Action","labelClassName","accessibilityState","FeedbackCancel","FeedbackSubmit","onSubmit","empty","trim","length","Feedback","Object","assign","Trigger","Content","Panel","Title","Close","Field","Footer","Cancel","Submit"],"sourceRoot":"../../../../src","sources":["components/feedback/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,7 @@
46
46
  * </Animated.View>
47
47
  * ```
48
48
  */
49
- import { useCallback, useEffect, useState } from 'react';
49
+ import { useCallback, useEffect, useLayoutEffect, useState } from 'react';
50
50
  import { TurboModuleRegistry, useWindowDimensions } from 'react-native';
51
51
  import { measure, runOnJS, useAnimatedKeyboard, useAnimatedReaction, useAnimatedRef, useAnimatedStyle, useFrameCallback, useSharedValue, withTiming } from 'react-native-reanimated';
52
52
 
@@ -142,7 +142,8 @@ export function useKeyboardAvoidance({
142
142
  const translation = useSharedValue(0);
143
143
 
144
144
  /*
145
- * Whether the element has been laid out at least once and is still mounted.
145
+ * Whether the element can be measured: laid out at least once, and still
146
+ * mounted.
146
147
  *
147
148
  * `measure` warns when it is handed a view the layout engine has no metrics
148
149
  * for — every frame between a mount and its first layout, and every frame
@@ -151,11 +152,26 @@ export function useKeyboardAvoidance({
151
152
  * the warning is printed before that null comes back. Running once a frame,
152
153
  * one of these fills the log on its own.
153
154
  *
154
- * So the layout pass is what says the view can be measured, and the unmount
155
- * is what takes it back.
155
+ * The layout pass arms it. Two things disarm it, because one is not enough:
156
+ *
157
+ * - the teardown, in a *layout* effect. A plain effect's cleanup is written
158
+ * from the JS thread after the commit, which is one or more frames after
159
+ * the view it is protecting has gone — long enough for the loop to measure
160
+ * a detached view and log. This is the case an overlay hits every time:
161
+ * a dialog whose content unmounts on close takes the element with it while
162
+ * the keyboard is still on its way down.
163
+ * - the worklet itself, whenever a measurement comes back null. That write
164
+ * belongs to the UI thread, so it lands whatever order the teardown
165
+ * arrives in, and a view that has gone costs one warning rather than one
166
+ * per frame.
167
+ *
168
+ * A disarm that was only a race is put back by the next layout pass, or by
169
+ * the keyboard opening again — `everLaidOut` is what makes the second one
170
+ * safe, since arming before the first layout is the other half of the bug.
156
171
  */
157
172
  const laidOut = useSharedValue(false);
158
- useEffect(() => () => {
173
+ const everLaidOut = useSharedValue(false);
174
+ useLayoutEffect(() => () => {
159
175
  laidOut.value = false;
160
176
  }, [laidOut]);
161
177
 
@@ -188,7 +204,11 @@ export function useKeyboardAvoidance({
188
204
  if (keyboardHeight === 0) return;
189
205
  if (!laidOut.value) return;
190
206
  const frame = measure(ref);
191
- if (!frame || frame.height <= 0) return;
207
+ if (!frame) {
208
+ laidOut.value = false;
209
+ return;
210
+ }
211
+ if (frame.height <= 0) return;
192
212
  const restingBottom = frame.pageY + frame.height - translation.value;
193
213
  const keyboardTop = screenHeight - keyboardHeight;
194
214
  const overlap = restingBottom + offset - keyboardTop;
@@ -206,6 +226,10 @@ export function useKeyboardAvoidance({
206
226
  if (shouldTrack === wasTracking) return;
207
227
  runOnJS(setTracking)(shouldTrack);
208
228
 
229
+ // A keyboard opening is the other place the guard is put back, for the
230
+ // element that was disarmed by a measurement that raced a re-layout.
231
+ if (shouldTrack && everLaidOut.value) laidOut.value = true;
232
+
209
233
  // Moving straight from one field to another never closes the keyboard,
210
234
  // so the field being left has nothing to follow back down — it is sent
211
235
  // home explicitly, or it stays hanging where the keyboard left it.
@@ -218,17 +242,18 @@ export function useKeyboardAvoidance({
218
242
  const {
219
243
  setActive
220
244
  } = track;
221
- useEffect(() => {
245
+ useLayoutEffect(() => {
222
246
  setActive(tracking && mode === 'lift');
223
247
  return () => setActive(false);
224
248
  }, [tracking, mode, setActive]);
225
249
  const onLayout = useCallback(_event => {
226
250
  laidOut.value = true;
251
+ everLaidOut.value = true;
227
252
  // A layout pass while the element is at rest means its slot moved for
228
253
  // some reason other than the keyboard. Anything left over from the last
229
254
  // lift belongs to the old slot.
230
255
  if (!tracking && translation.value !== 0) translation.value = 0;
231
- }, [laidOut, tracking, translation]);
256
+ }, [everLaidOut, laidOut, tracking, translation]);
232
257
  const animatedStyle = useAnimatedStyle(() => {
233
258
  if (mode === 'dock') {
234
259
  if (!isActive.value) return {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","TurboModuleRegistry","useWindowDimensions","measure","runOnJS","useAnimatedKeyboard","useAnimatedReaction","useAnimatedRef","useAnimatedStyle","useFrameCallback","useSharedValue","withTiming","SETTLE_DURATION","EPSILON","nativeControllerPresent","get","keyboardHeightImpl","useKeyboardHeight","resolveKeyboardHeight","height","controller","require","useReanimatedKeyboardAnimation","hasKeyboardController","useKeyboardAvoidance","enabled","active","mode","offset","bottomInset","ref","rawHeight","screenHeight","translation","laidOut","value","isActive","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":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useLayoutEffect","useState","TurboModuleRegistry","useWindowDimensions","measure","runOnJS","useAnimatedKeyboard","useAnimatedReaction","useAnimatedRef","useAnimatedStyle","useFrameCallback","useSharedValue","withTiming","SETTLE_DURATION","EPSILON","nativeControllerPresent","get","keyboardHeightImpl","useKeyboardHeight","resolveKeyboardHeight","height","controller","require","useReanimatedKeyboardAnimation","hasKeyboardController","useKeyboardAvoidance","enabled","active","mode","offset","bottomInset","ref","rawHeight","screenHeight","translation","laidOut","everLaidOut","value","isActive","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":"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","ignoreList":[]}
@@ -44,6 +44,9 @@
44
44
  * `Submit` disables itself while the field is empty. A dialog that accepts an
45
45
  * empty answer produces empty feedback, and the person who sent it believes
46
46
  * they said something.
47
+ *
48
+ * Disabled, it drops the fill instead of dimming it. A tinted accent pill
49
+ * still reads as the thing to press, whatever its opacity.
47
50
  */
48
51
  import { type ReactElement, type ReactNode } from 'react';
49
52
  import { TextInput, View, type TextInputProps, type ViewProps } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-keyboard-avoidance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-keyboard-avoidance.ts"],"names":[],"mappings":"AA+CA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAML,gBAAgB,EAIhB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAYjC,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACvB,iFAAiF;IACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,iCAAiC;IACjC,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC/D;AA6DD,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,OAAO,CAS/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAAc,EACd,MAAa,EACb,IAAa,EACb,MAAW,EACX,WAAe,GAChB,GAAE,2BAAgC,GAAG,0BAA0B,CAuH/D"}
1
+ {"version":3,"file":"use-keyboard-avoidance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-keyboard-avoidance.ts"],"names":[],"mappings":"AA+CA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAML,gBAAgB,EAIhB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAYjC,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACvB,iFAAiF;IACjF,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,iCAAiC;IACjC,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;CAC/D;AA6DD,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,OAAO,CAS/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAAc,EACd,MAAa,EACb,IAAa,EACb,MAAW,EACX,WAAe,GAChB,GAAE,2BAAgC,GAAG,0BAA0B,CAgJ/D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "panelui-native",
3
- "version": "0.88.1",
3
+ "version": "0.88.2",
4
4
  "description": "High-performance React Native UI components for Expo. Semantic design tokens, powered by Uniwind (Tailwind v4) and Reanimated.",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -44,6 +44,9 @@
44
44
  * `Submit` disables itself while the field is empty. A dialog that accepts an
45
45
  * empty answer produces empty feedback, and the person who sent it believes
46
46
  * they said something.
47
+ *
48
+ * Disabled, it drops the fill instead of dimming it. A tinted accent pill
49
+ * still reads as the thing to press, whatever its opacity.
47
50
  */
48
51
  import {
49
52
  createContext,
@@ -143,9 +146,31 @@ const feedbackVariants = tv({
143
146
  },
144
147
  },
145
148
  disabled: {
146
- true: { action: 'opacity-[0.45]' },
149
+ true: {},
147
150
  },
148
151
  },
152
+ compoundVariants: [
153
+ /*
154
+ * A disabled Submit loses its fill rather than dimming it.
155
+ *
156
+ * A tinted accent pill is still an accent pill: at any opacity it reads as
157
+ * the thing on the dialog to press, so an inert one gets pressed and then
158
+ * gets reported as broken. Dropping the fill is what makes the state
159
+ * legible before the press.
160
+ *
161
+ * The tint is fainter than Cancel's own on purpose. Matched fills would
162
+ * read as two Cancels rather than as one live action and one dead one.
163
+ */
164
+ {
165
+ tone: 'submit',
166
+ disabled: true,
167
+ class: {
168
+ action: 'bg-foreground/[0.04]',
169
+ actionLabel: 'font-medium text-muted-foreground/50',
170
+ },
171
+ },
172
+ { tone: 'cancel', disabled: true, class: { action: 'opacity-[0.45]' } },
173
+ ],
149
174
  });
150
175
 
151
176
  interface FeedbackContextValue {
@@ -44,7 +44,7 @@
44
44
  * </Animated.View>
45
45
  * ```
46
46
  */
47
- import { useCallback, useEffect, useState } from 'react';
47
+ import { useCallback, useEffect, useLayoutEffect, useState } from 'react';
48
48
  import {
49
49
  TurboModuleRegistry,
50
50
  useWindowDimensions,
@@ -201,7 +201,8 @@ export function useKeyboardAvoidance({
201
201
  const translation = useSharedValue(0);
202
202
 
203
203
  /*
204
- * Whether the element has been laid out at least once and is still mounted.
204
+ * Whether the element can be measured: laid out at least once, and still
205
+ * mounted.
205
206
  *
206
207
  * `measure` warns when it is handed a view the layout engine has no metrics
207
208
  * for — every frame between a mount and its first layout, and every frame
@@ -210,11 +211,26 @@ export function useKeyboardAvoidance({
210
211
  * the warning is printed before that null comes back. Running once a frame,
211
212
  * one of these fills the log on its own.
212
213
  *
213
- * So the layout pass is what says the view can be measured, and the unmount
214
- * is what takes it back.
214
+ * The layout pass arms it. Two things disarm it, because one is not enough:
215
+ *
216
+ * - the teardown, in a *layout* effect. A plain effect's cleanup is written
217
+ * from the JS thread after the commit, which is one or more frames after
218
+ * the view it is protecting has gone — long enough for the loop to measure
219
+ * a detached view and log. This is the case an overlay hits every time:
220
+ * a dialog whose content unmounts on close takes the element with it while
221
+ * the keyboard is still on its way down.
222
+ * - the worklet itself, whenever a measurement comes back null. That write
223
+ * belongs to the UI thread, so it lands whatever order the teardown
224
+ * arrives in, and a view that has gone costs one warning rather than one
225
+ * per frame.
226
+ *
227
+ * A disarm that was only a race is put back by the next layout pass, or by
228
+ * the keyboard opening again — `everLaidOut` is what makes the second one
229
+ * safe, since arming before the first layout is the other half of the bug.
215
230
  */
216
231
  const laidOut = useSharedValue(false);
217
- useEffect(
232
+ const everLaidOut = useSharedValue(false);
233
+ useLayoutEffect(
218
234
  () => () => {
219
235
  laidOut.value = false;
220
236
  },
@@ -250,7 +266,11 @@ export function useKeyboardAvoidance({
250
266
  if (!laidOut.value) return;
251
267
 
252
268
  const frame = measure(ref);
253
- if (!frame || frame.height <= 0) return;
269
+ if (!frame) {
270
+ laidOut.value = false;
271
+ return;
272
+ }
273
+ if (frame.height <= 0) return;
254
274
 
255
275
  const restingBottom = frame.pageY + frame.height - translation.value;
256
276
  const keyboardTop = screenHeight - keyboardHeight;
@@ -272,6 +292,10 @@ export function useKeyboardAvoidance({
272
292
  if (shouldTrack === wasTracking) return;
273
293
  runOnJS(setTracking)(shouldTrack);
274
294
 
295
+ // A keyboard opening is the other place the guard is put back, for the
296
+ // element that was disarmed by a measurement that raced a re-layout.
297
+ if (shouldTrack && everLaidOut.value) laidOut.value = true;
298
+
275
299
  // Moving straight from one field to another never closes the keyboard,
276
300
  // so the field being left has nothing to follow back down — it is sent
277
301
  // home explicitly, or it stays hanging where the keyboard left it.
@@ -282,7 +306,7 @@ export function useKeyboardAvoidance({
282
306
  );
283
307
 
284
308
  const { setActive } = track;
285
- useEffect(() => {
309
+ useLayoutEffect(() => {
286
310
  setActive(tracking && mode === 'lift');
287
311
  return () => setActive(false);
288
312
  }, [tracking, mode, setActive]);
@@ -290,12 +314,13 @@ export function useKeyboardAvoidance({
290
314
  const onLayout = useCallback(
291
315
  (_event: LayoutChangeEvent) => {
292
316
  laidOut.value = true;
317
+ everLaidOut.value = true;
293
318
  // A layout pass while the element is at rest means its slot moved for
294
319
  // some reason other than the keyboard. Anything left over from the last
295
320
  // lift belongs to the old slot.
296
321
  if (!tracking && translation.value !== 0) translation.value = 0;
297
322
  },
298
- [laidOut, tracking, translation]
323
+ [everLaidOut, laidOut, tracking, translation]
299
324
  );
300
325
 
301
326
  const animatedStyle = useAnimatedStyle(() => {