@xaui/native 0.9.1-alpha.11 → 0.9.1-alpha.13

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 (31) hide show
  1. package/dist/{chunk-7XGOXTGT.js → chunk-4O3PXFQ7.js} +15 -31
  2. package/dist/{chunk-3QBT3Q65.cjs → chunk-6N5JXRUZ.cjs} +26 -3
  3. package/dist/chunk-B3EAZ2CC.js +1010 -0
  4. package/dist/{chunk-2FEDC7U5.cjs → chunk-DDYMIWLW.cjs} +41 -57
  5. package/dist/chunk-IVVFYUDW.cjs +1044 -0
  6. package/dist/{chunk-6OHFG32Y.cjs → chunk-MLJ543GP.cjs} +41 -53
  7. package/dist/{chunk-NQ5WWF77.js → chunk-RWLODK55.js} +35 -47
  8. package/dist/{chunk-X2K2FX3W.js → chunk-XJARE6SC.js} +24 -1
  9. package/dist/components/button/index.cjs +4 -4
  10. package/dist/components/button/index.d.cts +162 -13
  11. package/dist/components/button/index.d.ts +162 -13
  12. package/dist/components/button/index.js +3 -3
  13. package/dist/{create-recipe-Dn9kj5Rs.d.ts → create-recipe-3OPwcC6P.d.ts} +81 -21
  14. package/dist/{create-recipe-BjSP0zL_.d.cts → create-recipe-oiLAlJ4u.d.cts} +81 -21
  15. package/dist/index.cjs +28 -8
  16. package/dist/index.d.cts +2 -2
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.js +32 -12
  19. package/dist/system/index.cjs +24 -4
  20. package/dist/system/index.d.cts +160 -35
  21. package/dist/system/index.d.ts +160 -35
  22. package/dist/system/index.js +31 -11
  23. package/dist/theme/index.cjs +3 -3
  24. package/dist/theme/index.d.cts +19 -8
  25. package/dist/theme/index.d.ts +19 -8
  26. package/dist/theme/index.js +2 -2
  27. package/package.json +1 -1
  28. package/dist/chunk-E2UGZJBT.cjs +0 -959
  29. package/dist/chunk-R4HJCQPI.js +0 -889
  30. /package/dist/{chunk-LMUPNKPH.cjs → chunk-2FOEFUPM.cjs} +0 -0
  31. /package/dist/{chunk-3TIDEII6.js → chunk-TO6DAGFB.js} +0 -0
@@ -38,13 +38,6 @@ type IconContextValue = {
38
38
  color?: string;
39
39
  };
40
40
 
41
- /**
42
- * What the root does under the finger. `scale-highlight` and `scale-ripple` mount their
43
- * overlay themselves; `scale` mounts none, which is what a root picks when it renders its
44
- * own `<PressableFeedback.Highlight>` to style it (R1: no prop reaches into another
45
- * component's insides).
46
- */
47
- type FeedbackVariant = 'scale-highlight' | 'scale-ripple' | 'scale' | 'none';
48
41
  type AnimationConfig = {
49
42
  scale?: boolean;
50
43
  highlight?: boolean;
@@ -77,10 +70,13 @@ type PressableFeedbackProps = Omit<PressableProps, 'style' | 'children' | 'disab
77
70
  * touch feedback of every `asChild` control.
78
71
  */
79
72
  asChild?: boolean;
80
- feedbackVariant?: FeedbackVariant;
81
73
  animation?: AnimationProp;
82
74
  style?: StyleProp<ViewStyle>;
83
75
  /**
76
+ * The overlays are children, not a prop — `<PressableFeedback.Highlight />` or
77
+ * `<PressableFeedback.Ripple />`, in any order: the root paints them under everything
78
+ * else wherever they sit. The scale is the root's own and needs nothing rendered.
79
+ *
84
80
  * `Pressable`'s function form is dropped on purpose. It exists to hand the press state
85
81
  * to children; here the root above already owns that state and this publishes it
86
82
  * through context, so the function form would be a second, quieter source of truth.
@@ -99,29 +95,93 @@ type SlotAnimation = boolean | {
99
95
  /** How far the overlay goes at full press, 0 to 1. */
100
96
  opacity?: number;
101
97
  };
