react-native-divkit 1.7.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +17 -16
  2. package/dist/DivKit.d.ts.map +1 -1
  3. package/dist/DivKit.js +109 -1
  4. package/dist/DivKit.js.map +1 -1
  5. package/dist/components/pager/utils.d.ts.map +1 -1
  6. package/dist/components/pager/utils.js +17 -4
  7. package/dist/components/pager/utils.js.map +1 -1
  8. package/dist/components/state/DivState.d.ts +11 -12
  9. package/dist/components/state/DivState.d.ts.map +1 -1
  10. package/dist/components/state/DivState.js +263 -35
  11. package/dist/components/state/DivState.js.map +1 -1
  12. package/dist/components/utilities/Background.d.ts.map +1 -1
  13. package/dist/components/utilities/Background.js +4 -3
  14. package/dist/components/utilities/Background.js.map +1 -1
  15. package/dist/components/utilities/Outer.d.ts.map +1 -1
  16. package/dist/components/utilities/Outer.js +172 -76
  17. package/dist/components/utilities/Outer.js.map +1 -1
  18. package/dist/context/DivStateScopeContext.d.ts +18 -0
  19. package/dist/context/DivStateScopeContext.d.ts.map +1 -0
  20. package/dist/context/DivStateScopeContext.js +7 -0
  21. package/dist/context/DivStateScopeContext.js.map +1 -0
  22. package/dist/hooks/useAppearanceTransition.d.ts +86 -0
  23. package/dist/hooks/useAppearanceTransition.d.ts.map +1 -0
  24. package/dist/hooks/useAppearanceTransition.js +490 -0
  25. package/dist/hooks/useAppearanceTransition.js.map +1 -0
  26. package/dist/hooks/useChangeBoundsTransition.d.ts +46 -0
  27. package/dist/hooks/useChangeBoundsTransition.d.ts.map +1 -0
  28. package/dist/hooks/useChangeBoundsTransition.js +151 -0
  29. package/dist/hooks/useChangeBoundsTransition.js.map +1 -0
  30. package/dist/utils/configureChangeBoundsLayout.d.ts +11 -0
  31. package/dist/utils/configureChangeBoundsLayout.d.ts.map +1 -0
  32. package/dist/utils/configureChangeBoundsLayout.js +65 -0
  33. package/dist/utils/configureChangeBoundsLayout.js.map +1 -0
  34. package/dist/utils/flattenTransition.d.ts +5 -0
  35. package/dist/utils/flattenTransition.d.ts.map +1 -0
  36. package/dist/utils/flattenTransition.js +27 -0
  37. package/dist/utils/flattenTransition.js.map +1 -0
  38. package/package.json +2 -1
  39. package/src/DivKit.tsx +125 -2
  40. package/src/components/pager/utils.ts +18 -4
  41. package/src/components/state/DivState.tsx +308 -39
  42. package/src/components/utilities/Background.tsx +4 -3
  43. package/src/components/utilities/Outer.tsx +188 -73
  44. package/src/context/DivStateScopeContext.tsx +23 -0
  45. package/src/hooks/useAppearanceTransition.ts +621 -0
  46. package/src/hooks/useChangeBoundsTransition.ts +193 -0
  47. package/src/utils/configureChangeBoundsLayout.ts +74 -0
  48. package/src/utils/flattenTransition.ts +36 -0
@@ -1,11 +1,15 @@
1
- import React, { useMemo, useRef, useCallback } from 'react';
1
+ import React, { useMemo, useRef, useCallback, useState } from 'react';
2
2
  import { View, Pressable, Animated, StyleSheet, Easing } from 'react-native';
3
3
  import { useDerivedFromVarsSimple } from '../../hooks/useDerivedFromVars';
4
4
  import { useActionHandler, useHasActions } from '../../hooks/useAction';
5
+ import { useAppearanceTransition } from '../../hooks/useAppearanceTransition';
6
+ import { useChangeBoundsTransition } from '../../hooks/useChangeBoundsTransition';
5
7
  import { useDivKitContext } from '../../context/DivKitContext';
6
8
  import { useLayoutParams } from '../../context/LayoutParamsContext';
9
+ import { useDivStateScopeOptional } from '../../context/DivStateScopeContext';
7
10
  import { Background } from './Background';
