@xaui/native 0.9.1-alpha.12 → 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.
@@ -8,12 +8,22 @@ import 'react-native-reanimated';
8
8
 
9
9
  type ButtonSlot = 'root' | 'label' | 'icon' | 'spinner';
10
10
  /**
11
- * The ten sanctioned appearances (R7). Emphasis and intention are one flat union, which
12
- * is why there is no `themeColor` beside it: `primary` … `ghost` are the emphasis levels,
13
- * and each intention carries its own `-soft` low-emphasis level rather than one of them
14
- * being special-cased.
11
+ * The seven sanctioned appearances (R7). Emphasis and intention are one flat union, which
12
+ * is why there is no `themeColor` beside it.
13
+ *
14
+ * The emphasis ladder descends by how much of the accent is left: `primary` is the full
15
+ * accent, `secondary` its soft slice, `default` drops the accent for the neutral fill,
16
+ * `tertiary` drops the fill for a border, and `ghost` drops that too. `secondary` is to
17
+ * `primary` exactly what `danger-soft` is to `danger` — the same soft slice of the same
18
+ * family, which is why it needs no rule of its own in the recipe.
19
+ *
20
+ * **`success` and `warning` are deliberately not here.** A button is something you press,
21
+ * and neither of those is an action: a success is an outcome and a warning is a state,
22
+ * both of which a `Chip`, an `Alert` or a `Badge` reports. The theme keeps their tokens —
23
+ * a component that *does* report status reads them — and a button that genuinely needs a
24
+ * green fill passes the raw tint instead: `<Button color={theme.colors.success}>`.
15
25
  */
16
- type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'success' | 'success-soft' | 'warning' | 'warning-soft' | 'danger' | 'danger-soft';
26
+ type ButtonVariant = 'primary' | 'secondary' | 'default' | 'tertiary' | 'ghost' | 'danger' | 'danger-soft';
17
27
  type ButtonSize = Size;