98
+ /** One ripple wave. Two of them, so a rapid double tap does not cut the one in flight. */
99
+ type RippleWave = {
100
+ /** `0 → 1` as the circle opens. */
101
+ expand: SharedValue<number>;
102
+ /** `0 → 1` as the ink arrives, on its own curve. */
103
+ alpha: SharedValue<number>;
104
+ /** Where the finger landed, in the root's coordinates. */
105
+ origin: SharedValue<{
106
+ x: number;
107
+ y: number;
108
+ }>;
109
+ };
110
+ /**
111
+ * The corner keys an overlay copies off the root. The `Left`/`Right` forms are absent
112
+ * rather than forgotten: R13 bans them, because RN mirrors only the logical ones under RTL.
113
+ */
114
+ type RadiusStyle = Pick<ViewStyle, 'borderRadius' | 'borderStartStartRadius' | 'borderStartEndRadius' | 'borderEndStartRadius' | 'borderEndEndRadius'>;
102
115
  type FeedbackContext = {
116
+ /**
117
+ * The overlay's ink, resolved by the root from its own background.
118
+ *
119
+ * A wash or a wave has to contrast with what it sits on, and only the root knows that —
120
+ * it flattens its own `style` and reads `backgroundColor`, then takes the contrasting
121
+ * side the same way a tint does. Black ink at 10% on a saturated fill is close to
122
+ * invisible, which is the one thing a press indicator cannot be.
123
+ */
124
+ ink: string;
125
+ /**
126
+ * The root's own corners, so an overlay rounds itself to match. `corners` and not
127
+ * `radius`: the ripple already has a radius, and it is a length in points rather than a
128
+ * shape.
129
+ *
130
+ * An absolute fill has square corners and every control here is rounded, so without this
131
+ * both the wash and the wave paint outside the surface at each corner. The overlay
132
+ * carries the clip rather than the root: clipping the root would also cut a child that
133
+ * legitimately overflows — a badge on a button's corner — and that child has nothing to
134
+ * do with the press.
135
+ */
136
+ corners: RadiusStyle;
103
137
  isPressed: boolean;
104
138
  animation: ResolvedAnimation;
105
139
  /** Absent on the static branch, where nothing animates and no worklet is mounted. */
106
140
  progress?: SharedValue<number>;
107
- /**
108
- * Bumped on every press-in. The ripple starts from this rather than from a `useEffect`
109
- * on `isPressed`: a one-shot driven by a boolean depends on React re-rendering between
110
- * the two touch events, and starting it from the event that carries the coordinates is
111
- * both simpler and impossible to miss.
112
- */
113
- pressCount?: SharedValue<number>;
114
- /** Where the finger landed, and how big the root is — the ripple needs both. */
115
- origin?: SharedValue<{
116
- x: number;
117
- y: number;
118
- }>;
141
+ /** How big the root is — what the scale coefficient is computed from. */
119
142
  size?: SharedValue<{
120
143
  width: number;
121
144
  height: number;
122
145
  }>;
146
+ /**
147
+ * The two ripple waves, driven by the **root**.
148
+ *
149
+ * They belong to the root because the root is the touch surface. An overlay carrying its
150
+ * own handlers only hears touches that land on *it* — and it is a sibling of the label,
151
+ * not its parent, so pressing the text of a button would do nothing. Touches bubble to
152
+ * the `Pressable`, which is why the handlers live there and the waves are published down.
153
+ */
154
+ waves?: readonly [RippleWave, RippleWave];
123
155
  };
124
156
 
157
+ /**
158
+ * R13 — React Native mirrors a layout under RTL through the Start/End properties and only
159
+ * those. A props API is exactly where someone writes `paddingLeft` without thinking, so
160
+ * the type removes the temptation instead of leaving it to a review.
161
+ */
162
+ type DirectionalStyleKey = 'left' | 'right' | 'paddingLeft' | 'paddingRight' | 'marginLeft' | 'marginRight' | 'borderLeftWidth' | 'borderRightWidth' | 'borderLeftColor' | 'borderRightColor' | 'borderTopLeftRadius' | 'borderTopRightRadius' | 'borderBottomLeftRadius' | 'borderBottomRightRadius';
163
+ /**
164
+ * `pointerEvents` is a style key *and* a `View` prop. R14 says the component's own prop
165
+ * wins, so it stays the prop it has always been and is not exposed twice — the one name
166
+ * where the two vocabularies collide.
167
+ */
168
+ type ComponentOwnedStyleKey = 'pointerEvents';
169
+ /**
170
+ * The style keys of a node, exposed as props (R14). Not a maintained list: it derives
171
+ * from the React Native type, minus what R13 forbids.
172
+ *
173
+ * ```ts
174
+ * type CardProps = ViewStyleProps & { variant?: CardVariant }
175
+ * ```
176
+ */
177
+ type StyleProps<Style> = Omit<Style, DirectionalStyleKey | ComponentOwnedStyleKey>;
178
+ /** A root, or any slot that renders a view. */
179
+ type ViewStyleProps = StyleProps<ViewStyle>;
180
+ /** A text slot — `color`, `fontSize`, `letterSpacing`… */
181
+ type TextStyleProps = StyleProps<TextStyle>;
182
+ /** An image slot — `resizeMode`, `tintColor`… */
183
+ type ImageStyleProps = StyleProps<ImageStyle>;
184
+
125
185
  /**
126
186
  * A slot is a view or a text node, and a recipe writes one object per slot, so the two
127
187
  * RN style shapes are merged rather than discriminated per slot.
@@ -207,4 +267,4 @@ type Recipe<Slot extends string, Variant extends string, A extends Axes<Slot>> =
207
267
  */
208
268
  declare function createRecipe<Slot extends string, Variant extends string, const A extends Axes<Slot>>(config: RecipeConfig<Slot, Variant, A>): Recipe<Slot, Variant, A>;
209
269
 
