@cdx-ui/primitives 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/lib/commonjs/dialog/DialogContent.js +13 -5
  2. package/lib/commonjs/dialog/DialogContent.js.map +1 -1
  3. package/lib/commonjs/dialog/DialogPopup.js +7 -1
  4. package/lib/commonjs/dialog/DialogPopup.js.map +1 -1
  5. package/lib/commonjs/dialog/DialogRoot.js +3 -1
  6. package/lib/commonjs/dialog/DialogRoot.js.map +1 -1
  7. package/lib/commonjs/index.js +12 -0
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/portal/portal.js +4 -2
  10. package/lib/commonjs/portal/portal.js.map +1 -1
  11. package/lib/commonjs/select/SelectContent.js +1 -0
  12. package/lib/commonjs/select/SelectContent.js.map +1 -1
  13. package/lib/commonjs/toggle-button/ToggleButtonGroup.js +185 -0
  14. package/lib/commonjs/toggle-button/ToggleButtonGroup.js.map +1 -0
  15. package/lib/commonjs/toggle-button/ToggleButtonRoot.js +131 -0
  16. package/lib/commonjs/toggle-button/ToggleButtonRoot.js.map +1 -0
  17. package/lib/commonjs/toggle-button/ToggleButtonRoot.web.js +180 -0
  18. package/lib/commonjs/toggle-button/ToggleButtonRoot.web.js.map +1 -0
  19. package/lib/commonjs/toggle-button/context.js +27 -0
  20. package/lib/commonjs/toggle-button/context.js.map +1 -0
  21. package/lib/commonjs/toggle-button/index.js +45 -0
  22. package/lib/commonjs/toggle-button/index.js.map +1 -0
  23. package/lib/commonjs/toggle-button/toggleState.js +23 -0
  24. package/lib/commonjs/toggle-button/toggleState.js.map +1 -0
  25. package/lib/commonjs/toggle-button/types.js +6 -0
  26. package/lib/commonjs/toggle-button/types.js.map +1 -0
  27. package/lib/commonjs/toggle-button/useToggleButtonGroupNavigation.js +80 -0
  28. package/lib/commonjs/toggle-button/useToggleButtonGroupNavigation.js.map +1 -0
  29. package/lib/module/dialog/DialogContent.js +13 -5
  30. package/lib/module/dialog/DialogContent.js.map +1 -1
  31. package/lib/module/dialog/DialogPopup.js +7 -1
  32. package/lib/module/dialog/DialogPopup.js.map +1 -1
  33. package/lib/module/dialog/DialogRoot.js +4 -2
  34. package/lib/module/dialog/DialogRoot.js.map +1 -1
  35. package/lib/module/index.js +1 -0
  36. package/lib/module/index.js.map +1 -1
  37. package/lib/module/portal/portal.js +4 -2
  38. package/lib/module/portal/portal.js.map +1 -1
  39. package/lib/module/select/SelectContent.js +2 -1
  40. package/lib/module/select/SelectContent.js.map +1 -1
  41. package/lib/module/toggle-button/ToggleButtonGroup.js +181 -0
  42. package/lib/module/toggle-button/ToggleButtonGroup.js.map +1 -0
  43. package/lib/module/toggle-button/ToggleButtonRoot.js +127 -0
  44. package/lib/module/toggle-button/ToggleButtonRoot.js.map +1 -0
  45. package/lib/module/toggle-button/ToggleButtonRoot.web.js +176 -0
  46. package/lib/module/toggle-button/ToggleButtonRoot.web.js.map +1 -0
  47. package/lib/module/toggle-button/context.js +18 -0
  48. package/lib/module/toggle-button/context.js.map +1 -0
  49. package/lib/module/toggle-button/index.js +6 -0
  50. package/lib/module/toggle-button/index.js.map +1 -0
  51. package/lib/module/toggle-button/toggleState.js +19 -0
  52. package/lib/module/toggle-button/toggleState.js.map +1 -0
  53. package/lib/module/toggle-button/types.js +4 -0
  54. package/lib/module/toggle-button/types.js.map +1 -0
  55. package/lib/module/toggle-button/useToggleButtonGroupNavigation.js +75 -0
  56. package/lib/module/toggle-button/useToggleButtonGroupNavigation.js.map +1 -0
  57. package/lib/typescript/breadcrumbs/types.d.ts +13 -0
  58. package/lib/typescript/breadcrumbs/types.d.ts.map +1 -1
  59. package/lib/typescript/checkbox/types.d.ts +4 -0
  60. package/lib/typescript/checkbox/types.d.ts.map +1 -1
  61. package/lib/typescript/dialog/DialogContent.d.ts +1 -1
  62. package/lib/typescript/dialog/DialogContent.d.ts.map +1 -1
  63. package/lib/typescript/dialog/DialogPopup.d.ts.map +1 -1
  64. package/lib/typescript/dialog/DialogRoot.d.ts.map +1 -1
  65. package/lib/typescript/dialog/types.d.ts +12 -0
  66. package/lib/typescript/dialog/types.d.ts.map +1 -1
  67. package/lib/typescript/field/types.d.ts +1 -1
  68. package/lib/typescript/field/types.d.ts.map +1 -1
  69. package/lib/typescript/form/types.d.ts +6 -0
  70. package/lib/typescript/form/types.d.ts.map +1 -1
  71. package/lib/typescript/index.d.ts +1 -0
  72. package/lib/typescript/index.d.ts.map +1 -1
  73. package/lib/typescript/input/types.d.ts +1 -0
  74. package/lib/typescript/input/types.d.ts.map +1 -1
  75. package/lib/typescript/link/types.d.ts +2 -2
  76. package/lib/typescript/list-item/types.d.ts +3 -2
  77. package/lib/typescript/list-item/types.d.ts.map +1 -1
  78. package/lib/typescript/portal/portal.d.ts +13 -2
  79. package/lib/typescript/portal/portal.d.ts.map +1 -1
  80. package/lib/typescript/progress-bar/types.d.ts +9 -4
  81. package/lib/typescript/progress-bar/types.d.ts.map +1 -1
  82. package/lib/typescript/radio/types.d.ts +2 -0
  83. package/lib/typescript/radio/types.d.ts.map +1 -1
  84. package/lib/typescript/select/SelectContent.d.ts.map +1 -1
  85. package/lib/typescript/switch/types.d.ts +4 -4
  86. package/lib/typescript/tabs/types.d.ts +7 -2
  87. package/lib/typescript/tabs/types.d.ts.map +1 -1
  88. package/lib/typescript/toggle-button/ToggleButtonGroup.d.ts +5 -0
  89. package/lib/typescript/toggle-button/ToggleButtonGroup.d.ts.map +1 -0
  90. package/lib/typescript/toggle-button/ToggleButtonRoot.d.ts +5 -0
  91. package/lib/typescript/toggle-button/ToggleButtonRoot.d.ts.map +1 -0
  92. package/lib/typescript/toggle-button/ToggleButtonRoot.web.d.ts +5 -0
  93. package/lib/typescript/toggle-button/ToggleButtonRoot.web.d.ts.map +1 -0
  94. package/lib/typescript/toggle-button/context.d.ts +27 -0
  95. package/lib/typescript/toggle-button/context.d.ts.map +1 -0
  96. package/lib/typescript/toggle-button/index.d.ts +5 -0
  97. package/lib/typescript/toggle-button/index.d.ts.map +1 -0
  98. package/lib/typescript/toggle-button/toggleState.d.ts +14 -0
  99. package/lib/typescript/toggle-button/toggleState.d.ts.map +1 -0
  100. package/lib/typescript/toggle-button/types.d.ts +87 -0
  101. package/lib/typescript/toggle-button/types.d.ts.map +1 -0
  102. package/lib/typescript/toggle-button/useToggleButtonGroupNavigation.d.ts +19 -0
  103. package/lib/typescript/toggle-button/useToggleButtonGroupNavigation.d.ts.map +1 -0
  104. package/package.json +3 -3
  105. package/src/breadcrumbs/types.ts +13 -0
  106. package/src/checkbox/types.ts +4 -0
  107. package/src/dialog/DialogContent.tsx +13 -5
  108. package/src/dialog/DialogPopup.tsx +7 -1
  109. package/src/dialog/DialogRoot.tsx +3 -1
  110. package/src/dialog/types.ts +12 -0
  111. package/src/field/types.tsx +1 -1
  112. package/src/form/types.tsx +6 -0
  113. package/src/index.ts +1 -0
  114. package/src/input/types.ts +1 -0
  115. package/src/link/types.ts +2 -2
  116. package/src/list-item/types.ts +3 -2
  117. package/src/portal/portal.tsx +17 -2
  118. package/src/progress-bar/types.ts +9 -4
  119. package/src/radio/types.ts +2 -0
  120. package/src/select/SelectContent.tsx +2 -1
  121. package/src/switch/types.ts +4 -4
  122. package/src/tabs/types.ts +7 -2
  123. package/src/toggle-button/ToggleButtonGroup.tsx +260 -0
  124. package/src/toggle-button/ToggleButtonRoot.tsx +151 -0
  125. package/src/toggle-button/ToggleButtonRoot.web.tsx +225 -0
  126. package/src/toggle-button/context.tsx +30 -0
  127. package/src/toggle-button/index.ts +16 -0
  128. package/src/toggle-button/toggleState.ts +19 -0
  129. package/src/toggle-button/types.ts +94 -0
  130. package/src/toggle-button/useToggleButtonGroupNavigation.ts +112 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useEffect, useMemo, useRef } from 'react';