18
28
  /**
19
29
  * What the `Button` itself understands. R14 — a name in here is the component's, so the
@@ -2,9 +2,9 @@ import {
2
2
  Button,
3
3
  buttonRecipe,
4
4
  useButton
5
- } from "../../chunk-SKVKAJ5Y.js";
6
- import "../../chunk-KLHHV4RU.js";
7
- import "../../chunk-EMXBFHIP.js";
5
+ } from "../../chunk-RWLODK55.js";
6
+ import "../../chunk-B3EAZ2CC.js";
7
+ import "../../chunk-XJARE6SC.js";
8
8
  export {
9
9
  Button,
10
10
  buttonRecipe,
package/dist/index.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkCTULMYVIcjs = require('./chunk-CTULMYVI.cjs');
7
+ var _chunkMLJ543GPcjs = require('./chunk-MLJ543GP.cjs');
8
8
 
9
9
 
10
10
 
@@ -41,7 +41,7 @@ var _chunk2FOEFUPMcjs = require('./chunk-2FOEFUPM.cjs');
41
41
 
42
42
 
43
43
 
44
- var _chunkGZIOB63Ocjs = require('./chunk-GZIOB63O.cjs');
44
+ var _chunkIVVFYUDWcjs = require('./chunk-IVVFYUDW.cjs');
45
45
 
46
46
 
47
47
 
@@ -53,14 +53,14 @@ var _chunkGZIOB63Ocjs = require('./chunk-GZIOB63O.cjs');
53
53
 
54
54
 
55
55
 
56
- var _chunkESOOMXV4cjs = require('./chunk-ESOOMXV4.cjs');
56
+ var _chunkDDYMIWLWcjs = require('./chunk-DDYMIWLW.cjs');
57
57
 
58
58
 
59
59
 
60
60
 
61
61
 
62
62
 
63
- var _chunkFDUI4IAMcjs = require('./chunk-FDUI4IAM.cjs');
63
+ var _chunk6N5JXRUZcjs = require('./chunk-6N5JXRUZ.cjs');
64
64
 
65
65
  // src/hooks/use-controllable-state.ts
66
66
  var _react = require('react');
@@ -90,7 +90,7 @@ function useControllableState({
90
90
  function useControlWarning(isControlled) {
91
91
  const wasControlled = _react.useRef.call(void 0, isControlled);
92
92
  if (wasControlled.current !== isControlled) {
93
- _chunkCTULMYVIcjs.warnDev.call(void 0,
93
+ _chunkMLJ543GPcjs.warnDev.call(void 0,
94
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.`
95
95
  );
96
96
  wasControlled.current = isControlled;
@@ -100,7 +100,7 @@ function useControlWarning(isControlled) {
100
100
  // src/hooks/use-merged-ref.ts
101
101
 
102
102
  function useMergedRef(...refs) {
103
- return _react.useMemo.call(void 0, () => _chunkGZIOB63Ocjs.mergeRefs.call(void 0, ...refs), refs);
103
+ return _react.useMemo.call(void 0, () => _chunkIVVFYUDWcjs.mergeRefs.call(void 0, ...refs), refs);
104
104
  }
105
105
 
106
106
  // src/hooks/use-previous.ts
@@ -168,4 +168,4 @@ function usePrevious(value) {
168
168
 
169
169
 
170
170
 
171
- exports.Button = _chunkCTULMYVIcjs.Button; exports.FEEDBACK_OVERLAY = _chunkGZIOB63Ocjs.FEEDBACK_OVERLAY; exports.HIGHLIGHT_DURATION = _chunkGZIOB63Ocjs.HIGHLIGHT_DURATION; exports.HIGHLIGHT_OPACITY = _chunkGZIOB63Ocjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkGZIOB63Ocjs.Icon; exports.IconContext = _chunkGZIOB63Ocjs.IconContext; exports.PRESS_DURATION = _chunkGZIOB63Ocjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkGZIOB63Ocjs.PRESS_SCALE; exports.Portal = _chunk2FOEFUPMcjs.Portal; exports.PortalContext = _chunk2FOEFUPMcjs.PortalContext; exports.PortalHost = _chunk2FOEFUPMcjs.PortalHost; exports.PressableFeedback = _chunkGZIOB63Ocjs.PressableFeedback; exports.RIPPLE_CONFIRM_DURATION = _chunkGZIOB63Ocjs.RIPPLE_CONFIRM_DURATION; exports.RIPPLE_EXPAND_DURATION = _chunkGZIOB63Ocjs.RIPPLE_EXPAND_DURATION; exports.RIPPLE_FADE_IN = _chunkGZIOB63Ocjs.RIPPLE_FADE_IN; exports.RIPPLE_FADE_OUT = _chunkGZIOB63Ocjs.RIPPLE_FADE_OUT; exports.RIPPLE_FADE_OUT_DELAY = _chunkGZIOB63Ocjs.RIPPLE_FADE_OUT_DELAY; exports.RIPPLE_OPACITY = _chunkGZIOB63Ocjs.RIPPLE_OPACITY; exports.RIPPLE_START_SCALE = _chunkGZIOB63Ocjs.RIPPLE_START_SCALE; exports.SCALE_REFERENCE_WIDTH = _chunkGZIOB63Ocjs.SCALE_REFERENCE_WIDTH; exports.Slot = _chunkGZIOB63Ocjs.Slot; exports.ThemeContext = _chunkFDUI4IAMcjs.ThemeContext; exports.XAUIProvider = _chunkESOOMXV4cjs.XAUIProvider; exports.buildRadius = _chunkESOOMXV4cjs.buildRadius; exports.buildShadows = _chunkESOOMXV4cjs.buildShadows; exports.buttonRecipe = _chunkCTULMYVIcjs.buttonRecipe; exports.childrenToString = _chunkGZIOB63Ocjs.childrenToString; exports.createRecipe = _chunkGZIOB63Ocjs.createRecipe; exports.createSlotContext = _chunkGZIOB63Ocjs.createSlotContext; exports.createTheme = _chunkESOOMXV4cjs.createTheme; exports.defaultTheme = _chunkESOOMXV4cjs.defaultTheme; exports.deriveColors = _chunkESOOMXV4cjs.deriveColors; exports.deriveTint = _chunkFDUI4IAMcjs.deriveTint; exports.markOverlay = _chunkGZIOB63Ocjs.markOverlay; exports.mergeProps = _chunkGZIOB63Ocjs.mergeProps; exports.mergeRefs = _chunkGZIOB63Ocjs.mergeRefs; exports.palette = _chunkESOOMXV4cjs.palette; exports.pressScaleFor = _chunkGZIOB63Ocjs.pressScaleFor; exports.primitives = _chunkESOOMXV4cjs.primitives; exports.resolveAnimation = _chunkGZIOB63Ocjs.resolveAnimation; exports.resolveSlotAnimation = _chunkGZIOB63Ocjs.resolveSlotAnimation; exports.rippleRadiusFor = _chunkGZIOB63Ocjs.rippleRadiusFor; exports.sourceKeys = _chunkESOOMXV4cjs.sourceKeys; exports.tokens = _chunkESOOMXV4cjs.tokens; exports.useButton = _chunkCTULMYVIcjs.useButton; exports.useColorMode = _chunkFDUI4IAMcjs.useColorMode; exports.useControllableState = useControllableState; exports.useFeedback = _chunkGZIOB63Ocjs.useFeedback; exports.useIconContext = _chunkGZIOB63Ocjs.useIconContext; exports.useMergedRef = useMergedRef; exports.usePressState = _chunkCTULMYVIcjs.usePressState; exports.usePrevious = usePrevious; exports.useStyleProps = _chunkGZIOB63Ocjs.useStyleProps; exports.useThemeColor = _chunkFDUI4IAMcjs.useThemeColor; exports.useXAUITheme = _chunkFDUI4IAMcjs.useXAUITheme;
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.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  useButton,
5
5
  usePressState,
6
6
  warnDev
7
- } from "./chunk-SKVKAJ5Y.js";
7
+ } from "./chunk-RWLODK55.js";
8
8
  import {
9
9
  Portal,
10
10
  PortalContext,
@@ -41,7 +41,7 @@ import {
41
41
  useFeedback,
42
42
  useIconContext,
43
43
  useStyleProps
44
- } from "./chunk-KLHHV4RU.js";
44
+ } from "./chunk-B3EAZ2CC.js";
45
45
  import {
46
46
  XAUIProvider,
47
47
  buildRadius,
@@ -53,14 +53,14 @@ import {
53
53
  primitives,
54
54
  sourceKeys,
55
55
  tokens
56
- } from "./chunk-5TKZV7IC.js";
56
+ } from "./chunk-4O3PXFQ7.js";
57
57
  import {
58
58
  ThemeContext,
59
59
  deriveTint,
60
60
  useColorMode,
61
61
  useThemeColor,
62
62
  useXAUITheme
63
- } from "./chunk-EMXBFHIP.js";
63
+ } from "./chunk-XJARE6SC.js";
64
64
 
65
65
  // src/hooks/use-controllable-state.ts
66
66
  import { useCallback, useRef, useState } from "react";
@@ -34,8 +34,8 @@ var _chunk2FOEFUPMcjs = require('../chunk-2FOEFUPM.cjs');
34
34
 
35
35
 
36
36
 
37
- var _chunkGZIOB63Ocjs = require('../chunk-GZIOB63O.cjs');
38
- require('../chunk-FDUI4IAM.cjs');
37
+ var _chunkIVVFYUDWcjs = require('../chunk-IVVFYUDW.cjs');
38
+ require('../chunk-6N5JXRUZ.cjs');
39
39
 
40
40
 
41
41
 
@@ -70,4 +70,4 @@ require('../chunk-FDUI4IAM.cjs');
70
70
 
71
71
 
72
72
 
73
- exports.FEEDBACK_OVERLAY = _chunkGZIOB63Ocjs.FEEDBACK_OVERLAY; exports.HIGHLIGHT_DURATION = _chunkGZIOB63Ocjs.HIGHLIGHT_DURATION; exports.HIGHLIGHT_OPACITY = _chunkGZIOB63Ocjs.HIGHLIGHT_OPACITY; exports.Icon = _chunkGZIOB63Ocjs.Icon; exports.IconContext = _chunkGZIOB63Ocjs.IconContext; exports.PRESS_DURATION = _chunkGZIOB63Ocjs.PRESS_DURATION; exports.PRESS_SCALE = _chunkGZIOB63Ocjs.PRESS_SCALE; exports.Portal = _chunk2FOEFUPMcjs.Portal; exports.PortalContext = _chunk2FOEFUPMcjs.PortalContext; exports.PortalHost = _chunk2FOEFUPMcjs.PortalHost; exports.PressableFeedback = _chunkGZIOB63Ocjs.PressableFeedback; exports.RIPPLE_CONFIRM_DURATION = _chunkGZIOB63Ocjs.RIPPLE_CONFIRM_DURATION; exports.RIPPLE_EXPAND_DURATION = _chunkGZIOB63Ocjs.RIPPLE_EXPAND_DURATION; exports.RIPPLE_FADE_IN = _chunkGZIOB63Ocjs.RIPPLE_FADE_IN; exports.RIPPLE_FADE_OUT = _chunkGZIOB63Ocjs.RIPPLE_FADE_OUT; exports.RIPPLE_FADE_OUT_DELAY = _chunkGZIOB63Ocjs.RIPPLE_FADE_OUT_DELAY; exports.RIPPLE_OPACITY = _chunkGZIOB63Ocjs.RIPPLE_OPACITY; exports.RIPPLE_START_SCALE = _chunkGZIOB63Ocjs.RIPPLE_START_SCALE; exports.SCALE_REFERENCE_WIDTH = _chunkGZIOB63Ocjs.SCALE_REFERENCE_WIDTH; exports.Slot = _chunkGZIOB63Ocjs.Slot; exports.childrenToString = _chunkGZIOB63Ocjs.childrenToString; exports.createRecipe = _chunkGZIOB63Ocjs.createRecipe; exports.createSlotContext = _chunkGZIOB63Ocjs.createSlotContext; exports.markOverlay = _chunkGZIOB63Ocjs.markOverlay; exports.mergeProps = _chunkGZIOB63Ocjs.mergeProps; exports.mergeRefs = _chunkGZIOB63Ocjs.mergeRefs; exports.pressScaleFor = _chunkGZIOB63Ocjs.pressScaleFor; exports.resolveAnimation = _chunkGZIOB63Ocjs.resolveAnimation; exports.resolveSlotAnimation = _chunkGZIOB63Ocjs.resolveSlotAnimation; exports.rippleRadiusFor = _chunkGZIOB63Ocjs.rippleRadiusFor; exports.useFeedback = _chunkGZIOB63Ocjs.useFeedback; exports.useIconContext = _chunkGZIOB63Ocjs.useIconContext; exports.useStyleProps = _chunkGZIOB63Ocjs.useStyleProps;
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;
@@ -34,8 +34,8 @@ import {
34
34
  useFeedback,
35
35
  useIconContext,
36
36
  useStyleProps
37
- } from "../chunk-KLHHV4RU.js";
38
- import "../chunk-EMXBFHIP.js";
37
+ } from "../chunk-B3EAZ2CC.js";
38
+ import "../chunk-XJARE6SC.js";
39
39
  export {
40
40
  FEEDBACK_OVERLAY,
41
41
  HIGHLIGHT_DURATION,
@@ -9,14 +9,14 @@
9
9
 
10
10
 
11
11
 
12
- var _chunkESOOMXV4cjs = require('../chunk-ESOOMXV4.cjs');
12
+ var _chunkDDYMIWLWcjs = require('../chunk-DDYMIWLW.cjs');
13
13
 
14
14
 
15
15
 
16
16
 
17
17
 
18
18
 
19
- var _chunkFDUI4IAMcjs = require('../chunk-FDUI4IAM.cjs');
19
+ var _chunk6N5JXRUZcjs = require('../chunk-6N5JXRUZ.cjs');
20
20
 
21
21
 
22
22
 
@@ -33,4 +33,4 @@ var _chunkFDUI4IAMcjs = require('../chunk-FDUI4IAM.cjs');
33
33
 
34
34
 
35
35
 
36
- exports.ThemeContext = _chunkFDUI4IAMcjs.ThemeContext; exports.XAUIProvider = _chunkESOOMXV4cjs.XAUIProvider; exports.buildRadius = _chunkESOOMXV4cjs.buildRadius; exports.buildShadows = _chunkESOOMXV4cjs.buildShadows; exports.createTheme = _chunkESOOMXV4cjs.createTheme; exports.defaultTheme = _chunkESOOMXV4cjs.defaultTheme; exports.deriveColors = _chunkESOOMXV4cjs.deriveColors; exports.deriveTint = _chunkFDUI4IAMcjs.deriveTint; exports.palette = _chunkESOOMXV4cjs.palette; exports.primitives = _chunkESOOMXV4cjs.primitives; exports.sourceKeys = _chunkESOOMXV4cjs.sourceKeys; exports.tokens = _chunkESOOMXV4cjs.tokens; exports.useColorMode = _chunkFDUI4IAMcjs.useColorMode; exports.useThemeColor = _chunkFDUI4IAMcjs.useThemeColor; exports.useXAUITheme = _chunkFDUI4IAMcjs.useXAUITheme;
36
+ exports.ThemeContext = _chunk6N5JXRUZcjs.ThemeContext; exports.XAUIProvider = _chunkDDYMIWLWcjs.XAUIProvider; exports.buildRadius = _chunkDDYMIWLWcjs.buildRadius; exports.buildShadows = _chunkDDYMIWLWcjs.buildShadows; exports.createTheme = _chunkDDYMIWLWcjs.createTheme; exports.defaultTheme = _chunkDDYMIWLWcjs.defaultTheme; exports.deriveColors = _chunkDDYMIWLWcjs.deriveColors; exports.deriveTint = _chunk6N5JXRUZcjs.deriveTint; exports.palette = _chunkDDYMIWLWcjs.palette; exports.primitives = _chunkDDYMIWLWcjs.primitives; exports.sourceKeys = _chunkDDYMIWLWcjs.sourceKeys; exports.tokens = _chunkDDYMIWLWcjs.tokens; exports.useColorMode = _chunk6N5JXRUZcjs.useColorMode; exports.useThemeColor = _chunk6N5JXRUZcjs.useThemeColor; exports.useXAUITheme = _chunk6N5JXRUZcjs.useXAUITheme;
@@ -44,6 +44,17 @@ declare const defaultTheme: XAUIThemeSet;
44
44
  * These are HeroUI's `color-mix(in oklab, …)` formulas transposed to JS, because React
45
45
  * Native has no `color-mix()`. Their `-hover` names became `-pressed`: what they feed is
46
46
  * the press overlay, and the web name was a leftover.
47
+ *
48
+ * **One deliberate divergence: a pressed state always moves towards the mode's ink**
49
+ * (P2-API-REVIEW §E). Mixing towards the variant's own foreground — which is what their
50
+ * formula does — makes the direction follow the fill's lightness rather than a decision:
51
+ * `#9333ea` has near-white text and lightened under the finger in light mode, while
52
+ * `#c084fc` has dark text and darkened in dark mode. Same component, opposite gesture,
53
+ * nobody's choice. Towards `foreground` it is one direction — darker in light, lighter in
54
+ * dark — and the label's contrast rises in both instead of falling in one.
55
+ *
56
+ * The neutral fills already did this: `defaultForeground` and `surfaceForeground` *are*
57
+ * the ink, so only the four saturated intents ever flipped.
47
58
  */
