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

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.
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkERCOAOO6cjs = require('../../chunk-ERCOAOO6.cjs');
6
- require('../../chunk-7D262JCJ.cjs');
5
+ var _chunk6OHFG32Ycjs = require('../../chunk-6OHFG32Y.cjs');
6
+ require('../../chunk-E2UGZJBT.cjs');
7
7
  require('../../chunk-3QBT3Q65.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
- exports.Button = _chunkERCOAOO6cjs.Button; exports.buttonRecipe = _chunkERCOAOO6cjs.buttonRecipe; exports.useButton = _chunkERCOAOO6cjs.useButton;
12
+ exports.Button = _chunk6OHFG32Ycjs.Button; exports.buttonRecipe = _chunk6OHFG32Ycjs.buttonRecipe; exports.useButton = _chunk6OHFG32Ycjs.useButton;
@@ -171,7 +171,7 @@ declare const buttonRecipe: Recipe<"label" | "root" | "icon" | "spinner", Button
171
171
  };
172
172
  }>;
173
173
 
174
- declare const Button: react.ForwardRefExoticComponent<Omit<PressableFeedbackProps, "children" | "style" | "isPressed" | "isDisabled"> & {
174
+ declare const Button: react.ForwardRefExoticComponent<Omit<PressableFeedbackProps, "style" | "children" | "isPressed" | "isDisabled"> & {
175
175
  variant?: ButtonVariant;
176
176
  size?: ButtonSize;
177
177
  radius?: RadiusKey;
@@ -171,7 +171,7 @@ declare const buttonRecipe: Recipe<"label" | "root" | "icon" | "spinner", Button
171
171
  };
172
172
  }>;
173
173
 