4
+ import { Pressable } from 'react-native';
5
+ import { composeEventHandlers, mergeRefs, useControllableState } from '@cdx-ui/utils';
6
+ import { useFocus, useFocusRing } from '@react-native-aria/focus';
7
+ import { useHover, usePress } from '@react-native-aria/interactions';
8
+ import { Slot } from '../slot';
9
+ import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
10
+ import { ToggleButtonProvider, useOptionalToggleButtonGroupContext } from './context';
11
+ import { getToggleState } from './toggleState';
12
+ import { getRovingFocusValue } from './useToggleButtonGroupNavigation';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const ToggleButtonRoot = /*#__PURE__*/forwardRef(({
15
+ asChild = false,
16
+ value,
17
+ isSelected: controlledSelected,
18
+ defaultSelected,
19
+ onSelectedChange,
20
+ isDisabled: isDisabledProp = false,
21
+ children,
22
+ onPress,
23
+ onFocus,
24
+ onBlur,
25
+ style,
26
+ ...rest
27
+ }, ref) => {
28
+ const group = useOptionalToggleButtonGroupContext();
29
+ const [standaloneSelected = false, setStandaloneSelected] = useControllableState({
30
+ prop: controlledSelected,
31
+ defaultProp: defaultSelected ?? false,
32
+ onChange: next => {
33
+ onSelectedChange?.(next);
34
+ }
35
+ });
36
+ const isSelected = group ? group.isSelected(value) : standaloneSelected;
37
+ const isDisabled = (group?.isGroupDisabled ?? false) || isDisabledProp;
38
+ const {
39
+ focusProps,
40
+ isFocused
41
+ } = useFocus();
42
+ const {
43
+ isFocusVisible,
44
+ focusProps: focusRingProps
45
+ } = useFocusRing();
46
+ const {
47
+ pressProps,
48
+ isPressed
49
+ } = usePress({
50
+ isDisabled
51
+ });
52
+ const {
53
+ hoverProps,
54
+ isHovered
55
+ } = useHover();
56
+ const selectionType = group ? group.type : 'standalone';
57
+ const role = selectionType === 'single' ? 'radio' : 'button';
58
+ const accessibilityState = useMemo(() => ({
59
+ disabled: isDisabled,
60
+ ...(selectionType === 'single' ? {
61
+ checked: isSelected,
62
+ selected: isSelected
63
+ } : {
64
+ selected: isSelected
65
+ })
66
+ }), [isDisabled, isSelected, selectionType]);
67
+ const ariaProps = selectionType === 'single' ? {
68
+ 'aria-checked': isSelected
69
+ } : {
70
+ 'aria-pressed': isSelected
71
+ };
72
+ const nodeRef = useRef(null);
73
+ const setRefs = mergeRefs(ref, nodeRef);
74
+ const registerItem = group?.registerItem;
75
+ const unregisterItem = group?.unregisterItem;
76
+ const getItems = group?.getItems;
77
+ const focusedValue = group?.focusedValue;
78
+ const anchorValue = group?.type === 'single' ? typeof group.value === 'string' ? group.value : undefined : Array.isArray(group?.value) && group.value.length > 0 ? group.value[0] : undefined;
79
+ useEffect(() => {
80
+ if (!registerItem || !unregisterItem) {
81
+ return;
82
+ }
83
+ registerItem(value, {
84
+ disabled: !!isDisabled,
85
+ node: nodeRef.current
86
+ });
87
+ return () => unregisterItem(value);
88
+ }, [value, isDisabled, registerItem, unregisterItem]);
89
+ const isRovingTabStop = useMemo(() => {
90
+ if (!group || isDisabled) {
91
+ return !group;
92
+ }
93
+ const enabledItems = getItems?.().filter(([, entry]) => !entry.disabled) ?? [];
94
+ const rovingValue = getRovingFocusValue(focusedValue, anchorValue, enabledItems);
95
+ return value === rovingValue;
96
+ }, [anchorValue, focusedValue, getItems, group, isDisabled, value]);
97
+ const toggleButtonContext = useMemo(() => ({
98
+ value,
99
+ isSelected,
100
+ isDisabled,
101
+ selectionType,
102
+ hover: isHovered,
103
+ active: isPressed,
104
+ focus: isFocused,
105
+ focusVisible: isFocusVisible
106
+ }), [value, isSelected, isDisabled, selectionType, isHovered, isPressed, isFocused, isFocusVisible]);
107
+ const markRovingFocus = () => {
108
+ if (!isDisabled) {
109
+ group?.setFocusedValue?.(value);
110
+ }
111
+ };
112
+ const toggle = () => {
113
+ if (isDisabled) {
114
+ return;
115
+ }
116
+ if (group) {
117
+ markRovingFocus();
118
+ group.toggleValue(value);
119
+ } else {
120
+ setStandaloneSelected(!standaloneSelected);
121
+ }
122
+ };
123
+ const composedOnPress = composeEventHandlers(onPress, toggle);
124
+
125
+ // RNW's press responder already turns Space into a press for role="button", but ignores
126
+ // it for role="radio", so only single-select items handle Space here.
127
+ const handleKeyDown = event => {
128
+ if (selectionType !== 'single') {
129
+ return;
130
+ }
131
+ if (event.key === ' ' || event.key === 'Spacebar') {
132
+ event.preventDefault();
133
+ if (!event.repeat) {
134
+ toggle();
135
+ }
136
+ }
137
+ };
138
+ const Comp = asChild ? Slot : Pressable;
139
+ return /*#__PURE__*/_jsx(ToggleButtonProvider, {
140
+ value: toggleButtonContext,
141
+ children: /*#__PURE__*/_jsx(Comp, {
142
+ ref: setRefs,
143
+ accessibilityRole: role,
144
+ role: role,
145
+ accessibilityState: accessibilityState,
146
+ ...ariaProps,
147
+ ...(isDisabled ? {
148
+ 'aria-disabled': true
149
+ } : {}),
150
+ disabled: isDisabled,
151
+ tabIndex: group ? isDisabled ? -1 : isRovingTabStop ? 0 : -1 : undefined,
152
+ ...rest,
153
+ ...mergeDataAttributes(rest, dataAttributes({
154
+ selected: isSelected,
155
+ disabled: isDisabled,
156
+ active: isPressed,
157
+ hover: isHovered,
158
+ focus: isFocused,
159
+ focusVisible: isFocusVisible,
160
+ toggleState: getToggleState(isSelected, isPressed, isHovered)
161
+ })),
162
+ style: style,
163
+ onPress: isDisabled ? undefined : composedOnPress,
164
+ onKeyDown: composeEventHandlers(rest.onKeyDown, handleKeyDown),
165
+ onPressIn: composeEventHandlers(rest.onPressIn, pressProps.onPressIn),
166
+ onPressOut: composeEventHandlers(rest.onPressOut, pressProps.onPressOut),
167
+ onHoverIn: composeEventHandlers(rest.onHoverIn, hoverProps.onHoverIn),
168
+ onHoverOut: composeEventHandlers(rest.onHoverOut, hoverProps.onHoverOut),
169
+ onFocus: composeEventHandlers(composeEventHandlers(onFocus, markRovingFocus), composeEventHandlers(focusProps.onFocus, focusRingProps.onFocus)),
170
+ onBlur: composeEventHandlers(composeEventHandlers(onBlur, focusProps.onBlur), focusRingProps.onBlur),
171
+ children: children
172
+ })
173
+ });
174
+ });
175
+ ToggleButtonRoot.displayName = 'ToggleButtonRoot';
176
+ //# sourceMappingURL=ToggleButtonRoot.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useEffect","useMemo","useRef","Pressable","composeEventHandlers","mergeRefs","useControllableState","useFocus","useFocusRing","useHover","usePress","Slot","dataAttributes","mergeDataAttributes","ToggleButtonProvider","useOptionalToggleButtonGroupContext","getToggleState","getRovingFocusValue","jsx","_jsx","ToggleButtonRoot","asChild","value","isSelected","controlledSelected","defaultSelected","onSelectedChange","isDisabled","isDisabledProp","children","onPress","onFocus","onBlur","style","rest","ref","group","standaloneSelected","setStandaloneSelected","prop","defaultProp","onChange","next","isGroupDisabled","focusProps","isFocused","isFocusVisible","focusRingProps","pressProps","isPressed","hoverProps","isHovered","selectionType","type","role","accessibilityState","disabled","checked","selected","ariaProps","nodeRef","setRefs","registerItem","unregisterItem","getItems","focusedValue","anchorValue","undefined","Array","isArray","length","node","current","isRovingTabStop","enabledItems","filter","entry","rovingValue","toggleButtonContext","hover","active","focus","focusVisible","markRovingFocus","setFocusedValue","toggle","toggleValue","composedOnPress","handleKeyDown","event","key","preventDefault","repeat","Comp","accessibilityRole","tabIndex","toggleState","onKeyDown","onPressIn","onPressOut","onHoverIn","onHoverOut","displayName"],"sourceRoot":"../../../src","sources":["toggle-button/ToggleButtonRoot.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { createContext as createReactContext, useContext } from 'react';
4
+ import { createContext } from '@cdx-ui/utils';
5
+ export const [ToggleButtonProvider, useToggleButtonContext] = createContext('ToggleButtonContext');
6
+ const ToggleButtonGroupContext = /*#__PURE__*/createReactContext(null);
7
+ export const ToggleButtonGroupContextProvider = ToggleButtonGroupContext.Provider;
8
+ export function useToggleButtonGroupContext() {
9
+ const ctx = useContext(ToggleButtonGroupContext);
10
+ if (!ctx) {
11
+ throw new Error('ToggleButton must be used within ToggleButtonGroup');
12
+ }
13
+ return ctx;
14
+ }
15
+ export function useOptionalToggleButtonGroupContext() {
16
+ return useContext(ToggleButtonGroupContext);
17
+ }
18
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","createReactContext","useContext","ToggleButtonProvider","useToggleButtonContext","ToggleButtonGroupContext","ToggleButtonGroupContextProvider","Provider","useToggleButtonGroupContext","ctx","Error","useOptionalToggleButtonGroupContext"],"sourceRoot":"../../../src","sources":["toggle-button/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,IAAIC,kBAAkB,EAAEC,UAAU,QAAQ,OAAO;AACvE,SAASF,aAAa,QAAQ,eAAe;AAG7C,OAAO,MAAM,CAACG,oBAAoB,EAAEC,sBAAsB,CAAC,GAAGJ,aAAa,CASxE,qBAAqB,CAAC;AAEzB,MAAMK,wBAAwB,gBAAGJ,kBAAkB,CAAwC,IAAI,CAAC;AAEhG,OAAO,MAAMK,gCAAgC,GAAGD,wBAAwB,CAACE,QAAQ;AAEjF,OAAO,SAASC,2BAA2BA,CAAA,EAAmC;EAC5E,MAAMC,GAAG,GAAGP,UAAU,CAACG,wBAAwB,CAAC;EAChD,IAAI,CAACI,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASE,mCAAmCA,CAAA,EAA0C;EAC3F,OAAOT,UAAU,CAACG,wBAAwB,CAAC;AAC7C","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { ToggleButtonRoot } from './ToggleButtonRoot';
4
+ export { ToggleButtonGroup } from './ToggleButtonGroup';
5
+ export { ToggleButtonProvider, useToggleButtonContext, useToggleButtonGroupContext, useOptionalToggleButtonGroupContext } from './context';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ToggleButtonRoot","ToggleButtonGroup","ToggleButtonProvider","useToggleButtonContext","useToggleButtonGroupContext","useOptionalToggleButtonGroupContext"],"sourceRoot":"../../../src","sources":["toggle-button/index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAoC,oBAAoB;AACjF,SAASC,iBAAiB,QAAqC,qBAAqB;AACpF,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,2BAA2B,EAC3BC,mCAAmC,QAC9B,WAAW","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ // Keyed `selected:active:hover`. Press outranks hover so each combination maps to exactly one
4
+ // value, letting the styled layer use single-condition selectors that also work on native.
5
+ const TOGGLE_STATES = {
6
+ 'false:false:false': 'idle',
7
+ 'false:false:true': 'hover',
8
+ 'false:true:false': 'active',
9
+ 'false:true:true': 'active',
10
+ 'true:false:false': 'selected',
11
+ 'true:false:true': 'selected-hover',
12
+ 'true:true:false': 'selected-active',
13
+ 'true:true:true': 'selected-active'
14
+ };
15
+ export function getToggleState(selected, active, hover) {
16
+ const key = [selected, active, hover].map(flag => flag ? 'true' : 'false').join(':');
17
+ return TOGGLE_STATES[key];
18
+ }
19
+ //# sourceMappingURL=toggleState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TOGGLE_STATES","getToggleState","selected","active","hover","key","map","flag","join"],"sourceRoot":"../../../src","sources":["toggle-button/toggleState.ts"],"mappings":";;AAAA;AACA;AACA,MAAMA,aAAa,GAAG;EACpB,mBAAmB,EAAE,MAAM;EAC3B,kBAAkB,EAAE,OAAO;EAC3B,kBAAkB,EAAE,QAAQ;EAC5B,iBAAiB,EAAE,QAAQ;EAC3B,kBAAkB,EAAE,UAAU;EAC9B,iBAAiB,EAAE,gBAAgB;EACnC,iBAAiB,EAAE,iBAAiB;EACpC,gBAAgB,EAAE;AACpB,CAAU;AAIV,OAAO,SAASC,cAAcA,CAACC,QAAiB,EAAEC,MAAe,EAAEC,KAAc,EAAe;EAC9F,MAAMC,GAAG,GAAG,CAACH,QAAQ,EAAEC,MAAM,EAAEC,KAAK,CAAC,CAACE,GAAG,CAAEC,IAAI,IAAMA,IAAI,GAAG,MAAM,GAAG,OAAQ,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EACxF,OAAOR,aAAa,CAACK,GAAG,CAA+B;AACzD","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["toggle-button/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef } from 'react';
4
+ function isEnabledItemValue(value, enabledItems) {
5
+ return value != null && enabledItems.some(([itemValue]) => itemValue === value);
6
+ }
7
+
8
+ /** Resolves which item value should hold the roving tab stop / keyboard focus anchor. */
9
+ export function getRovingFocusValue(focusedValue, anchorValue, enabledItems) {
10
+ const defaultFocusValue = isEnabledItemValue(anchorValue, enabledItems) ? anchorValue : enabledItems[0]?.[0];
11
+ const resolvedFocusedValue = isEnabledItemValue(focusedValue, enabledItems) ? focusedValue : undefined;
12
+ return resolvedFocusedValue ?? defaultFocusValue;
13
+ }
14
+ export function useToggleButtonGroupNavigation({
15
+ type,
16
+ orientation,
17
+ getItems,
18
+ focusedValue,
19
+ setFocusedValue,
20
+ anchorValue,
21
+ selectOnFocus
22
+ }) {
23
+ const selectOnFocusRef = useRef(selectOnFocus);
24
+ selectOnFocusRef.current = selectOnFocus;
25
+ const getEnabledItems = useCallback(() => getItems().filter(([, entry]) => !entry.disabled), [getItems]);
26
+ const moveFocus = useCallback(([targetValue, targetEntry], shouldSelect) => {
27
+ setFocusedValue(targetValue);
28
+ targetEntry.node?.focus?.();
29
+ if (shouldSelect) {
30
+ selectOnFocusRef.current?.(targetValue);
31
+ }
32
+ }, [setFocusedValue]);
33
+ const handleKeyDown = useCallback(e => {
34
+ const enabledItems = getEnabledItems();
35
+ if (enabledItems.length === 0) {
36
+ return;
37
+ }
38
+ const currentValue = getRovingFocusValue(focusedValue, anchorValue, enabledItems);
39
+ const idx = enabledItems.findIndex(([value]) => value === currentValue);
40
+ const shouldSelectOnFocus = type === 'single';
41
+ const nextKeys = orientation === 'vertical' ? ['ArrowDown'] : ['ArrowRight', 'ArrowDown'];
42
+ const prevKeys = orientation === 'vertical' ? ['ArrowUp'] : ['ArrowLeft', 'ArrowUp'];
43
+ if (nextKeys.includes(e.key)) {
44
+ e.preventDefault();
45
+ moveFocus(enabledItems[idx < enabledItems.length - 1 ? idx + 1 : 0], shouldSelectOnFocus);
46
+ return;
47
+ }
48
+ if (prevKeys.includes(e.key)) {
49
+ e.preventDefault();
50
+ moveFocus(enabledItems[idx > 0 ? idx - 1 : enabledItems.length - 1], shouldSelectOnFocus);
51
+ return;
52
+ }
53
+ switch (e.key) {
54
+ case 'Home':
55
+ {
56
+ e.preventDefault();
57
+ moveFocus(enabledItems[0], shouldSelectOnFocus);
58
+ break;
59
+ }
60
+ case 'End':
61
+ {
62
+ e.preventDefault();
63
+ const last = enabledItems.at(-1);
64
+ if (last) {
65
+ moveFocus(last, shouldSelectOnFocus);
66
+ }
67
+ break;
68
+ }
69
+ }
70
+ }, [anchorValue, focusedValue, getEnabledItems, moveFocus, orientation, type]);
71
+ return {
72
+ handleKeyDown
73
+ };
74
+ }
75
+ //# sourceMappingURL=useToggleButtonGroupNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","isEnabledItemValue","value","enabledItems","some","itemValue","getRovingFocusValue","focusedValue","anchorValue","defaultFocusValue","resolvedFocusedValue","undefined","useToggleButtonGroupNavigation","type","orientation","getItems","setFocusedValue","selectOnFocus","selectOnFocusRef","current","getEnabledItems","filter","entry","disabled","moveFocus","targetValue","targetEntry","shouldSelect","node","focus","handleKeyDown","e","length","currentValue","idx","findIndex","shouldSelectOnFocus","nextKeys","prevKeys","includes","key","preventDefault","last","at"],"sourceRoot":"../../../src","sources":["toggle-button/useToggleButtonGroupNavigation.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,21 @@ import type { ViewProps } from 'react-native';
3
3
  export declare const breadcrumbColorOptions: readonly ["neutral", "action", "danger", "warning", "success", "info"];