8
11
  import { flattenAnimation } from '../../utils/flattenAnimation';
12
+ import { configureChangeBoundsLayout } from '../../utils/configureChangeBoundsLayout';
9
13
  function resolveAlignSelf(alignment, dir) {
10
14
  if (!alignment)
11
15
  return undefined;
@@ -143,19 +147,68 @@ export function Outer({ componentContext, children, style: customStyle }) {
143
147
  }
144
148
  Animated.parallel(anims).start();
145
149
  }, [parsedAnimations, animOpacity, animScale]);
146
- // Early return for gone visibility
147
- if (visibility === 'gone') {
148
- return null;
149
- }
150
+ // Appearance transitions (transition_in / transition_out) and change_bounds (transition_change)
151
+ const transitionIn = json.transition_in;
152
+ const transitionOut = json.transition_out;
153
+ const transitionChange = json.transition_change;
154
+ const hasAppearanceTransitions = Boolean(transitionIn || transitionOut);
155
+ const stateScope = useDivStateScopeOptional();
156
+ const insideDivState = Boolean(stateScope);
157
+ // For neighbors: when WE appear/collapse, queue a coarse LayoutAnimation so they reflow smoothly.
158
+ const triggerChangeBoundsForNeighbors = useCallback(() => {
159
+ configureChangeBoundsLayout(transitionChange);
160
+ }, [transitionChange]);
161
+ // FLIP-based bounds animation for THIS element: tracks layout deltas and animates via
162
+ // transform (translate+scale) so the spec's interpolator/cubic-bezier actually applies.
163
+ const bounds = useChangeBoundsTransition({
164
+ transitionChange
165
+ });
166
+ // Measured size for off-center pivot scale (translate-scale-translate emulation).
167
+ // We reuse the same onLayout for both FLIP and pivot calculations.
168
+ const [layoutSize, setLayoutSize] = useState(null);
169
+ const onLayoutMeasure = useCallback((e) => {
170
+ const { width, height } = e.nativeEvent.layout;
171
+ setLayoutSize(prev => {
172
+ if (prev && prev.width === width && prev.height === height)
173
+ return prev;
174
+ return { width, height };
175
+ });
176
+ bounds.onLayout(e);
177
+ }, [bounds]);
178
+ // Whether this element lives inside a DivState. If so, on state-change DivState will call
179
+ // our playOut (via the scope context) and await it before swapping children. In that mode we
180
+ // disable the visibility-driven first-mount transition_in (DivState will trigger playIn on
181
+ // the new children automatically through their mount-effect with auto-in mode).
182
+ const appearance = useAppearanceTransition({
183
+ visibility: visibility,
184
+ transitionIn,
185
+ transitionOut,
186
+ enabled: hasAppearanceTransitions,
187
+ mode: insideDivState ? 'auto-in' : 'visibility',
188
+ onBeforeCollapse: triggerChangeBoundsForNeighbors,
189
+ onBeforeExpand: triggerChangeBoundsForNeighbors,
190
+ layoutWidth: layoutSize?.width,
191
+ layoutHeight: layoutSize?.height,
192
+ });
193
+ // Register transition_out player with the enclosing DivState scope so it can play before unmount.
194
+ React.useEffect(() => {
195
+ if (!stateScope || !appearance.hasTransitionOut)
196
+ return;
197
+ return stateScope.registerTransitionOutPlayer(appearance.playOut);
198
+ }, [stateScope, appearance.hasTransitionOut, appearance.playOut]);
150
199
  // Build styles