174
- declare const Button: react.ForwardRefExoticComponent<Omit<PressableFeedbackProps, "children" | "style" | "isPressed" | "isDisabled"> & {
174
+ declare const Button: react.ForwardRefExoticComponent<Omit<PressableFeedbackProps, "style" | "children" | "isPressed" | "isDisabled"> & {
175
175
  variant?: ButtonVariant;
176
176
  size?: ButtonSize;
177
177
  radius?: RadiusKey;
@@ -2,8 +2,8 @@ import {
2
2
  Button,
3
3
  buttonRecipe,
4
4
  useButton
5
- } from "../../chunk-EQGTD5F6.js";
6
- import "../../chunk-66OVPWF4.js";
5
+ } from "../../chunk-NQ5WWF77.js";
6
+ import "../../chunk-R4HJCQPI.js";
7
7
  import "../../chunk-X2K2FX3W.js";
8
8
  export {
9
9
  Button,
package/dist/index.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkERCOAOO6cjs = require('./chunk-ERCOAOO6.cjs');
7
+ var _chunk6OHFG32Ycjs = require('./chunk-6OHFG32Y.cjs');
8
8
 
9
9
 
10
10
 
@@ -31,7 +31,7 @@ var _chunkLMUPNKPHcjs = require('./chunk-LMUPNKPH.cjs');
31
31
 
32
32
 
33
33
 
34
- var _chunk7D262JCJcjs = require('./chunk-7D262JCJ.cjs');
34
+ var _chunkE2UGZJBTcjs = require('./chunk-E2UGZJBT.cjs');
35
35
 
36
36
 
37
37
 
@@ -80,7 +80,7 @@ function useControllableState({
80
80
  function useControlWarning(isControlled) {
81
81
  const wasControlled = _react.useRef.call(void 0, isControlled);
82
82
  if (wasControlled.current !== isControlled) {
83
- _chunkERCOAOO6cjs.warnDev.call(void 0,
83
+ _chunk6OHFG32Ycjs.warnDev.call(void 0,
84
84
  `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
85
  );
86
86
  wasControlled.current = isControlled;
@@ -90,7 +90,7 @@ function useControlWarning(isControlled) {
90
90
  // src/hooks/use-merged-ref.ts
91
91
 
92
92
  function useMergedRef(...refs) {
93
- return _react.useMemo.call(void 0, () => _chunk7D262JCJcjs.mergeRefs.call(void 0, ...refs), refs);
93
+ return _react.useMemo.call(void 0, () => _chunkE2UGZJBTcjs.mergeRefs.call(void 0, ...refs), refs);
94
94
  }
95
95
 
96
96
  // src/hooks/use-previous.ts
@@ -148,4 +148,4 @@ function usePrevious(value) {
148
148
 
149
149
 
150
150
 
151
- exports.Button = _chunkERCOAOO6cjs.Button; exports.HIGHLIGHT_OPACITY = _chunk7D262JCJcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunk7D262JCJcjs.Icon; exports.IconContext = _chunk7D262JCJcjs.IconContext; exports.PRESS_DURATION = _chunk7D262JCJcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunk7D262JCJcjs.PRESS_SCALE; exports.Portal = _chunkLMUPNKPHcjs.Portal; exports.PortalContext = _chunkLMUPNKPHcjs.PortalContext; exports.PortalHost = _chunkLMUPNKPHcjs.PortalHost; exports.PressableFeedback = _chunk7D262JCJcjs.PressableFeedback; exports.RELEASE_DURATION = _chunk7D262JCJcjs.RELEASE_DURATION; exports.RIPPLE_COVERAGE = _chunk7D262JCJcjs.RIPPLE_COVERAGE; exports.RIPPLE_DURATION = _chunk7D262JCJcjs.RIPPLE_DURATION; exports.RIPPLE_OPACITY = _chunk7D262JCJcjs.RIPPLE_OPACITY; exports.Slot = _chunk7D262JCJcjs.Slot; exports.ThemeContext = _chunk3QBT3Q65cjs.ThemeContext; exports.XAUIProvider = _chunk2FEDC7U5cjs.XAUIProvider; exports.buildRadius = _chunk2FEDC7U5cjs.buildRadius; exports.buildShadows = _chunk2FEDC7U5cjs.buildShadows; exports.buttonRecipe = _chunkERCOAOO6cjs.buttonRecipe; exports.childrenToString = _chunk7D262JCJcjs.childrenToString; exports.createRecipe = _chunk7D262JCJcjs.createRecipe; exports.createSlotContext = _chunk7D262JCJcjs.createSlotContext; exports.createTheme = _chunk2FEDC7U5cjs.createTheme; exports.defaultTheme = _chunk2FEDC7U5cjs.defaultTheme; exports.deriveColors = _chunk2FEDC7U5cjs.deriveColors; exports.deriveTint = _chunk3QBT3Q65cjs.deriveTint; exports.mergeProps = _chunk7D262JCJcjs.mergeProps; exports.mergeRefs = _chunk7D262JCJcjs.mergeRefs; exports.palette = _chunk2FEDC7U5cjs.palette; exports.primitives = _chunk2FEDC7U5cjs.primitives; exports.resolveAnimation = _chunk7D262JCJcjs.resolveAnimation; exports.resolveSlotAnimation = _chunk7D262JCJcjs.resolveSlotAnimation; exports.sourceKeys = _chunk2FEDC7U5cjs.sourceKeys; exports.tokens = _chunk2FEDC7U5cjs.tokens; exports.useButton = _chunkERCOAOO6cjs.useButton; exports.useColorMode = _chunk3QBT3Q65cjs.useColorMode; exports.useControllableState = useControllableState; exports.useFeedback = _chunk7D262JCJcjs.useFeedback; exports.useIconContext = _chunk7D262JCJcjs.useIconContext; exports.useMergedRef = useMergedRef; exports.usePressState = _chunkERCOAOO6cjs.usePressState; exports.usePrevious = usePrevious; exports.useThemeColor = _chunk3QBT3Q65cjs.useThemeColor; exports.useXAUITheme = _chunk3QBT3Q65cjs.useXAUITheme;
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;
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  useButton,
5
5
  usePressState,
6
6
  warnDev
7
- } from "./chunk-EQGTD5F6.js";
7
+ } from "./chunk-NQ5WWF77.js";
8
8
  import {
9
9
  Portal,
10
10
  PortalContext,
@@ -31,7 +31,7 @@ import {
31
31
  resolveSlotAnimation,
32
32
  useFeedback,
33
33
  useIconContext
34
- } from "./chunk-66OVPWF4.js";
34
+ } from "./chunk-R4HJCQPI.js";
35
35
  import {
36
36
  XAUIProvider,
37
37
  buildRadius,
@@ -24,7 +24,7 @@ var _chunkLMUPNKPHcjs = require('../chunk-LMUPNKPH.cjs');
24
24
 
25
25
 
26
26
 
27
- var _chunk7D262JCJcjs = require('../chunk-7D262JCJ.cjs');
27
+ var _chunkE2UGZJBTcjs = require('../chunk-E2UGZJBT.cjs');
28
28
  require('../chunk-3QBT3Q65.cjs');
29
29
 
30
30
 
@@ -50,4 +50,4 @@ require('../chunk-3QBT3Q65.cjs');
50
50
 
51
51
 
52
52
 
53
- exports.HIGHLIGHT_OPACITY = _chunk7D262JCJcjs.HIGHLIGHT_OPACITY; exports.Icon = _chunk7D262JCJcjs.Icon; exports.IconContext = _chunk7D262JCJcjs.IconContext; exports.PRESS_DURATION = _chunk7D262JCJcjs.PRESS_DURATION; exports.PRESS_SCALE = _chunk7D262JCJcjs.PRESS_SCALE; exports.Portal = _chunkLMUPNKPHcjs.Portal; exports.PortalContext = _chunkLMUPNKPHcjs.PortalContext; exports.PortalHost = _chunkLMUPNKPHcjs.PortalHost; exports.PressableFeedback = _chunk7D262JCJcjs.PressableFeedback; exports.RELEASE_DURATION = _chunk7D262JCJcjs.RELEASE_DURATION; exports.RIPPLE_COVERAGE = _chunk7D262JCJcjs.RIPPLE_COVERAGE; exports.RIPPLE_DURATION = _chunk7D262JCJcjs.RIPPLE_DURATION; exports.RIPPLE_OPACITY = _chunk7D262JCJcjs.RIPPLE_OPACITY; exports.Slot = _chunk7D262JCJcjs.Slot; exports.childrenToString = _chunk7D262JCJcjs.childrenToString; exports.createRecipe = _chunk7D262JCJcjs.createRecipe; exports.createSlotContext = _chunk7D262JCJcjs.createSlotContext; exports.mergeProps = _chunk7D262JCJcjs.mergeProps; exports.mergeRefs = _chunk7D262JCJcjs.mergeRefs; exports.resolveAnimation = _chunk7D262JCJcjs.resolveAnimation; exports.resolveSlotAnimation = _chunk7D262JCJcjs.resolveSlotAnimation; exports.useFeedback = _chunk7D262JCJcjs.useFeedback; exports.useIconContext = _chunk7D262JCJcjs.useIconContext;
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;
@@ -60,9 +60,12 @@ type PressableFeedbackRippleProps = {
60
60
  /**
61
61
  * A circle washing outwards from where the finger landed.
62
62
  *
63
- * It is a **one-shot, independent of how long the press lasts**: the wave runs its course
64
- * and ends, the way a ripple in water does. Tying it to the press would leave a disc
65
- * parked on the control for as long as a finger rests there.
63
+ * **Two animations, not one, and that is the whole shape of it.** The circle *expands*
64
+ * once per touch, from the point of contact to past the far corner. Its *opacity* follows
65
+ * the finger — up on press, held while the press lasts, out on release. Driving both from
66
+ * one curve is what makes a ripple read wrong: tie opacity to the expansion and the wave
67
+ * is invisible under the finger and brightest once it covers everything, which is a flash
68
+ * of the whole control rather than a wave leaving the touch point.
66
69
  *
67
70
  * It needs the root to clip — `PressableFeedback` sets `overflow: 'hidden'` when it
68
71
  * mounts one — and it renders nothing on the static branch: a ripple that cannot expand
@@ -115,7 +118,7 @@ type ResolvedSlotAnimation = {
115
118
  */
116
119
  declare function resolveSlotAnimation(override: SlotAnimation | undefined, enabledByRoot: boolean, defaultOpacity: number, defaultDuration?: number): ResolvedSlotAnimation;
117
120
 
118
- declare const PressableFeedback: react.ForwardRefExoticComponent<Omit<react_native.PressableProps, "children" | "style" | "disabled"> & {
121
+ declare const PressableFeedback: react.ForwardRefExoticComponent<Omit<react_native.PressableProps, "style" | "children" | "disabled"> & {
119
122
  isPressed?: boolean;
120
123
  isDisabled?: boolean;
121
124
  asChild?: boolean;
@@ -60,9 +60,12 @@ type PressableFeedbackRippleProps = {
60
60
  /**
61
61
  * A circle washing outwards from where the finger landed.
62
62
  *
63
- * It is a **one-shot, independent of how long the press lasts**: the wave runs its course
64
- * and ends, the way a ripple in water does. Tying it to the press would leave a disc
65
- * parked on the control for as long as a finger rests there.
63
+ * **Two animations, not one, and that is the whole shape of it.** The circle *expands*
64
+ * once per touch, from the point of contact to past the far corner. Its *opacity* follows
65
+ * the finger — up on press, held while the press lasts, out on release. Driving both from
66
+ * one curve is what makes a ripple read wrong: tie opacity to the expansion and the wave
67
+ * is invisible under the finger and brightest once it covers everything, which is a flash
68
+ * of the whole control rather than a wave leaving the touch point.
66
69
  *
67
70
  * It needs the root to clip — `PressableFeedback` sets `overflow: 'hidden'` when it
68
71
  * mounts one — and it renders nothing on the static branch: a ripple that cannot expand
@@ -115,7 +118,7 @@ type ResolvedSlotAnimation = {
115
118
  */
116
119
  declare function resolveSlotAnimation(override: SlotAnimation | undefined, enabledByRoot: boolean, defaultOpacity: number, defaultDuration?: number): ResolvedSlotAnimation;
117
120
 
118
- declare const PressableFeedback: react.ForwardRefExoticComponent<Omit<react_native.PressableProps, "children" | "style" | "disabled"> & {
121
+ declare const PressableFeedback: react.ForwardRefExoticComponent<Omit<react_native.PressableProps, "style" | "children" | "disabled"> & {
119
122
  isPressed?: boolean;
120
123
  isDisabled?: boolean;
121
124
  asChild?: boolean;
@@ -24,7 +24,7 @@ import {
24
24
  resolveSlotAnimation,
25
25
  useFeedback,
26
26
  useIconContext
27
- } from "../chunk-66OVPWF4.js";
27
+ } from "../chunk-R4HJCQPI.js";
28
28
  import "../chunk-X2K2FX3W.js";
29
29
  export {
30
30
  HIGHLIGHT_OPACITY,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xaui/native",
3
- "version": "0.9.1-alpha.10",
3
+ "version": "0.9.1-alpha.11",
4
4
  "description": "Composition-first React Native UI components with native animations powered by Reanimated",
5
5
  "keywords": [
6
6
  "react-native",
@@ -92,20 +92,20 @@
92
92
  }
93
93
  },
94
94
  "devDependencies": {
95
- "@types/react": "^19.1.0",
96
- "react": "19.1.0",
97
- "react-native": "0.83.6",
95
+ "@types/react": "^19.2.0",
96
+ "react": "19.2.0",
97
+ "react-native": "0.83.10",
98
98
  "react-native-gesture-handler": "^2.28.0",
99
- "react-native-reanimated": "^4.0.0",
99
+ "react-native-reanimated": "4.2.1",
100
100
  "react-native-safe-area-context": "^5.6.0",
101
- "react-native-svg": "^15.8.0",
102
- "react-native-worklets": "^0.5.1",
101
+ "react-native-svg": "15.15.3",
102
+ "react-native-worklets": "0.7.4",
103
103
  "tsup": "^8.5.1",
104
104
  "typescript": "^5.9.3"
105
105
  },
106
106
  "module": "./dist/index.js",
107
107
  "scripts": {
108
- "build": "rm -rf dist && tsup --config tsup.config.ts",
108
+ "build": "rm -rf dist && tsup --config tsup.config.ts && node ../../tooling/workletize/workletize.mjs dist",
109
109
  "dev": "tsup --config tsup.config.ts --watch",
110
110
  "test": "vitest",
111
111
  "lint": "eslint src/",