48
59
  declare function deriveColors(s: XAUISourceColors): XAUIDerivedColors;
49
60
 
@@ -417,10 +428,10 @@ declare const tokens: {
417
428
  readonly separator: "#d4d4d8";
418
429
  readonly focus: "#9333ea";
419
430
  readonly link: "#18181b";
420
- readonly accentPressed: "#9c4eee";
421
- readonly successPressed: "#378c50";
422
- readonly warningPressed: "#bd642f";
423
- readonly dangerPressed: "#e2473f";
431
+ readonly accentPressed: "#8533d3";
432
+ readonly successPressed: "#1b753a";
433
+ readonly warningPressed: "#a34d13";
434
+ readonly dangerPressed: "#c72927";
424
435
  readonly defaultPressed: "#eaeaeb";
425
436
  readonly surfacePressed: "#eaeaea";
426
437
  readonly defaultSoft: "rgba(244, 244, 245, 0.5)";
@@ -487,10 +498,10 @@ declare const tokens: {
487
498
  readonly separator: "#52525b";
488
499
  readonly focus: "#c084fc";
489
500
  readonly link: "#fafafa";
490
- readonly accentPressed: "#ad78e3";
491
- readonly successPressed: "#47c875";
492
- readonly warningPressed: "#e1ac2b";
493
- readonly dangerPressed: "#df6868";
501
+ readonly accentPressed: "#c691fd";
502
+ readonly successPressed: "#64e18d";
503
+ readonly warningPressed: "#fbc54b";
504
+ readonly dangerPressed: "#fa807e";
494
505
  readonly defaultPressed: "#2e2e31";
495
506
  readonly surfacePressed: "#27272a";
496
507
  readonly defaultSoft: "rgba(39, 39, 42, 0.5)";
@@ -44,6 +44,17 @@ declare const defaultTheme: XAUIThemeSet;
44
44
  * These are HeroUI's `color-mix(in oklab, …)` formulas transposed to JS, because React
45
45
  * Native has no `color-mix()`. Their `-hover` names became `-pressed`: what they feed is
46
46
  * the press overlay, and the web name was a leftover.
47
+ *
48
+ * **One deliberate divergence: a pressed state always moves towards the mode's ink**
49
+ * (P2-API-REVIEW §E). Mixing towards the variant's own foreground — which is what their
50
+ * formula does — makes the direction follow the fill's lightness rather than a decision:
51
+ * `#9333ea` has near-white text and lightened under the finger in light mode, while
52
+ * `#c084fc` has dark text and darkened in dark mode. Same component, opposite gesture,
53
+ * nobody's choice. Towards `foreground` it is one direction — darker in light, lighter in
54
+ * dark — and the label's contrast rises in both instead of falling in one.
55
+ *
56
+ * The neutral fills already did this: `defaultForeground` and `surfaceForeground` *are*
57
+ * the ink, so only the four saturated intents ever flipped.
47
58
  */
48
59
  declare function deriveColors(s: XAUISourceColors): XAUIDerivedColors;
49
60
 
@@ -417,10 +428,10 @@ declare const tokens: {
417
428
  readonly separator: "#d4d4d8";
418
429
  readonly focus: "#9333ea";
419
430
  readonly link: "#18181b";
420
- readonly accentPressed: "#9c4eee";
421
- readonly successPressed: "#378c50";
422
- readonly warningPressed: "#bd642f";
423
- readonly dangerPressed: "#e2473f";
431
+ readonly accentPressed: "#8533d3";
432
+ readonly successPressed: "#1b753a";
433
+ readonly warningPressed: "#a34d13";
434
+ readonly dangerPressed: "#c72927";
424
435
  readonly defaultPressed: "#eaeaeb";
425
436
  readonly surfacePressed: "#eaeaea";
426
437
  readonly defaultSoft: "rgba(244, 244, 245, 0.5)";
@@ -487,10 +498,10 @@ declare const tokens: {
487
498
  readonly separator: "#52525b";
488
499
  readonly focus: "#c084fc";
489
500
  readonly link: "#fafafa";
490
- readonly accentPressed: "#ad78e3";
491
- readonly successPressed: "#47c875";
492
- readonly warningPressed: "#e1ac2b";
493
- readonly dangerPressed: "#df6868";
501
+ readonly accentPressed: "#c691fd";
502
+ readonly successPressed: "#64e18d";
503
+ readonly warningPressed: "#fbc54b";
504
+ readonly dangerPressed: "#fa807e";
494
505
  readonly defaultPressed: "#2e2e31";
495
506
  readonly surfacePressed: "#27272a";
496
507
  readonly defaultSoft: "rgba(39, 39, 42, 0.5)";
@@ -9,14 +9,14 @@ import {
9
9
  primitives,
10
10
  sourceKeys,
11
11
  tokens
12
- } from "../chunk-5TKZV7IC.js";
12
+ } from "../chunk-4O3PXFQ7.js";
13
13
  import {
14
14
  ThemeContext,
15
15
  deriveTint,
16
16
  useColorMode,
17
17
  useThemeColor,
18
18
  useXAUITheme
19
- } from "../chunk-EMXBFHIP.js";
19
+ } from "../chunk-XJARE6SC.js";
20
20
  export {
21
21
  ThemeContext,
22
22
  XAUIProvider,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xaui/native",
3
- "version": "0.9.1-alpha.12",
3
+ "version": "0.9.1-alpha.13",
4
4
  "description": "Composition-first React Native UI components with native animations powered by Reanimated",
5
5
  "keywords": [
6
6
  "react-native",