@cdx-ui/primitives 0.2.1 → 0.2.3
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.
- package/lib/commonjs/list-item/ListItemRoot.js +93 -10
- package/lib/commonjs/list-item/ListItemRoot.js.map +1 -1
- package/lib/commonjs/range-calendar/RangeCalendarRoot.js.map +1 -1
- package/lib/module/list-item/ListItemRoot.js +94 -11
- package/lib/module/list-item/ListItemRoot.js.map +1 -1
- package/lib/module/range-calendar/RangeCalendarRoot.js.map +1 -1
- package/lib/typescript/checkbox/types.d.ts +22 -0
- package/lib/typescript/checkbox/types.d.ts.map +1 -1
- package/lib/typescript/list-item/ListItemRoot.d.ts.map +1 -1
- package/lib/typescript/list-item/types.d.ts +20 -1
- package/lib/typescript/list-item/types.d.ts.map +1 -1
- package/lib/typescript/menu/types.d.ts +27 -0
- package/lib/typescript/menu/types.d.ts.map +1 -1
- package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts +32 -0
- package/lib/typescript/range-calendar/RangeCalendarRoot.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/checkbox/types.ts +22 -0
- package/src/list-item/ListItemRoot.tsx +107 -15
- package/src/list-item/types.ts +20 -1
- package/src/menu/types.ts +27 -0
- package/src/range-calendar/RangeCalendarRoot.tsx +32 -0
|
@@ -21,6 +21,23 @@ function rowStyleForCrossAlign(crossAlign) {
|
|
|
21
21
|
alignItems: crossAlign === 'start' ? 'flex-start' : 'center'
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
/** Splits the props a split row's container keeps (`className`, data attributes) from the rest. */
|
|
26
|
+
function splitContainerProps(props) {
|
|
27
|
+
const container = {};
|
|
28
|
+
const region = {};
|
|
29
|
+
for (const key in props) {
|
|
30
|
+
if (key === 'className' || key === 'dataSet' || key.startsWith('data-')) {
|
|
31
|
+
container[key] = props[key];
|
|
32
|
+
} else {
|
|
33
|
+
region[key] = props[key];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
container,
|
|
38
|
+
region
|
|
39
|
+
};
|
|
40
|
+
}
|
|
24
41
|
const ListItemRoot = exports.ListItemRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
25
42
|
asChild = false,
|
|
26
43
|
children,
|
|
@@ -28,12 +45,20 @@ const ListItemRoot = exports.ListItemRoot = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
28
45
|
crossAlign = 'center',
|
|
29
46
|
isDisabled = false,
|
|
30
47
|
style,
|
|
48
|
+
accessory,
|
|
49
|
+
accessoryPosition = 'start',
|
|
50
|
+
pressableClassName,
|
|
51
|
+
pressableStyle,
|
|
31
52
|
...restProps
|
|
32
53
|
}, ref) => {
|
|
33
54
|
const asChildInteractive = asChild && /*#__PURE__*/_react.default.isValidElement(children);
|
|
34
55
|
const isPressableRoot = !!onPress && !asChildInteractive;
|
|
56
|
+
const isSplit = accessory != null && (isPressableRoot || asChildInteractive);
|
|
57
|
+
const tracksState = isPressableRoot || isSplit;
|
|
58
|
+
const childDisabled = asChildInteractive && !!(children.props.isDisabled ?? children.props.disabled);
|
|
59
|
+
const resolvedDisabled = isDisabled || childDisabled;
|
|
35
60
|
const pressState = (0, _interactions.usePress)({
|
|
36
|
-
isDisabled: !
|
|
61
|
+
isDisabled: !tracksState || resolvedDisabled
|
|
37
62
|
});
|
|
38
63
|
const isPressed = pressState.isPressed;
|
|
39
64
|
const pressProps = pressState.pressProps;
|
|
@@ -49,15 +74,73 @@ const ListItemRoot = exports.ListItemRoot = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
49
74
|
isFocusVisible,
|
|
50
75
|
focusProps: focusRingProps
|
|
51
76
|
} = (0, _focus.useFocusRing)();
|
|
52
|
-
const childDisabled = asChildInteractive && !!(children.props.isDisabled ?? children.props.disabled);
|
|
53
|
-
const resolvedDisabled = isDisabled || childDisabled;
|
|
54
77
|
const contextValue = (0, _react.useMemo)(() => ({
|
|
55
|
-
hover:
|
|
56
|
-
focus:
|
|
57
|
-
active:
|
|
78
|
+
hover: tracksState ? isHovered : false,
|
|
79
|
+
focus: tracksState ? isFocused : false,
|
|
80
|
+
active: tracksState ? isPressed : false,
|
|
58
81
|
disabled: isPressableRoot ? isDisabled : resolvedDisabled,
|
|
59
|
-
focusVisible:
|
|
60
|
-
}), [isPressableRoot, isHovered, isFocused, isPressed, isDisabled, resolvedDisabled, isFocusVisible]);
|
|
82
|
+
focusVisible: tracksState ? isFocusVisible : false
|
|
83
|
+
}), [tracksState, isPressableRoot, isHovered, isFocused, isPressed, isDisabled, resolvedDisabled, isFocusVisible]);
|
|
84
|
+
if (isSplit) {
|
|
85
|
+
const {
|
|
86
|
+
onPressIn: onPressInProp,
|
|
87
|
+
onPressOut: onPressOutProp,
|
|
88
|
+
onHoverIn: onHoverInProp,
|
|
89
|
+
onHoverOut: onHoverOutProp,
|
|
90
|
+
onFocus: onFocusProp,
|
|
91
|
+
onBlur: onBlurProp,
|
|
92
|
+
...otherProps
|
|
93
|
+
} = restProps;
|
|
94
|
+
const {
|
|
95
|
+
container,
|
|
96
|
+
region
|
|
97
|
+
} = splitContainerProps(otherProps);
|
|
98
|
+
const disabled = resolvedDisabled;
|
|
99
|
+
// Under `asChild`, Slot composes these with the child's own handlers (child first).
|
|
100
|
+
const regionProps = {
|
|
101
|
+
...region,
|
|
102
|
+
...(disabled && {
|
|
103
|
+
accessibilityState: {
|
|
104
|
+
disabled: true
|
|
105
|
+
}
|
|
106
|
+
}),
|
|
107
|
+
disabled,
|
|
108
|
+
className: pressableClassName,
|
|
109
|
+
style: [rowStyleForCrossAlign(crossAlign), pressableStyle],
|
|
110
|
+
onPressIn: (0, _utils.composeEventHandlers)(onPressInProp, pressProps.onPressIn),
|
|
111
|
+
onPressOut: (0, _utils.composeEventHandlers)(onPressOutProp, pressProps.onPressOut),
|
|
112
|
+
onHoverIn: (0, _utils.composeEventHandlers)(onHoverInProp, hoverProps.onHoverIn),
|
|
113
|
+
onHoverOut: (0, _utils.composeEventHandlers)(onHoverOutProp, hoverProps.onHoverOut),
|
|
114
|
+
onFocus: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(onFocusProp, focusProps.onFocus), focusRingProps.onFocus),
|
|
115
|
+
onBlur: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(onBlurProp, focusProps.onBlur), focusRingProps.onBlur)
|
|
116
|
+
};
|
|
117
|
+
if (!disabled && onPress) {
|
|
118
|
+
regionProps.onPress = onPress;
|
|
119
|
+
}
|
|
120
|
+
const pressable = asChildInteractive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_slot.Slot, {
|
|
121
|
+
...regionProps,
|
|
122
|
+
children: children
|
|
123
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
124
|
+
...regionProps,
|
|
125
|
+
children: children
|
|
126
|
+
});
|
|
127
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ListItemProvider, {
|
|
128
|
+
value: contextValue,
|
|
129
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
130
|
+
...container,
|
|
131
|
+
ref: ref,
|
|
132
|
+
style: [rowStyleForCrossAlign(crossAlign), style],
|
|
133
|
+
...(0, _dataAttributes.mergeDataAttributes)(container, (0, _dataAttributes.dataAttributes)({
|
|
134
|
+
active: isPressed,
|
|
135
|
+
hover: isHovered,
|
|
136
|
+
focus: isFocused,
|
|
137
|
+
focusVisible: isFocusVisible,
|
|
138
|
+
disabled
|
|
139
|
+
})),
|
|
140
|
+
children: [accessoryPosition === 'start' ? accessory : null, pressable, accessoryPosition === 'end' ? accessory : null]
|
|
141
|
+
})
|
|
142
|
+
});
|
|
143
|
+
}
|
|
61
144
|
if (asChildInteractive) {
|
|
62
145
|
const slotMergeProps = {
|
|
63
146
|
...restProps,
|
|
@@ -134,14 +217,14 @@ const ListItemRoot = exports.ListItemRoot = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
134
217
|
}
|
|
135
218
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ListItemProvider, {
|
|
136
219
|
value: contextValue,
|
|
137
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
220
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
138
221
|
...restProps,
|
|
139
222
|
ref: ref,
|
|
140
223
|
style: [rowStyleForCrossAlign(crossAlign), style],
|
|
141
224
|
...(0, _dataAttributes.mergeDataAttributes)(restProps, isDisabled ? (0, _dataAttributes.dataAttributes)({
|
|
142
225
|
disabled: true
|
|
143
226
|
}) : undefined),
|
|
144
|
-
children: children
|
|
227
|
+
children: [accessoryPosition === 'start' ? accessory : null, children, accessoryPosition === 'end' ? accessory : null]
|
|
145
228
|
})
|
|
146
229
|
});
|
|
147
230
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_utils","_focus","_interactions","_slot","_dataAttributes","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","ListItemRoot","exports","forwardRef","asChild","children","onPress","isDisabled","style","restProps","ref","asChildInteractive","React","isValidElement","isPressableRoot","pressState","usePress","isPressed","pressProps","hoverProps","isHovered","useHover","isFocused","focusProps","useFocus","isFocusVisible","focusRingProps","useFocusRing","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_utils","_focus","_interactions","_slot","_dataAttributes","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","splitContainerProps","props","container","region","key","startsWith","ListItemRoot","exports","forwardRef","asChild","children","onPress","isDisabled","style","accessory","accessoryPosition","pressableClassName","pressableStyle","restProps","ref","asChildInteractive","React","isValidElement","isPressableRoot","isSplit","tracksState","childDisabled","disabled","resolvedDisabled","pressState","usePress","isPressed","pressProps","hoverProps","isHovered","useHover","isFocused","focusProps","useFocus","isFocusVisible","focusRingProps","useFocusRing","contextValue","useMemo","hover","focus","active","focusVisible","onPressIn","onPressInProp","onPressOut","onPressOutProp","onHoverIn","onHoverInProp","onHoverOut","onHoverOutProp","onFocus","onFocusProp","onBlur","onBlurProp","otherProps","regionProps","accessibilityState","className","composeEventHandlers","pressable","jsx","Slot","Pressable","ListItemProvider","value","jsxs","View","mergeDataAttributes","dataAttributes","slotMergeProps","undefined","displayName"],"sourceRoot":"../../../src","sources":["list-item/ListItemRoot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAA6C,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG7C,SAASkB,qBAAqBA,CAACC,UAA8B,EAAE;EAC7D,OAAO;IACLC,aAAa,EAAE,KAAc;IAC7BC,SAAS,EAAE,SAAkB;IAC7BC,UAAU,EAAEH,UAAU,KAAK,OAAO,GAAI,YAAY,GAAc;EAClE,CAAC;AACH;;AAEA;AACA,SAASI,mBAAmBA,CAACC,KAA8B,EAAE;EAC3D,MAAMC,SAAkC,GAAG,CAAC,CAAC;EAC7C,MAAMC,MAA+B,GAAG,CAAC,CAAC;EAC1C,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;IACvB,IAAIG,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,SAAS,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,EAAE;MACvEH,SAAS,CAACE,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;IAC7B,CAAC,MAAM;MACLD,MAAM,CAACC,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;IAC1B;EACF;EACA,OAAO;IAAEF,SAAS;IAAEC;EAAO,CAAC;AAC9B;AAIO,MAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAG,IAAAE,iBAAU,EACpC,CACE;EACEC,OAAO,GAAG,KAAK;EACfC,QAAQ;EACRC,OAAO;EACPf,UAAU,GAAG,QAAQ;EACrBgB,UAAU,GAAG,KAAK;EAClBC,KAAK;EACLC,SAAS;EACTC,iBAAiB,GAAG,OAAO;EAC3BC,kBAAkB;EAClBC,cAAc;EACd,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,kBAAkB,GAAGX,OAAO,iBAAIY,cAAK,CAACC,cAAc,CAACZ,QAAQ,CAAC;EACpE,MAAMa,eAAe,GAAG,CAAC,CAACZ,OAAO,IAAI,CAACS,kBAAkB;EACxD,MAAMI,OAAO,GAAGV,SAAS,IAAI,IAAI,KAAKS,eAAe,IAAIH,kBAAkB,CAAC;EAC5E,MAAMK,WAAW,GAAGF,eAAe,IAAIC,OAAO;EAE9C,MAAME,aAAa,GACjBN,kBAAkB,IAClB,CAAC,EACEV,QAAQ,CAAsET,KAAK,CACjFW,UAAU,IACZF,QAAQ,CAAsET,KAAK,CACjF0B,QAAQ,CACZ;EACH,MAAMC,gBAAgB,GAAGhB,UAAU,IAAIc,aAAa;EAEpD,MAAMG,UAAU,GAAG,IAAAC,sBAAQ,EAAC;IAC1BlB,UAAU,EAAE,CAACa,WAAW,IAAIG;EAC9B,CAAC,CAAC;EACF,MAAMG,SAAS,GAAGF,UAAU,CAACE,SAAS;EACtC,MAAMC,UAAU,GAAGH,UAAU,CAACG,UAA8D;EAC5F,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EAC5C,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC5C,MAAM;IAAEC,cAAc;IAAEF,UAAU,EAAEG;EAAe,CAAC,GAAG,IAAAC,mBAAY,EAAC,CAGnE;EAED,MAAMC,YAAY,GAAG,IAAAC,cAAO,EAC1B,OAAO;IACLC,KAAK,EAAEnB,WAAW,GAAGS,SAAS,GAAG,KAAK;IACtCW,KAAK,EAAEpB,WAAW,GAAGW,SAAS,GAAG,KAAK;IACtCU,MAAM,EAAErB,WAAW,GAAGM,SAAS,GAAG,KAAK;IACvCJ,QAAQ,EAAEJ,eAAe,GAAGX,UAAU,GAAGgB,gBAAgB;IACzDmB,YAAY,EAAEtB,WAAW,GAAGc,cAAc,GAAG;EAC/C,CAAC,CAAC,EACF,CACEd,WAAW,EACXF,eAAe,EACfW,SAAS,EACTE,SAAS,EACTL,SAAS,EACTnB,UAAU,EACVgB,gBAAgB,EAChBW,cAAc,CAElB,CAAC;EAED,IAAIf,OAAO,EAAE;IACX,MAAM;MACJwB,SAAS,EAAEC,aAAa;MACxBC,UAAU,EAAEC,cAAc;MAC1BC,SAAS,EAAEC,aAAa;MACxBC,UAAU,EAAEC,cAAc;MAC1BC,OAAO,EAAEC,WAAW;MACpBC,MAAM,EAAEC,UAAU;MAClB,GAAGC;IACL,CAAC,GAAG1C,SAEqB;IACzB,MAAM;MAAEhB,SAAS;MAAEC;IAAO,CAAC,GAAGH,mBAAmB,CAAC4D,UAAU,CAAC;IAC7D,MAAMjC,QAAQ,GAAGC,gBAAgB;IACjC;IACA,MAAMiC,WAAoC,GAAG;MAC3C,GAAG1D,MAAM;MACT,IAAIwB,QAAQ,IAAI;QAAEmC,kBAAkB,EAAE;UAAEnC,QAAQ,EAAE;QAAK;MAAE,CAAC,CAAC;MAC3DA,QAAQ;MACRoC,SAAS,EAAE/C,kBAAkB;MAC7BH,KAAK,EAAE,CAAClB,qBAAqB,CAACC,UAAU,CAAC,EAAEqB,cAAc,CAAC;MAC1D+B,SAAS,EAAE,IAAAgB,2BAAoB,EAACf,aAAa,EAAEjB,UAAU,CAACgB,SAAS,CAAC;MACpEE,UAAU,EAAE,IAAAc,2BAAoB,EAACb,cAAc,EAAEnB,UAAU,CAACkB,UAAU,CAAC;MACvEE,SAAS,EAAE,IAAAY,2BAAoB,EAACX,aAAa,EAAEpB,UAAU,CAACmB,SAAS,CAAC;MACpEE,UAAU,EAAE,IAAAU,2BAAoB,EAACT,cAAc,EAAEtB,UAAU,CAACqB,UAAU,CAAC;MACvEE,OAAO,EAAE,IAAAQ,2BAAoB,EAC3B,IAAAA,2BAAoB,EAACP,WAAW,EAAEpB,UAAU,CAACmB,OAAO,CAAC,EACrDhB,cAAc,CAACgB,OACjB,CAAC;MACDE,MAAM,EAAE,IAAAM,2BAAoB,EAC1B,IAAAA,2BAAoB,EAACL,UAAU,EAAEtB,UAAU,CAACqB,MAAM,CAAC,EACnDlB,cAAc,CAACkB,MACjB;IACF,CAAC;IACD,IAAI,CAAC/B,QAAQ,IAAIhB,OAAO,EAAE;MACxBkD,WAAW,CAAClD,OAAO,GAAGA,OAAO;IAC/B;IAEA,MAAMsD,SAAS,GAAG7C,kBAAkB,gBAClC,IAAA7C,WAAA,CAAA2F,GAAA,EAAC9F,KAAA,CAAA+F,IAAI;MAAA,GAAMN,WAAW;MAAAnD,QAAA,EAAsBA;IAAQ,CAAO,CAAC,gBAE5D,IAAAnC,WAAA,CAAA2F,GAAA,EAAClG,YAAA,CAAAoG,SAAS;MAAA,GAAMP,WAAW;MAAAnD,QAAA,EAAsBA;IAAQ,CAAY,CACtE;IAED,oBACE,IAAAnC,WAAA,CAAA2F,GAAA,EAAC5F,QAAA,CAAA+F,gBAAgB;MAACC,KAAK,EAAE5B,YAAa;MAAAhC,QAAA,eACpC,IAAAnC,WAAA,CAAAgG,IAAA,EAACvG,YAAA,CAAAwG,IAAI;QAAA,GACEtE,SAAS;QACdiB,GAAG,EAAEA,GAAI;QACTN,KAAK,EAAE,CAAClB,qBAAqB,CAACC,UAAU,CAAC,EAAEiB,KAAK,CAAE;QAAA,GAC9C,IAAA4D,mCAAmB,EACrBvE,SAAS,EACT,IAAAwE,8BAAc,EAAC;UACb5B,MAAM,EAAEf,SAAS;UACjBa,KAAK,EAAEV,SAAS;UAChBW,KAAK,EAAET,SAAS;UAChBW,YAAY,EAAER,cAAc;UAC5BZ;QACF,CAAC,CACH,CAAC;QAAAjB,QAAA,GAEAK,iBAAiB,KAAK,OAAO,GAAGD,SAAS,GAAG,IAAI,EAChDmD,SAAS,EACTlD,iBAAiB,KAAK,KAAK,GAAGD,SAAS,GAAG,IAAI;MAAA,CAC3C;IAAC,CACS,CAAC;EAEvB;EAEA,IAAIM,kBAAkB,EAAE;IACtB,MAAMuD,cAAuC,GAAG;MAC9C,GAAGzD,SAAS;MACZ,IAAIU,gBAAgB,IAAI;QAAEkC,kBAAkB,EAAE;UAAEnC,QAAQ,EAAE;QAAK;MAAE,CAAC,CAAC;MACnEA,QAAQ,EAAEC,gBAAgB;MAC1Bf,KAAK,EAAE,CAAClB,qBAAqB,CAACC,UAAU,CAAC,EAAEiB,KAAK;IAClD,CAAC;;IAED;IACA;IACA;IACA;IACA,IAAI,CAACe,gBAAgB,IAAIjB,OAAO,EAAE;MAChCgE,cAAc,CAAChE,OAAO,GAAGA,OAAO;IAClC;IAEA,oBACE,IAAApC,WAAA,CAAA2F,GAAA,EAAC5F,QAAA,CAAA+F,gBAAgB;MAACC,KAAK,EAAE5B,YAAa;MAAAhC,QAAA,eACpC,IAAAnC,WAAA,CAAA2F,GAAA,EAAC9F,KAAA,CAAA+F,IAAI;QACHhD,GAAG,EAAEA,GAAuB;QAAA,GACvBwD,cAAc;QAAA,GACf,IAAAF,mCAAmB,EACrBvD,SAAS,EACT,IAAAwD,8BAAc,EAAC;UACb5B,MAAM,EAAE,KAAK;UACbF,KAAK,EAAE,KAAK;UACZC,KAAK,EAAE,KAAK;UACZE,YAAY,EAAE,KAAK;UACnBpB,QAAQ,EAAEC;QACZ,CAAC,CACH,CAAC;QAAAlB,QAAA,EAEAA;MAAQ,CACL;IAAC,CACS,CAAC;EAEvB;EAEA,IAAIa,eAAe,EAAE;IACnB,MAAM;MACJyB,SAAS,EAAEC,aAAa;MACxBC,UAAU,EAAEC,cAAc;MAC1BC,SAAS,EAAEC,aAAa;MACxBC,UAAU,EAAEC,cAAc;MAC1BC,OAAO,EAAEC,WAAW;MACpBC,MAAM,EAAEC;IACV,CAAC,GAAGzC,SAAuF;IAE3F,oBACE,IAAA3C,WAAA,CAAA2F,GAAA,EAAC5F,QAAA,CAAA+F,gBAAgB;MAACC,KAAK,EAAE5B,YAAa;MAAAhC,QAAA,eACpC,IAAAnC,WAAA,CAAA2F,GAAA,EAAClG,YAAA,CAAAoG,SAAS;QAAA,GACHlD,SAAS;QACdC,GAAG,EAAEA,GAAI;QAAA,IACJP,UAAU,IAAI;UAAEkD,kBAAkB,EAAE;YAAEnC,QAAQ,EAAE;UAAK;QAAE,CAAC;QAC7DA,QAAQ,EAAEf,UAAW;QACrBC,KAAK,EAAE,CAAClB,qBAAqB,CAACC,UAAU,CAAC,EAAEiB,KAAK,CAAE;QAClDF,OAAO,EAAEC,UAAU,GAAGgE,SAAS,GAAGjE,OAAQ;QAC1CqC,SAAS,EAAE,IAAAgB,2BAAoB,EAACf,aAAa,EAAEjB,UAAU,CAACgB,SAAS,CAAE;QACrEE,UAAU,EAAE,IAAAc,2BAAoB,EAACb,cAAc,EAAEnB,UAAU,CAACkB,UAAU,CAAE;QACxEE,SAAS,EAAE,IAAAY,2BAAoB,EAACX,aAAa,EAAEpB,UAAU,CAACmB,SAAS,CAAE;QACrEE,UAAU,EAAE,IAAAU,2BAAoB,EAACT,cAAc,EAAEtB,UAAU,CAACqB,UAAU,CAAE;QACxEE,OAAO,EAAE,IAAAQ,2BAAoB,EAC3B,IAAAA,2BAAoB,EAACP,WAAW,EAAEpB,UAAU,CAACmB,OAAO,CAAC,EACrDhB,cAAc,CAACgB,OACjB,CAAE;QACFE,MAAM,EAAE,IAAAM,2BAAoB,EAC1B,IAAAA,2BAAoB,EAACL,UAAU,EAAEtB,UAAU,CAACqB,MAAM,CAAC,EACnDlB,cAAc,CAACkB,MACjB,CAAE;QAAA,GACE,IAAAe,mCAAmB,EACrBvD,SAAS,EACT,IAAAwD,8BAAc,EAAC;UACb5B,MAAM,EAAEf,SAAS;UACjBa,KAAK,EAAEV,SAAS;UAChBW,KAAK,EAAET,SAAS;UAChBW,YAAY,EAAER,cAAc;UAC5BZ,QAAQ,EAAEf;QACZ,CAAC,CACH,CAAC;QAAAF,QAAA,EAEAA;MAAQ,CACA;IAAC,CACI,CAAC;EAEvB;EAEA,oBACE,IAAAnC,WAAA,CAAA2F,GAAA,EAAC5F,QAAA,CAAA+F,gBAAgB;IAACC,KAAK,EAAE5B,YAAa;IAAAhC,QAAA,eACpC,IAAAnC,WAAA,CAAAgG,IAAA,EAACvG,YAAA,CAAAwG,IAAI;MAAA,GACEtD,SAAS;MACdC,GAAG,EAAEA,GAAI;MACTN,KAAK,EAAE,CAAClB,qBAAqB,CAACC,UAAU,CAAC,EAAEiB,KAAK,CAAE;MAAA,GAC9C,IAAA4D,mCAAmB,EACrBvD,SAAS,EACTN,UAAU,GAAG,IAAA8D,8BAAc,EAAC;QAAE/C,QAAQ,EAAE;MAAK,CAAC,CAAC,GAAGiD,SACpD,CAAC;MAAAlE,QAAA,GAEAK,iBAAiB,KAAK,OAAO,GAAGD,SAAS,GAAG,IAAI,EAChDJ,QAAQ,EACRK,iBAAiB,KAAK,KAAK,GAAGD,SAAS,GAAG,IAAI;IAAA,CAC3C;EAAC,CACS,CAAC;AAEvB,CACF,CAAC;AAEDR,YAAY,CAACuE,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_formatters","_utils","_slot","_accessibleLabel","_dataAttributes","_context","_jsxRuntime","RangeCalendarRoot","exports","forwardRef","props","ref","asChild","children","startValue","startProp","endValue","endProp","defaultStartValue","defaultEndValue","onRangeChange","monthId","monthIdProp","defaultMonthId","onMonthIdChange","focusedField","focusedProp","defaultFocusedField","onFocusedFieldChange","minValue","maxValue","disabled","locale","labels","labelsProp","accessibilityLabel","accessibilityLabelProp","ariaLabelProp","rest","useMemo","resolveDateComponentLabels","resolveAccessibleLabel","isRangeControlled","uncontrolledStart","setUncontrolledStart","useState","uncontrolledEnd","setUncontrolledEnd","startId","endId","setMonthId","useControllableState","prop","defaultProp","toMonthId","todayMonthId","onChange","prevRangeRef","useRef","useEffect","undefined","current","anchor","setFocusedField","view","setViewState","setView","useCallback","next","onDayPress","dateId","normalizeDateRange","contextValue","Comp","Slot","View","jsx","RangeCalendarContext","Provider","value","accessibilityRole","mergeDataAttributes","dataAttributes","accessibleLabelAttributes","displayName"],"sourceRoot":"../../../src","sources":["range-calendar/RangeCalendarRoot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AASA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AAA0E,IAAAQ,WAAA,GAAAR,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_formatters","_utils","_slot","_accessibleLabel","_dataAttributes","_context","_jsxRuntime","RangeCalendarRoot","exports","forwardRef","props","ref","asChild","children","startValue","startProp","endValue","endProp","defaultStartValue","defaultEndValue","onRangeChange","monthId","monthIdProp","defaultMonthId","onMonthIdChange","focusedField","focusedProp","defaultFocusedField","onFocusedFieldChange","minValue","maxValue","disabled","locale","labels","labelsProp","accessibilityLabel","accessibilityLabelProp","ariaLabelProp","rest","useMemo","resolveDateComponentLabels","resolveAccessibleLabel","isRangeControlled","uncontrolledStart","setUncontrolledStart","useState","uncontrolledEnd","setUncontrolledEnd","startId","endId","setMonthId","useControllableState","prop","defaultProp","toMonthId","todayMonthId","onChange","prevRangeRef","useRef","useEffect","undefined","current","anchor","setFocusedField","view","setViewState","setView","useCallback","next","onDayPress","dateId","normalizeDateRange","contextValue","Comp","Slot","View","jsx","RangeCalendarContext","Provider","value","accessibilityRole","mergeDataAttributes","dataAttributes","accessibleLabelAttributes","displayName"],"sourceRoot":"../../../src","sources":["range-calendar/RangeCalendarRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { useHover, usePress } from '@react-native-aria/interactions';
|
|
|
8
8
|
import { Slot } from '../slot';
|
|
9
9
|
import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
|
|
10
10
|
import { ListItemProvider } from './context';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
function rowStyleForCrossAlign(crossAlign) {
|
|
13
13
|
return {
|
|
14
14
|
flexDirection: 'row',
|
|
@@ -16,6 +16,23 @@ function rowStyleForCrossAlign(crossAlign) {
|
|
|
16
16
|
alignItems: crossAlign === 'start' ? 'flex-start' : 'center'
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
|
|
20
|
+
/** Splits the props a split row's container keeps (`className`, data attributes) from the rest. */
|
|
21
|
+
function splitContainerProps(props) {
|
|
22
|
+
const container = {};
|
|
23
|
+
const region = {};
|
|
24
|
+
for (const key in props) {
|
|
25
|
+
if (key === 'className' || key === 'dataSet' || key.startsWith('data-')) {
|
|
26
|
+
container[key] = props[key];
|
|
27
|
+
} else {
|
|
28
|
+
region[key] = props[key];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
container,
|
|
33
|
+
region
|
|
34
|
+
};
|
|
35
|
+
}
|
|
19
36
|
export const ListItemRoot = /*#__PURE__*/forwardRef(({
|
|
20
37
|
asChild = false,
|
|
21
38
|
children,
|
|
@@ -23,12 +40,20 @@ export const ListItemRoot = /*#__PURE__*/forwardRef(({
|
|
|
23
40
|
crossAlign = 'center',
|
|
24
41
|
isDisabled = false,
|
|
25
42
|
style,
|
|
43
|
+
accessory,
|
|
44
|
+
accessoryPosition = 'start',
|
|
45
|
+
pressableClassName,
|
|
46
|
+
pressableStyle,
|
|
26
47
|
...restProps
|
|
27
48
|
}, ref) => {
|
|
28
49
|
const asChildInteractive = asChild && /*#__PURE__*/React.isValidElement(children);
|
|
29
50
|
const isPressableRoot = !!onPress && !asChildInteractive;
|
|
51
|
+
const isSplit = accessory != null && (isPressableRoot || asChildInteractive);
|
|
52
|
+
const tracksState = isPressableRoot || isSplit;
|
|
53
|
+
const childDisabled = asChildInteractive && !!(children.props.isDisabled ?? children.props.disabled);
|
|
54
|
+
const resolvedDisabled = isDisabled || childDisabled;
|
|
30
55
|
const pressState = usePress({
|
|
31
|
-
isDisabled: !
|
|
56
|
+
isDisabled: !tracksState || resolvedDisabled
|
|
32
57
|
});
|
|
33
58
|
const isPressed = pressState.isPressed;
|
|
34
59
|
const pressProps = pressState.pressProps;
|
|
@@ -44,15 +69,73 @@ export const ListItemRoot = /*#__PURE__*/forwardRef(({
|
|
|
44
69
|
isFocusVisible,
|
|
45
70
|
focusProps: focusRingProps
|
|
46
71
|
} = useFocusRing();
|
|
47
|
-
const childDisabled = asChildInteractive && !!(children.props.isDisabled ?? children.props.disabled);
|
|
48
|
-
const resolvedDisabled = isDisabled || childDisabled;
|
|
49
72
|
const contextValue = useMemo(() => ({
|
|
50
|
-
hover:
|
|
51
|
-
focus:
|
|
52
|
-
active:
|
|
73
|
+
hover: tracksState ? isHovered : false,
|
|
74
|
+
focus: tracksState ? isFocused : false,
|
|
75
|
+
active: tracksState ? isPressed : false,
|
|
53
76
|
disabled: isPressableRoot ? isDisabled : resolvedDisabled,
|
|
54
|
-
focusVisible:
|
|
55
|
-
}), [isPressableRoot, isHovered, isFocused, isPressed, isDisabled, resolvedDisabled, isFocusVisible]);
|
|
77
|
+
focusVisible: tracksState ? isFocusVisible : false
|
|
78
|
+
}), [tracksState, isPressableRoot, isHovered, isFocused, isPressed, isDisabled, resolvedDisabled, isFocusVisible]);
|
|
79
|
+
if (isSplit) {
|
|
80
|
+
const {
|
|
81
|
+
onPressIn: onPressInProp,
|
|
82
|
+
onPressOut: onPressOutProp,
|
|
83
|
+
onHoverIn: onHoverInProp,
|
|
84
|
+
onHoverOut: onHoverOutProp,
|
|
85
|
+
onFocus: onFocusProp,
|
|
86
|
+
onBlur: onBlurProp,
|
|
87
|
+
...otherProps
|
|
88
|
+
} = restProps;
|
|
89
|
+
const {
|
|
90
|
+
container,
|
|
91
|
+
region
|
|
92
|
+
} = splitContainerProps(otherProps);
|
|
93
|
+
const disabled = resolvedDisabled;
|
|
94
|
+
// Under `asChild`, Slot composes these with the child's own handlers (child first).
|
|
95
|
+
const regionProps = {
|
|
96
|
+
...region,
|
|
97
|
+
...(disabled && {
|
|
98
|
+
accessibilityState: {
|
|
99
|
+
disabled: true
|
|
100
|
+
}
|
|
101
|
+
}),
|
|
102
|
+
disabled,
|
|
103
|
+
className: pressableClassName,
|
|
104
|
+
style: [rowStyleForCrossAlign(crossAlign), pressableStyle],
|
|
105
|
+
onPressIn: composeEventHandlers(onPressInProp, pressProps.onPressIn),
|
|
106
|
+
onPressOut: composeEventHandlers(onPressOutProp, pressProps.onPressOut),
|
|
107
|
+
onHoverIn: composeEventHandlers(onHoverInProp, hoverProps.onHoverIn),
|
|
108
|
+
onHoverOut: composeEventHandlers(onHoverOutProp, hoverProps.onHoverOut),
|
|
109
|
+
onFocus: composeEventHandlers(composeEventHandlers(onFocusProp, focusProps.onFocus), focusRingProps.onFocus),
|
|
110
|
+
onBlur: composeEventHandlers(composeEventHandlers(onBlurProp, focusProps.onBlur), focusRingProps.onBlur)
|
|
111
|
+
};
|
|
112
|
+
if (!disabled && onPress) {
|
|
113
|
+
regionProps.onPress = onPress;
|
|
114
|
+
}
|
|
115
|
+
const pressable = asChildInteractive ? /*#__PURE__*/_jsx(Slot, {
|
|
116
|
+
...regionProps,
|
|
117
|
+
children: children
|
|
118
|
+
}) : /*#__PURE__*/_jsx(Pressable, {
|
|
119
|
+
...regionProps,
|
|
120
|
+
children: children
|
|
121
|
+
});
|
|
122
|
+
return /*#__PURE__*/_jsx(ListItemProvider, {
|
|
123
|
+
value: contextValue,
|
|
124
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
125
|
+
...container,
|
|
126
|
+
ref: ref,
|
|
127
|
+
style: [rowStyleForCrossAlign(crossAlign), style],
|
|
128
|
+
...mergeDataAttributes(container, dataAttributes({
|
|
129
|
+
active: isPressed,
|
|
130
|
+
hover: isHovered,
|
|
131
|
+
focus: isFocused,
|
|
132
|
+
focusVisible: isFocusVisible,
|
|
133
|
+
disabled
|
|
134
|
+
})),
|
|
135
|
+
children: [accessoryPosition === 'start' ? accessory : null, pressable, accessoryPosition === 'end' ? accessory : null]
|
|
136
|
+
})
|
|
137
|
+
});
|
|
138
|
+
}
|
|
56
139
|
if (asChildInteractive) {
|
|
57
140
|
const slotMergeProps = {
|
|
58
141
|
...restProps,
|
|
@@ -129,14 +212,14 @@ export const ListItemRoot = /*#__PURE__*/forwardRef(({
|
|
|
129
212
|
}
|
|
130
213
|
return /*#__PURE__*/_jsx(ListItemProvider, {
|
|
131
214
|
value: contextValue,
|
|
132
|
-
children: /*#__PURE__*/
|
|
215
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
133
216
|
...restProps,
|
|
134
217
|
ref: ref,
|
|
135
218
|
style: [rowStyleForCrossAlign(crossAlign), style],
|
|
136
219
|
...mergeDataAttributes(restProps, isDisabled ? dataAttributes({
|
|
137
220
|
disabled: true
|
|
138
221
|
}) : undefined),
|
|
139
|
-
children: children
|
|
222
|
+
children: [accessoryPosition === 'start' ? accessory : null, children, accessoryPosition === 'end' ? accessory : null]
|
|
140
223
|
})
|
|
141
224
|
});
|
|
142
225
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useMemo","Pressable","View","composeEventHandlers","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","ListItemProvider","jsx","_jsx","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","ListItemRoot","asChild","children","onPress","isDisabled","style","restProps","ref","asChildInteractive","isValidElement","isPressableRoot","pressState","isPressed","pressProps","hoverProps","isHovered","isFocused","focusProps","isFocusVisible","focusRingProps","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useMemo","Pressable","View","composeEventHandlers","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","ListItemProvider","jsx","_jsx","jsxs","_jsxs","rowStyleForCrossAlign","crossAlign","flexDirection","alignSelf","alignItems","splitContainerProps","props","container","region","key","startsWith","ListItemRoot","asChild","children","onPress","isDisabled","style","accessory","accessoryPosition","pressableClassName","pressableStyle","restProps","ref","asChildInteractive","isValidElement","isPressableRoot","isSplit","tracksState","childDisabled","disabled","resolvedDisabled","pressState","isPressed","pressProps","hoverProps","isHovered","isFocused","focusProps","isFocusVisible","focusRingProps","contextValue","hover","focus","active","focusVisible","onPressIn","onPressInProp","onPressOut","onPressOutProp","onHoverIn","onHoverInProp","onHoverOut","onHoverOutProp","onFocus","onFocusProp","onBlur","onBlurProp","otherProps","regionProps","accessibilityState","className","pressable","value","slotMergeProps","undefined","displayName"],"sourceRoot":"../../../src","sources":["list-item/ListItemRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useEffect","useMemo","useRef","useState","View","normalizeDateRange","resolveDateComponentLabels","todayMonthId","toMonthId","useControllableState","Slot","accessibleLabelAttributes","resolveAccessibleLabel","dataAttributes","mergeDataAttributes","RangeCalendarContext","jsx","_jsx","RangeCalendarRoot","props","ref","asChild","children","startValue","startProp","endValue","endProp","defaultStartValue","defaultEndValue","onRangeChange","monthId","monthIdProp","defaultMonthId","onMonthIdChange","focusedField","focusedProp","defaultFocusedField","onFocusedFieldChange","minValue","maxValue","disabled","locale","labels","labelsProp","accessibilityLabel","accessibilityLabelProp","ariaLabelProp","rest","isRangeControlled","uncontrolledStart","setUncontrolledStart","uncontrolledEnd","setUncontrolledEnd","startId","endId","setMonthId","prop","defaultProp","onChange","prevRangeRef","undefined","current","anchor","setFocusedField","view","setViewState","setView","next","onDayPress","dateId","contextValue","Comp","Provider","value","accessibilityRole","displayName"],"sourceRoot":"../../../src","sources":["range-calendar/RangeCalendarRoot.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QAGH,OAAO;AACd,SAASC,IAAI,QAAwB,cAAc;AACnD,SACEC,kBAAkB,EAClBC,0BAA0B,EAC1BC,YAAY,EACZC,SAAS,QAIJ,oBAAoB;AAC3B,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,yBAAyB,EAAEC,sBAAsB,QAAQ,0BAA0B;AAC5F,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,yBAAyB;AAE7E,SAASC,oBAAoB,QAAiC,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useMemo","useRef","useState","View","normalizeDateRange","resolveDateComponentLabels","todayMonthId","toMonthId","useControllableState","Slot","accessibleLabelAttributes","resolveAccessibleLabel","dataAttributes","mergeDataAttributes","RangeCalendarContext","jsx","_jsx","RangeCalendarRoot","props","ref","asChild","children","startValue","startProp","endValue","endProp","defaultStartValue","defaultEndValue","onRangeChange","monthId","monthIdProp","defaultMonthId","onMonthIdChange","focusedField","focusedProp","defaultFocusedField","onFocusedFieldChange","minValue","maxValue","disabled","locale","labels","labelsProp","accessibilityLabel","accessibilityLabelProp","ariaLabelProp","rest","isRangeControlled","uncontrolledStart","setUncontrolledStart","uncontrolledEnd","setUncontrolledEnd","startId","endId","setMonthId","prop","defaultProp","onChange","prevRangeRef","undefined","current","anchor","setFocusedField","view","setViewState","setView","next","onDayPress","dateId","contextValue","Comp","Provider","value","accessibilityRole","displayName"],"sourceRoot":"../../../src","sources":["range-calendar/RangeCalendarRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,21 +2,43 @@ import type { PressableProps } from 'react-native';
|
|
|
2
2
|
export interface InterfaceCheckbox extends PressableProps {
|
|
3
3
|
/** Identifies this checkbox. Must be unique among siblings in a `Checkbox.Group`. */
|
|
4
4
|
value: string;
|
|
5
|
+
/** Called with the new checked state when the user toggles the checkbox. */
|
|
5
6
|
onChange?: (isSelected: boolean) => void;
|
|
7
|
+
/** Content rendered after the indicator, typically a `Checkbox.Label`. */
|
|
6
8
|
children?: React.ReactNode;
|
|
7
9
|
/** Initial checked state when uncontrolled. No effect when `isChecked` is set. */
|
|
8
10
|
defaultIsChecked?: boolean;
|
|
9
11
|
/** Controlled checked state. When set, `defaultIsChecked` has no effect. */
|
|
10
12
|
isChecked?: boolean;
|
|
13
|
+
/** Prevents interaction and applies disabled styling. Inherited from a parent `Checkbox.Group` or form field when omitted. */
|
|
11
14
|
isDisabled?: boolean;
|
|
15
|
+
/** Applies invalid styling. Inherited from a parent form field when omitted. */
|
|
12
16
|
isInvalid?: boolean;
|
|
13
17
|
/** Focusable, but the checked state cannot be changed. */
|
|
14
18
|
isReadOnly?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Forces the hovered state.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
15
23
|
isHovered?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Forces the focused state.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
16
28
|
isFocused?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Forces the pressed state.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
17
33
|
isPressed?: boolean;
|
|
34
|
+
/** Marks the checkbox as required. */
|
|
18
35
|
isRequired?: boolean;
|
|
36
|
+
/** Shows the indeterminate (mixed) icon instead of the check, regardless of `isChecked`. */
|
|
19
37
|
isIndeterminate?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Forces the visible focus ring.
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
20
42
|
isFocusVisible?: boolean;
|
|
21
43
|
}
|
|
22
44
|
export interface ICheckboxGroupProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8HAA8H;IAC9H,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemRoot.d.ts","sourceRoot":"","sources":["../../../src/list-item/ListItemRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAa,IAAI,EAAuC,MAAM,cAAc,CAAC;AAQpF,OAAO,KAAK,EAAiC,cAAc,EAAsB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ListItemRoot.d.ts","sourceRoot":"","sources":["../../../src/list-item/ListItemRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAAa,IAAI,EAAuC,MAAM,cAAc,CAAC;AAQpF,OAAO,KAAK,EAAiC,cAAc,EAAsB,MAAM,SAAS,CAAC;AAwBjG,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CAAG;AAE5D,eAAO,MAAM,YAAY,gFA6OxB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PressableProps, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
3
|
export type ListItemSize = 'default' | 'compact';
|
|
3
4
|
/**
|
|
4
5
|
* Cross-axis alignment for the row (`flex-direction: row`).
|
|
@@ -28,6 +29,24 @@ export interface InterfaceListItemProps extends ViewProps, IListItemPressablePas
|
|
|
28
29
|
* `isDisabled` suppresses press on the child.
|
|
29
30
|
*/
|
|
30
31
|
asChild?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Interactive control that must sit beside the row's pressable element, never inside it (for
|
|
34
|
+
* example a drag handle). On a pressable row (`onPress`, or `asChild` with an element child) the
|
|
35
|
+
* root renders a non-interactive container holding the accessory and the pressable region as
|
|
36
|
+
* siblings. The container receives `ref`, `className`, `style`, and data attributes, and mirrors
|
|
37
|
+
* the region's interaction state as `data-*`; the region receives every other prop. A
|
|
38
|
+
* non-pressable row renders the accessory inline beside `children`.
|
|
39
|
+
*/
|
|
40
|
+
accessory?: ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Side of the pressable region the accessory renders on.
|
|
43
|
+
* @default 'start'
|
|
44
|
+
*/
|
|
45
|
+
accessoryPosition?: 'start' | 'end';
|
|
46
|
+
/** Class names for the pressable region when `accessory` splits the row. */
|
|
47
|
+
pressableClassName?: string;
|
|
48
|
+
/** Style for the pressable region when `accessory` splits the row. */
|
|
49
|
+
pressableStyle?: StyleProp<ViewStyle>;
|
|
31
50
|
}
|
|
32
51
|
export type IListItemProps = InterfaceListItemProps;
|
|
33
52
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/list-item/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/list-item/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC,CAC9E,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,SAAS,EAAE,6BAA6B;IACtF;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACpC,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
|
|
@@ -3,9 +3,19 @@ import type { PressableProps, ViewProps } from 'react-native';
|
|
|
3
3
|
import type { OverlayPlacement } from '../overlay';
|
|
4
4
|
import type { InteractionState } from '../types';
|
|
5
5
|
export interface IMenuOverlayRootProps extends ViewProps {
|
|
6
|
+
/** Controlled open state. When set, `defaultOpen` has no effect. */
|
|
6
7
|
isOpen?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Initial open state when uncontrolled.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
7
12
|
defaultOpen?: boolean;
|
|
13
|
+
/** Called with the next open state when the menu opens or closes. */
|
|
8
14
|
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Prevents the trigger from opening the menu.
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
9
19
|
disabled?: boolean;
|
|
10
20
|
/** Preferred popup placement relative to the trigger. */
|
|
11
21
|
placement?: OverlayPlacement;
|
|
@@ -13,13 +23,17 @@ export interface IMenuOverlayRootProps extends ViewProps {
|
|
|
13
23
|
offset?: number;
|
|
14
24
|
/** Cross-axis adjustment from the aligned popup position in pixels. */
|
|
15
25
|
crossOffset?: number;
|
|
26
|
+
/** The `Menu.Trigger` and `Menu.Popup`. */
|
|
16
27
|
children?: ReactNode;
|
|
17
28
|
}
|
|
18
29
|
export interface IMenuTriggerProps extends PressableProps {
|
|
30
|
+
/** Render the consumer's child element (for example a `Button`) as the trigger instead of the default `Pressable`. */
|
|
19
31
|
asChild?: boolean;
|
|
32
|
+
/** Trigger content (or the element to render when `asChild` is set). */
|
|
20
33
|
children?: ReactNode;
|
|
21
34
|
}
|
|
22
35
|
export interface IMenuPopupProps extends ViewProps {
|
|
36
|
+
/** Popup content, typically a `Menu.Content`. */
|
|
23
37
|
children?: ReactNode;
|
|
24
38
|
}
|
|
25
39
|
export interface IMenuProps extends ViewProps {
|
|
@@ -32,9 +46,11 @@ export interface IMenuProps extends ViewProps {
|
|
|
32
46
|
* Use when embedding inside another collection (e.g. `Select.Content` listbox).
|
|
33
47
|
*/
|
|
34
48
|
asSurface?: boolean;
|
|
49
|
+
/** The menu's items, groups and separators. */
|
|
35
50
|
children?: ReactNode;
|
|
36
51
|
}
|
|
37
52
|
export interface IMenuItemProps extends PressableProps {
|
|
53
|
+
/** Prevents activation and skips the item in keyboard navigation. */
|
|
38
54
|
disabled?: boolean;
|
|
39
55
|
/** Whether activation closes an overlay Menu. Defaults to true for overlay items. */
|
|
40
56
|
closeOnSelect?: boolean;
|
|
@@ -70,22 +86,33 @@ export interface MenuItemInteractionState extends InteractionState {
|
|
|
70
86
|
consumePress: () => void;
|
|
71
87
|
}
|
|
72
88
|
export interface IMenuItemActionProps extends ViewProps {
|
|
89
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
73
90
|
asChild?: boolean;
|
|
91
|
+
/** The trailing interactive control, such as a `Button`. */
|
|
74
92
|
children?: ReactNode;
|
|
75
93
|
}
|
|
76
94
|
export interface IMenuCheckboxItemProps extends Omit<IMenuItemProps, 'children' | 'isChecked' | 'itemRole'> {
|
|
95
|
+
/** Item content, typically a `Menu.ItemLabel` with optional icon and indicator slots. */
|
|
77
96
|
children?: ReactNode;
|
|
97
|
+
/** Controlled checked state. When set, `defaultIsChecked` has no effect. */
|
|
78
98
|
isChecked?: boolean;
|
|
99
|
+
/** Initial checked state when uncontrolled. */
|
|
79
100
|
defaultIsChecked?: boolean;
|
|
101
|
+
/** Called with the new checked state when the user toggles the item. */
|
|
80
102
|
onChange?: (isChecked: boolean) => void;
|
|
81
103
|
}
|
|
82
104
|
export interface IMenuRadioGroupProps extends ViewProps {
|
|
105
|
+
/** Controlled `value` of the selected `Menu.RadioItem`. When set, `defaultValue` has no effect. */
|
|
83
106
|
value?: string;
|
|
107
|
+
/** Initially selected `value` when uncontrolled. */
|
|
84
108
|
defaultValue?: string;
|
|
109
|
+
/** Called with the `value` of the item the user selects. */
|
|
85
110
|
onChange?: (value: string) => void;
|
|
86
111
|
}
|
|
87
112
|
export interface IMenuRadioItemProps extends Omit<IMenuItemProps, 'children' | 'isChecked' | 'itemRole'> {
|
|
113
|
+
/** Item content, typically a `Menu.ItemLabel` with optional icon and indicator slots. */
|
|
88
114
|
children?: ReactNode;
|
|
115
|
+
/** Identifies this item within its `Menu.RadioGroup`. */
|
|
89
116
|
value: string;
|
|
90
117
|
}
|
|
91
118
|
export interface RegisteredMenuItem {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,29 +3,61 @@ import { View, type ViewProps } from 'react-native';
|
|
|
3
3
|
import { type DateComponentLabels, type DateId, type MonthId } from '@cdx-ui/formatters';
|
|
4
4
|
import { type RangeCalendarFocus } from './context';
|
|
5
5
|
export interface RangeCalendarRootProps extends Omit<ViewProps, 'children'> {
|
|
6
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
6
7
|
asChild?: boolean;
|
|
8
|
+
/** Custom calendar body. Omit to render the default header and month grid. */
|
|
7
9
|
children?: ReactNode;
|
|
10
|
+
/** Additional Uniwind/Tailwind classes, merged after the calendar's own styles. */
|
|
8
11
|
className?: string;
|
|
12
|
+
/** Controlled range start. Setting `startValue` or `endValue` makes the range controlled. */
|
|
9
13
|
startValue?: DateId;
|
|
14
|
+
/** Controlled range end. Setting `startValue` or `endValue` makes the range controlled. */
|
|
10
15
|
endValue?: DateId;
|
|
16
|
+
/** Initial range start when uncontrolled. */
|
|
11
17
|
defaultStartValue?: DateId;
|
|
18
|
+
/** Initial range end when uncontrolled. */
|
|
12
19
|
defaultEndValue?: DateId;
|
|
20
|
+
/**
|
|
21
|
+
* Called when the user picks a day. The first pick starts a new range with no `endId`; the
|
|
22
|
+
* second completes it, with the two days in date order.
|
|
23
|
+
*/
|
|
13
24
|
onRangeChange?: (range: {
|
|
14
25
|
startId?: DateId;
|
|
15
26
|
endId?: DateId;
|
|
16
27
|
}) => void;
|
|
28
|
+
/** Controlled visible month. When set, `defaultMonthId` has no effect. */
|
|
17
29
|
monthId?: MonthId;
|
|
30
|
+
/** Initial visible month when uncontrolled. Defaults to the month of the range, or today. */
|
|
18
31
|
defaultMonthId?: MonthId;
|
|
32
|
+
/** Called with the new visible month when the user navigates months. */
|
|
19
33
|
onMonthIdChange?: (monthId: MonthId) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Controlled active field. The calendar moves it to `'end'` after the first day pick and back
|
|
36
|
+
* to `'start'` after the second.
|
|
37
|
+
*/
|
|
20
38
|
focusedField?: RangeCalendarFocus;
|
|
39
|
+
/**
|
|
40
|
+
* Initial active field when uncontrolled.
|
|
41
|
+
* @default 'start'
|
|
42
|
+
*/
|
|
21
43
|
defaultFocusedField?: RangeCalendarFocus;
|
|
44
|
+
/** Called with the new active field after each day pick. */
|
|
22
45
|
onFocusedFieldChange?: (field: RangeCalendarFocus) => void;
|
|
23
46
|
/** Earliest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. */
|
|
24
47
|
minValue?: DateId;
|
|
25
48
|
/** Latest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. */
|
|
26
49
|
maxValue?: DateId;
|
|
50
|
+
/**
|
|
51
|
+
* Prevents day selection and month navigation.
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
27
54
|
disabled?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* BCP 47 locale for month and weekday names.
|
|
57
|
+
* @default 'en-US'
|
|
58
|
+
*/
|
|
28
59
|
locale?: string;
|
|
60
|
+
/** Overrides for the built-in UI copy, such as the previous- and next-month button labels. */
|
|
29
61
|
labels?: Partial<DateComponentLabels>;
|
|
30
62
|
/** Accessible name for the range-calendar region. */
|
|
31
63
|
accessibilityLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeCalendarRoot.d.ts","sourceRoot":"","sources":["../../../src/range-calendar/RangeCalendarRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,yGA6J7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"RangeCalendarRoot.d.ts","sourceRoot":"","sources":["../../../src/range-calendar/RangeCalendarRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE1E,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,yGA6J7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/primitives",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"@react-stately/disclosure": "3.1.1",
|
|
70
70
|
"@react-stately/radio": "3.12.0",
|
|
71
71
|
"@react-stately/toggle": "3.9.4",
|
|
72
|
-
"@cdx-ui/
|
|
73
|
-
"@cdx-ui/
|
|
72
|
+
"@cdx-ui/formatters": "0.2.3",
|
|
73
|
+
"@cdx-ui/utils": "0.2.3"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/react": "19.1.17",
|
package/src/checkbox/types.ts
CHANGED
|
@@ -3,21 +3,43 @@ import type { PressableProps } from 'react-native';
|
|
|
3
3
|
export interface InterfaceCheckbox extends PressableProps {
|
|
4
4
|
/** Identifies this checkbox. Must be unique among siblings in a `Checkbox.Group`. */
|
|
5
5
|
value: string;
|
|
6
|
+
/** Called with the new checked state when the user toggles the checkbox. */
|
|
6
7
|
onChange?: (isSelected: boolean) => void;
|
|
8
|
+
/** Content rendered after the indicator, typically a `Checkbox.Label`. */
|
|
7
9
|
children?: React.ReactNode;
|
|
8
10
|
/** Initial checked state when uncontrolled. No effect when `isChecked` is set. */
|
|
9
11
|
defaultIsChecked?: boolean;
|
|
10
12
|
/** Controlled checked state. When set, `defaultIsChecked` has no effect. */
|
|
11
13
|
isChecked?: boolean;
|
|
14
|
+
/** Prevents interaction and applies disabled styling. Inherited from a parent `Checkbox.Group` or form field when omitted. */
|
|
12
15
|
isDisabled?: boolean;
|
|
16
|
+
/** Applies invalid styling. Inherited from a parent form field when omitted. */
|
|
13
17
|
isInvalid?: boolean;
|
|
14
18
|
/** Focusable, but the checked state cannot be changed. */
|
|
15
19
|
isReadOnly?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Forces the hovered state.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
16
24
|
isHovered?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Forces the focused state.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
17
29
|
isFocused?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Forces the pressed state.
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
18
34
|
isPressed?: boolean;
|
|
35
|
+
/** Marks the checkbox as required. */
|
|
19
36
|
isRequired?: boolean;
|
|
37
|
+
/** Shows the indeterminate (mixed) icon instead of the check, regardless of `isChecked`. */
|
|
20
38
|
isIndeterminate?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Forces the visible focus ring.
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
21
43
|
isFocusVisible?: boolean;
|
|
22
44
|
}
|
|
23
45
|
|
|
@@ -17,6 +17,20 @@ function rowStyleForCrossAlign(crossAlign: ListItemCrossAlign) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/** Splits the props a split row's container keeps (`className`, data attributes) from the rest. */
|
|
21
|
+
function splitContainerProps(props: Record<string, unknown>) {
|
|
22
|
+
const container: Record<string, unknown> = {};
|
|
23
|
+
const region: Record<string, unknown> = {};
|
|
24
|
+
for (const key in props) {
|
|
25
|
+
if (key === 'className' || key === 'dataSet' || key.startsWith('data-')) {
|
|
26
|
+
container[key] = props[key];
|
|
27
|
+
} else {
|
|
28
|
+
region[key] = props[key];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return { container, region };
|
|
32
|
+
}
|
|
33
|
+
|
|
20
34
|
export interface ListItemRootProps extends IListItemProps {}
|
|
21
35
|
|
|
22
36
|
export const ListItemRoot = forwardRef<ComponentRef<typeof View>, ListItemRootProps>(
|
|
@@ -28,15 +42,31 @@ export const ListItemRoot = forwardRef<ComponentRef<typeof View>, ListItemRootPr
|
|
|
28
42
|
crossAlign = 'center',
|
|
29
43
|
isDisabled = false,
|
|
30
44
|
style,
|
|
45
|
+
accessory,
|
|
46
|
+
accessoryPosition = 'start',
|
|
47
|
+
pressableClassName,
|
|
48
|
+
pressableStyle,
|
|
31
49
|
...restProps
|
|
32
50
|
},
|
|
33
51
|
ref,
|
|
34
52
|
) => {
|
|
35
53
|
const asChildInteractive = asChild && React.isValidElement(children);
|
|
36
54
|
const isPressableRoot = !!onPress && !asChildInteractive;
|
|
55
|
+
const isSplit = accessory != null && (isPressableRoot || asChildInteractive);
|
|
56
|
+
const tracksState = isPressableRoot || isSplit;
|
|
57
|
+
|
|
58
|
+
const childDisabled =
|
|
59
|
+
asChildInteractive &&
|
|
60
|
+
!!(
|
|
61
|
+
(children as React.ReactElement<{ disabled?: boolean; isDisabled?: boolean }>).props
|
|
62
|
+
.isDisabled ??
|
|
63
|
+
(children as React.ReactElement<{ disabled?: boolean; isDisabled?: boolean }>).props
|
|
64
|
+
.disabled
|
|
65
|
+
);
|
|
66
|
+
const resolvedDisabled = isDisabled || childDisabled;
|
|
37
67
|
|
|
38
68
|
const pressState = usePress({
|
|
39
|
-
isDisabled: !
|
|
69
|
+
isDisabled: !tracksState || resolvedDisabled,
|
|
40
70
|
});
|
|
41
71
|
const isPressed = pressState.isPressed;
|
|
42
72
|
const pressProps = pressState.pressProps as Pick<PressableProps, 'onPressIn' | 'onPressOut'>;
|
|
@@ -47,25 +77,16 @@ export const ListItemRoot = forwardRef<ComponentRef<typeof View>, ListItemRootPr
|
|
|
47
77
|
focusProps: typeof focusProps;
|
|
48
78
|
};
|
|
49
79
|
|
|
50
|
-
const childDisabled =
|
|
51
|
-
asChildInteractive &&
|
|
52
|
-
!!(
|
|
53
|
-
(children as React.ReactElement<{ disabled?: boolean; isDisabled?: boolean }>).props
|
|
54
|
-
.isDisabled ??
|
|
55
|
-
(children as React.ReactElement<{ disabled?: boolean; isDisabled?: boolean }>).props
|
|
56
|
-
.disabled
|
|
57
|
-
);
|
|
58
|
-
const resolvedDisabled = isDisabled || childDisabled;
|
|
59
|
-
|
|
60
80
|
const contextValue = useMemo<InteractionState>(
|
|
61
81
|
() => ({
|
|
62
|
-
hover:
|
|
63
|
-
focus:
|
|
64
|
-
active:
|
|
82
|
+
hover: tracksState ? isHovered : false,
|
|
83
|
+
focus: tracksState ? isFocused : false,
|
|
84
|
+
active: tracksState ? isPressed : false,
|
|
65
85
|
disabled: isPressableRoot ? isDisabled : resolvedDisabled,
|
|
66
|
-
focusVisible:
|
|
86
|
+
focusVisible: tracksState ? isFocusVisible : false,
|
|
67
87
|
}),
|
|
68
88
|
[
|
|
89
|
+
tracksState,
|
|
69
90
|
isPressableRoot,
|
|
70
91
|
isHovered,
|
|
71
92
|
isFocused,
|
|
@@ -76,6 +97,75 @@ export const ListItemRoot = forwardRef<ComponentRef<typeof View>, ListItemRootPr
|
|
|
76
97
|
],
|
|
77
98
|
);
|
|
78
99
|
|
|
100
|
+
if (isSplit) {
|
|
101
|
+
const {
|
|
102
|
+
onPressIn: onPressInProp,
|
|
103
|
+
onPressOut: onPressOutProp,
|
|
104
|
+
onHoverIn: onHoverInProp,
|
|
105
|
+
onHoverOut: onHoverOutProp,
|
|
106
|
+
onFocus: onFocusProp,
|
|
107
|
+
onBlur: onBlurProp,
|
|
108
|
+
...otherProps
|
|
109
|
+
} = restProps as IListItemPressablePassthrough &
|
|
110
|
+
Pick<PressableProps, 'onFocus' | 'onBlur'> &
|
|
111
|
+
Record<string, unknown>;
|
|
112
|
+
const { container, region } = splitContainerProps(otherProps);
|
|
113
|
+
const disabled = resolvedDisabled;
|
|
114
|
+
// Under `asChild`, Slot composes these with the child's own handlers (child first).
|
|
115
|
+
const regionProps: Record<string, unknown> = {
|
|
116
|
+
...region,
|
|
117
|
+
...(disabled && { accessibilityState: { disabled: true } }),
|
|
118
|
+
disabled,
|
|
119
|
+
className: pressableClassName,
|
|
120
|
+
style: [rowStyleForCrossAlign(crossAlign), pressableStyle],
|
|
121
|
+
onPressIn: composeEventHandlers(onPressInProp, pressProps.onPressIn),
|
|
122
|
+
onPressOut: composeEventHandlers(onPressOutProp, pressProps.onPressOut),
|
|
123
|
+
onHoverIn: composeEventHandlers(onHoverInProp, hoverProps.onHoverIn),
|
|
124
|
+
onHoverOut: composeEventHandlers(onHoverOutProp, hoverProps.onHoverOut),
|
|
125
|
+
onFocus: composeEventHandlers(
|
|
126
|
+
composeEventHandlers(onFocusProp, focusProps.onFocus),
|
|
127
|
+
focusRingProps.onFocus,
|
|
128
|
+
),
|
|
129
|
+
onBlur: composeEventHandlers(
|
|
130
|
+
composeEventHandlers(onBlurProp, focusProps.onBlur),
|
|
131
|
+
focusRingProps.onBlur,
|
|
132
|
+
),
|
|
133
|
+
};
|
|
134
|
+
if (!disabled && onPress) {
|
|
135
|
+
regionProps.onPress = onPress;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const pressable = asChildInteractive ? (
|
|
139
|
+
<Slot {...(regionProps as PressableProps)}>{children}</Slot>
|
|
140
|
+
) : (
|
|
141
|
+
<Pressable {...(regionProps as PressableProps)}>{children}</Pressable>
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
return (
|
|
145
|
+
<ListItemProvider value={contextValue}>
|
|
146
|
+
<View
|
|
147
|
+
{...(container as ViewProps)}
|
|
148
|
+
ref={ref}
|
|
149
|
+
style={[rowStyleForCrossAlign(crossAlign), style]}
|
|
150
|
+
{...mergeDataAttributes(
|
|
151
|
+
container,
|
|
152
|
+
dataAttributes({
|
|
153
|
+
active: isPressed,
|
|
154
|
+
hover: isHovered,
|
|
155
|
+
focus: isFocused,
|
|
156
|
+
focusVisible: isFocusVisible,
|
|
157
|
+
disabled,
|
|
158
|
+
}),
|
|
159
|
+
)}
|
|
160
|
+
>
|
|
161
|
+
{accessoryPosition === 'start' ? accessory : null}
|
|
162
|
+
{pressable}
|
|
163
|
+
{accessoryPosition === 'end' ? accessory : null}
|
|
164
|
+
</View>
|
|
165
|
+
</ListItemProvider>
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
|
|
79
169
|
if (asChildInteractive) {
|
|
80
170
|
const slotMergeProps: Record<string, unknown> = {
|
|
81
171
|
...restProps,
|
|
@@ -173,7 +263,9 @@ export const ListItemRoot = forwardRef<ComponentRef<typeof View>, ListItemRootPr
|
|
|
173
263
|
isDisabled ? dataAttributes({ disabled: true }) : undefined,
|
|
174
264
|
)}
|
|
175
265
|
>
|
|
266
|
+
{accessoryPosition === 'start' ? accessory : null}
|
|
176
267
|
{children}
|
|
268
|
+
{accessoryPosition === 'end' ? accessory : null}
|
|
177
269
|
</View>
|
|
178
270
|
</ListItemProvider>
|
|
179
271
|
);
|
package/src/list-item/types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PressableProps, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
3
|
|
|
3
4
|
export type ListItemSize = 'default' | 'compact';
|
|
4
5
|
|
|
@@ -34,6 +35,24 @@ export interface InterfaceListItemProps extends ViewProps, IListItemPressablePas
|
|
|
34
35
|
* `isDisabled` suppresses press on the child.
|
|
35
36
|
*/
|
|
36
37
|
asChild?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Interactive control that must sit beside the row's pressable element, never inside it (for
|
|
40
|
+
* example a drag handle). On a pressable row (`onPress`, or `asChild` with an element child) the
|
|
41
|
+
* root renders a non-interactive container holding the accessory and the pressable region as
|
|
42
|
+
* siblings. The container receives `ref`, `className`, `style`, and data attributes, and mirrors
|
|
43
|
+
* the region's interaction state as `data-*`; the region receives every other prop. A
|
|
44
|
+
* non-pressable row renders the accessory inline beside `children`.
|
|
45
|
+
*/
|
|
46
|
+
accessory?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Side of the pressable region the accessory renders on.
|
|
49
|
+
* @default 'start'
|
|
50
|
+
*/
|
|
51
|
+
accessoryPosition?: 'start' | 'end';
|
|
52
|
+
/** Class names for the pressable region when `accessory` splits the row. */
|
|
53
|
+
pressableClassName?: string;
|
|
54
|
+
/** Style for the pressable region when `accessory` splits the row. */
|
|
55
|
+
pressableStyle?: StyleProp<ViewStyle>;
|
|
37
56
|
}
|
|
38
57
|
|
|
39
58
|
export type IListItemProps = InterfaceListItemProps;
|
package/src/menu/types.ts
CHANGED
|
@@ -4,9 +4,19 @@ import type { OverlayPlacement } from '../overlay';
|
|
|
4
4
|
import type { InteractionState } from '../types';
|
|
5
5
|
|
|
6
6
|
export interface IMenuOverlayRootProps extends ViewProps {
|
|
7
|
+
/** Controlled open state. When set, `defaultOpen` has no effect. */
|
|
7
8
|
isOpen?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Initial open state when uncontrolled.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
8
13
|
defaultOpen?: boolean;
|
|
14
|
+
/** Called with the next open state when the menu opens or closes. */
|
|
9
15
|
onOpenChange?: (open: boolean) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Prevents the trigger from opening the menu.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
10
20
|
disabled?: boolean;
|
|
11
21
|
/** Preferred popup placement relative to the trigger. */
|
|
12
22
|
placement?: OverlayPlacement;
|
|
@@ -14,15 +24,19 @@ export interface IMenuOverlayRootProps extends ViewProps {
|
|
|
14
24
|
offset?: number;
|
|
15
25
|
/** Cross-axis adjustment from the aligned popup position in pixels. */
|
|
16
26
|
crossOffset?: number;
|
|
27
|
+
/** The `Menu.Trigger` and `Menu.Popup`. */
|
|
17
28
|
children?: ReactNode;
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
export interface IMenuTriggerProps extends PressableProps {
|
|
32
|
+
/** Render the consumer's child element (for example a `Button`) as the trigger instead of the default `Pressable`. */
|
|
21
33
|
asChild?: boolean;
|
|
34
|
+
/** Trigger content (or the element to render when `asChild` is set). */
|
|
22
35
|
children?: ReactNode;
|
|
23
36
|
}
|
|
24
37
|
|
|
25
38
|
export interface IMenuPopupProps extends ViewProps {
|
|
39
|
+
/** Popup content, typically a `Menu.Content`. */
|
|
26
40
|
children?: ReactNode;
|
|
27
41
|
}
|
|
28
42
|
|
|
@@ -36,10 +50,12 @@ export interface IMenuProps extends ViewProps {
|
|
|
36
50
|
* Use when embedding inside another collection (e.g. `Select.Content` listbox).
|
|
37
51
|
*/
|
|
38
52
|
asSurface?: boolean;
|
|
53
|
+
/** The menu's items, groups and separators. */
|
|
39
54
|
children?: ReactNode;
|
|
40
55
|
}
|
|
41
56
|
|
|
42
57
|
export interface IMenuItemProps extends PressableProps {
|
|
58
|
+
/** Prevents activation and skips the item in keyboard navigation. */
|
|
43
59
|
disabled?: boolean;
|
|
44
60
|
/** Whether activation closes an overlay Menu. Defaults to true for overlay items. */
|
|
45
61
|
closeOnSelect?: boolean;
|
|
@@ -77,7 +93,9 @@ export interface MenuItemInteractionState extends InteractionState {
|
|
|
77
93
|
}
|
|
78
94
|
|
|
79
95
|
export interface IMenuItemActionProps extends ViewProps {
|
|
96
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
80
97
|
asChild?: boolean;
|
|
98
|
+
/** The trailing interactive control, such as a `Button`. */
|
|
81
99
|
children?: ReactNode;
|
|
82
100
|
}
|
|
83
101
|
|
|
@@ -85,15 +103,22 @@ export interface IMenuCheckboxItemProps extends Omit<
|
|
|
85
103
|
IMenuItemProps,
|
|
86
104
|
'children' | 'isChecked' | 'itemRole'
|
|
87
105
|
> {
|
|
106
|
+
/** Item content, typically a `Menu.ItemLabel` with optional icon and indicator slots. */
|
|
88
107
|
children?: ReactNode;
|
|
108
|
+
/** Controlled checked state. When set, `defaultIsChecked` has no effect. */
|
|
89
109
|
isChecked?: boolean;
|
|
110
|
+
/** Initial checked state when uncontrolled. */
|
|
90
111
|
defaultIsChecked?: boolean;
|
|
112
|
+
/** Called with the new checked state when the user toggles the item. */
|
|
91
113
|
onChange?: (isChecked: boolean) => void;
|
|
92
114
|
}
|
|
93
115
|
|
|
94
116
|
export interface IMenuRadioGroupProps extends ViewProps {
|
|
117
|
+
/** Controlled `value` of the selected `Menu.RadioItem`. When set, `defaultValue` has no effect. */
|
|
95
118
|
value?: string;
|
|
119
|
+
/** Initially selected `value` when uncontrolled. */
|
|
96
120
|
defaultValue?: string;
|
|
121
|
+
/** Called with the `value` of the item the user selects. */
|
|
97
122
|
onChange?: (value: string) => void;
|
|
98
123
|
}
|
|
99
124
|
|
|
@@ -101,7 +126,9 @@ export interface IMenuRadioItemProps extends Omit<
|
|
|
101
126
|
IMenuItemProps,
|
|
102
127
|
'children' | 'isChecked' | 'itemRole'
|
|
103
128
|
> {
|
|
129
|
+
/** Item content, typically a `Menu.ItemLabel` with optional icon and indicator slots. */
|
|
104
130
|
children?: ReactNode;
|
|
131
|
+
/** Identifies this item within its `Menu.RadioGroup`. */
|
|
105
132
|
value: string;
|
|
106
133
|
}
|
|
107
134
|
|
|
@@ -26,26 +26,58 @@ import type { CalendarView } from '../calendar/context';
|
|
|
26
26
|
import { RangeCalendarContext, type RangeCalendarFocus } from './context';
|
|
27
27
|
|
|
28
28
|
export interface RangeCalendarRootProps extends Omit<ViewProps, 'children'> {
|
|
29
|
+
/** Render the consumer's child element in place of the default `View` host. */
|
|
29
30
|
asChild?: boolean;
|
|
31
|
+
/** Custom calendar body. Omit to render the default header and month grid. */
|
|
30
32
|
children?: ReactNode;
|
|
33
|
+
/** Additional Uniwind/Tailwind classes, merged after the calendar's own styles. */
|
|
31
34
|
className?: string;
|
|
35
|
+
/** Controlled range start. Setting `startValue` or `endValue` makes the range controlled. */
|
|
32
36
|
startValue?: DateId;
|
|
37
|
+
/** Controlled range end. Setting `startValue` or `endValue` makes the range controlled. */
|
|
33
38
|
endValue?: DateId;
|
|
39
|
+
/** Initial range start when uncontrolled. */
|
|
34
40
|
defaultStartValue?: DateId;
|
|
41
|
+
/** Initial range end when uncontrolled. */
|
|
35
42
|
defaultEndValue?: DateId;
|
|
43
|
+
/**
|
|
44
|
+
* Called when the user picks a day. The first pick starts a new range with no `endId`; the
|
|
45
|
+
* second completes it, with the two days in date order.
|
|
46
|
+
*/
|
|
36
47
|
onRangeChange?: (range: { startId?: DateId; endId?: DateId }) => void;
|
|
48
|
+
/** Controlled visible month. When set, `defaultMonthId` has no effect. */
|
|
37
49
|
monthId?: MonthId;
|
|
50
|
+
/** Initial visible month when uncontrolled. Defaults to the month of the range, or today. */
|
|
38
51
|
defaultMonthId?: MonthId;
|
|
52
|
+
/** Called with the new visible month when the user navigates months. */
|
|
39
53
|
onMonthIdChange?: (monthId: MonthId) => void;
|
|
54
|
+
/**
|
|
55
|
+
* Controlled active field. The calendar moves it to `'end'` after the first day pick and back
|
|
56
|
+
* to `'start'` after the second.
|
|
57
|
+
*/
|
|
40
58
|
focusedField?: RangeCalendarFocus;
|
|
59
|
+
/**
|
|
60
|
+
* Initial active field when uncontrolled.
|
|
61
|
+
* @default 'start'
|
|
62
|
+
*/
|
|
41
63
|
defaultFocusedField?: RangeCalendarFocus;
|
|
64
|
+
/** Called with the new active field after each day pick. */
|
|
42
65
|
onFocusedFieldChange?: (field: RangeCalendarFocus) => void;
|
|
43
66
|
/** Earliest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. */
|
|
44
67
|
minValue?: DateId;
|
|
45
68
|
/** Latest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. */
|
|
46
69
|
maxValue?: DateId;
|
|
70
|
+
/**
|
|
71
|
+
* Prevents day selection and month navigation.
|
|
72
|
+
* @default false
|
|
73
|
+
*/
|
|
47
74
|
disabled?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* BCP 47 locale for month and weekday names.
|
|
77
|
+
* @default 'en-US'
|
|
78
|
+
*/
|
|
48
79
|
locale?: string;
|
|
80
|
+
/** Overrides for the built-in UI copy, such as the previous- and next-month button labels. */
|
|
49
81
|
labels?: Partial<DateComponentLabels>;
|
|
50
82
|
/** Accessible name for the range-calendar region. */
|
|
51
83
|
accessibilityLabel?: string;
|