151
200
  const containerStyle = useMemo(() => {
152
201
  const styles = {};
153
202
  // Visibility (invisible = opacity 0, but still takes space)
154
- if (visibility === 'invisible') {
155
- styles.opacity = 0;
156
- }
157
- else if (typeof alpha === 'number' && alpha !== 1) {
158
- styles.opacity = Math.max(0, Math.min(1, alpha));
203
+ // When appearance transitions are present, opacity is driven by Animated values below,
204
+ // not by static styles otherwise the static value would override animation.
205
+ if (!hasAppearanceTransitions) {
206
+ if (visibility === 'invisible') {
207
+ styles.opacity = 0;
208
+ }
209
+ else if (typeof alpha === 'number' && alpha !== 1) {
210
+ styles.opacity = Math.max(0, Math.min(1, alpha));
211
+ }
159
212
  }
160
213
  // Resolve effective alignment (explicit > parent fallback > 'start')
161
214
  const effectiveHAlign = resolveAlignSelf(alignmentHorizontal, direction)
@@ -389,7 +442,7 @@ export function Outer({ componentContext, children, style: customStyle }) {
389
442
  }
390
443
  }
391
444
  return styles;
392
- }, [visibility, alpha, width, height, paddings, margins, background, border, direction, layoutParams, alignmentHorizontal, alignmentVertical]);
445
+ }, [visibility, alpha, width, height, paddings, margins, background, border, direction, layoutParams, alignmentHorizontal, alignmentVertical, hasAppearanceTransitions]);
393
446
  const finalStyle = useMemo(() => {
394
447
  return StyleSheet.flatten([containerStyle, customStyle]);
395
448
  }, [containerStyle, customStyle]);
@@ -408,75 +461,118 @@ export function Outer({ componentContext, children, style: customStyle }) {
408
461
  res.borderBottomRightRadius = s.borderBottomRightRadius;
409
462
  return res;
410
463
  }, [finalStyle]);