4
4
  export type BreadcrumbColor = (typeof breadcrumbColorOptions)[number];
5
5
  export interface IBreadcrumbsProps extends ViewProps {
6
+ /**
7
+ * When `true`, ancestor items are not interactive and use muted text.
8
+ * The current page keeps its color.
9
+ * @default false
10
+ */
6
11
  readonly isDisabled?: boolean;
12
+ /**
13
+ * When `true`, interactive ancestor items are underlined.
14
+ * @default false
15
+ */
7
16
  readonly isUnderlined?: boolean;
17
+ /**
18
+ * Semantic color for ancestor items. `neutral` uses the standard text hierarchy.
19
+ * @default 'neutral'
20
+ */
8
21
  readonly color?: BreadcrumbColor;
9
22
  /**
10
23
  * Accessible name for the breadcrumb navigation landmark.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,sBAAsB,wEAOzB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,sBAAsB,wEAOzB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC"}
@@ -1,12 +1,16 @@
1
1
  import type { PressableProps } from 'react-native';
2
2
  export interface InterfaceCheckbox extends PressableProps {
3
+ /** Identifies this checkbox. Must be unique among siblings in a `Checkbox.Group`. */
3
4
  value: string;
4
5
  onChange?: (isSelected: boolean) => void;
5
6
  children?: React.ReactNode;
7
+ /** Initial checked state when uncontrolled. No effect when `isChecked` is set. */
6
8
  defaultIsChecked?: boolean;
9
+ /** Controlled checked state. When set, `defaultIsChecked` has no effect. */
7
10
  isChecked?: boolean;
8
11
  isDisabled?: boolean;
9
12
  isInvalid?: boolean;
13
+ /** Focusable, but the checked state cannot be changed. */
10
14
  isReadOnly?: boolean;
11
15
  isHovered?: boolean;
12
16
  isFocused?: boolean;
@@ -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,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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,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"}
@@ -7,7 +7,7 @@ export interface DialogContentProps extends IDialogContentProps {
7
7
  * - ARIA role, aria-modal, aria-labelledby/describedby
8
8
  * - FocusScope (focus trap + restore + auto-focus)
9
9
  * - Escape key dismissal (web)
10
- * - Android hardware back button dismissal (native)
10
+ * - Android hardware back button: calls the context `backHandlerRef` when set, otherwise dismisses (native)
11
11
  * - data-state attribute for CSS transition targeting
12
12
  *
13
13
  * Unstyled — the styled layer applies centering, background, border-radius, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,IAAI,EAAkB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,qGAkEzB,CAAC"}
1
+ {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,IAAI,EAAkB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,qGA0EzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,IAAI,EAEL,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,mGA2HvB,CAAC"}
1
+ {"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,IAAI,EAEL,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,mGAiIvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogRoot.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,gBAAgB;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,kGAyDtB,CAAC"}
1
+ {"version":3,"file":"DialogRoot.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,gBAAgB;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,kGA2DtB,CAAC"}
@@ -7,6 +7,11 @@ export interface IDialogContextType {
7
7
  readonly closeOnEscKey: boolean;
8
8
  readonly nativeID: string;
9
9
  readonly role: 'dialog' | 'alertdialog';
10
+ /**
11
+ * @internal Set by a header that owns step navigation. When set, Android back
12
+ * calls it instead of closing the dialog. Escape always closes.
13
+ */
14
+ readonly backHandlerRef: React.RefObject<(() => void) | undefined>;
10
15
  }
11
16
  export interface IDialogRootProps {
12
17
  /** Controlled open state. Use `defaultOpen` for the uncontrolled variant. */
@@ -14,6 +19,12 @@ export interface IDialogRootProps {
14
19
  readonly onOpenChange?: (open: boolean) => void;
15
20
  readonly defaultOpen?: boolean;
16
21
  readonly closeOnBackdropPress?: boolean;
22
+ /**
23
+ * Close when Escape is pressed. Web only. When `false`, an open dialog still
24
+ * consumes Escape while topmost, so overlays beneath it stay open. Android's
25
+ * hardware back button dismisses independently of this prop.
26
+ * @default true
27
+ */
17
28
  readonly closeOnEscKey?: boolean;
18
29
  readonly role?: 'dialog' | 'alertdialog';
19
30
  readonly children: React.ReactNode;
@@ -32,6 +43,7 @@ export interface IDialogOverlayProps extends PressableProps {
32
43
  }
33
44
  export interface IDialogContentProps extends ViewProps {
34
45
  readonly asChild?: boolean;
46
+ /** Keep the popup mounted while the dialog is closed. @default false */
35
47
  readonly forceMount?: boolean;
36
48
  /**
37
49
  * Whether the content shifts up to clear the on-screen keyboard (native only).
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dialog/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC"}
@@ -22,7 +22,7 @@ export interface IFieldRootProps extends ViewProps {
22
22
  readonly isInvalid?: boolean;
23
23
  /** If true, the field is marked as required. Shows asterisk on label. */
24
24
  readonly isRequired?: boolean;
25
- /** If true, the field is disabled. */
25
+ /** If true, the field is disabled. Nested controls that read field context are disabled as well. */
26
26
  readonly isDisabled?: boolean;
27
27
  /** If true, the field is read-only. */
28
28
  readonly isReadOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/field/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/field/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,oGAAoG;IACpG,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9C"}
@@ -5,8 +5,14 @@ import type React from 'react';
5
5
  * for API compatibility but silently ignored.
6
6
  */
7
7
  export interface InterfaceFormRootProps {
8
+ /** Called when the form is submitted. Web only; ignored on native. */
8
9
  onSubmit?: (e: React.SyntheticEvent) => void;
10
+ /**
11
+ * HTML `action` URL, or a function that receives the submitted `FormData`.
12
+ * Web only; ignored on native.
13
+ */
9
14
  action?: string | ((formData: FormData) => void | Promise<void>);
15
+ /** HTTP method. Web only; ignored on native. */
10
16
  method?: string;
11
17
  }
12
18
  export type IFormRootProps = InterfaceFormRootProps;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/form/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/form/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
@@ -28,6 +28,7 @@ export * from './select';
28
28
  export * from './switch';
29
29
  export * from './tabs';
30
30
  export * from './tile';
31
+ export * from './toggle-button';
31
32
  export * from './toast';
32
33
  export * from './tooltip';
33
34
  export * from './portal';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,UAAU,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,WAAW,CAAC;AACnB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,UAAU,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,WAAW,CAAC;AACnB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -55,6 +55,7 @@ interface IInputBaseProps extends TextInputProps {
55
55
  asChild?: boolean;
56
56
  }
57
57
  interface IInputTextProps extends IInputBaseProps {
58
+ /** @default 'text' */
58
59
  type?: 'text' | 'password';
59
60
  }
60
61
  interface IInputFileProps extends IInputBaseProps {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,YAAY;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,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,gBAAgB;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAgB,SAAQ,cAAc;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAgB,SAAQ,eAAe;IAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B;AAED,UAAU,eAAgB,SAAQ,eAAe;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,YAAY;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,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,gBAAgB;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAgB,SAAQ,cAAc;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAgB,SAAQ,eAAe;IAC/C,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B;AAED,UAAU,eAAgB,SAAQ,eAAe;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -14,11 +14,11 @@ import type { GestureResponderEvent, PressableProps } from 'react-native';
14
14
  export type LinkAction = 'navigate' | 'push' | 'replace';
15
15
  export interface ILinkProps extends PressableProps {
16
16
  /**
17
- * URL that should be opened on Link press
17
+ * URL or route path opened on press. Omit when the link only runs `onPress`.
18
18
  */
19
19
  href?: string | undefined;
20
20
  /**
21
- * Callback that will be invoked on Link press
21
+ * Invoked on press before navigation. Does not replace navigation.
22
22
  */
23
23
  onPress?: ((event?: GestureResponderEvent) => void) | null | undefined;
24
24
  /**
@@ -23,8 +23,9 @@ export interface InterfaceListItemProps extends ViewProps, IListItemPressablePas
23
23
  */
24
24
  crossAlign?: ListItemCrossAlign;
25
25
  /**
26
- * Merge interaction props onto a single child instead of rendering the default pressable root.
27
- * Intended for use with `onPress`.
26
+ * Merge props onto a single child (for example `Link`) instead of rendering `View` or `Pressable`.
27
+ * The child's `onPress` is kept unless this component also passes `onPress`.
28
+ * `isDisabled` suppresses press on the child.
28
29
  */
29
30
  asChild?: boolean;
30
31
  }
@@ -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;AAE9D,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;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
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;AAE9D,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;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
@@ -3,9 +3,20 @@ import { type View, type ViewStyle } from 'react-native';
3
3
  export declare function PortalProvider({ children }: Readonly<{
4
4
  children: React.ReactNode;
5
5
  }>): import("react/jsx-runtime").JSX.Element;
6
- export declare function PortalHost({ name }: {
6
+ export interface PortalHostProps {
7
+ /** Host name that `Portal` targets through `hostName`. @default the shared default host */
7
8
  name?: string;
8
- }): import("react/jsx-runtime").JSX.Element | null;
9
+ /**
10
+ * Web only. Element that receives the portal content instead of `document.body`.
11
+ *
12
+ * Use it to keep overlays inside an embedded surface, such as a device preview. Fixed
13
+ * overlays stay inside the container only when an ancestor of it creates a containing
14
+ * block for fixed descendants, for example through a `transform`. While `null`, such as
15
+ * before a callback ref attaches, the host renders nothing. Ignored on native.
16
+ */
17
+ container?: Element | null;
18
+ }
19
+ export declare function PortalHost({ name, container }: PortalHostProps): import("react/jsx-runtime").JSX.Element | null;
9
20
  export declare function Portal({ name, hostName, children, }: {
10
21
  name: string;
11
22
  hostName?: string;