@cdx-ui/primitives 0.0.1-beta.91 → 0.0.1-beta.93

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.
@@ -20,6 +20,7 @@ Root primitives emit `data-*` attributes for the interaction state they own and
20
20
 
21
21
  - **Root** — emits + provides context. Always.
22
22
  - **Sub-slot** — does not subscribe, does not emit. Opt in only when the styled layer (or the slot's own behavior) demonstrably reacts to the state.
23
+ - **Native compound conditions** — when the styled layer needs two or more interaction states combined on native (Uniwind evaluates only the last `data-[]` condition in a chain), the primitive derives a single compound-state string via a module-scope lookup table and emits it through `dataAttributes({...})` **in parallel** with the individual booleans. Canonical example: `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` (`idle` / `invalid` / `focused` / `focused-invalid`). See `docs/internal/practices/data-attributes.md` § "Compound state on native".
23
24
 
24
25
  Pointlessly emitting on every sub-slot multiplies bridge writes (native) and DOM attribute writes (web) for no consumer benefit. A sub-slot that calls `useButtonContext()` becomes a subscriber — every interaction re-renders it even when nothing visually changes.
25
26
 
@@ -76,6 +77,7 @@ Each concrete primitive is a `forwardRef` component that hardcodes its default R
76
77
  - **`I*Props` convention** — public prop types are aliased with `I` prefix (e.g., `IButtonProps`), exported from `types.ts`.
77
78
  - **`Interface*Props` pattern** — the full interface (e.g., `InterfaceButtonProps`) extends the appropriate RN base type (`PressableProps`, `ViewProps`, etc.) with interaction state booleans (`isHovered`, `isActive`, `isFocused`, `isFocusVisible`, `isDisabled`); re-exported as `I*Props`.
78
79
  - **`dataAttributes()` helper** — always use the helper from `../utils/dataAttributes` to emit `data-*` props; it handles platform differences (native vs web).
80
+ - **Derived compound-state attributes** — when the styled layer needs a native compound condition, derive a single compound-state string via a module-scope lookup table and emit it via `dataAttributes({...})` alongside the individual booleans. `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` is the canonical example.
79
81
  - **`mergeDataAttributes(...sources)` helper** — when a primitive Root receives data attrs through `props` from its styled layer (e.g. `data-slot`) AND emits its own data attrs (e.g. interaction state), combine them via `mergeDataAttributes(props, dataAttributes({...}))`. A plain `{...dataAttributes({...})} {...props}` spread chain wipes out one side on web — `dataAttributes` returns `{ dataSet }`, so back-to-back spreads replace each other. The merge helper preserves both. `ButtonRoot.tsx` shows the canonical pattern.
80
82
  - **`composeEventHandlers`** from `@cdx-ui/utils` — merge consumer handlers with internal handlers; never silently override.
81
83
  - **`forwardRef`** on every component — refs forwarded to the underlying host element.
@@ -13,6 +13,12 @@ var _slot = require("../slot");
13
13
  var _dataAttributes = require("../utils/dataAttributes");
14
14
  var _context = require("./context");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
+ const FIELD_STATES = {
17
+ 'false:false': 'idle',
18
+ 'false:true': 'invalid',
19
+ 'true:false': 'focused',
20
+ 'true:true': 'focused-invalid'
21
+ };
16
22
  const InputRoot = exports.InputRoot = /*#__PURE__*/(0, _react.forwardRef)(({
17
23
  asChild,
18
24
  children,
@@ -62,6 +68,7 @@ const InputRoot = exports.InputRoot = /*#__PURE__*/(0, _react.forwardRef)(({
62
68
  inputFieldRef
63
69
  }), [resolvedDisabled, resolvedInvalid, resolvedHovered, resolvedFocused, resolvedFocusVisible, resolvedReadOnly, resolvedRequired, handleFocus]);
64
70
  const Comp = asChild ? _slot.Slot : _reactNative.View;
71
+ const fieldState = FIELD_STATES[`${resolvedFocused ? 'true' : 'false'}:${resolvedInvalid ? 'true' : 'false'}`];
65
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.InputProvider, {
66
73
  value: contextValue,
67
74
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
@@ -74,7 +81,8 @@ const InputRoot = exports.InputRoot = /*#__PURE__*/(0, _react.forwardRef)(({
74
81
  invalid: resolvedInvalid,
75
82
  readonly: resolvedReadOnly,
76
83
  required: resolvedRequired,
77
- focusVisible: resolvedFocusVisible
84
+ focusVisible: resolvedFocusVisible,
85
+ fieldState
78
86
  })),
79
87
  children: children
80
88
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_slot","_dataAttributes","_context","_jsxRuntime","InputRoot","exports","forwardRef","asChild","children","isReadOnly","isDisabled","isInvalid","isRequired","isHovered","isHoveredProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","rest","ref","inputRef","useRef","inputFieldRef","setIsFocused","useState","handleFocus","useCallback","focusState","callback","inputProps","useFormControlContext","useHover","useFocusRing","resolvedDisabled","resolvedInvalid","resolvedReadOnly","resolvedRequired","resolvedHovered","resolvedFocused","resolvedFocusVisible","contextValue","useMemo","Comp","Slot","View","jsx","InputProvider","value","mergeRefs","mergeDataAttributes","dataAttributes","hover","focus","disabled","invalid","readonly","required","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["input/InputRoot.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_slot","_dataAttributes","_context","_jsxRuntime","FIELD_STATES","InputRoot","exports","forwardRef","asChild","children","isReadOnly","isDisabled","isInvalid","isRequired","isHovered","isHoveredProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","rest","ref","inputRef","useRef","inputFieldRef","setIsFocused","useState","handleFocus","useCallback","focusState","callback","inputProps","useFormControlContext","useHover","useFocusRing","resolvedDisabled","resolvedInvalid","resolvedReadOnly","resolvedRequired","resolvedHovered","resolvedFocused","resolvedFocusVisible","contextValue","useMemo","Comp","Slot","View","fieldState","jsx","InputProvider","value","mergeRefs","mergeDataAttributes","dataAttributes","hover","focus","disabled","invalid","readonly","required","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["input/InputRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,12 @@ var _utils = require("@cdx-ui/utils");
9
9
  var _focus = require("@react-native-aria/focus");
10
10
  var _interactions = require("@react-native-aria/interactions");
11
11
  var _context = require("./context");
12
+ const FIELD_STATES = {
13
+ 'false:false': 'idle',
14
+ 'false:true': 'invalid',
15
+ 'true:false': 'focused',
16
+ 'true:true': 'focused-invalid'
17
+ };
12
18
  /**
13
19
  * Shared logic for `Select.Trigger` across native and web. Each platform file is
14
20
  * a thin host-element wrapper that spreads this hook's output. The hook composes
@@ -171,6 +177,7 @@ function useSelectTrigger(forwardedRef, options) {
171
177
  id: triggerId,
172
178
  disabled
173
179
  };
180
+ const fieldState = FIELD_STATES[`${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`];
174
181
  const dataAttrValues = {
175
182
  hover: interactionState.hover,
176
183
  focus: interactionState.focus,
@@ -180,7 +187,8 @@ function useSelectTrigger(forwardedRef, options) {
180
187
  required: !!contextRequired,
181
188
  invalid: !!contextInvalid,
182
189
  readonly: !!contextReadOnly,
183
- state: open ? 'open' : 'closed'
190
+ state: open ? 'open' : 'closed',
191
+ fieldState
184
192
  };
185
193
  const handlers = {
186
194
  onPress: (0, _utils.composeEventHandlers)(consumerOnPress, handlePress),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,13 @@ var _utils = require("@cdx-ui/utils");
9
9
  var _focus = require("@react-native-aria/focus");
10
10
  var _interactions = require("@react-native-aria/interactions");
11
11
  var _context = require("./context");
12
+ const FIELD_STATES = {
13
+ 'false:false': 'idle',
14
+ 'false:true': 'invalid',
15
+ 'true:false': 'focused',
16
+ 'true:true': 'focused-invalid'
17
+ };
18
+
12
19
  /**
13
20
  * Web variant — drops `useHover` and `useFocusRing` per the trigger-prune todo:
14
21
  * neither emitted attribute has a consumer in `selectTriggerVariants`, and the
@@ -159,6 +166,7 @@ function useSelectTrigger(forwardedRef, options) {
159
166
  id: triggerId,
160
167
  disabled
161
168
  };
169
+ const fieldState = FIELD_STATES[`${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`];
162
170
  const dataAttrValues = {
163
171
  focus: interactionState.focus,
164
172
  active: interactionState.active,
@@ -166,7 +174,8 @@ function useSelectTrigger(forwardedRef, options) {
166
174
  required: !!contextRequired,
167
175
  invalid: !!contextInvalid,
168
176
  readonly: !!contextReadOnly,
169
- state: open ? 'open' : 'closed'
177
+ state: open ? 'open' : 'closed',
178
+ fieldState
170
179
  };
171
180
  const handlers = {
172
181
  onPress: (0, _utils.composeEventHandlers)(consumerOnPress, handlePress),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","pressProps","isPressed","usePress","focusProps","useFocus","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AAOA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,gBAAgBA,CAC9BC,YAAmC,EACnCC,OAAgC,EACR;EACxB,MAAM;IACJC,OAAO;IACPC,SAAS,EAAEC,aAAa;IACxBC,QAAQ,EAAEC,YAAY;IACtBC,SAAS,EAAEC,aAAa;IACxBC,cAAc,EAAEC,kBAAkB;IAClCC,UAAU,EAAEC,cAAc;IAC1BC,eAAe,EAAEC,mBAAmB;IACpCC,OAAO,EAAEC,eAAe;IACxBC,SAAS,EAAEC,iBAAiB;IAC5BC,UAAU,EAAEC,kBAAkB;IAC9BC,SAAS,EAAEC,iBAAiB;IAC5BC,UAAU,EAAEC,kBAAkB;IAC9BC,OAAO,EAAEC,eAAe;IACxBC,MAAM,EAAEC,cAAc;IACtBC,SAAS,EAAEC;EACb,CAAC,GAAG7B,OAAO;EAEX,MAAM;IACJ8B,IAAI;IACJC,OAAO;IACPC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,OAAO,EAAEC,cAAc;IACvBC,QAAQ,EAAEC,eAAe;IACzBC,SAAS;IACTC,SAAS;IACTC,UAAU;IACVC,WAAW;IACXC,kBAAkB;IAClBhC,eAAe,EAAEiC;EACnB,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EAEtB,MAAMC,KAAK,GAAG,IAAAC,4BAAqB,EAAC,CAAC;EAErC,MAAMhB,QAAQ,GAAGC,eAAe,IAAI,CAAC,CAACtB,cAAc;EAEpD,MAAM;IAAEsC,UAAU;IAAEC,SAAS,EAAE9C;EAAS,CAAC,GAAG,IAAA+C,sBAAQ,EAAC;IAAEzC,UAAU,EAAEsB;EAAS,CAAC,CAAC;EAC9E,MAAM;IAAE1B,SAAS;IAAE8C;EAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAM1C;EACD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE3D,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,EAAyB,IAAK;IAC7B,IAAI,CAAC3B,QAAQ,EAAE;MACbD,OAAO,CAAC,CAACD,IAAI,CAAC;IAChB;EACF,CAAC,EACD,CAACE,QAAQ,EAAEF,IAAI,EAAEC,OAAO,CAC1B,CAAC;EAED,MAAM6B,aAAa,GAAG,IAAAF,kBAAW,EAC9BG,CAAgB,IAAK;IACpB,IAAI7B,QAAQ,EAAE;MACZ;IACF;IAEA,QAAQ6B,CAAC,CAACC,GAAG;MACX,KAAK,OAAO;MACZ,KAAK,GAAG;MACR,KAAK,WAAW;MAChB,KAAK,SAAS;QAAE;UACdD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBhC,OAAO,CAAC,IAAI,CAAC;UACb;QACF;IACF;EACF,CAAC,EACD,CAACC,QAAQ,EAAED,OAAO,CACpB,CAAC;EAED,MAAMiC,aAAa,GAAGC,OAAO,CAC3B,CAAC1D,aAAa,IAAID,SAAS,IAAIgD,cAAc,IAAIxB,IAAI,KAAK,CAACE,QAC7D,CAAC;EAED,IAAAkC,qCAA8B,EAACF,aAAa,CAAC;EAE7C,IAAAG,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACrC,IAAI,EAAE;MACTyB,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAACzB,IAAI,CAAC,CAAC;EAEV,MAAMsC,gBAAgB,GAAG,IAAAC,cAAO,EAC9B,OAAO;IACLC,KAAK,EAAE,CAAC,CAACnE,aAAa;IACtBoE,KAAK,EAAE,CAAC,EAAEhE,aAAa,IAAID,SAAS,IAAIwB,IAAI,CAAC;IAC7C0C,MAAM,EAAE,CAAC,EAAEnE,YAAY,IAAID,QAAQ,CAAC;IACpC4B,QAAQ,EAAE,CAAC,CAACA,QAAQ;IACpByC,YAAY,EAAE,CAAC,CAAChE;EAClB,CAAC,CAAC,EACF,CACEN,aAAa,EACbI,aAAa,EACbD,SAAS,EACTD,YAAY,EACZD,QAAQ,EACR4B,QAAQ,EACRvB,kBAAkB,EAClBqB,IAAI,CAER,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAM4C,iBAAiB,GAAG,IAAAC,aAAM,EAAC;IAAE3C,QAAQ,EAAE,KAAK;IAAEM,QAAQ,EAAE;EAAM,CAAC,CAAC;EACtEoC,iBAAiB,CAACE,OAAO,GAAG;IAC1B5C,QAAQ,EAAE,CAAC,CAACA,QAAQ;IACpBM,QAAQ,EAAE,CAAC,CAACC;EACd,CAAC;EAED,MAAMsC,gBAAgB,GAAG,IAAAR,cAAO,EAC9B,OAAO;IACLE,KAAKA,CAAA,EAAG;MACN,MAAM;QAAEvC,QAAQ,EAAE8C,KAAK;QAAExC,QAAQ,EAAEyC;MAAK,CAAC,GAAGL,iBAAiB,CAACE,OAAO;MACrE,IAAIE,KAAK,IAAIC,IAAI,EAAE;QACjB;MACF;MACA,MAAMC,IAAI,GAAGtC,UAAU,CAACkC,OAAwC;MAChE,IAAII,IAAI,IAAI,IAAI,IAAI,OAAOA,IAAI,CAACT,KAAK,KAAK,UAAU,EAAE;QACpDS,IAAI,CAACT,KAAK,CAAC,CAAC;MACd;MACAxC,OAAO,CAAC,IAAI,CAAC;IACf;EACF,CAAC,CAAC,EACF,CAACA,OAAO,EAAEW,UAAU,CACtB,CAAC;EAED,MAAMuC,2BAA2B,GAAG,CAAC,CAAChF,OAAO;EAE7C,IAAAkE,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACc,2BAA2B,IAAI,CAAClC,KAAK,CAACmC,QAAQ,EAAE;MACnD;IACF;IACA,MAAMC,CAAC,GAAGpC,KAAK,CAACmC,QAAQ;IACxBC,CAAC,CAACP,OAAO,GAAGC,gBAAgB;IAC5B,OAAO,MAAM;MACX,IAAIM,CAAC,CAACP,OAAO,KAAKC,gBAAgB,EAAE;QAClCM,CAAC,CAACP,OAAO,GAAG,IAAI;MAClB;IACF,CAAC;EACH,CAAC,EAAE,CAACK,2BAA2B,EAAElC,KAAK,CAACmC,QAAQ,EAAEL,gBAAgB,CAAC,CAAC;EAEnE,MAAMO,SAAS,GAAG,IAAAC,gBAAS,EAACtF,YAAY,EAAE2C,UAAU,CAAyB;EAE7E,MAAM9B,eAAe,GAAG,CAACiC,wBAAwB,EAAEhC,mBAAmB,CAAC,CAACyE,MAAM,CAACrB,OAAO,CAAC,CAACsB,IAAI,CAAC,GAAG,CAAC;EAEjG,MAAMC,SAAiC,GAAG;IACxCC,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE7C,kBAAkB;IAChC,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAEd,IAAI;IACrB,eAAe,EAAEW,SAAS;IAC1B,uBAAuB,EAAEX,IAAI,IAAIa,WAAW,GAAG,GAAGF,SAAS,WAAWE,WAAW,EAAE,GAAG+C,SAAS;IAC/F,eAAe,EAAEvD,eAAe,IAAIuD,SAAS;IAC7C,cAAc,EAAErD,cAAc,IAAIqD,SAAS;IAC3C,eAAe,EAAEnD,eAAe,IAAImD,SAAS;IAC7C,kBAAkB,EAAE9E,eAAe,IAAI8E,SAAS;IAChDC,EAAE,EAAEnD,SAAS;IACbR;EACF,CAAC;EAED,MAAM4D,cAA2C,GAAG;IAClDrB,KAAK,EAAEH,gBAAgB,CAACG,KAAK;IAC7BC,MAAM,EAAEJ,gBAAgB,CAACI,MAAM;IAC/BxC,QAAQ,EAAEoC,gBAAgB,CAACpC,QAAQ;IACnCE,QAAQ,EAAE,CAAC,CAACC,eAAe;IAC3BC,OAAO,EAAE,CAAC,CAACC,cAAc;IACzBwD,QAAQ,EAAE,CAAC,CAACtD,eAAe;IAC3BuD,KAAK,EAAEhE,IAAI,GAAG,MAAM,GAAG;EACzB,CAAC;EAED,MAAMiE,QAA+B,GAAG;IACtCjF,OAAO,EAAE,IAAAkF,2BAAoB,EAACjF,eAAe,EAAE0C,WAAW,CAAqC;IAC/FzC,SAAS,EAAE,IAAAgF,2BAAoB,EAC7B/E,iBAAiB,EACjBgC,UAAU,CAACjC,SACb,CAAuC;IACvCE,UAAU,EAAE,IAAA8E,2BAAoB,EAC9B7E,kBAAkB,EAClB8B,UAAU,CAAC/B,UACb,CAAwC;IACxCE,SAAS,EAAEC,iBAAiB,KAAK,MAAMqE,SAAS,CAAC;IACjDpE,UAAU,EAAEC,kBAAkB,KAAK,MAAMmE,SAAS,CAAC;IACnDlE,OAAO,EAAE,IAAAwE,2BAAoB,EAAC,IAAAA,2BAAoB,EAACvE,eAAe,EAAE2B,UAAU,CAAC5B,OAAO,CAAC,EAAE,MACvF+B,iBAAiB,CAAC,IAAI,CACxB,CAAC;IACD7B,MAAM,EAAE,IAAAsE,2BAAoB,EAAC,IAAAA,2BAAoB,EAACrE,cAAc,EAAEyB,UAAU,CAAC1B,MAAM,CAAC,EAAE,MACpF6B,iBAAiB,CAAC,KAAK,CACzB,CAAC;IACD3B,SAAS,EAAE,IAAAoE,2BAAoB,EAC7BnE,iBAAiB,EACjB+B,aACF;EACF,CAAC;EAED,OAAO;IACL4B,SAAS;IACTI,cAAc;IACdxB,gBAAgB;IAChBgB,SAAS;IACTW,QAAQ;IACR/B,aAAa;IACblC,IAAI;IACJ+C;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","_focus","_interactions","_context","FIELD_STATES","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","pressProps","isPressed","usePress","focusProps","useFocus","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","mergeRefs","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers","composeEventHandlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AAOA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AASA,MAAMK,YAAY,GAAG;EACnB,aAAa,EAAE,MAAM;EACrB,YAAY,EAAE,SAAS;EACvB,YAAY,EAAE,SAAS;EACvB,WAAW,EAAE;AACf,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAC9BC,YAAmC,EACnCC,OAAgC,EACR;EACxB,MAAM;IACJC,OAAO;IACPC,SAAS,EAAEC,aAAa;IACxBC,QAAQ,EAAEC,YAAY;IACtBC,SAAS,EAAEC,aAAa;IACxBC,cAAc,EAAEC,kBAAkB;IAClCC,UAAU,EAAEC,cAAc;IAC1BC,eAAe,EAAEC,mBAAmB;IACpCC,OAAO,EAAEC,eAAe;IACxBC,SAAS,EAAEC,iBAAiB;IAC5BC,UAAU,EAAEC,kBAAkB;IAC9BC,SAAS,EAAEC,iBAAiB;IAC5BC,UAAU,EAAEC,kBAAkB;IAC9BC,OAAO,EAAEC,eAAe;IACxBC,MAAM,EAAEC,cAAc;IACtBC,SAAS,EAAEC;EACb,CAAC,GAAG7B,OAAO;EAEX,MAAM;IACJ8B,IAAI;IACJC,OAAO;IACPC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,OAAO,EAAEC,cAAc;IACvBC,QAAQ,EAAEC,eAAe;IACzBC,SAAS;IACTC,SAAS;IACTC,UAAU;IACVC,WAAW;IACXC,kBAAkB;IAClBhC,eAAe,EAAEiC;EACnB,CAAC,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EAEtB,MAAMC,KAAK,GAAG,IAAAC,4BAAqB,EAAC,CAAC;EAErC,MAAMhB,QAAQ,GAAGC,eAAe,IAAI,CAAC,CAACtB,cAAc;EAEpD,MAAM;IAAEsC,UAAU;IAAEC,SAAS,EAAE9C;EAAS,CAAC,GAAG,IAAA+C,sBAAQ,EAAC;IAAEzC,UAAU,EAAEsB;EAAS,CAAC,CAAC;EAC9E,MAAM;IAAE1B,SAAS;IAAE8C;EAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAM1C;EACD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE3D,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,EAAyB,IAAK;IAC7B,IAAI,CAAC3B,QAAQ,EAAE;MACbD,OAAO,CAAC,CAACD,IAAI,CAAC;IAChB;EACF,CAAC,EACD,CAACE,QAAQ,EAAEF,IAAI,EAAEC,OAAO,CAC1B,CAAC;EAED,MAAM6B,aAAa,GAAG,IAAAF,kBAAW,EAC9BG,CAAgB,IAAK;IACpB,IAAI7B,QAAQ,EAAE;MACZ;IACF;IAEA,QAAQ6B,CAAC,CAACC,GAAG;MACX,KAAK,OAAO;MACZ,KAAK,GAAG;MACR,KAAK,WAAW;MAChB,KAAK,SAAS;QAAE;UACdD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBhC,OAAO,CAAC,IAAI,CAAC;UACb;QACF;IACF;EACF,CAAC,EACD,CAACC,QAAQ,EAAED,OAAO,CACpB,CAAC;EAED,MAAMiC,aAAa,GAAGC,OAAO,CAC3B,CAAC1D,aAAa,IAAID,SAAS,IAAIgD,cAAc,IAAIxB,IAAI,KAAK,CAACE,QAC7D,CAAC;EAED,IAAAkC,qCAA8B,EAACF,aAAa,CAAC;EAE7C,IAAAG,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACrC,IAAI,EAAE;MACTyB,iBAAiB,CAAC,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAACzB,IAAI,CAAC,CAAC;EAEV,MAAMsC,gBAAgB,GAAG,IAAAC,cAAO,EAC9B,OAAO;IACLC,KAAK,EAAE,CAAC,CAACnE,aAAa;IACtBoE,KAAK,EAAE,CAAC,EAAEhE,aAAa,IAAID,SAAS,IAAIwB,IAAI,CAAC;IAC7C0C,MAAM,EAAE,CAAC,EAAEnE,YAAY,IAAID,QAAQ,CAAC;IACpC4B,QAAQ,EAAE,CAAC,CAACA,QAAQ;IACpByC,YAAY,EAAE,CAAC,CAAChE;EAClB,CAAC,CAAC,EACF,CACEN,aAAa,EACbI,aAAa,EACbD,SAAS,EACTD,YAAY,EACZD,QAAQ,EACR4B,QAAQ,EACRvB,kBAAkB,EAClBqB,IAAI,CAER,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAM4C,iBAAiB,GAAG,IAAAC,aAAM,EAAC;IAAE3C,QAAQ,EAAE,KAAK;IAAEM,QAAQ,EAAE;EAAM,CAAC,CAAC;EACtEoC,iBAAiB,CAACE,OAAO,GAAG;IAC1B5C,QAAQ,EAAE,CAAC,CAACA,QAAQ;IACpBM,QAAQ,EAAE,CAAC,CAACC;EACd,CAAC;EAED,MAAMsC,gBAAgB,GAAG,IAAAR,cAAO,EAC9B,OAAO;IACLE,KAAKA,CAAA,EAAG;MACN,MAAM;QAAEvC,QAAQ,EAAE8C,KAAK;QAAExC,QAAQ,EAAEyC;MAAK,CAAC,GAAGL,iBAAiB,CAACE,OAAO;MACrE,IAAIE,KAAK,IAAIC,IAAI,EAAE;QACjB;MACF;MACA,MAAMC,IAAI,GAAGtC,UAAU,CAACkC,OAAwC;MAChE,IAAII,IAAI,IAAI,IAAI,IAAI,OAAOA,IAAI,CAACT,KAAK,KAAK,UAAU,EAAE;QACpDS,IAAI,CAACT,KAAK,CAAC,CAAC;MACd;MACAxC,OAAO,CAAC,IAAI,CAAC;IACf;EACF,CAAC,CAAC,EACF,CAACA,OAAO,EAAEW,UAAU,CACtB,CAAC;EAED,MAAMuC,2BAA2B,GAAG,CAAC,CAAChF,OAAO;EAE7C,IAAAkE,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACc,2BAA2B,IAAI,CAAClC,KAAK,CAACmC,QAAQ,EAAE;MACnD;IACF;IACA,MAAMC,CAAC,GAAGpC,KAAK,CAACmC,QAAQ;IACxBC,CAAC,CAACP,OAAO,GAAGC,gBAAgB;IAC5B,OAAO,MAAM;MACX,IAAIM,CAAC,CAACP,OAAO,KAAKC,gBAAgB,EAAE;QAClCM,CAAC,CAACP,OAAO,GAAG,IAAI;MAClB;IACF,CAAC;EACH,CAAC,EAAE,CAACK,2BAA2B,EAAElC,KAAK,CAACmC,QAAQ,EAAEL,gBAAgB,CAAC,CAAC;EAEnE,MAAMO,SAAS,GAAG,IAAAC,gBAAS,EAACtF,YAAY,EAAE2C,UAAU,CAAyB;EAE7E,MAAM9B,eAAe,GAAG,CAACiC,wBAAwB,EAAEhC,mBAAmB,CAAC,CAACyE,MAAM,CAACrB,OAAO,CAAC,CAACsB,IAAI,CAAC,GAAG,CAAC;EAEjG,MAAMC,SAAiC,GAAG;IACxCC,IAAI,EAAE,UAAU;IAChB,YAAY,EAAE7C,kBAAkB;IAChC,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAEd,IAAI;IACrB,eAAe,EAAEW,SAAS;IAC1B,uBAAuB,EAAEX,IAAI,IAAIa,WAAW,GAAG,GAAGF,SAAS,WAAWE,WAAW,EAAE,GAAG+C,SAAS;IAC/F,eAAe,EAAEvD,eAAe,IAAIuD,SAAS;IAC7C,cAAc,EAAErD,cAAc,IAAIqD,SAAS;IAC3C,eAAe,EAAEnD,eAAe,IAAImD,SAAS;IAC7C,kBAAkB,EAAE9E,eAAe,IAAI8E,SAAS;IAChDC,EAAE,EAAEnD,SAAS;IACbR;EACF,CAAC;EAED,MAAM4D,UAAU,GACd/F,YAAY,CACV,GAAGuE,gBAAgB,CAACG,KAAK,GAAG,MAAM,GAAG,OAAO,IAAIlC,cAAc,GAAG,MAAM,GAAG,OAAO,EAAE,CACpF;EAEH,MAAMwD,cAA2C,GAAG;IAClDtB,KAAK,EAAEH,gBAAgB,CAACG,KAAK;IAC7BC,MAAM,EAAEJ,gBAAgB,CAACI,MAAM;IAC/BxC,QAAQ,EAAEoC,gBAAgB,CAACpC,QAAQ;IACnCE,QAAQ,EAAE,CAAC,CAACC,eAAe;IAC3BC,OAAO,EAAE,CAAC,CAACC,cAAc;IACzByD,QAAQ,EAAE,CAAC,CAACvD,eAAe;IAC3BwD,KAAK,EAAEjE,IAAI,GAAG,MAAM,GAAG,QAAQ;IAC/B8D;EACF,CAAC;EAED,MAAMI,QAA+B,GAAG;IACtClF,OAAO,EAAE,IAAAmF,2BAAoB,EAAClF,eAAe,EAAE0C,WAAW,CAAqC;IAC/FzC,SAAS,EAAE,IAAAiF,2BAAoB,EAC7BhF,iBAAiB,EACjBgC,UAAU,CAACjC,SACb,CAAuC;IACvCE,UAAU,EAAE,IAAA+E,2BAAoB,EAC9B9E,kBAAkB,EAClB8B,UAAU,CAAC/B,UACb,CAAwC;IACxCE,SAAS,EAAEC,iBAAiB,KAAK,MAAMqE,SAAS,CAAC;IACjDpE,UAAU,EAAEC,kBAAkB,KAAK,MAAMmE,SAAS,CAAC;IACnDlE,OAAO,EAAE,IAAAyE,2BAAoB,EAAC,IAAAA,2BAAoB,EAACxE,eAAe,EAAE2B,UAAU,CAAC5B,OAAO,CAAC,EAAE,MACvF+B,iBAAiB,CAAC,IAAI,CACxB,CAAC;IACD7B,MAAM,EAAE,IAAAuE,2BAAoB,EAAC,IAAAA,2BAAoB,EAACtE,cAAc,EAAEyB,UAAU,CAAC1B,MAAM,CAAC,EAAE,MACpF6B,iBAAiB,CAAC,KAAK,CACzB,CAAC;IACD3B,SAAS,EAAE,IAAAqE,2BAAoB,EAC7BpE,iBAAiB,EACjB+B,aACF;EACF,CAAC;EAED,OAAO;IACL4B,SAAS;IACTK,cAAc;IACdzB,gBAAgB;IAChBgB,SAAS;IACTY,QAAQ;IACRhC,aAAa;IACblC,IAAI;IACJ+C;EACF,CAAC;AACH","ignoreList":[]}
@@ -20,6 +20,7 @@ Root primitives emit `data-*` attributes for the interaction state they own and
20
20
 
21
21
  - **Root** — emits + provides context. Always.
22
22
  - **Sub-slot** — does not subscribe, does not emit. Opt in only when the styled layer (or the slot's own behavior) demonstrably reacts to the state.
23
+ - **Native compound conditions** — when the styled layer needs two or more interaction states combined on native (Uniwind evaluates only the last `data-[]` condition in a chain), the primitive derives a single compound-state string via a module-scope lookup table and emits it through `dataAttributes({...})` **in parallel** with the individual booleans. Canonical example: `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` (`idle` / `invalid` / `focused` / `focused-invalid`). See `docs/internal/practices/data-attributes.md` § "Compound state on native".
23
24
 
24
25
  Pointlessly emitting on every sub-slot multiplies bridge writes (native) and DOM attribute writes (web) for no consumer benefit. A sub-slot that calls `useButtonContext()` becomes a subscriber — every interaction re-renders it even when nothing visually changes.
25
26
 
@@ -76,6 +77,7 @@ Each concrete primitive is a `forwardRef` component that hardcodes its default R
76
77
  - **`I*Props` convention** — public prop types are aliased with `I` prefix (e.g., `IButtonProps`), exported from `types.ts`.
77
78
  - **`Interface*Props` pattern** — the full interface (e.g., `InterfaceButtonProps`) extends the appropriate RN base type (`PressableProps`, `ViewProps`, etc.) with interaction state booleans (`isHovered`, `isActive`, `isFocused`, `isFocusVisible`, `isDisabled`); re-exported as `I*Props`.
78
79
  - **`dataAttributes()` helper** — always use the helper from `../utils/dataAttributes` to emit `data-*` props; it handles platform differences (native vs web).
80
+ - **Derived compound-state attributes** — when the styled layer needs a native compound condition, derive a single compound-state string via a module-scope lookup table and emit it via `dataAttributes({...})` alongside the individual booleans. `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` is the canonical example.
79
81
  - **`mergeDataAttributes(...sources)` helper** — when a primitive Root receives data attrs through `props` from its styled layer (e.g. `data-slot`) AND emits its own data attrs (e.g. interaction state), combine them via `mergeDataAttributes(props, dataAttributes({...}))`. A plain `{...dataAttributes({...})} {...props}` spread chain wipes out one side on web — `dataAttributes` returns `{ dataSet }`, so back-to-back spreads replace each other. The merge helper preserves both. `ButtonRoot.tsx` shows the canonical pattern.
80
82
  - **`composeEventHandlers`** from `@cdx-ui/utils` — merge consumer handlers with internal handlers; never silently override.
81
83
  - **`forwardRef`** on every component — refs forwarded to the underlying host element.
@@ -9,6 +9,12 @@ import { Slot } from '../slot';
9
9
  import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
10
  import { InputProvider } from './context';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
+ const FIELD_STATES = {
13
+ 'false:false': 'idle',
14
+ 'false:true': 'invalid',
15
+ 'true:false': 'focused',
16
+ 'true:true': 'focused-invalid'
17
+ };
12
18
  export const InputRoot = /*#__PURE__*/forwardRef(({
13
19
  asChild,
14
20
  children,
@@ -58,6 +64,7 @@ export const InputRoot = /*#__PURE__*/forwardRef(({
58
64
  inputFieldRef
59
65
  }), [resolvedDisabled, resolvedInvalid, resolvedHovered, resolvedFocused, resolvedFocusVisible, resolvedReadOnly, resolvedRequired, handleFocus]);
60
66
  const Comp = asChild ? Slot : View;
67
+ const fieldState = FIELD_STATES[`${resolvedFocused ? 'true' : 'false'}:${resolvedInvalid ? 'true' : 'false'}`];
61
68
  return /*#__PURE__*/_jsx(InputProvider, {
62
69
  value: contextValue,
63
70
  children: /*#__PURE__*/_jsx(Comp, {
@@ -70,7 +77,8 @@ export const InputRoot = /*#__PURE__*/forwardRef(({
70
77
  invalid: resolvedInvalid,
71
78
  readonly: resolvedReadOnly,
72
79
  required: resolvedRequired,
73
- focusVisible: resolvedFocusVisible
80
+ focusVisible: resolvedFocusVisible,
81
+ fieldState
74
82
  })),
75
83
  children: children
76
84
  })
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useMemo","useRef","useState","View","mergeRefs","useFormControlContext","useFocusRing","useHover","Slot","dataAttributes","mergeDataAttributes","InputProvider","jsx","_jsx","InputRoot","asChild","children","isReadOnly","isDisabled","isInvalid","isRequired","isHovered","isHoveredProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","rest","ref","inputRef","inputFieldRef","setIsFocused","handleFocus","focusState","callback","inputProps","resolvedDisabled","resolvedInvalid","resolvedReadOnly","resolvedRequired","resolvedHovered","resolvedFocused","resolvedFocusVisible","contextValue","Comp","value","hover","focus","disabled","invalid","readonly","required","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["input/InputRoot.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useMemo","useRef","useState","View","mergeRefs","useFormControlContext","useFocusRing","useHover","Slot","dataAttributes","mergeDataAttributes","InputProvider","jsx","_jsx","FIELD_STATES","InputRoot","asChild","children","isReadOnly","isDisabled","isInvalid","isRequired","isHovered","isHoveredProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","rest","ref","inputRef","inputFieldRef","setIsFocused","handleFocus","focusState","callback","inputProps","resolvedDisabled","resolvedInvalid","resolvedReadOnly","resolvedRequired","resolvedHovered","resolvedFocused","resolvedFocusVisible","contextValue","Comp","fieldState","value","hover","focus","disabled","invalid","readonly","required","focusVisible","displayName"],"sourceRoot":"../../../src","sources":["input/InputRoot.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,12 @@ import { composeEventHandlers, mergeRefs, useFormControlContext, useReportFormCo
5
5
  import { useFocus, useFocusRing } from '@react-native-aria/focus';
6
6
  import { useHover, usePress } from '@react-native-aria/interactions';
7
7
  import { useSelectContext } from './context';
8
+ const FIELD_STATES = {
9
+ 'false:false': 'idle',
10
+ 'false:true': 'invalid',
11
+ 'true:false': 'focused',
12
+ 'true:true': 'focused-invalid'
13
+ };
8
14
  /**
9
15
  * Shared logic for `Select.Trigger` across native and web. Each platform file is
10
16
  * a thin host-element wrapper that spreads this hook's output. The hook composes
@@ -167,6 +173,7 @@ export function useSelectTrigger(forwardedRef, options) {
167
173
  id: triggerId,
168
174
  disabled
169
175
  };
176
+ const fieldState = FIELD_STATES[`${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`];
170
177
  const dataAttrValues = {
171
178
  hover: interactionState.hover,
172
179
  focus: interactionState.focus,
@@ -176,7 +183,8 @@ export function useSelectTrigger(forwardedRef, options) {
176
183
  required: !!contextRequired,
177
184
  invalid: !!contextInvalid,
178
185
  readonly: !!contextReadOnly,
179
- state: open ? 'open' : 'closed'
186
+ state: open ? 'open' : 'closed',
187
+ fieldState
180
188
  };
181
189
  const handlers = {
182
190
  onPress: composeEventHandlers(consumerOnPress, handlePress),
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","useFocusRing","useHover","usePress","useSelectContext","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","field","focusProps","focusRingProps","pressProps","isPressed","hoverProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","useFocusRing","useHover","usePress","useSelectContext","FIELD_STATES","useSelectTrigger","forwardedRef","options","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","field","focusProps","focusRingProps","pressProps","isPressed","hoverProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,13 @@ import { composeEventHandlers, mergeRefs, useFormControlContext, useReportFormCo
5
5
  import { useFocus } from '@react-native-aria/focus';
6
6
  import { usePress } from '@react-native-aria/interactions';
7
7
  import { useSelectContext } from './context';
8
+ const FIELD_STATES = {
9
+ 'false:false': 'idle',
10
+ 'false:true': 'invalid',
11
+ 'true:false': 'focused',
12
+ 'true:true': 'focused-invalid'
13
+ };
14
+
8
15
  /**
9
16
  * Web variant — drops `useHover` and `useFocusRing` per the trigger-prune todo:
10
17
  * neither emitted attribute has a consumer in `selectTriggerVariants`, and the
@@ -155,6 +162,7 @@ export function useSelectTrigger(forwardedRef, options) {
155
162
  id: triggerId,
156
163
  disabled
157
164
  };
165
+ const fieldState = FIELD_STATES[`${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`];
158
166
  const dataAttrValues = {
159
167
  focus: interactionState.focus,
160
168
  active: interactionState.active,
@@ -162,7 +170,8 @@ export function useSelectTrigger(forwardedRef, options) {
162
170
  required: !!contextRequired,
163
171
  invalid: !!contextInvalid,
164
172
  readonly: !!contextReadOnly,
165
- state: open ? 'open' : 'closed'
173
+ state: open ? 'open' : 'closed',
174
+ fieldState
166
175
  };
167
176
  const handlers = {
168
177
  onPress: composeEventHandlers(consumerOnPress, handlePress),
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","usePress","useSelectContext","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","field","pressProps","isPressed","focusProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useRef","useState","composeEventHandlers","mergeRefs","useFormControlContext","useReportFormControlLabelFocus","useFocus","usePress","useSelectContext","FIELD_STATES","useSelectTrigger","forwardedRef","options","asChild","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedBy","ariaDescribedByProp","onPress","consumerOnPress","onPressIn","consumerOnPressIn","onPressOut","consumerOnPressOut","onHoverIn","consumerOnHoverIn","onHoverOut","consumerOnHoverOut","onFocus","consumerOnFocus","onBlur","consumerOnBlur","onKeyDown","consumerOnKeyDown","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedByFromField","field","pressProps","isPressed","focusProps","triggerFocused","setTriggerFocused","handlePress","_e","handleKeyDown","e","key","preventDefault","isLabelActive","Boolean","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","shouldMountLabelFocusBridge","inputRef","r","mergedRef","filter","join","ariaProps","role","undefined","id","fieldState","dataAttrValues","readonly","state","handlers"],"sourceRoot":"../../../src","sources":["select/useSelectTrigger.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InputRoot.d.ts","sourceRoot":"","sources":["../../../src/input/InputRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAOpD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,SAAS,kGAyFrB,CAAC"}
1
+ {"version":3,"file":"InputRoot.d.ts","sourceRoot":"","sources":["../../../src/input/InputRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAOpD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAS7D,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,SAAS,kGA6FrB,CAAC"}
@@ -43,6 +43,7 @@ export interface SelectTriggerDataAttrValues {
43
43
  invalid: boolean;
44
44
  readonly: boolean;
45
45
  state: 'open' | 'closed';
46
+ fieldState: string;
46
47
  }
47
48
  export interface SelectTriggerHandlers {
48
49
  onPress: (e: GestureResponderEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectTrigger.d.ts","sourceRoot":"","sources":["../../../src/select/useSelectTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSelectTrigger.d.ts","sourceRoot":"","sources":["../../../src/select/useSelectTrigger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectTrigger.web.d.ts","sourceRoot":"","sources":["../../../src/select/useSelectTrigger.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,EACnC,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,CAuNxB;AAED,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"useSelectTrigger.web.d.ts","sourceRoot":"","sources":["../../../src/select/useSelectTrigger.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAS5B;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,EACnC,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,CA6NxB;AAED,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdx-ui/primitives",
3
- "version": "0.0.1-beta.91",
3
+ "version": "0.0.1-beta.93",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "module": "lib/module/index.js",
6
6
  "react-native": "src/index.ts",
@@ -60,7 +60,7 @@
60
60
  "@react-stately/checkbox": "3.7.4",
61
61
  "@react-stately/radio": "3.12.0",
62
62
  "@react-stately/toggle": "3.9.4",
63
- "@cdx-ui/utils": "0.0.1-beta.91"
63
+ "@cdx-ui/utils": "0.0.1-beta.93"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@types/react": "*",
package/src/CLAUDE.md CHANGED
@@ -20,6 +20,7 @@ Root primitives emit `data-*` attributes for the interaction state they own and
20
20
 
21
21
  - **Root** — emits + provides context. Always.
22
22
  - **Sub-slot** — does not subscribe, does not emit. Opt in only when the styled layer (or the slot's own behavior) demonstrably reacts to the state.
23
+ - **Native compound conditions** — when the styled layer needs two or more interaction states combined on native (Uniwind evaluates only the last `data-[]` condition in a chain), the primitive derives a single compound-state string via a module-scope lookup table and emits it through `dataAttributes({...})` **in parallel** with the individual booleans. Canonical example: `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` (`idle` / `invalid` / `focused` / `focused-invalid`). See `docs/internal/practices/data-attributes.md` § "Compound state on native".
23
24
 
24
25
  Pointlessly emitting on every sub-slot multiplies bridge writes (native) and DOM attribute writes (web) for no consumer benefit. A sub-slot that calls `useButtonContext()` becomes a subscriber — every interaction re-renders it even when nothing visually changes.
25
26
 
@@ -76,6 +77,7 @@ Each concrete primitive is a `forwardRef` component that hardcodes its default R
76
77
  - **`I*Props` convention** — public prop types are aliased with `I` prefix (e.g., `IButtonProps`), exported from `types.ts`.
77
78
  - **`Interface*Props` pattern** — the full interface (e.g., `InterfaceButtonProps`) extends the appropriate RN base type (`PressableProps`, `ViewProps`, etc.) with interaction state booleans (`isHovered`, `isActive`, `isFocused`, `isFocusVisible`, `isDisabled`); re-exported as `I*Props`.
78
79
  - **`dataAttributes()` helper** — always use the helper from `../utils/dataAttributes` to emit `data-*` props; it handles platform differences (native vs web).
80
+ - **Derived compound-state attributes** — when the styled layer needs a native compound condition, derive a single compound-state string via a module-scope lookup table and emit it via `dataAttributes({...})` alongside the individual booleans. `InputRoot.tsx`'s `FIELD_STATES` → `data-field-state` is the canonical example.
79
81
  - **`mergeDataAttributes(...sources)` helper** — when a primitive Root receives data attrs through `props` from its styled layer (e.g. `data-slot`) AND emits its own data attrs (e.g. interaction state), combine them via `mergeDataAttributes(props, dataAttributes({...}))`. A plain `{...dataAttributes({...})} {...props}` spread chain wipes out one side on web — `dataAttributes` returns `{ dataSet }`, so back-to-back spreads replace each other. The merge helper preserves both. `ButtonRoot.tsx` shows the canonical pattern.
80
82
  - **`composeEventHandlers`** from `@cdx-ui/utils` — merge consumer handlers with internal handlers; never silently override.
81
83
  - **`forwardRef`** on every component — refs forwarded to the underlying host element.
@@ -8,6 +8,13 @@ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
8
8
  import { InputProvider } from './context';
9
9
  import type { IInputRootProps, InputContext } from './types';
10
10
 
11
+ const FIELD_STATES = {
12
+ 'false:false': 'idle',
13
+ 'false:true': 'invalid',
14
+ 'true:false': 'focused',
15
+ 'true:true': 'focused-invalid',
16
+ } as const;
17
+
11
18
  export type InputRootProps = IInputRootProps;
12
19
 
13
20
  export const InputRoot = forwardRef<ComponentRef<typeof View>, InputRootProps>(
@@ -76,6 +83,9 @@ export const InputRoot = forwardRef<ComponentRef<typeof View>, InputRootProps>(
76
83
 
77
84
  const Comp = asChild ? Slot : View;
78
85
 
86
+ const fieldState =
87
+ FIELD_STATES[`${resolvedFocused ? 'true' : 'false'}:${resolvedInvalid ? 'true' : 'false'}`];
88
+
79
89
  return (
80
90
  <InputProvider value={contextValue}>
81
91
  <Comp
@@ -91,6 +101,7 @@ export const InputRoot = forwardRef<ComponentRef<typeof View>, InputRootProps>(
91
101
  readonly: resolvedReadOnly,
92
102
  required: resolvedRequired,
93
103
  focusVisible: resolvedFocusVisible,
104
+ fieldState,
94
105
  }),
95
106
  )}
96
107
  >
@@ -20,6 +20,13 @@ import { useHover, usePress } from '@react-native-aria/interactions';
20
20
  import type { InteractionState } from '../types';
21
21
  import { useSelectContext } from './context';
22
22
 
23
+ const FIELD_STATES = {
24
+ 'false:false': 'idle',
25
+ 'false:true': 'invalid',
26
+ 'true:false': 'focused',
27
+ 'true:true': 'focused-invalid',
28
+ } as const;
29
+
23
30
  export interface UseSelectTriggerOptions {
24
31
  asChild?: boolean;
25
32
  isHovered?: boolean;
@@ -63,6 +70,7 @@ export interface SelectTriggerDataAttrValues {
63
70
  invalid: boolean;
64
71
  readonly: boolean;
65
72
  state: 'open' | 'closed';
73
+ fieldState: string;
66
74
  }
67
75
 
68
76
  export interface SelectTriggerHandlers {
@@ -282,6 +290,11 @@ export function useSelectTrigger(
282
290
  disabled,
283
291
  };
284
292
 
293
+ const fieldState =
294
+ FIELD_STATES[
295
+ `${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`
296
+ ];
297
+
285
298
  const dataAttrValues: SelectTriggerDataAttrValues = {
286
299
  hover: interactionState.hover,
287
300
  focus: interactionState.focus,
@@ -292,6 +305,7 @@ export function useSelectTrigger(
292
305
  invalid: !!contextInvalid,
293
306
  readonly: !!contextReadOnly,
294
307
  state: open ? 'open' : 'closed',
308
+ fieldState,
295
309
  };
296
310
 
297
311
  const handlers: SelectTriggerHandlers = {
@@ -27,6 +27,13 @@ import type {
27
27
  UseSelectTriggerReturn,
28
28
  } from './useSelectTrigger';
29
29
 
30
+ const FIELD_STATES = {
31
+ 'false:false': 'idle',
32
+ 'false:true': 'invalid',
33
+ 'true:false': 'focused',
34
+ 'true:true': 'focused-invalid',
35
+ } as const;
36
+
30
37
  /**
31
38
  * Web variant — drops `useHover` and `useFocusRing` per the trigger-prune todo:
32
39
  * neither emitted attribute has a consumer in `selectTriggerVariants`, and the
@@ -212,6 +219,11 @@ export function useSelectTrigger(
212
219
  disabled,
213
220
  };
214
221
 
222
+ const fieldState =
223
+ FIELD_STATES[
224
+ `${interactionState.focus ? 'true' : 'false'}:${contextInvalid ? 'true' : 'false'}`
225
+ ];
226
+
215
227
  const dataAttrValues: SelectTriggerDataAttrValues = {
216
228
  focus: interactionState.focus,
217
229
  active: interactionState.active,
@@ -220,6 +232,7 @@ export function useSelectTrigger(
220
232
  invalid: !!contextInvalid,
221
233
  readonly: !!contextReadOnly,
222
234
  state: open ? 'open' : 'closed',
235
+ fieldState,
223
236
  };
224
237
 
225
238
  const handlers: SelectTriggerHandlers = {