411
- // Render with actions and animation
412
- if (hasActions) {
413
- const hasAnimation = parsedAnimations.length > 0;
414
- if (hasAnimation) {
415
- // Split finalStyle into outer (layout) and inner (visual) styles
416
- // Margins must be on Pressable to affect parent layout
417
- const { alignSelf, flexGrow, flexShrink, flexBasis, width: w, height: h, minWidth, maxWidth, minHeight, maxHeight, marginTop, marginBottom, marginLeft, marginRight, ...innerStyle } = (finalStyle || {});
418
- const outerStyle = {};
419
- if (alignSelf !== undefined)
420
- outerStyle.alignSelf = alignSelf;
421
- if (flexGrow !== undefined)
422
- outerStyle.flexGrow = flexGrow;
423
- if (flexShrink !== undefined)
424
- outerStyle.flexShrink = flexShrink;
425
- if (flexBasis !== undefined)
426
- outerStyle.flexBasis = flexBasis;
427
- if (w !== undefined)
428
- outerStyle.width = w;
429
- if (h !== undefined)
430
- outerStyle.height = h;
431
- if (minWidth !== undefined)
432
- outerStyle.minWidth = minWidth;
433
- if (maxWidth !== undefined)
434
- outerStyle.maxWidth = maxWidth;
435
- if (minHeight !== undefined)
436
- outerStyle.minHeight = minHeight;
437
- if (maxHeight !== undefined)
438
- outerStyle.maxHeight = maxHeight;
439
- if (marginTop !== undefined)
440
- outerStyle.marginTop = marginTop;
441
- if (marginBottom !== undefined)
442
- outerStyle.marginBottom = marginBottom;
443
- if (marginLeft !== undefined)
444
- outerStyle.marginLeft = marginLeft;
445
- if (marginRight !== undefined)
446
- outerStyle.marginRight = marginRight;
447
- // Build animated style from inner (visual) properties
448
- const shouldFillInner = w !== undefined ||
449
- h !== undefined ||
450
- minWidth !== undefined ||
451
- maxWidth !== undefined ||
452
- minHeight !== undefined ||
453
- maxHeight !== undefined ||
454
- flexGrow !== undefined ||
455
- flexShrink !== undefined ||
456
- flexBasis !== undefined;
457
- const animatedStyle = shouldFillInner
458
- ? { ...innerStyle, flex: 1 }
459
- : { ...innerStyle };
460
- if (hasFadeAnimation) {
461
- const staticOpacity = animatedStyle.opacity;
462
- if (staticOpacity !== undefined && staticOpacity !== 1) {
463
- animatedStyle.opacity = Animated.multiply(animOpacity, staticOpacity);
464
- }
465
- else {
466
- animatedStyle.opacity = animOpacity;
467
- }
464
+ // Collapsed via appearance transitions (or static 'gone' without transitions) — render nothing
465
+ if (appearance.collapsed) {
466
+ return null;
467
+ }
468
+ if (!hasAppearanceTransitions && visibility === 'gone') {
469
+ return null;
470
+ }
471
+ const hasActionAnim = parsedAnimations.length > 0;
472
+ const hasTransitionChange = Boolean(transitionChange);
473
+ const needsAnimatedWrapper = hasActionAnim || hasAppearanceTransitions || hasTransitionChange;
474
+ if (needsAnimatedWrapper) {
475
+ // Split finalStyle into outer (layout) and inner (visual) styles.
476
+ // Margins/sizing/alignSelf live on the wrapper that participates in parent layout (Pressable or outer View),
477
+ // visual styles go inside Animated.View.
478
+ const { alignSelf, flexGrow, flexShrink, flexBasis, width: w, height: h, minWidth, maxWidth, minHeight, maxHeight, marginTop, marginBottom, marginLeft, marginRight, ...innerStyle } = (finalStyle || {});
479
+ const outerStyle = {};
480
+ if (alignSelf !== undefined)
481
+ outerStyle.alignSelf = alignSelf;
482
+ if (flexGrow !== undefined)
483
+ outerStyle.flexGrow = flexGrow;
484
+ if (flexShrink !== undefined)
485
+ outerStyle.flexShrink = flexShrink;
486
+ if (flexBasis !== undefined)
487
+ outerStyle.flexBasis = flexBasis;
488
+ if (w !== undefined)
489
+ outerStyle.width = w;
490
+ if (h !== undefined)
491
+ outerStyle.height = h;
492
+ if (minWidth !== undefined)
493
+ outerStyle.minWidth = minWidth;
494
+ if (maxWidth !== undefined)
495
+ outerStyle.maxWidth = maxWidth;
496
+ if (minHeight !== undefined)
497
+ outerStyle.minHeight = minHeight;
498
+ if (maxHeight !== undefined)
499
+ outerStyle.maxHeight = maxHeight;
500
+ if (marginTop !== undefined)
501
+ outerStyle.marginTop = marginTop;
502
+ if (marginBottom !== undefined)
503
+ outerStyle.marginBottom = marginBottom;
504
+ if (marginLeft !== undefined)
505
+ outerStyle.marginLeft = marginLeft;
506
+ if (marginRight !== undefined)
507
+ outerStyle.marginRight = marginRight;
508
+ const shouldFillInner = w !== undefined ||
509
+ h !== undefined ||
510
+ minWidth !== undefined ||
511
+ maxWidth !== undefined ||
512
+ minHeight !== undefined ||
513
+ maxHeight !== undefined ||
514
+ flexGrow !== undefined ||
515
+ flexShrink !== undefined ||
516
+ flexBasis !== undefined;
517
+ const animatedStyle = shouldFillInner
518
+ ? { ...innerStyle, flex: 1 }
519
+ : { ...innerStyle };
520
+ // Compose opacity chain: static * action_animation * appearance_transition
521
+ let opacityChain = undefined;
522
+ const staticOpacity = animatedStyle.opacity;
523
+ if (staticOpacity !== undefined && staticOpacity !== 1) {
524
+ opacityChain = staticOpacity;
525
+ }
526
+ if (hasActionAnim && hasFadeAnimation) {
527
+ opacityChain = opacityChain !== undefined
528
+ ? Animated.multiply(animOpacity, opacityChain)
529
+ : animOpacity;
530
+ }
531
+ if (hasAppearanceTransitions) {
532
+ opacityChain = opacityChain !== undefined
533
+ ? Animated.multiply(appearance.opacity, opacityChain)
534
+ : appearance.opacity;
535
+ }
536
+ if (opacityChain !== undefined) {
537
+ animatedStyle.opacity = opacityChain;
538
+ }
539
+ // Compose transform array. Order matters: in RN transforms apply right-to-left
540
+ // (the LAST element is applied first to the point, then earlier ones).
541
+ // We want FLIP (bounds) to wrap everything → put it FIRST (so it applies last on top
542
+ // of action_animation/appearance). Static transforms from style come first too.
543
+ const transforms = animatedStyle.transform ? [...animatedStyle.transform] : [];
544
+ if (hasTransitionChange && bounds.transform.length > 0) {
545
+ for (const t of bounds.transform) {
546
+ transforms.push(t);
468
547
  }
469
- if (hasScaleAnimation) {
470
- const existingTransform = animatedStyle.transform || [];
471
- animatedStyle.transform = [...existingTransform, { scale: animScale }];
548
+ }
549
+ if (hasActionAnim && hasScaleAnimation) {
550
+ transforms.push({ scale: animScale });
551
+ }
552
+ if (hasAppearanceTransitions && appearance.transform.length > 0) {
553
+ for (const t of appearance.transform) {
554
+ transforms.push(t);
472
555
  }
473
- return (<Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut} style={outerStyle} testID={testID}>
474
- <Animated.View style={animatedStyle}>
475
- <Background layers={background} style={borderStyle}/>
476
- {children}
477
- </Animated.View>
556
+ }
557
+ if (transforms.length > 0) {
558
+ animatedStyle.transform = transforms;
559
+ }
560
+ const innerNeedsOnLayout = hasAppearanceTransitions && !hasTransitionChange;
561
+ const outerNeedsOnLayout = hasTransitionChange;
562
+ const content = (<Animated.View style={animatedStyle} onLayout={innerNeedsOnLayout ? onLayoutMeasure : undefined}>
563
+ <Background layers={background} style={borderStyle}/>
564
+ {children}
565
+ </Animated.View>);
566
+ if (hasActions) {
567
+ return (<Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut} style={outerStyle} onLayout={outerNeedsOnLayout ? onLayoutMeasure : undefined} testID={testID}>
568
+ {content}
478
569
  </Pressable>);
479
570
  }
571
+ return (<View style={outerStyle} onLayout={outerNeedsOnLayout ? onLayoutMeasure : undefined} testID={testID}>
572
+ {content}
573
+ </View>);
574
+ }
575
+ if (hasActions) {
480
576
  return (<Pressable onPress={handlePress} style={finalStyle} testID={testID}>
481
577
  <Background layers={background} style={borderStyle}/>
482
578
  {children}
@@ -1 +1 @@
1
- {"version":3,"file":"Outer.js","sourceRoot":"","sources":["../../../src/components/utilities/Outer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Outer.js","sourceRoot":"","sources":["../../../src/components/utilities/Outer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Scoped context provided by a single DivState wrapping its currently-rendered children.
3
+ *
4
+ * Allows children that declare `transition_out` (via Outer + useAppearanceTransition) to
5
+ * register a playOut callback so that DivState can await all of them in parallel
6
+ * before swapping to a new state. Analogous to Web's stateCtx.registerChildWithTransitionOut.
7
+ */
8
+ export interface DivStateScopeValue {
9
+ /**
10
+ * Register a child's transition_out player.
11
+ * Returns an unregister callback (call from cleanup).
12
+ */
13
+ registerTransitionOutPlayer(play: () => Promise<void>): () => void;
14
+ }
15
+ export declare const DivStateScopeContext: import("react").Context<DivStateScopeValue | null>;
16
+ /** Get the nearest DivState scope, or null if outside any DivState. */
17
+ export declare function useDivStateScopeOptional(): DivStateScopeValue | null;
18
+ //# sourceMappingURL=DivStateScopeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DivStateScopeContext.d.ts","sourceRoot":"","sources":["../../src/context/DivStateScopeContext.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,2BAA2B,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CACtE;AAED,eAAO,MAAM,oBAAoB,oDAAiD,CAAC;AAEnF,uEAAuE;AACvE,wBAAgB,wBAAwB,IAAI,kBAAkB,GAAG,IAAI,CAEpE"}
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DivStateScopeContext = createContext(null);
3
+ /** Get the nearest DivState scope, or null if outside any DivState. */
4
+ export function useDivStateScopeOptional() {
5
+ return useContext(DivStateScopeContext);
6
+ }
7
+ //# sourceMappingURL=DivStateScopeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DivStateScopeContext.js","sourceRoot":"","sources":["../../src/context/DivStateScopeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAiBlD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAEnF,uEAAuE;AACvE,MAAM,UAAU,wBAAwB;IACpC,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { Animated } from 'react-native';
2
+ import type { MaybeMissing } from '../expressions/json';
3
+ import type { AppearanceTransition, Visibility } from '../types/base';
4
+ export interface AppearanceTransitionOptions {
5
+ visibility: Visibility;
6
+ transitionIn?: MaybeMissing<AppearanceTransition>;
7
+ transitionOut?: MaybeMissing<AppearanceTransition>;
8
+ /**
9
+ * When false, transitions are skipped (used during initial mount when visibility starts as 'visible'
10
+ * and you don't want a flicker). Default: true.
11
+ */
12
+ enabled?: boolean;
13
+ /**
14
+ * 'visibility' (default) — transitions are driven by the visibility prop changing.
15
+ * 'imperative' — visibility changes do not auto-play; the consumer must call playOut/playIn.
16
+ * 'auto-in' — like 'imperative' but transition_in is played automatically on first mount.
17
+ */
18
+ mode?: 'visibility' | 'imperative' | 'auto-in';
19
+ /**
20
+ * Called once right before the wrapper collapses layout (target visibility 'gone'
21
+ * and out animation just finished). Use to queue LayoutAnimation for parents.
22
+ */
23
+ onBeforeCollapse?: () => void;
24
+ /**
25
+ * Called once right before the wrapper mounts after being collapsed
26
+ * (visibility goes back to 'visible'). Use to queue LayoutAnimation for parents.
27
+ */
28
+ onBeforeExpand?: () => void;
29
+ /**
30
+ * Measured width of the element (from onLayout). Used to emulate off-center pivot for scale
31
+ * via translate-scale-translate. If absent, scale is applied from the view center (pivot 0.5/0.5).
32
+ */
33
+ layoutWidth?: number;
34
+ /** Measured height of the element. */
35
+ layoutHeight?: number;
36
+ }
37
+ type AnyTransformValue = number | Animated.AnimatedInterpolation<number> | Animated.Value;
38
+ export interface AppearanceTransitionResult {
39
+ /**
40
+ * True while the children should be present in the tree.
41
+ * Goes false only AFTER transition_out completed and target visibility is 'gone'/'invisible'.
42
+ */
43
+ rendered: boolean;
44
+ /** True after transition_out completed; the wrapper should collapse layout (return null). */
45
+ collapsed: boolean;
46
+ /** Animated opacity value (or constant). */
47
+ opacity: Animated.Value | number;
48
+ /**
49
+ * Ready-to-use transform array for Animated.View. Combines slide translate, scale, and
50
+ * pivot translate-scale-translate compensation. Empty array if no transition produces transforms.
51
+ */
52
+ transform: Array<{
53
+ translateX?: AnyTransformValue;
54
+ translateY?: AnyTransformValue;
55
+ scale?: AnyTransformValue;
56
+ }>;
57
+ /**
58
+ * Imperatively play transition_out (without affecting rendered/collapsed state).
59
+ * Resolves when animation finishes (or immediately if no transition_out is specified).
60
+ */
61
+ playOut: () => Promise<void>;
62
+ /**
63
+ * Imperatively reset values to transition_in start, then animate to identity.
64
+ * Resolves when animation finishes (or immediately if no transition_in is specified).
65
+ */
66
+ playIn: () => Promise<void>;
67
+ /** Whether transition_out is specified (helps consumers decide whether to wait for playOut). */
68
+ hasTransitionOut: boolean;
69
+ /** Whether transition_in is specified. */
70
+ hasTransitionIn: boolean;
71
+ }
72
+ /**
73
+ * Hook that drives transition_in / transition_out for an Outer wrapper.
74
+ *
75
+ * - On first mount: NO transition_in is played (matches Web Outer.svelte behavior with
76
+ * isVisibilityInited). Use mode='auto-in' if you do want a first-mount play (DivState
77
+ * uses this for newly-mounted children of a switched state).
78
+ * - On change visible→gone/invisible with a transition_out: animates identity → end values,
79
+ * then collapses.
80
+ * - On change gone/invisible→visible: re-mounts and plays transition_in.
81
+ *
82
+ * Only fade/scale/slide are supported here (AppearanceTransition).
83
+ */
84
+ export declare function useAppearanceTransition(opts: AppearanceTransitionOptions): AppearanceTransitionResult;
85
+ export {};
86
+ //# sourceMappingURL=useAppearanceTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppearanceTransition.d.ts","sourceRoot":"","sources":["../../src/hooks/useAppearanceTransition.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAsC,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAER,oBAAoB,EAIpB,UAAU,EACb,MAAM,eAAe,CAAC;AA2HvB,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAE1F,MAAM,WAAW,0BAA0B;IACvC;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,SAAS,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,OAAO,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,SAAS,EAAE,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAChH;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;OAGG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,2BAA2B,GAClC,0BAA0B,CAsZ5B"}