210
- export { type AnimationConfig as A, type CompoundVariant as C, type FeedbackContext as F, type IconComponentProps as I, type PressableFeedbackProps as P, type ResolvedAnimation as R, type SlotAnimation as S, type TintArgs as T, type VariantColors as V, type IconContextValue as a, type IconProps as b, type AnimationProp as c, type FeedbackVariant as d, createRecipe as e, type Recipe as f, type ResolveArgs as g, type Axes as h, type RecipeConfig as i, type ResolvedSelection as j, type ResolvedStyles as k, type Selection as l, type SlotStyle as m, type SlotStyles as n, type StateName as o, type States as p, type StyleFn as q, type VariantRole as r, type VariantTokens as s };
270
+ export { type AnimationConfig as A, type CompoundVariant as C, type DirectionalStyleKey as D, type FeedbackContext as F, type IconComponentProps as I, type PressableFeedbackProps as P, type RadiusStyle as R, type SlotAnimation as S, type TintArgs as T, type VariantColors as V, type IconContextValue as a, type IconProps as b, type AnimationProp as c, type ResolvedAnimation as d, type RippleWave as e, createRecipe as f, type Recipe as g, type ResolveArgs as h, type Axes as i, type RecipeConfig as j, type ResolvedSelection as k, type ResolvedStyles as l, type Selection as m, type SlotStyle as n, type SlotStyles as o, type StateName as p, type States as q, type StyleFn as r, type VariantRole as s, type VariantTokens as t, type ImageStyleProps as u, type StyleProps as v, type TextStyleProps as w, type ViewStyleProps as x };
package/dist/index.cjs CHANGED
@@ -4,12 +4,12 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk6OHFG32Ycjs = require('./chunk-6OHFG32Y.cjs');
7
+ var _chunkMLJ543GPcjs = require('./chunk-MLJ543GP.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkLMUPNKPHcjs = require('./chunk-LMUPNKPH.cjs');
12
+ var _chunk2FOEFUPMcjs = require('./chunk-2FOEFUPM.cjs');
13
13
 
14
14
 
15
15
 
@@ -31,7 +31,6 @@ var _chunkLMUPNKPHcjs = require('./chunk-LMUPNKPH.cjs');
31
31
 
32
32
 
33
33
 
34
- var _chunkE2UGZJBTcjs = require('./chunk-E2UGZJBT.cjs');
35
34
 
36
35
 
37
36
 
@@ -42,15 +41,26 @@ var _chunkE2UGZJBTcjs = require('./chunk-E2UGZJBT.cjs');
42
41
 
43
42
 
44
43
 
44
+ var _chunkIVVFYUDWcjs = require('./chunk-IVVFYUDW.cjs');
45
45
 
46
- var _chunk2FEDC7U5cjs = require('./chunk-2FEDC7U5.cjs');
47
46
 
48
47
 
49
48
 
50
49
 
51
50
 
52
51
 
53
- var _chunk3QBT3Q65cjs = require('./chunk-3QBT3Q65.cjs');
52
+
53
+
54
+
55
+
56
+ var _chunkDDYMIWLWcjs = require('./chunk-DDYMIWLW.cjs');
57
+
58
+
59
+
60
+
61
+
62
+
63
+ var _chunk6N5JXRUZcjs = require('./chunk-6N5JXRUZ.cjs');
54
64
 
55
65
  // src/hooks/use-controllable-state.ts
56
66
  var _react = require('react');
@@ -80,7 +90,7 @@ function useControllableState({
80
90
  function useControlWarning(isControlled) {
81
91
  const wasControlled = _react.useRef.call(void 0, isControlled);
82
92
  if (wasControlled.current !== isControlled) {
83
- _chunk6OHFG32Ycjs.warnDev.call(void 0,
93
+ _chunkMLJ543GPcjs.warnDev.call(void 0,
84
94
  `a component switched from ${wasControlled.current ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}. Decide for the life of the component: pass \`value\` always, or never. Passing \`undefined\` for a value you do control reads as "uncontrolled" here.`
85
95
  );
86
96
  wasControlled.current = isControlled;
@@ -90,7 +100,7 @@ function useControlWarning(isControlled) {
90
100
  // src/hooks/use-merged-ref.ts
91
101
 
92
102
  function useMergedRef(...refs) {
93
- return _react.useMemo.call(void 0, () => _chunkE2UGZJBTcjs.mergeRefs.call(void 0, ...refs), refs);
103
+ return _react.useMemo.call(void 0, () => _chunkIVVFYUDWcjs.mergeRefs.call(void 0, ...refs), refs);
94
104
  }
95
105
 
96
106
  // src/hooks/use-previous.ts
@@ -148,4 +158,14 @@ function usePrevious(value) {
148
158
 
149
159
 
150
160
 
151
- exports.Button = _chunk6OHFG32Ycjs.Button; exports.HIGHLIGHT_OPACITY = _chunkE2UGZJBTcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkE2UGZJBTcjs.Icon; exports.IconContext = _chunkE2UGZJBTcjs.IconContext; exports.PRESS_DURATION = _chunkE2UGZJBTcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkE2UGZJBTcjs.PRESS_SCALE; exports.Portal = _chunkLMUPNKPHcjs.Portal; exports.PortalContext = _chunkLMUPNKPHcjs.PortalContext; exports.PortalHost = _chunkLMUPNKPHcjs.PortalHost; exports.PressableFeedback = _chunkE2UGZJBTcjs.PressableFeedback; exports.RELEASE_DURATION = _chunkE2UGZJBTcjs.RELEASE_DURATION; exports.RIPPLE_COVERAGE = _chunkE2UGZJBTcjs.RIPPLE_COVERAGE; exports.RIPPLE_DURATION = _chunkE2UGZJBTcjs.RIPPLE_DURATION; exports.RIPPLE_OPACITY = _chunkE2UGZJBTcjs.RIPPLE_OPACITY; exports.Slot = _chunkE2UGZJBTcjs.Slot; exports.ThemeContext = _chunk3QBT3Q65cjs.ThemeContext; exports.XAUIProvider = _chunk2FEDC7U5cjs.XAUIProvider; exports.buildRadius = _chunk2FEDC7U5cjs.buildRadius; exports.buildShadows = _chunk2FEDC7U5cjs.buildShadows; exports.buttonRecipe = _chunk6OHFG32Ycjs.buttonRecipe; exports.childrenToString = _chunkE2UGZJBTcjs.childrenToString; exports.createRecipe = _chunkE2UGZJBTcjs.createRecipe; exports.createSlotContext = _chunkE2UGZJBTcjs.createSlotContext; exports.createTheme = _chunk2FEDC7U5cjs.createTheme; exports.defaultTheme = _chunk2FEDC7U5cjs.defaultTheme; exports.deriveColors = _chunk2FEDC7U5cjs.deriveColors; exports.deriveTint = _chunk3QBT3Q65cjs.deriveTint; exports.mergeProps = _chunkE2UGZJBTcjs.mergeProps; exports.mergeRefs = _chunkE2UGZJBTcjs.mergeRefs; exports.palette = _chunk2FEDC7U5cjs.palette; exports.primitives = _chunk2FEDC7U5cjs.primitives; exports.resolveAnimation = _chunkE2UGZJBTcjs.resolveAnimation; exports.resolveSlotAnimation = _chunkE2UGZJBTcjs.resolveSlotAnimation; exports.sourceKeys = _chunk2FEDC7U5cjs.sourceKeys; exports.tokens = _chunk2FEDC7U5cjs.tokens; exports.useButton = _chunk6OHFG32Ycjs.useButton; exports.useColorMode = _chunk3QBT3Q65cjs.useColorMode; exports.useControllableState = useControllableState; exports.useFeedback = _chunkE2UGZJBTcjs.useFeedback; exports.useIconContext = _chunkE2UGZJBTcjs.useIconContext; exports.useMergedRef = useMergedRef; exports.usePressState = _chunk6OHFG32Ycjs.usePressState; exports.usePrevious = usePrevious; exports.useThemeColor = _chunk3QBT3Q65cjs.useThemeColor; exports.useXAUITheme = _chunk3QBT3Q65cjs.useXAUITheme;
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ exports.Button = _chunkMLJ543GPcjs.Button; exports.FEEDBACK_OVERLAY = _chunkIVVFYUDWcjs.FEEDBACK_OVERLAY; exports.HIGHLIGHT_DURATION = _chunkIVVFYUDWcjs.HIGHLIGHT_DURATION; exports.HIGHLIGHT_OPACITY = _chunkIVVFYUDWcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkIVVFYUDWcjs.Icon; exports.IconContext = _chunkIVVFYUDWcjs.IconContext; exports.PRESS_DURATION = _chunkIVVFYUDWcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkIVVFYUDWcjs.PRESS_SCALE; exports.Portal = _chunk2FOEFUPMcjs.Portal; exports.PortalContext = _chunk2FOEFUPMcjs.PortalContext; exports.PortalHost = _chunk2FOEFUPMcjs.PortalHost; exports.PressableFeedback = _chunkIVVFYUDWcjs.PressableFeedback; exports.RIPPLE_CONFIRM_DURATION = _chunkIVVFYUDWcjs.RIPPLE_CONFIRM_DURATION; exports.RIPPLE_EXPAND_DURATION = _chunkIVVFYUDWcjs.RIPPLE_EXPAND_DURATION; exports.RIPPLE_FADE_IN = _chunkIVVFYUDWcjs.RIPPLE_FADE_IN; exports.RIPPLE_FADE_OUT = _chunkIVVFYUDWcjs.RIPPLE_FADE_OUT; exports.RIPPLE_FADE_OUT_DELAY = _chunkIVVFYUDWcjs.RIPPLE_FADE_OUT_DELAY; exports.RIPPLE_OPACITY = _chunkIVVFYUDWcjs.RIPPLE_OPACITY; exports.RIPPLE_START_SCALE = _chunkIVVFYUDWcjs.RIPPLE_START_SCALE; exports.SCALE_REFERENCE_WIDTH = _chunkIVVFYUDWcjs.SCALE_REFERENCE_WIDTH; exports.Slot = _chunkIVVFYUDWcjs.Slot; exports.ThemeContext = _chunk6N5JXRUZcjs.ThemeContext; exports.XAUIProvider = _chunkDDYMIWLWcjs.XAUIProvider; exports.buildRadius = _chunkDDYMIWLWcjs.buildRadius; exports.buildShadows = _chunkDDYMIWLWcjs.buildShadows; exports.buttonRecipe = _chunkMLJ543GPcjs.buttonRecipe; exports.childrenToString = _chunkIVVFYUDWcjs.childrenToString; exports.createRecipe = _chunkIVVFYUDWcjs.createRecipe; exports.createSlotContext = _chunkIVVFYUDWcjs.createSlotContext; exports.createTheme = _chunkDDYMIWLWcjs.createTheme; exports.defaultTheme = _chunkDDYMIWLWcjs.defaultTheme; exports.deriveColors = _chunkDDYMIWLWcjs.deriveColors; exports.deriveTint = _chunk6N5JXRUZcjs.deriveTint; exports.markOverlay = _chunkIVVFYUDWcjs.markOverlay; exports.mergeProps = _chunkIVVFYUDWcjs.mergeProps; exports.mergeRefs = _chunkIVVFYUDWcjs.mergeRefs; exports.palette = _chunkDDYMIWLWcjs.palette; exports.pressScaleFor = _chunkIVVFYUDWcjs.pressScaleFor; exports.primitives = _chunkDDYMIWLWcjs.primitives; exports.resolveAnimation = _chunkIVVFYUDWcjs.resolveAnimation; exports.resolveSlotAnimation = _chunkIVVFYUDWcjs.resolveSlotAnimation; exports.rippleRadiusFor = _chunkIVVFYUDWcjs.rippleRadiusFor; exports.sourceKeys = _chunkDDYMIWLWcjs.sourceKeys; exports.tokens = _chunkDDYMIWLWcjs.tokens; exports.useButton = _chunkMLJ543GPcjs.useButton; exports.useColorMode = _chunk6N5JXRUZcjs.useColorMode; exports.useControllableState = useControllableState; exports.useFeedback = _chunkIVVFYUDWcjs.useFeedback; exports.useIconContext = _chunkIVVFYUDWcjs.useIconContext; exports.useMergedRef = useMergedRef; exports.usePressState = _chunkMLJ543GPcjs.usePressState; exports.usePrevious = usePrevious; exports.useStyleProps = _chunkIVVFYUDWcjs.useStyleProps; exports.useThemeColor = _chunk6N5JXRUZcjs.useThemeColor; exports.useXAUITheme = _chunk6N5JXRUZcjs.useXAUITheme;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  export { Button, ButtonContextValue, ButtonIconProps, ButtonLabelProps, ButtonProps, ButtonSize, ButtonSlot, ButtonSpinnerProps, ButtonVariant, buttonRecipe, useButton } from './components/button/index.cjs';
2
2
  import { RefCallback } from 'react';
3
3
  import { PossibleRef } from './system/index.cjs';
4
- export { AsChildProps, HIGHLIGHT_OPACITY, Icon, IconContext, MergeableProps, PRESS_DURATION, PRESS_SCALE, Portal, PortalContext, PortalHost, PortalHostProps, PortalMethods, PortalProps, PressableFeedback, PressableFeedbackHighlightProps, PressableFeedbackRippleProps, RELEASE_DURATION, RIPPLE_COVERAGE, RIPPLE_DURATION, RIPPLE_OPACITY, Slot, SlotProps, childrenToString, createSlotContext, mergeProps, mergeRefs, resolveAnimation, resolveSlotAnimation, useFeedback, useIconContext } from './system/index.cjs';
4
+ export { AsChildProps, FEEDBACK_OVERLAY, HIGHLIGHT_DURATION, HIGHLIGHT_OPACITY, Icon, IconContext, MergeableProps, PRESS_DURATION, PRESS_SCALE, Portal, PortalContext, PortalHost, PortalHostProps, PortalMethods, PortalProps, PressableFeedback, PressableFeedbackHighlightProps, PressableFeedbackRippleProps, RIPPLE_CONFIRM_DURATION, RIPPLE_EXPAND_DURATION, RIPPLE_FADE_IN, RIPPLE_FADE_OUT, RIPPLE_FADE_OUT_DELAY, RIPPLE_OPACITY, RIPPLE_START_SCALE, SCALE_REFERENCE_WIDTH, Slot, SlotProps, childrenToString, createSlotContext, markOverlay, mergeProps, mergeRefs, pressScaleFor, resolveAnimation, resolveSlotAnimation, rippleRadiusFor, useFeedback, useIconContext, useStyleProps } from './system/index.cjs';
5
5
  import { GestureResponderEvent } from 'react-native';
6
- export { A as AnimationConfig, c as AnimationProp, h as Axes, C as CompoundVariant, F as FeedbackContext, d as FeedbackVariant, I as IconComponentProps, a as IconContextValue, b as IconProps, P as PressableFeedbackProps, f as Recipe, i as RecipeConfig, g as ResolveArgs, R as ResolvedAnimation, j as ResolvedSelection, k as ResolvedStyles, l as Selection, S as SlotAnimation, m as SlotStyle, n as SlotStyles, o as StateName, p as States, q as StyleFn, T as TintArgs, V as VariantColors, r as VariantRole, s as VariantTokens, e as createRecipe } from './create-recipe-BjSP0zL_.cjs';
6
+ export { A as AnimationConfig, c as AnimationProp, i as Axes, C as CompoundVariant, D as DirectionalStyleKey, F as FeedbackContext, I as IconComponentProps, a as IconContextValue, b as IconProps, u as ImageStyleProps, P as PressableFeedbackProps, R as RadiusStyle, g as Recipe, j as RecipeConfig, h as ResolveArgs, d as ResolvedAnimation, k as ResolvedSelection, l as ResolvedStyles, e as RippleWave, m as Selection, S as SlotAnimation, n as SlotStyle, o as SlotStyles, p as StateName, q as States, r as StyleFn, v as StyleProps, w as TextStyleProps, T as TintArgs, V as VariantColors, s as VariantRole, t as VariantTokens, x as ViewStyleProps, f as createRecipe } from './create-recipe-oiLAlJ4u.cjs';
7
7
  export { ColorModePreference, PaletteFamily, PaletteShade, ThemeContext, XAUIProvider, XAUIProviderProps, XAUITint, buildRadius, buildShadows, createTheme, defaultTheme, deriveColors, deriveTint, palette, primitives, sourceKeys, tokens, useColorMode, useThemeColor, useXAUITheme } from './theme/index.cjs';
8
8
  export { C as ColorMode, F as FontSizeKey, a as FontWeightKey, R as RadiusKey, S as Size, X as XAUIColors, b as XAUIDerivedColors, c as XAUIPrimitiveColors, d as XAUIRadius, e as XAUIShadow, f as XAUISourceColors, g as XAUITheme, h as XAUIThemeConfig, i as XAUIThemeSet } from './theme.type-C9bFJKFm.cjs';
9
9
  import 'react-native-reanimated';
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export { Button, ButtonContextValue, ButtonIconProps, ButtonLabelProps, ButtonProps, ButtonSize, ButtonSlot, ButtonSpinnerProps, ButtonVariant, buttonRecipe, useButton } from './components/button/index.js';
2
2
  import { RefCallback } from 'react';
3
3
  import { PossibleRef } from './system/index.js';
4
- export { AsChildProps, HIGHLIGHT_OPACITY, Icon, IconContext, MergeableProps, PRESS_DURATION, PRESS_SCALE, Portal, PortalContext, PortalHost, PortalHostProps, PortalMethods, PortalProps, PressableFeedback, PressableFeedbackHighlightProps, PressableFeedbackRippleProps, RELEASE_DURATION, RIPPLE_COVERAGE, RIPPLE_DURATION, RIPPLE_OPACITY, Slot, SlotProps, childrenToString, createSlotContext, mergeProps, mergeRefs, resolveAnimation, resolveSlotAnimation, useFeedback, useIconContext } from './system/index.js';
4
+ export { AsChildProps, FEEDBACK_OVERLAY, HIGHLIGHT_DURATION, HIGHLIGHT_OPACITY, Icon, IconContext, MergeableProps, PRESS_DURATION, PRESS_SCALE, Portal, PortalContext, PortalHost, PortalHostProps, PortalMethods, PortalProps, PressableFeedback, PressableFeedbackHighlightProps, PressableFeedbackRippleProps, RIPPLE_CONFIRM_DURATION, RIPPLE_EXPAND_DURATION, RIPPLE_FADE_IN, RIPPLE_FADE_OUT, RIPPLE_FADE_OUT_DELAY, RIPPLE_OPACITY, RIPPLE_START_SCALE, SCALE_REFERENCE_WIDTH, Slot, SlotProps, childrenToString, createSlotContext, markOverlay, mergeProps, mergeRefs, pressScaleFor, resolveAnimation, resolveSlotAnimation, rippleRadiusFor, useFeedback, useIconContext, useStyleProps } from './system/index.js';
5
5
  import { GestureResponderEvent } from 'react-native';
6
- export { A as AnimationConfig, c as AnimationProp, h as Axes, C as CompoundVariant, F as FeedbackContext, d as FeedbackVariant, I as IconComponentProps, a as IconContextValue, b as IconProps, P as PressableFeedbackProps, f as Recipe, i as RecipeConfig, g as ResolveArgs, R as ResolvedAnimation, j as ResolvedSelection, k as ResolvedStyles, l as Selection, S as SlotAnimation, m as SlotStyle, n as SlotStyles, o as StateName, p as States, q as StyleFn, T as TintArgs, V as VariantColors, r as VariantRole, s as VariantTokens, e as createRecipe } from './create-recipe-Dn9kj5Rs.js';
6
+ export { A as AnimationConfig, c as AnimationProp, i as Axes, C as CompoundVariant, D as DirectionalStyleKey, F as FeedbackContext, I as IconComponentProps, a as IconContextValue, b as IconProps, u as ImageStyleProps, P as PressableFeedbackProps, R as RadiusStyle, g as Recipe, j as RecipeConfig, h as ResolveArgs, d as ResolvedAnimation, k as ResolvedSelection, l as ResolvedStyles, e as RippleWave, m as Selection, S as SlotAnimation, n as SlotStyle, o as SlotStyles, p as StateName, q as States, r as StyleFn, v as StyleProps, w as TextStyleProps, T as TintArgs, V as VariantColors, s as VariantRole, t as VariantTokens, x as ViewStyleProps, f as createRecipe } from './create-recipe-3OPwcC6P.js';
7
7
  export { ColorModePreference, PaletteFamily, PaletteShade, ThemeContext, XAUIProvider, XAUIProviderProps, XAUITint, buildRadius, buildShadows, createTheme, defaultTheme, deriveColors, deriveTint, palette, primitives, sourceKeys, tokens, useColorMode, useThemeColor, useXAUITheme } from './theme/index.js';
8
8
  export { C as ColorMode, F as FontSizeKey, a as FontWeightKey, R as RadiusKey, S as Size, X as XAUIColors, b as XAUIDerivedColors, c as XAUIPrimitiveColors, d as XAUIRadius, e as XAUIShadow, f as XAUISourceColors, g as XAUITheme, h as XAUIThemeConfig, i as XAUIThemeSet } from './theme.type-C9bFJKFm.js';
9
9
  import 'react-native-reanimated';
package/dist/index.js CHANGED
@@ -4,34 +4,44 @@ import {
4
4
  useButton,
5
5
  usePressState,
6
6
  warnDev
7
- } from "./chunk-NQ5WWF77.js";
7
+ } from "./chunk-RWLODK55.js";
8
8
  import {
9
9
  Portal,
10
10
  PortalContext,
11
11
  PortalHost
12
- } from "./chunk-3TIDEII6.js";
12
+ } from "./chunk-TO6DAGFB.js";
13
13
  import {
14
+ FEEDBACK_OVERLAY,
15
+ HIGHLIGHT_DURATION,
14
16
  HIGHLIGHT_OPACITY,
15
17
  Icon,
16
18
  IconContext,
17
19
  PRESS_DURATION,
18
20
  PRESS_SCALE,
19
21
  PressableFeedback,
20
- RELEASE_DURATION,
21
- RIPPLE_COVERAGE,
22
- RIPPLE_DURATION,
22
+ RIPPLE_CONFIRM_DURATION,
23
+ RIPPLE_EXPAND_DURATION,
24
+ RIPPLE_FADE_IN,
25
+ RIPPLE_FADE_OUT,
26
+ RIPPLE_FADE_OUT_DELAY,
23
27
  RIPPLE_OPACITY,
28
+ RIPPLE_START_SCALE,
29
+ SCALE_REFERENCE_WIDTH,
24
30
  Slot,
25
31
  childrenToString,
26
32
  createRecipe,
27
33
  createSlotContext,
34
+ markOverlay,
28
35
  mergeProps,
29
36
  mergeRefs,
37
+ pressScaleFor,
30
38
  resolveAnimation,
31
39
  resolveSlotAnimation,
40
+ rippleRadiusFor,
32
41
  useFeedback,
33
- useIconContext
34
- } from "./chunk-R4HJCQPI.js";
42
+ useIconContext,
43
+ useStyleProps
44
+ } from "./chunk-B3EAZ2CC.js";
35
45
  import {
36
46
  XAUIProvider,
37
47
  buildRadius,
@@ -43,14 +53,14 @@ import {
43
53
  primitives,
44
54
  sourceKeys,
45
55
  tokens
46
- } from "./chunk-7XGOXTGT.js";
56
+ } from "./chunk-4O3PXFQ7.js";
47
57
  import {
48
58
  ThemeContext,
49
59
  deriveTint,
50
60
  useColorMode,
51
61
  useThemeColor,
52
62
  useXAUITheme
53
- } from "./chunk-X2K2FX3W.js";
63
+ } from "./chunk-XJARE6SC.js";
54
64
 
55
65
  // src/hooks/use-controllable-state.ts
56
66
  import { useCallback, useRef, useState } from "react";
@@ -104,6 +114,8 @@ function usePrevious(value) {
104
114
  }
105
115
  export {
106
116
  Button,
117
+ FEEDBACK_OVERLAY,
118
+ HIGHLIGHT_DURATION,
107
119
  HIGHLIGHT_OPACITY,
108
120
  Icon,
109
121
  IconContext,
@@ -113,10 +125,14 @@ export {
113
125
  PortalContext,
114
126
  PortalHost,
115
127
  PressableFeedback,
116
- RELEASE_DURATION,
117
- RIPPLE_COVERAGE,
118
- RIPPLE_DURATION,
128
+ RIPPLE_CONFIRM_DURATION,
129
+ RIPPLE_EXPAND_DURATION,
130
+ RIPPLE_FADE_IN,
131
+ RIPPLE_FADE_OUT,
132
+ RIPPLE_FADE_OUT_DELAY,
119
133
  RIPPLE_OPACITY,
134
+ RIPPLE_START_SCALE,
135
+ SCALE_REFERENCE_WIDTH,
120
136
  Slot,
121
137
  ThemeContext,
122
138
  XAUIProvider,
@@ -130,12 +146,15 @@ export {
130
146
  defaultTheme,
131
147
  deriveColors,
132
148
  deriveTint,
149
+ markOverlay,
133
150
  mergeProps,
134
151
  mergeRefs,
135
152
  palette,
153
+ pressScaleFor,
136
154
  primitives,
137
155
  resolveAnimation,
138
156
  resolveSlotAnimation,
157
+ rippleRadiusFor,
139
158
  sourceKeys,
140
159
  tokens,
141
160
  useButton,
@@ -146,6 +165,7 @@ export {
146
165
  useMergedRef,
147
166
  usePressState,
148
167
  usePrevious,
168
+ useStyleProps,
149
169
  useThemeColor,
150
170
  useXAUITheme
151
171
  };
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkLMUPNKPHcjs = require('../chunk-LMUPNKPH.cjs');
5
+ var _chunk2FOEFUPMcjs = require('../chunk-2FOEFUPM.cjs');
6
6
 
7
7
 
8
8
 
@@ -24,8 +24,6 @@ var _chunkLMUPNKPHcjs = require('../chunk-LMUPNKPH.cjs');
24
24
 
25
25
 
26
26
 
27
- var _chunkE2UGZJBTcjs = require('../chunk-E2UGZJBT.cjs');
28
- require('../chunk-3QBT3Q65.cjs');
29
27
 
30
28
 
31
29
 
@@ -36,6 +34,8 @@ require('../chunk-3QBT3Q65.cjs');
36
34
 
37
35
 
38
36
 
37
+ var _chunkIVVFYUDWcjs = require('../chunk-IVVFYUDW.cjs');
38
+ require('../chunk-6N5JXRUZ.cjs');
39
39
 
40
40
 
41
41
 
@@ -50,4 +50,24 @@ require('../chunk-3QBT3Q65.cjs');
50
50
 
51
51
 
52
52
 
53
- exports.HIGHLIGHT_OPACITY = _chunkE2UGZJBTcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkE2UGZJBTcjs.Icon; exports.IconContext = _chunkE2UGZJBTcjs.IconContext; exports.PRESS_DURATION = _chunkE2UGZJBTcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkE2UGZJBTcjs.PRESS_SCALE; exports.Portal = _chunkLMUPNKPHcjs.Portal; exports.PortalContext = _chunkLMUPNKPHcjs.PortalContext; exports.PortalHost = _chunkLMUPNKPHcjs.PortalHost; exports.PressableFeedback = _chunkE2UGZJBTcjs.PressableFeedback; exports.RELEASE_DURATION = _chunkE2UGZJBTcjs.RELEASE_DURATION; exports.RIPPLE_COVERAGE = _chunkE2UGZJBTcjs.RIPPLE_COVERAGE; exports.RIPPLE_DURATION = _chunkE2UGZJBTcjs.RIPPLE_DURATION; exports.RIPPLE_OPACITY = _chunkE2UGZJBTcjs.RIPPLE_OPACITY; exports.Slot = _chunkE2UGZJBTcjs.Slot; exports.childrenToString = _chunkE2UGZJBTcjs.childrenToString; exports.createRecipe = _chunkE2UGZJBTcjs.createRecipe; exports.createSlotContext = _chunkE2UGZJBTcjs.createSlotContext; exports.mergeProps = _chunkE2UGZJBTcjs.mergeProps; exports.mergeRefs = _chunkE2UGZJBTcjs.mergeRefs; exports.resolveAnimation = _chunkE2UGZJBTcjs.resolveAnimation; exports.resolveSlotAnimation = _chunkE2UGZJBTcjs.resolveSlotAnimation; exports.useFeedback = _chunkE2UGZJBTcjs.useFeedback; exports.useIconContext = _chunkE2UGZJBTcjs.useIconContext;
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+ exports.FEEDBACK_OVERLAY = _chunkIVVFYUDWcjs.FEEDBACK_OVERLAY; exports.HIGHLIGHT_DURATION = _chunkIVVFYUDWcjs.HIGHLIGHT_DURATION; exports.HIGHLIGHT_OPACITY = _chunkIVVFYUDWcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkIVVFYUDWcjs.Icon; exports.IconContext = _chunkIVVFYUDWcjs.IconContext; exports.PRESS_DURATION = _chunkIVVFYUDWcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkIVVFYUDWcjs.PRESS_SCALE; exports.Portal = _chunk2FOEFUPMcjs.Portal; exports.PortalContext = _chunk2FOEFUPMcjs.PortalContext; exports.PortalHost = _chunk2FOEFUPMcjs.PortalHost; exports.PressableFeedback = _chunkIVVFYUDWcjs.PressableFeedback; exports.RIPPLE_CONFIRM_DURATION = _chunkIVVFYUDWcjs.RIPPLE_CONFIRM_DURATION; exports.RIPPLE_EXPAND_DURATION = _chunkIVVFYUDWcjs.RIPPLE_EXPAND_DURATION; exports.RIPPLE_FADE_IN = _chunkIVVFYUDWcjs.RIPPLE_FADE_IN; exports.RIPPLE_FADE_OUT = _chunkIVVFYUDWcjs.RIPPLE_FADE_OUT; exports.RIPPLE_FADE_OUT_DELAY = _chunkIVVFYUDWcjs.RIPPLE_FADE_OUT_DELAY; exports.RIPPLE_OPACITY = _chunkIVVFYUDWcjs.RIPPLE_OPACITY; exports.RIPPLE_START_SCALE = _chunkIVVFYUDWcjs.RIPPLE_START_SCALE; exports.SCALE_REFERENCE_WIDTH = _chunkIVVFYUDWcjs.SCALE_REFERENCE_WIDTH; exports.Slot = _chunkIVVFYUDWcjs.Slot; exports.childrenToString = _chunkIVVFYUDWcjs.childrenToString; exports.createRecipe = _chunkIVVFYUDWcjs.createRecipe; exports.createSlotContext = _chunkIVVFYUDWcjs.createSlotContext; exports.markOverlay = _chunkIVVFYUDWcjs.markOverlay; exports.mergeProps = _chunkIVVFYUDWcjs.mergeProps; exports.mergeRefs = _chunkIVVFYUDWcjs.mergeRefs; exports.pressScaleFor = _chunkIVVFYUDWcjs.pressScaleFor; exports.resolveAnimation = _chunkIVVFYUDWcjs.resolveAnimation; exports.resolveSlotAnimation = _chunkIVVFYUDWcjs.resolveSlotAnimation; exports.rippleRadiusFor = _chunkIVVFYUDWcjs.rippleRadiusFor; exports.useFeedback = _chunkIVVFYUDWcjs.useFeedback; exports.useIconContext = _chunkIVVFYUDWcjs.useIconContext; exports.useStyleProps = _chunkIVVFYUDWcjs.useStyleProps;