@multiplatform.one/components 7.7.3 → 7.7.6
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/dist/cjs/Accordion/index.cjs +4 -0
- package/dist/cjs/Accordion/index.native.js +4 -0
- package/dist/cjs/Accordion/index.native.js.map +1 -1
- package/dist/cjs/AnimateHeight/index.cjs +29 -2
- package/dist/cjs/AnimateHeight/index.native.js +30 -2
- package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
- package/dist/cjs/Collapsible.cjs +48 -0
- package/dist/cjs/Collapsible.native.js +56 -0
- package/dist/cjs/Collapsible.native.js.map +1 -0
- package/dist/cjs/Pagination.cjs +28 -9
- package/dist/cjs/Pagination.native.js +28 -9
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.native.js +49 -25
- package/dist/cjs/SheetModal/index.native.js.map +1 -1
- package/dist/cjs/Tabs/index.cjs +144 -91
- package/dist/cjs/Tabs/index.native.js +186 -123
- package/dist/cjs/Tabs/index.native.js.map +1 -1
- package/dist/cjs/knobImmuneExports.cjs +0 -1
- package/dist/cjs/knobImmuneExports.native.js +0 -1
- package/dist/cjs/knobImmuneExports.native.js.map +1 -1
- package/dist/cjs/tamagui.cjs +3 -2
- package/dist/cjs/tamagui.native.js +2 -1
- package/dist/cjs/tamagui.native.js.map +1 -1
- package/dist/esm/Accordion/index.mjs +4 -0
- package/dist/esm/Accordion/index.mjs.map +1 -1
- package/dist/esm/Accordion/index.native.js +4 -0
- package/dist/esm/Accordion/index.native.js.map +1 -1
- package/dist/esm/AnimateHeight/index.mjs +29 -2
- package/dist/esm/AnimateHeight/index.mjs.map +1 -1
- package/dist/esm/AnimateHeight/index.native.js +30 -2
- package/dist/esm/AnimateHeight/index.native.js.map +1 -1
- package/dist/esm/Collapsible.mjs +23 -0
- package/dist/esm/Collapsible.mjs.map +1 -0
- package/dist/esm/Collapsible.native.js +28 -0
- package/dist/esm/Collapsible.native.js.map +1 -0
- package/dist/esm/Pagination.mjs +28 -9
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +28 -9
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/SheetModal/index.native.js +49 -25
- package/dist/esm/SheetModal/index.native.js.map +1 -1
- package/dist/esm/Tabs/index.mjs +144 -91
- package/dist/esm/Tabs/index.mjs.map +1 -1
- package/dist/esm/Tabs/index.native.js +186 -123
- package/dist/esm/Tabs/index.native.js.map +1 -1
- package/dist/esm/knobImmuneExports.mjs +0 -1
- package/dist/esm/knobImmuneExports.mjs.map +1 -1
- package/dist/esm/knobImmuneExports.native.js +0 -1
- package/dist/esm/knobImmuneExports.native.js.map +1 -1
- package/dist/esm/tamagui.mjs +2 -1
- package/dist/esm/tamagui.mjs.map +1 -1
- package/dist/esm/tamagui.native.js +2 -1
- package/dist/esm/tamagui.native.js.map +1 -1
- package/dist/jsx/Accordion/index.mjs +4 -0
- package/dist/jsx/Accordion/index.mjs.map +1 -1
- package/dist/jsx/Accordion/index.native.js +4 -0
- package/dist/jsx/Accordion/index.native.js.map +1 -1
- package/dist/jsx/AnimateHeight/index.mjs +29 -2
- package/dist/jsx/AnimateHeight/index.mjs.map +1 -1
- package/dist/jsx/AnimateHeight/index.native.js +30 -2
- package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
- package/dist/jsx/Collapsible.mjs +23 -0
- package/dist/jsx/Collapsible.mjs.map +1 -0
- package/dist/jsx/Collapsible.native.js +56 -0
- package/dist/jsx/Collapsible.native.js.map +1 -0
- package/dist/jsx/Pagination.mjs +28 -9
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +28 -9
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/SheetModal/index.native.js +49 -25
- package/dist/jsx/SheetModal/index.native.js.map +1 -1
- package/dist/jsx/Tabs/index.mjs +144 -91
- package/dist/jsx/Tabs/index.mjs.map +1 -1
- package/dist/jsx/Tabs/index.native.js +186 -123
- package/dist/jsx/Tabs/index.native.js.map +1 -1
- package/dist/jsx/knobImmuneExports.mjs +0 -1
- package/dist/jsx/knobImmuneExports.mjs.map +1 -1
- package/dist/jsx/knobImmuneExports.native.js +0 -1
- package/dist/jsx/knobImmuneExports.native.js.map +1 -1
- package/dist/jsx/tamagui.mjs +2 -1
- package/dist/jsx/tamagui.mjs.map +1 -1
- package/dist/jsx/tamagui.native.js +2 -1
- package/dist/jsx/tamagui.native.js.map +1 -1
- package/package.json +9 -9
- package/src/Accordion/index.tsx +7 -1
- package/src/AnimateHeight/AnimateHeight.native.spec.tsx +51 -0
- package/src/AnimateHeight/index.tsx +30 -5
- package/src/Collapsible.tsx +23 -0
- package/src/Pagination.simple.spec.tsx +23 -0
- package/src/Pagination.stories.tsx +8 -0
- package/src/Pagination.tsx +27 -10
- package/src/SheetModal/SheetModal.native.spec.tsx +138 -0
- package/src/SheetModal/index.native.tsx +59 -26
- package/src/Tabs/Tabs.bandColor.spec.tsx +23 -0
- package/src/Tabs/Tabs.native.spec.tsx +35 -0
- package/src/Tabs/Tabs.spec.tsx +51 -1
- package/src/Tabs/Tabs.stories.tsx +27 -1
- package/src/Tabs/index.tsx +266 -187
- package/src/disclosureForm.spec.tsx +57 -0
- package/src/disclosureNativeProps.spec.tsx +35 -0
- package/src/knobImmuneExports.ts +0 -2
- package/src/primitives.spec.tsx +19 -4
- package/src/tamagui.ts +3 -1
- package/types/Accordion/index.d.ts +2 -0
- package/types/Accordion/index.d.ts.map +1 -1
- package/types/AnimateHeight/index.d.ts +3 -4
- package/types/AnimateHeight/index.d.ts.map +1 -1
- package/types/Collapsible.d.ts +19 -0
- package/types/Collapsible.d.ts.map +1 -0
- package/types/Pagination.d.ts +1 -1
- package/types/Pagination.d.ts.map +1 -1
- package/types/SheetModal/index.native.d.ts.map +1 -1
- package/types/Tabs/index.d.ts +7 -3
- package/types/Tabs/index.d.ts.map +1 -1
- package/types/knobImmuneExports.d.ts.map +1 -1
- package/types/tamagui.d.ts +2 -1
- package/types/tamagui.d.ts.map +1 -1
|
@@ -70,18 +70,6 @@ function SheetModal(param) {
|
|
|
70
70
|
var handleBackdropPress = (0, import_react.useCallback)(function () {
|
|
71
71
|
if (backdropArmed) close();
|
|
72
72
|
}, [backdropArmed, close]);
|
|
73
|
-
(0, import_react.useEffect)(function () {
|
|
74
|
-
if (!open) {
|
|
75
|
-
setBackdropArmed(false);
|
|
76
|
-
if (armTimerRef.current) {
|
|
77
|
-
clearTimeout(armTimerRef.current);
|
|
78
|
-
armTimerRef.current = null;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return function () {
|
|
82
|
-
if (armTimerRef.current) clearTimeout(armTimerRef.current);
|
|
83
|
-
};
|
|
84
|
-
}, [open]);
|
|
85
73
|
var available = Math.max(0, windowHeight - keyboardInset);
|
|
86
74
|
var maxHeight = Math.max(import_detents.minSheetHeight, Math.round(Math.min(windowHeight * sheetMaxHeightRatio, available - backdropStrip)));
|
|
87
75
|
var [measuredHeight, setMeasuredHeight] = (0, import_react.useState)(0);
|
|
@@ -99,11 +87,8 @@ function SheetModal(param) {
|
|
|
99
87
|
var detentsRef = (0, import_react.useRef)(detents);
|
|
100
88
|
travelRef.current = travel;
|
|
101
89
|
detentsRef.current = detents;
|
|
102
|
-
(0, import_react.
|
|
103
|
-
|
|
104
|
-
translateY.setValue(travelRef.current);
|
|
105
|
-
restRef.current = travelRef.current;
|
|
106
|
-
}, [open, translateY]);
|
|
90
|
+
var presentationRef = (0, import_react.useRef)(0);
|
|
91
|
+
var activeRef = (0, import_react.useRef)(false);
|
|
107
92
|
var settleTo = (0, import_react.useCallback)(function (toValue) {
|
|
108
93
|
var velocity = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
109
94
|
restRef.current = toValue;
|
|
@@ -114,11 +99,16 @@ function SheetModal(param) {
|
|
|
114
99
|
stiffness: 320,
|
|
115
100
|
mass: 0.9,
|
|
116
101
|
overshootClamping: true,
|
|
117
|
-
|
|
102
|
+
// MPO-256: JS driver. A native-driven Animated node inside a core RN
|
|
103
|
+
// Modal does not advance on the New Architecture, and the drag path
|
|
104
|
+
// already writes this value from JS.
|
|
105
|
+
useNativeDriver: false
|
|
118
106
|
}).start();
|
|
119
107
|
}, [translateY]);
|
|
120
108
|
var dismiss = (0, import_react.useCallback)(function () {
|
|
121
109
|
var velocity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
|
|
110
|
+
if (!activeRef.current) return;
|
|
111
|
+
var presentation = presentationRef.current;
|
|
122
112
|
restRef.current = travelRef.current;
|
|
123
113
|
import_react_native.Animated.spring(translateY, {
|
|
124
114
|
toValue: travelRef.current,
|
|
@@ -127,12 +117,12 @@ function SheetModal(param) {
|
|
|
127
117
|
stiffness: 400,
|
|
128
118
|
mass: 0.9,
|
|
129
119
|
overshootClamping: true,
|
|
130
|
-
useNativeDriver:
|
|
120
|
+
useNativeDriver: false
|
|
131
121
|
}).start(function (param2) {
|
|
132
122
|
var {
|
|
133
123
|
finished
|
|
134
124
|
} = param2;
|
|
135
|
-
if (finished) close();
|
|
125
|
+
if (finished && activeRef.current && presentation === presentationRef.current) close();
|
|
136
126
|
});
|
|
137
127
|
}, [close, translateY]);
|
|
138
128
|
var panResponder = (0, import_react.useMemo)(function () {
|
|
@@ -197,10 +187,17 @@ function SheetModal(param) {
|
|
|
197
187
|
}
|
|
198
188
|
});
|
|
199
189
|
}, [dismiss, settleTo, translateY]);
|
|
200
|
-
var
|
|
190
|
+
var enteredRef = (0, import_react.useRef)(false);
|
|
191
|
+
var enter = (0, import_react.useCallback)(function () {
|
|
192
|
+
if (!activeRef.current || enteredRef.current) return;
|
|
193
|
+
var presentation = presentationRef.current;
|
|
194
|
+
enteredRef.current = true;
|
|
201
195
|
if (armTimerRef.current) clearTimeout(armTimerRef.current);
|
|
202
196
|
armTimerRef.current = setTimeout(function () {
|
|
203
|
-
|
|
197
|
+
if (activeRef.current && presentation === presentationRef.current) {
|
|
198
|
+
armTimerRef.current = null;
|
|
199
|
+
setBackdropArmed(true);
|
|
200
|
+
}
|
|
204
201
|
}, 280);
|
|
205
202
|
translateY.setValue(travelRef.current);
|
|
206
203
|
restRef.current = 0;
|
|
@@ -208,16 +205,43 @@ function SheetModal(param) {
|
|
|
208
205
|
toValue: 0,
|
|
209
206
|
duration: 280,
|
|
210
207
|
easing: import_react_native.Easing.out(import_react_native.Easing.cubic),
|
|
211
|
-
useNativeDriver:
|
|
212
|
-
}).start()
|
|
208
|
+
useNativeDriver: false
|
|
209
|
+
}).start(function (param2) {
|
|
210
|
+
var {
|
|
211
|
+
finished
|
|
212
|
+
} = param2;
|
|
213
|
+
if (finished && activeRef.current && presentation === presentationRef.current) translateY.setValue(0);
|
|
214
|
+
});
|
|
213
215
|
}, [translateY]);
|
|
216
|
+
(0, import_react.useEffect)(function () {
|
|
217
|
+
presentationRef.current += 1;
|
|
218
|
+
activeRef.current = open;
|
|
219
|
+
if (open) {
|
|
220
|
+
enter();
|
|
221
|
+
} else {
|
|
222
|
+
setBackdropArmed(false);
|
|
223
|
+
var parked = travelRef.current || 1e4;
|
|
224
|
+
translateY.setValue(parked);
|
|
225
|
+
restRef.current = parked;
|
|
226
|
+
}
|
|
227
|
+
return function () {
|
|
228
|
+
activeRef.current = false;
|
|
229
|
+
presentationRef.current += 1;
|
|
230
|
+
enteredRef.current = false;
|
|
231
|
+
if (armTimerRef.current) {
|
|
232
|
+
clearTimeout(armTimerRef.current);
|
|
233
|
+
armTimerRef.current = null;
|
|
234
|
+
}
|
|
235
|
+
translateY.stopAnimation();
|
|
236
|
+
};
|
|
237
|
+
}, [open, enter, translateY]);
|
|
214
238
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Modal, {
|
|
215
239
|
visible: open,
|
|
216
240
|
transparent: true,
|
|
217
241
|
animationType: "fade",
|
|
218
242
|
statusBarTranslucent: true,
|
|
219
243
|
onRequestClose: close,
|
|
220
|
-
onShow:
|
|
244
|
+
onShow: enter,
|
|
221
245
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react_native.View, {
|
|
222
246
|
style: {
|
|
223
247
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["index_native_exports","__export","SheetModal","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","import_react_native","import_theme","import_detents","import_i18n","import_useKeyboardInset","import_tamagui","import_surfaces","sheetMaxHeightRatio","bottomInset","Platform","OS","backdropStrip","dismissThreshold","IN_DIALOG_REGION","inDialogRegion","param","open","onOpenChange","children","header","snapPoint","scrollable","t","useTranslation","knobProps","useResolvedKnobs","height","windowHeight","useWindowDimensions","keyboardInset","useKeyboardInset","backdropArmed","setBackdropArmed","useState","armTimerRef","useRef","close","useCallback","handleBackdropPress","useEffect","current","clearTimeout","available","Math","max","maxHeight","minSheetHeight","round","min","measuredHeight","setMeasuredHeight","travel","detents","useMemo","resolveSheetDetents","translateY","Animated","Value","restRef","travelRef","detentsRef","setValue","settleTo","toValue","velocity","arguments","length","spring","damping","stiffness","mass","overshootClamping","useNativeDriver","start","dismiss","param2","finished","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_evt","g","abs","dy","onPanResponderGrant","stopAnimation","value","Number","isFinite","onPanResponderMove","next","onPanResponderRelease","points","tvl","projected","vy","smallestRest","best","bestDelta","POSITIVE_INFINITY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","delta","err","return","onPanResponderTerminate","handleModalShow","setTimeout","timing","duration","easing","Easing","out","cubic","jsx","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","onShow","jsxs","View","style","flex","justifyContent","paddingBottom","Pressable","StyleSheet","absoluteFill","onPress","accessibilityRole","accessibilityLabel","backgroundColor","onLayout","e","h","nativeEvent","layout","flexShrink","minHeight","transform","YStack","surface","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","elevation","paddingTop","overflow","outlineWidth","focusStyle","focusVisibleStyle","accessibilityViewIsModal","onAccessibilityEscape","panHandlers","alignSelf","alignItems","width","opacity","accessible","DialogRegionContext","Provider","padding","panelPadding","gap","ScrollView","flexGrow","keyboardShouldPersistTaps"],"sources":["../../../src/SheetModal/index.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["index_native_exports","__export","SheetModal","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","import_react_native","import_theme","import_detents","import_i18n","import_useKeyboardInset","import_tamagui","import_surfaces","sheetMaxHeightRatio","bottomInset","Platform","OS","backdropStrip","dismissThreshold","IN_DIALOG_REGION","inDialogRegion","param","open","onOpenChange","children","header","snapPoint","scrollable","t","useTranslation","knobProps","useResolvedKnobs","height","windowHeight","useWindowDimensions","keyboardInset","useKeyboardInset","backdropArmed","setBackdropArmed","useState","armTimerRef","useRef","close","useCallback","handleBackdropPress","available","Math","max","maxHeight","minSheetHeight","round","min","measuredHeight","setMeasuredHeight","travel","detents","useMemo","resolveSheetDetents","translateY","Animated","Value","current","restRef","travelRef","detentsRef","presentationRef","activeRef","settleTo","toValue","velocity","arguments","length","spring","damping","stiffness","mass","overshootClamping","useNativeDriver","start","dismiss","presentation","param2","finished","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_evt","g","abs","dy","onPanResponderGrant","stopAnimation","value","Number","isFinite","onPanResponderMove","next","setValue","onPanResponderRelease","points","tvl","projected","vy","smallestRest","best","bestDelta","POSITIVE_INFINITY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","delta","err","return","onPanResponderTerminate","enteredRef","enter","clearTimeout","setTimeout","timing","duration","easing","Easing","out","cubic","useEffect","parked","jsx","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","onShow","jsxs","View","style","flex","justifyContent","paddingBottom","Pressable","StyleSheet","absoluteFill","onPress","accessibilityRole","accessibilityLabel","backgroundColor","onLayout","e","h","nativeEvent","layout","flexShrink","minHeight","transform","YStack","surface","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","elevation","paddingTop","overflow","outlineWidth","focusStyle","focusVisibleStyle","accessibilityViewIsModal","onAccessibilityEscape","panHandlers","alignSelf","alignItems","width","opacity","accessible","DialogRegionContext","Provider","padding","panelPadding","gap","ScrollView","flexGrow","keyboardShouldPersistTaps"],"sources":["../../../src/SheetModal/index.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/Tabs/index.cjs
CHANGED
|
@@ -88,7 +88,8 @@ const fillProps = {
|
|
|
88
88
|
};
|
|
89
89
|
const StripWrapper = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
90
90
|
name: "MpTabsStrip",
|
|
91
|
-
|
|
91
|
+
alignSelf: "stretch",
|
|
92
|
+
minWidth: 0,
|
|
92
93
|
position: "relative"
|
|
93
94
|
});
|
|
94
95
|
const TabsList = (0, import_tamagui.styled)(import_tamagui.Tabs.List, {
|
|
@@ -162,6 +163,7 @@ function TabsRoot({
|
|
|
162
163
|
defaultValue,
|
|
163
164
|
onChange,
|
|
164
165
|
variant = "underline",
|
|
166
|
+
distribution = "content",
|
|
165
167
|
accent,
|
|
166
168
|
error,
|
|
167
169
|
warning,
|
|
@@ -252,6 +254,20 @@ function TabsRoot({
|
|
|
252
254
|
}
|
|
253
255
|
}, [activeLayout, direction]);
|
|
254
256
|
const isUnderline = variant === "underline";
|
|
257
|
+
const isBand = variant === "band";
|
|
258
|
+
const equalDistribution = isBand || distribution === "equal";
|
|
259
|
+
const tabRefs = import_react.default.useRef(/* @__PURE__ */new Map());
|
|
260
|
+
const onTabKeyDown = (event, value2) => {
|
|
261
|
+
if (!["Home", "End", "ArrowLeft", "ArrowRight"].includes(event.key)) return;
|
|
262
|
+
const enabled = items.filter(item => !disabled && !item.disabled);
|
|
263
|
+
if (!enabled.length) return;
|
|
264
|
+
const current = enabled.findIndex(item => item.value === value2);
|
|
265
|
+
const step = (event.key === "ArrowRight" ? 1 : -1) * (direction === "rtl" ? -1 : 1);
|
|
266
|
+
const next = event.key === "Home" ? 0 : event.key === "End" ? enabled.length - 1 : loop ? (current + step + enabled.length) % enabled.length : Math.max(0, Math.min(enabled.length - 1, current + step));
|
|
267
|
+
event.preventDefault();
|
|
268
|
+
event.stopPropagation();
|
|
269
|
+
tabRefs.current.get(enabled[next].value)?.focus();
|
|
270
|
+
};
|
|
255
271
|
const indicatorTheme = intent ?? "accent";
|
|
256
272
|
const visualSizeToken = size ?? knobProps.sizeToken;
|
|
257
273
|
const sizePx = knobProps.control.height;
|
|
@@ -273,7 +289,7 @@ function TabsRoot({
|
|
|
273
289
|
WebkitMaskImage: mask
|
|
274
290
|
};
|
|
275
291
|
})() : void 0;
|
|
276
|
-
const indicator = activeLayout ? isUnderline ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
|
|
292
|
+
const indicator = activeLayout && !isBand ? isUnderline ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
|
|
277
293
|
name: indicatorTheme,
|
|
278
294
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(UnderlineIndicator, {
|
|
279
295
|
x: activeLayout.x,
|
|
@@ -303,29 +319,152 @@ function TabsRoot({
|
|
|
303
319
|
}) : null;
|
|
304
320
|
if (items.length === 0) return null;
|
|
305
321
|
const tabListLabel = ariaLabel ?? t("Tabs");
|
|
322
|
+
const tabList = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(TabsList, {
|
|
323
|
+
loop,
|
|
324
|
+
"aria-label": tabListLabel,
|
|
325
|
+
"data-tabs-list": variant,
|
|
326
|
+
"data-size-token": visualSizeToken,
|
|
327
|
+
"data-density": knobProps.density,
|
|
328
|
+
"data-visual-px": sizePx,
|
|
329
|
+
...(!import_tamagui.isWeb ? {
|
|
330
|
+
role: "tablist"
|
|
331
|
+
} : void 0),
|
|
332
|
+
alignSelf: equalDistribution ? "stretch" : "flex-start",
|
|
333
|
+
minWidth: 0,
|
|
334
|
+
contained: !isUnderline && !isBand,
|
|
335
|
+
...(isUnderline || isBand ? {
|
|
336
|
+
gap: 0
|
|
337
|
+
} : {
|
|
338
|
+
backgroundColor: import_componentColors.componentColors.interactive.background,
|
|
339
|
+
gap: 0,
|
|
340
|
+
// Full fragment spread (AGENTS.md knob rule) so the
|
|
341
|
+
// cornerSmoothing class rides along with the radius.
|
|
342
|
+
...knobProps.borderRadiusNested
|
|
343
|
+
}),
|
|
344
|
+
children: [indicator, items.map((item, itemIndex) => {
|
|
345
|
+
const isActive = item.value === currentValue;
|
|
346
|
+
const isDisabled = disabled || item.disabled;
|
|
347
|
+
const position = (0, import_theme.getGroupPosition)(itemIndex, enabledCount);
|
|
348
|
+
const cornerProps = isUnderline ? underlineStackRadius(position, radiusToken) : (0, import_theme.stackRadiusProps)(position, outerRadiusToken, "horizontal");
|
|
349
|
+
const anchorValue = (focusValue !== null && items.some(i => i.value === focusValue && !(disabled || i.disabled)) ? focusValue : void 0) ?? (items.some(i => i.value === currentValue && !(disabled || i.disabled)) ? currentValue : items.find(i => !(disabled || i.disabled))?.value);
|
|
350
|
+
const isTabStop = item.value === anchorValue && itemIndex === items.findIndex(i => i.value === anchorValue);
|
|
351
|
+
const kbRing = kbFocusValue === item.value;
|
|
352
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Trigger, {
|
|
353
|
+
value: item.value,
|
|
354
|
+
ref: node => {
|
|
355
|
+
if (!import_tamagui.isWeb) return;
|
|
356
|
+
if (node) tabRefs.current.set(item.value, node);else tabRefs.current.delete(item.value);
|
|
357
|
+
},
|
|
358
|
+
flex: equalDistribution ? 1 : void 0,
|
|
359
|
+
minWidth: 0,
|
|
360
|
+
minHeight: isBand ? import_theme.MIN_PRESS_TARGET : void 0,
|
|
361
|
+
borderEndWidth: isBand && itemIndex < items.length - 1 ? 1 : 0,
|
|
362
|
+
borderColor: isBand ? import_componentColors.componentColors.surface.border : void 0,
|
|
363
|
+
disabled: isDisabled,
|
|
364
|
+
...(item.content === void 0 ? {
|
|
365
|
+
"aria-controls": void 0
|
|
366
|
+
} : void 0),
|
|
367
|
+
"data-tab-position": position,
|
|
368
|
+
"data-kb-ring": kbRing ? "true" : void 0,
|
|
369
|
+
...(import_tamagui.isWeb ? {
|
|
370
|
+
tabIndex: isDisabled ? -1 : isTabStop ? 0 : -1,
|
|
371
|
+
"aria-label": item.accessibilityLabel,
|
|
372
|
+
onKeyDownCapture: event => onTabKeyDown(event, item.value)
|
|
373
|
+
} : {
|
|
374
|
+
accessible: true,
|
|
375
|
+
role: "button",
|
|
376
|
+
accessibilityRole: "button",
|
|
377
|
+
accessibilityLabel: item.accessibilityLabel ?? (typeof item.label === "string" || typeof item.label === "number" ? String(item.label) : void 0),
|
|
378
|
+
accessibilityState: {
|
|
379
|
+
selected: isActive,
|
|
380
|
+
disabled: Boolean(isDisabled)
|
|
381
|
+
}
|
|
382
|
+
}),
|
|
383
|
+
hitSlop: tabHitSlop,
|
|
384
|
+
onInteraction: handleInteraction,
|
|
385
|
+
cursor: isDisabled ? "not-allowed" : "pointer",
|
|
386
|
+
backgroundColor: isBand && isActive ? import_componentColors.componentColors.surface.background : "transparent",
|
|
387
|
+
borderRadius: 0,
|
|
388
|
+
...(isDisabled ? isActive ? disabledState.chromeKnobProps : {
|
|
389
|
+
...disabledState.chromeKnobProps,
|
|
390
|
+
...disabledState.textKnobProps
|
|
391
|
+
} : void 0),
|
|
392
|
+
...(import_tamagui.isWeb ? {
|
|
393
|
+
onFocusCapture: () => {
|
|
394
|
+
setFocusValue(item.value);
|
|
395
|
+
if ((0, import_theme.wasKeyboardFocus)()) setKbFocusValue(item.value);
|
|
396
|
+
},
|
|
397
|
+
onBlurCapture: () => {
|
|
398
|
+
setFocusValue(prev => prev === item.value ? null : prev);
|
|
399
|
+
setKbFocusValue(prev => prev === item.value ? null : prev);
|
|
400
|
+
},
|
|
401
|
+
onPointerEnter: () => setHoverValue(item.value),
|
|
402
|
+
onPointerLeave: () => setHoverValue(prev => prev === item.value ? null : prev),
|
|
403
|
+
onPointerDown: () => setPressValue(item.value),
|
|
404
|
+
onPointerUp: () => setPressValue(prev => prev === item.value ? null : prev)
|
|
405
|
+
} : void 0),
|
|
406
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
|
|
407
|
+
...(isBand ? void 0 : cornerProps),
|
|
408
|
+
...knobProps.control,
|
|
409
|
+
paddingHorizontal: isBand ? 0 : knobProps.control.paddingHorizontal,
|
|
410
|
+
alignSelf: "stretch",
|
|
411
|
+
flexGrow: equalDistribution ? 1 : void 0,
|
|
412
|
+
flexShrink: equalDistribution ? 1 : void 0,
|
|
413
|
+
flexBasis: equalDistribution ? 0 : void 0,
|
|
414
|
+
minWidth: 0,
|
|
415
|
+
flexDirection: "row",
|
|
416
|
+
alignItems: "center",
|
|
417
|
+
justifyContent: "center",
|
|
418
|
+
backgroundColor: isActive || isDisabled ? "transparent" : pressValue === item.value ? import_componentColors.componentColors.interactive.hover : hoverValue === item.value ? import_componentColors.componentColors.interactive.background : "transparent",
|
|
419
|
+
...(kbRing ? import_theme.keyboardFocusRingProps : void 0),
|
|
420
|
+
children: [item.icon, /* @__PURE__ */(0, import_jsx_runtime.jsx)(TabLabel, {
|
|
421
|
+
minWidth: equalDistribution ? 0 : void 0,
|
|
422
|
+
flexShrink: equalDistribution ? 1 : void 0,
|
|
423
|
+
active: isActive,
|
|
424
|
+
...knobProps.controlType,
|
|
425
|
+
fontFamily: knobProps.label.fontFamily,
|
|
426
|
+
fontWeight: !isBand && isActive ? "700" : knobProps.label.fontWeight,
|
|
427
|
+
color: isDisabled ? import_componentColors.componentColors.text.muted : isActive ? variant === "contained" && onSelectedTint ? onSelectedTint : import_componentColors.componentColors.text.primary : import_componentColors.componentColors.text.secondary,
|
|
428
|
+
children: (0, import_textRidesText.wrapBareTextChildren)(item.label, label => label)
|
|
429
|
+
}), item.badge]
|
|
430
|
+
})
|
|
431
|
+
}, item.value);
|
|
432
|
+
})]
|
|
433
|
+
});
|
|
306
434
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Tabs, {
|
|
307
435
|
value: currentValue,
|
|
308
436
|
onValueChange: handleChange,
|
|
309
437
|
orientation: "horizontal",
|
|
310
438
|
activationMode,
|
|
311
|
-
width: "100%",
|
|
439
|
+
width: equalDistribution ? "100%" : void 0,
|
|
440
|
+
alignSelf: "stretch",
|
|
441
|
+
minWidth: 0,
|
|
312
442
|
flexDirection: "column",
|
|
313
443
|
...(fill ? fillProps : void 0),
|
|
314
444
|
"data-tabs-variant": variant,
|
|
445
|
+
"data-tabs-distribution": equalDistribution ? "equal" : "content",
|
|
315
446
|
"data-tabs-fill": fill ? "true" : void 0,
|
|
316
447
|
"data-tabs-dir": direction,
|
|
317
448
|
"data-size-token": visualSizeToken,
|
|
318
449
|
"data-density": knobProps.density,
|
|
319
450
|
"data-visual-px": sizePx,
|
|
320
451
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(StripWrapper, {
|
|
452
|
+
backgroundColor: isBand ? "$color2" : void 0,
|
|
453
|
+
borderBottomWidth: isBand ? 1 : void 0,
|
|
454
|
+
borderBottomColor: isBand ? import_componentColors.componentColors.surface.border : void 0,
|
|
321
455
|
...(isUnderline ? {
|
|
322
456
|
...import_theme.hairline.bottom,
|
|
323
457
|
borderColor: import_componentColors.componentColors.surface.border
|
|
324
458
|
} : void 0),
|
|
325
459
|
"data-fade-left": fades.left ? "true" : void 0,
|
|
326
460
|
"data-fade-right": fades.right ? "true" : void 0,
|
|
327
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.
|
|
461
|
+
children: equalDistribution ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
462
|
+
alignSelf: "stretch",
|
|
463
|
+
minWidth: 0,
|
|
464
|
+
children: tabList
|
|
465
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
|
|
328
466
|
ref: scrollRef,
|
|
467
|
+
"data-tabs-scroll": "true",
|
|
329
468
|
horizontal: true,
|
|
330
469
|
showsHorizontalScrollIndicator: false,
|
|
331
470
|
scrollEventThrottle: 16,
|
|
@@ -346,93 +485,7 @@ function TabsRoot({
|
|
|
346
485
|
scrollMetrics.current.content = w;
|
|
347
486
|
updateFades();
|
|
348
487
|
},
|
|
349
|
-
children:
|
|
350
|
-
loop,
|
|
351
|
-
"aria-label": tabListLabel,
|
|
352
|
-
"data-tabs-list": variant,
|
|
353
|
-
"data-size-token": visualSizeToken,
|
|
354
|
-
"data-density": knobProps.density,
|
|
355
|
-
"data-visual-px": sizePx,
|
|
356
|
-
...(!import_tamagui.isWeb ? {
|
|
357
|
-
role: "tablist"
|
|
358
|
-
} : void 0),
|
|
359
|
-
contained: !isUnderline,
|
|
360
|
-
...(isUnderline ? {
|
|
361
|
-
gap: 0
|
|
362
|
-
} : {
|
|
363
|
-
backgroundColor: import_componentColors.componentColors.interactive.background,
|
|
364
|
-
gap: 0,
|
|
365
|
-
// Full fragment spread (AGENTS.md knob rule) so the
|
|
366
|
-
// cornerSmoothing class rides along with the radius.
|
|
367
|
-
...knobProps.borderRadiusNested
|
|
368
|
-
}),
|
|
369
|
-
children: [indicator, items.map((item, itemIndex) => {
|
|
370
|
-
const isActive = item.value === currentValue;
|
|
371
|
-
const isDisabled = disabled || item.disabled;
|
|
372
|
-
const position = (0, import_theme.getGroupPosition)(itemIndex, enabledCount);
|
|
373
|
-
const cornerProps = isUnderline ? underlineStackRadius(position, radiusToken) : (0, import_theme.stackRadiusProps)(position, outerRadiusToken, "horizontal");
|
|
374
|
-
const anchorValue = (focusValue !== null && items.some(i => i.value === focusValue && !(disabled || i.disabled)) ? focusValue : void 0) ?? (items.some(i => i.value === currentValue) ? currentValue : items[0]?.value);
|
|
375
|
-
const isTabStop = item.value === anchorValue && itemIndex === items.findIndex(i => i.value === anchorValue);
|
|
376
|
-
const kbRing = kbFocusValue === item.value;
|
|
377
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Trigger, {
|
|
378
|
-
value: item.value,
|
|
379
|
-
disabled: isDisabled,
|
|
380
|
-
"data-tab-position": position,
|
|
381
|
-
"data-kb-ring": kbRing ? "true" : void 0,
|
|
382
|
-
...(import_tamagui.isWeb ? {
|
|
383
|
-
tabIndex: isDisabled ? -1 : isTabStop ? 0 : -1
|
|
384
|
-
} : {
|
|
385
|
-
accessible: true,
|
|
386
|
-
role: "tab",
|
|
387
|
-
"aria-selected": isActive,
|
|
388
|
-
...(isDisabled ? {
|
|
389
|
-
"aria-disabled": true
|
|
390
|
-
} : void 0)
|
|
391
|
-
}),
|
|
392
|
-
hitSlop: tabHitSlop,
|
|
393
|
-
onInteraction: handleInteraction,
|
|
394
|
-
cursor: isDisabled ? "not-allowed" : "pointer",
|
|
395
|
-
backgroundColor: "transparent",
|
|
396
|
-
borderRadius: 0,
|
|
397
|
-
...(isDisabled ? isActive ? disabledState.chromeKnobProps : {
|
|
398
|
-
...disabledState.chromeKnobProps,
|
|
399
|
-
...disabledState.textKnobProps
|
|
400
|
-
} : void 0),
|
|
401
|
-
...(import_tamagui.isWeb ? {
|
|
402
|
-
onFocusCapture: () => {
|
|
403
|
-
setFocusValue(item.value);
|
|
404
|
-
if ((0, import_theme.wasKeyboardFocus)()) setKbFocusValue(item.value);
|
|
405
|
-
},
|
|
406
|
-
onBlurCapture: () => {
|
|
407
|
-
setFocusValue(prev => prev === item.value ? null : prev);
|
|
408
|
-
setKbFocusValue(prev => prev === item.value ? null : prev);
|
|
409
|
-
},
|
|
410
|
-
onPointerEnter: () => setHoverValue(item.value),
|
|
411
|
-
onPointerLeave: () => setHoverValue(prev => prev === item.value ? null : prev),
|
|
412
|
-
onPointerDown: () => setPressValue(item.value),
|
|
413
|
-
onPointerUp: () => setPressValue(prev => prev === item.value ? null : prev)
|
|
414
|
-
} : void 0),
|
|
415
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
|
|
416
|
-
...cornerProps,
|
|
417
|
-
...knobProps.control,
|
|
418
|
-
width: "100%",
|
|
419
|
-
flexDirection: "row",
|
|
420
|
-
alignItems: "center",
|
|
421
|
-
justifyContent: "center",
|
|
422
|
-
backgroundColor: isActive || isDisabled ? "transparent" : pressValue === item.value ? import_componentColors.componentColors.interactive.hover : hoverValue === item.value ? import_componentColors.componentColors.interactive.background : "transparent",
|
|
423
|
-
...(kbRing ? import_theme.keyboardFocusRingProps : void 0),
|
|
424
|
-
children: [item.icon, /* @__PURE__ */(0, import_jsx_runtime.jsx)(TabLabel, {
|
|
425
|
-
active: isActive,
|
|
426
|
-
...knobProps.controlType,
|
|
427
|
-
fontFamily: knobProps.label.fontFamily,
|
|
428
|
-
fontWeight: isActive ? "700" : knobProps.label.fontWeight,
|
|
429
|
-
color: isDisabled ? import_componentColors.componentColors.text.muted : isActive ? !isUnderline && onSelectedTint ? onSelectedTint : import_componentColors.componentColors.text.primary : import_componentColors.componentColors.text.secondary,
|
|
430
|
-
children: (0, import_textRidesText.wrapBareTextChildren)(item.label, label => label)
|
|
431
|
-
}), item.badge]
|
|
432
|
-
})
|
|
433
|
-
}, item.value);
|
|
434
|
-
})]
|
|
435
|
-
})
|
|
488
|
+
children: tabList
|
|
436
489
|
})
|
|
437
490
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
438
491
|
"data-tabs-panels": "",
|