panelui-native 0.88.0 → 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.
- package/lib/module/components/{feedback-dialog → feedback}/index.js +95 -68
- package/lib/module/components/feedback/index.js.map +1 -0
- package/lib/module/hooks/use-keyboard-avoidance.js +33 -8
- package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/{feedback-dialog → feedback}/index.d.ts +47 -44
- package/lib/typescript/src/components/feedback/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/{feedback-dialog → feedback}/index.tsx +109 -84
- package/src/hooks/use-keyboard-avoidance.ts +33 -8
- package/src/index.ts +10 -10
- package/lib/module/components/feedback-dialog/index.js.map +0 -1
- package/lib/typescript/src/components/feedback-dialog/index.d.ts.map +0 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Feedback — a dialog whose body is something to write in, and whose
|
|
3
3
|
* actions sit in a band around it.
|
|
4
4
|
*
|
|
5
5
|
* ```tsx
|
|
6
|
-
* <
|
|
7
|
-
* <
|
|
8
|
-
* <
|
|
9
|
-
* <
|
|
10
|
-
* <
|
|
11
|
-
* <
|
|
12
|
-
* </
|
|
13
|
-
* <
|
|
14
|
-
* <
|
|
15
|
-
* <
|
|
16
|
-
* </
|
|
17
|
-
* </
|
|
18
|
-
* </
|
|
6
|
+
* <Feedback open={open} onOpenChange={setOpen}>
|
|
7
|
+
* <Feedback.Content>
|
|
8
|
+
* <Feedback.Panel>
|
|
9
|
+
* <Feedback.Title>What should we fix first?</Feedback.Title>
|
|
10
|
+
* <Feedback.Close />
|
|
11
|
+
* <Feedback.Field value={text} onChangeText={setText} />
|
|
12
|
+
* </Feedback.Panel>
|
|
13
|
+
* <Feedback.Footer>
|
|
14
|
+
* <Feedback.Cancel />
|
|
15
|
+
* <Feedback.Submit onPress={send} />
|
|
16
|
+
* </Feedback.Footer>
|
|
17
|
+
* </Feedback.Content>
|
|
18
|
+
* </Feedback>
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
21
|
* ## Why the panel is a panel and not the dialog
|
|
@@ -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,
|
|
@@ -109,7 +112,7 @@ const FIELD_MIN_HEIGHT = 200;
|
|
|
109
112
|
const CLOSE_SIZE = 22;
|
|
110
113
|
const CLOSE_HIT_SLOP = 13;
|
|
111
114
|
|
|
112
|
-
const
|
|
115
|
+
const feedbackVariants = tv({
|
|
113
116
|
slots: {
|
|
114
117
|
/*
|
|
115
118
|
* The shell is `bg-popover` with an `inset` band laid over it rather than
|
|
@@ -143,12 +146,34 @@ const feedbackDialogVariants = tv({
|
|
|
143
146
|
},
|
|
144
147
|
},
|
|
145
148
|
disabled: {
|
|
146
|
-
true: {
|
|
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
|
-
interface
|
|
176
|
+
interface FeedbackContextValue {
|
|
152
177
|
open: boolean;
|
|
153
178
|
setOpen: (open: boolean) => void;
|
|
154
179
|
/** What is in the field, so Submit can refuse to send nothing. */
|
|
@@ -156,17 +181,17 @@ interface FeedbackDialogContextValue {
|
|
|
156
181
|
setValue: (value: string) => void;
|
|
157
182
|
}
|
|
158
183
|
|
|
159
|
-
const
|
|
184
|
+
const FeedbackContext = createContext<FeedbackContextValue | null>(null);
|
|
160
185
|
|
|
161
|
-
function
|
|
162
|
-
const context = useContext(
|
|
186
|
+
function useFeedback(component: string): FeedbackContextValue {
|
|
187
|
+
const context = useContext(FeedbackContext);
|
|
163
188
|
if (!context) {
|
|
164
|
-
throw new Error(`${component} must be used within a <
|
|
189
|
+
throw new Error(`${component} must be used within a <Feedback>`);
|
|
165
190
|
}
|
|
166
191
|
return context;
|
|
167
192
|
}
|
|
168
193
|
|
|
169
|
-
export interface
|
|
194
|
+
export interface FeedbackProps {
|
|
170
195
|
children: ReactNode;
|
|
171
196
|
/** Controlled open state. */
|
|
172
197
|
open?: boolean;
|
|
@@ -180,7 +205,7 @@ export interface FeedbackDialogProps {
|
|
|
180
205
|
onValueChange?: (value: string) => void;
|
|
181
206
|
}
|
|
182
207
|
|
|
183
|
-
function
|
|
208
|
+
function FeedbackRoot({
|
|
184
209
|
children,
|
|
185
210
|
open,
|
|
186
211
|
onOpenChange,
|
|
@@ -188,7 +213,7 @@ function FeedbackDialogRoot({
|
|
|
188
213
|
value,
|
|
189
214
|
defaultValue = '',
|
|
190
215
|
onValueChange,
|
|
191
|
-
}:
|
|
216
|
+
}: FeedbackProps) {
|
|
192
217
|
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
193
218
|
const openControlled = open !== undefined;
|
|
194
219
|
const resolvedOpen = openControlled ? open : internalOpen;
|
|
@@ -219,20 +244,20 @@ function FeedbackDialogRoot({
|
|
|
219
244
|
);
|
|
220
245
|
|
|
221
246
|
return (
|
|
222
|
-
<
|
|
247
|
+
<FeedbackContext.Provider value={context}>
|
|
223
248
|
{children}
|
|
224
|
-
</
|
|
249
|
+
</FeedbackContext.Provider>
|
|
225
250
|
);
|
|
226
251
|
}
|
|
227
|
-
|
|
252
|
+
FeedbackRoot.displayName = 'Feedback';
|
|
228
253
|
|
|
229
|
-
interface
|
|
254
|
+
interface FeedbackTriggerProps {
|
|
230
255
|
children: ReactElement<{ onPress?: (...args: unknown[]) => void }>;
|
|
231
256
|
}
|
|
232
257
|
|
|
233
258
|
/** Wraps its child and opens the dialog on press. */
|
|
234
|
-
function
|
|
235
|
-
const { setOpen } =
|
|
259
|
+
function FeedbackTrigger({ children }: FeedbackTriggerProps) {
|
|
260
|
+
const { setOpen } = useFeedback('Feedback.Trigger');
|
|
236
261
|
if (!isValidElement(children)) return children;
|
|
237
262
|
return (
|
|
238
263
|
<Pressable onPress={() => setOpen(true)}>
|
|
@@ -240,9 +265,9 @@ function FeedbackDialogTrigger({ children }: FeedbackDialogTriggerProps) {
|
|
|
240
265
|
</Pressable>
|
|
241
266
|
);
|
|
242
267
|
}
|
|
243
|
-
|
|
268
|
+
FeedbackTrigger.displayName = 'Feedback.Trigger';
|
|
244
269
|
|
|
245
|
-
export interface
|
|
270
|
+
export interface FeedbackContentProps extends ViewProps {
|
|
246
271
|
className?: string;
|
|
247
272
|
/** Whether tapping outside or pressing back closes it. */
|
|
248
273
|
dismissible?: boolean;
|
|
@@ -252,16 +277,16 @@ export interface FeedbackDialogContentProps extends ViewProps {
|
|
|
252
277
|
}
|
|
253
278
|
|
|
254
279
|
/** The shell: the recessed band, and everything laid in it. */
|
|
255
|
-
function
|
|
280
|
+
function FeedbackContent({
|
|
256
281
|
className,
|
|
257
282
|
dismissible = true,
|
|
258
283
|
blur = false,
|
|
259
284
|
children,
|
|
260
285
|
...props
|
|
261
|
-
}:
|
|
262
|
-
const context =
|
|
286
|
+
}: FeedbackContentProps) {
|
|
287
|
+
const context = useFeedback('Feedback.Content');
|
|
263
288
|
const { open, setOpen } = context;
|
|
264
|
-
const slots =
|
|
289
|
+
const slots = feedbackVariants();
|
|
265
290
|
|
|
266
291
|
useBackHandler(open && dismissible, () => setOpen(false));
|
|
267
292
|
|
|
@@ -271,7 +296,7 @@ function FeedbackDialogContent({
|
|
|
271
296
|
<ModalPortal>
|
|
272
297
|
{/* Portal content mounts under PortalHost, outside this provider's
|
|
273
298
|
subtree — re-provide the context so Close and Submit keep working. */}
|
|
274
|
-
<
|
|
299
|
+
<FeedbackContext.Provider value={context}>
|
|
275
300
|
<Animated.View
|
|
276
301
|
entering={FadeIn.duration(150)}
|
|
277
302
|
exiting={FadeOut.duration(150)}
|
|
@@ -303,21 +328,21 @@ function FeedbackDialogContent({
|
|
|
303
328
|
</Animated.View>
|
|
304
329
|
</KeyboardAvoider>
|
|
305
330
|
</Animated.View>
|
|
306
|
-
</
|
|
331
|
+
</FeedbackContext.Provider>
|
|
307
332
|
</ModalPortal>
|
|
308
333
|
);
|
|
309
334
|
}
|
|
310
|
-
|
|
335
|
+
FeedbackContent.displayName = 'Feedback.Content';
|
|
311
336
|
|
|
312
|
-
export interface
|
|
337
|
+
export interface FeedbackPanelProps extends ViewProps {
|
|
313
338
|
className?: string;
|
|
314
339
|
children?: ReactNode;
|
|
315
340
|
}
|
|
316
341
|
|
|
317
342
|
/** The well set into the shell: the title, the ✕ and the field. */
|
|
318
|
-
const
|
|
343
|
+
const FeedbackPanel = forwardRef<View, FeedbackPanelProps>(
|
|
319
344
|
({ className, children, ...props }, ref) => {
|
|
320
|
-
const slots =
|
|
345
|
+
const slots = feedbackVariants();
|
|
321
346
|
return (
|
|
322
347
|
<View
|
|
323
348
|
ref={ref}
|
|
@@ -330,17 +355,17 @@ const FeedbackDialogPanel = forwardRef<View, FeedbackDialogPanelProps>(
|
|
|
330
355
|
);
|
|
331
356
|
}
|
|
332
357
|
);
|
|
333
|
-
|
|
358
|
+
FeedbackPanel.displayName = 'Feedback.Panel';
|
|
334
359
|
|
|
335
|
-
const
|
|
360
|
+
const FeedbackTitle = forwardRef<React.ElementRef<typeof Text>, TextProps>(
|
|
336
361
|
({ className, ...props }, ref) => {
|
|
337
|
-
const slots =
|
|
362
|
+
const slots = feedbackVariants();
|
|
338
363
|
return <Text ref={ref} className={slots.title({ className })} {...props} />;
|
|
339
364
|
}
|
|
340
365
|
);
|
|
341
|
-
|
|
366
|
+
FeedbackTitle.displayName = 'Feedback.Title';
|
|
342
367
|
|
|
343
|
-
export interface
|
|
368
|
+
export interface FeedbackCloseProps extends ViewProps {
|
|
344
369
|
className?: string;
|
|
345
370
|
/** How the ✕ announces itself. */
|
|
346
371
|
label?: string;
|
|
@@ -349,14 +374,14 @@ export interface FeedbackDialogCloseProps extends ViewProps {
|
|
|
349
374
|
}
|
|
350
375
|
|
|
351
376
|
/** The ✕ in the panel's corner. */
|
|
352
|
-
function
|
|
377
|
+
function FeedbackClose({
|
|
353
378
|
className,
|
|
354
379
|
label = 'Close',
|
|
355
380
|
onPress,
|
|
356
381
|
...props
|
|
357
|
-
}:
|
|
358
|
-
const { setOpen } =
|
|
359
|
-
const slots =
|
|
382
|
+
}: FeedbackCloseProps) {
|
|
383
|
+
const { setOpen } = useFeedback('Feedback.Close');
|
|
384
|
+
const slots = feedbackVariants();
|
|
360
385
|
return (
|
|
361
386
|
<AnimatedPressable
|
|
362
387
|
accessibilityRole="button"
|
|
@@ -373,9 +398,9 @@ function FeedbackDialogClose({
|
|
|
373
398
|
</AnimatedPressable>
|
|
374
399
|
);
|
|
375
400
|
}
|
|
376
|
-
|
|
401
|
+
FeedbackClose.displayName = 'Feedback.Close';
|
|
377
402
|
|
|
378
|
-
export interface
|
|
403
|
+
export interface FeedbackFieldProps
|
|
379
404
|
extends Omit<TextInputProps, 'value' | 'onChangeText'> {
|
|
380
405
|
className?: string;
|
|
381
406
|
/** The message. Leave unset to let the dialog hold it. */
|
|
@@ -395,7 +420,7 @@ export interface FeedbackDialogFieldProps
|
|
|
395
420
|
* accent there, and a field that overrides it is a field that looks like it
|
|
396
421
|
* belongs to a different phone.
|
|
397
422
|
*/
|
|
398
|
-
const
|
|
423
|
+
const FeedbackField = forwardRef<TextInput, FeedbackFieldProps>(
|
|
399
424
|
(
|
|
400
425
|
{
|
|
401
426
|
className,
|
|
@@ -408,8 +433,8 @@ const FeedbackDialogField = forwardRef<TextInput, FeedbackDialogFieldProps>(
|
|
|
408
433
|
},
|
|
409
434
|
ref
|
|
410
435
|
) => {
|
|
411
|
-
const dialog =
|
|
412
|
-
const slots =
|
|
436
|
+
const dialog = useFeedback('Feedback.Field');
|
|
437
|
+
const slots = feedbackVariants();
|
|
413
438
|
const text = value ?? dialog.value;
|
|
414
439
|
|
|
415
440
|
return (
|
|
@@ -430,17 +455,17 @@ const FeedbackDialogField = forwardRef<TextInput, FeedbackDialogFieldProps>(
|
|
|
430
455
|
);
|
|
431
456
|
}
|
|
432
457
|
);
|
|
433
|
-
|
|
458
|
+
FeedbackField.displayName = 'Feedback.Field';
|
|
434
459
|
|
|
435
|
-
export interface
|
|
460
|
+
export interface FeedbackFooterProps extends ViewProps {
|
|
436
461
|
className?: string;
|
|
437
462
|
children?: ReactNode;
|
|
438
463
|
}
|
|
439
464
|
|
|
440
465
|
/** The action row, in the band under the panel. */
|
|
441
|
-
const
|
|
466
|
+
const FeedbackFooter = forwardRef<View, FeedbackFooterProps>(
|
|
442
467
|
({ className, children, style, ...props }, ref) => {
|
|
443
|
-
const slots =
|
|
468
|
+
const slots = feedbackVariants();
|
|
444
469
|
return (
|
|
445
470
|
<View
|
|
446
471
|
ref={ref}
|
|
@@ -453,9 +478,9 @@ const FeedbackDialogFooter = forwardRef<View, FeedbackDialogFooterProps>(
|
|
|
453
478
|
);
|
|
454
479
|
}
|
|
455
480
|
);
|
|
456
|
-
|
|
481
|
+
FeedbackFooter.displayName = 'Feedback.Footer';
|
|
457
482
|
|
|
458
|
-
export interface
|
|
483
|
+
export interface FeedbackActionProps extends ViewProps {
|
|
459
484
|
className?: string;
|
|
460
485
|
labelClassName?: string;
|
|
461
486
|
disabled?: boolean;
|
|
@@ -472,8 +497,8 @@ function Action({
|
|
|
472
497
|
onPress,
|
|
473
498
|
children,
|
|
474
499
|
...props
|
|
475
|
-
}:
|
|
476
|
-
const slots =
|
|
500
|
+
}: FeedbackActionProps & { tone: 'cancel' | 'submit' }) {
|
|
501
|
+
const slots = feedbackVariants({ tone, disabled: !!disabled });
|
|
477
502
|
return (
|
|
478
503
|
<AnimatedPressable
|
|
479
504
|
accessibilityRole="button"
|
|
@@ -493,21 +518,21 @@ function Action({
|
|
|
493
518
|
}
|
|
494
519
|
|
|
495
520
|
/** Discards and closes. Give it `onPress` to do something else first. */
|
|
496
|
-
function
|
|
521
|
+
function FeedbackCancel({
|
|
497
522
|
children = 'Cancel',
|
|
498
523
|
onPress,
|
|
499
524
|
...props
|
|
500
|
-
}:
|
|
501
|
-
const { setOpen } =
|
|
525
|
+
}: FeedbackActionProps) {
|
|
526
|
+
const { setOpen } = useFeedback('Feedback.Cancel');
|
|
502
527
|
return (
|
|
503
528
|
<Action tone="cancel" onPress={onPress ?? (() => setOpen(false))} {...props}>
|
|
504
529
|
{children}
|
|
505
530
|
</Action>
|
|
506
531
|
);
|
|
507
532
|
}
|
|
508
|
-
|
|
533
|
+
FeedbackCancel.displayName = 'Feedback.Cancel';
|
|
509
534
|
|
|
510
|
-
export interface
|
|
535
|
+
export interface FeedbackSubmitProps extends FeedbackActionProps {
|
|
511
536
|
/**
|
|
512
537
|
* Hand the message to the caller. The dialog does not close itself here —
|
|
513
538
|
* sending usually has to finish first, and a dialog that closed on the press
|
|
@@ -517,14 +542,14 @@ export interface FeedbackDialogSubmitProps extends FeedbackDialogActionProps {
|
|
|
517
542
|
}
|
|
518
543
|
|
|
519
544
|
/** Sends. Inert while the field is empty. */
|
|
520
|
-
function
|
|
545
|
+
function FeedbackSubmit({
|
|
521
546
|
children = 'Submit',
|
|
522
547
|
disabled,
|
|
523
548
|
onPress,
|
|
524
549
|
onSubmit,
|
|
525
550
|
...props
|
|
526
|
-
}:
|
|
527
|
-
const { value } =
|
|
551
|
+
}: FeedbackSubmitProps) {
|
|
552
|
+
const { value } = useFeedback('Feedback.Submit');
|
|
528
553
|
// Empty feedback is worse than none: it is sent by somebody who believes
|
|
529
554
|
// they said something.
|
|
530
555
|
const empty = value.trim().length === 0;
|
|
@@ -542,16 +567,16 @@ function FeedbackDialogSubmit({
|
|
|
542
567
|
</Action>
|
|
543
568
|
);
|
|
544
569
|
}
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
export const
|
|
548
|
-
Trigger:
|
|
549
|
-
Content:
|
|
550
|
-
Panel:
|
|
551
|
-
Title:
|
|
552
|
-
Close:
|
|
553
|
-
Field:
|
|
554
|
-
Footer:
|
|
555
|
-
Cancel:
|
|
556
|
-
Submit:
|
|
570
|
+
FeedbackSubmit.displayName = 'Feedback.Submit';
|
|
571
|
+
|
|
572
|
+
export const Feedback = Object.assign(FeedbackRoot, {
|
|
573
|
+
Trigger: FeedbackTrigger,
|
|
574
|
+
Content: FeedbackContent,
|
|
575
|
+
Panel: FeedbackPanel,
|
|
576
|
+
Title: FeedbackTitle,
|
|
577
|
+
Close: FeedbackClose,
|
|
578
|
+
Field: FeedbackField,
|
|
579
|
+
Footer: FeedbackFooter,
|
|
580
|
+
Cancel: FeedbackCancel,
|
|
581
|
+
Submit: FeedbackSubmit,
|
|
557
582
|
});
|
|
@@ -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
|
|
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
|
-
*
|
|
214
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(() => {
|
package/src/index.ts
CHANGED
|
@@ -187,16 +187,16 @@ export {
|
|
|
187
187
|
type DialogContentProps,
|
|
188
188
|
} from './components/dialog';
|
|
189
189
|
export {
|
|
190
|
-
|
|
191
|
-
type
|
|
192
|
-
type
|
|
193
|
-
type
|
|
194
|
-
type
|
|
195
|
-
type
|
|
196
|
-
type
|
|
197
|
-
type
|
|
198
|
-
type
|
|
199
|
-
} from './components/feedback
|
|
190
|
+
Feedback,
|
|
191
|
+
type FeedbackProps,
|
|
192
|
+
type FeedbackContentProps,
|
|
193
|
+
type FeedbackPanelProps,
|
|
194
|
+
type FeedbackCloseProps,
|
|
195
|
+
type FeedbackFieldProps,
|
|
196
|
+
type FeedbackFooterProps,
|
|
197
|
+
type FeedbackActionProps,
|
|
198
|
+
type FeedbackSubmitProps,
|
|
199
|
+
} from './components/feedback';
|
|
200
200
|
export {
|
|
201
201
|
Soundwave,
|
|
202
202
|
type SoundwaveProps,
|
|
@@ -1 +0,0 @@
|
|
|
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","feedbackDialogVariants","slots","shell","recess","panel","title","close","field","footer","action","actionLabel","variants","tone","cancel","submit","disabled","true","FeedbackDialogContext","useFeedbackDialog","component","context","Error","FeedbackDialogRoot","children","open","onOpenChange","defaultOpen","value","defaultValue","onValueChange","internalOpen","setInternalOpen","openControlled","undefined","resolvedOpen","internalValue","setInternalValue","valueControlled","resolvedValue","setOpen","next","setValue","Provider","displayName","FeedbackDialogTrigger","onPress","pointerEvents","FeedbackDialogContent","className","dismissible","blur","props","entering","duration","exiting","accessibilityLabel","mode","offset","springify","damping","stiffness","mass","accessibilityViewIsModal","style","borderRadius","padding","FeedbackDialogPanel","ref","FeedbackDialogTitle","FeedbackDialogClose","label","accessibilityRole","hitSlop","pressScale","pressOpacity","top","right","width","height","size","FeedbackDialogField","onChangeText","minHeight","placeholder","dialog","text","multiline","textAlignVertical","FeedbackDialogFooter","marginTop","marginHorizontal","Action","labelClassName","accessibilityState","FeedbackDialogCancel","FeedbackDialogSubmit","onSubmit","empty","trim","length","FeedbackDialog","Object","assign","Trigger","Content","Panel","Title","Close","Field","Footer","Cancel","Submit"],"sourceRoot":"../../../../src","sources":["components/feedback-dialog/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback-dialog/index.tsx"],"names":[],"mappings":"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"}
|