decord/source/design/components/SegmentedControl/native/SegmentedControlState.native.tsx

137 lines
5.3 KiB
TypeScript
Raw Normal View History

// Module ID: 9885
// Function ID: 9886
// Name: SegmentedControlState
// Dependencies: [19, 576, 4327, 4343, 4575, 5014, 2]
2026-07-20 16:05:17 +00:00
// Exports: useSegmentedControlState
// Module 9885 (SegmentedControlState)
import useIsScreenReaderEnabled from "useIsScreenReaderEnabled" /* 5014 */;
import noop from "module_19" /* 19 */;
2026-07-23 10:11:24 +00:00
require = fn;
2026-07-20 16:05:17 +00:00
let closure_4 = { code: "function SegmentedControlStateNativeTsx1(index,dimensions){const{itemDimensions,itemCount}=this.__closure;itemDimensions.get()[index]=dimensions;itemDimensions.set([...itemDimensions.get()].slice(0,itemCount));}" };
const size = fn(2);
let result = size.fileFinishedImporting("design/components/SegmentedControl/native/SegmentedControlState.native.tsx");
2026-07-20 16:05:17 +00:00
export const useSegmentedControlState = function useSegmentedControlState(pageWidth) {
let items = pageWidth.items;
pageWidth = pageWidth.pageWidth;
let num = pageWidth.defaultIndex;
2026-07-20 16:05:17 +00:00
if (num === undefined) {
num = 0;
}
let PX_24 = pageWidth.itemSpacing;
2026-07-20 16:05:17 +00:00
if (PX_24 === undefined) {
2026-07-23 10:11:24 +00:00
PX_24 = pageWidth(PX_24[1]).space.PX_24;
2026-07-20 16:05:17 +00:00
}
const onPageChange = pageWidth.onPageChange;
const onPageChangeStart = pageWidth.onPageChangeStart;
const onSetActiveIndex = pageWidth.onSetActiveIndex;
2026-07-20 16:05:17 +00:00
let callback1;
const enabled = onPageChange.useContext(items(PX_24[2]).AccessibilityPreferencesContext).reducedMotion.enabled;
const sharedValue = items(PX_24[3]).useSharedValue([]);
2026-07-23 10:11:24 +00:00
let obj = items(PX_24[3]);
const sharedValue1 = items(PX_24[3]).useSharedValue(-1);
let obj2 = items(PX_24[3]);
const sharedValue2 = items(PX_24[3]).useSharedValue(0);
2026-07-29 08:29:29 +00:00
let obj3 = items(PX_24[3]);
const sharedValue3 = items(PX_24[3]).useSharedValue(0);
let obj4 = items(PX_24[3]);
const sharedValue4 = items(PX_24[3]).useSharedValue(num);
2026-07-23 10:11:24 +00:00
const obj5 = items(PX_24[3]);
2026-07-20 16:05:17 +00:00
const items1 = [num, num];
const sharedValue5 = items(PX_24[3]).useSharedValue(items1);
2026-07-23 10:11:24 +00:00
const obj6 = items(PX_24[3]);
const animatedRef = items(PX_24[3]).useAnimatedRef();
2026-07-23 10:11:24 +00:00
const obj7 = items(PX_24[3]);
const sharedValue6 = items(PX_24[3]).useSharedValue(-1);
const onPageChangeRef = onPageChange.useRef(onPageChange);
2026-07-20 16:05:17 +00:00
const items2 = [onPageChange];
2026-07-23 10:11:24 +00:00
const layoutEffect = onPageChange.useLayoutEffect(() => {
2026-07-20 16:05:17 +00:00
closure_15.current = onPageChange;
}, items2);
const items3 = [sharedValue4, onPageChangeStart, pageWidth, sharedValue1, animatedRef, enabled, onSetActiveIndex];
const setActiveIndex = onPageChange.useCallback((arg0) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-29 08:29:29 +00:00
let flag = arg1;
2026-07-20 16:05:17 +00:00
if (arg1 === undefined) {
flag = true;
}
2026-07-29 08:29:29 +00:00
let flag2 = arg2;
if (arg2 === undefined) {
2026-07-20 16:05:17 +00:00
flag2 = false;
}
if (flag) {
flag = sharedValue4.get() !== arg0;
}
if (flag) {
let result = items(PX_24[4]).triggerHapticFeedback(items(PX_24[4]).HapticFeedbackTypes.IMPACT_MEDIUM);
2026-07-23 10:11:24 +00:00
let obj = items(PX_24[4]);
2026-07-20 16:05:17 +00:00
}
if (arg0 !== sharedValue4.get()) {
if (null != onPageChangeStart) {
2026-07-29 08:29:29 +00:00
tmp14(arg0, () => {
const result = sharedValue4.set(closure_0);
const result1 = closure_0 * pageWidth;
const result2 = sharedValue1.set(result1);
2026-07-29 08:29:29 +00:00
let tmp5 = !flag2;
if (!flag2) {
tmp5 = !enabled;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
tmp5 = !useIsScreenReaderEnabled.getIsScreenReaderEnabled();
2026-07-29 08:29:29 +00:00
}
if (animatedRef != null) {
const current = animatedRef.current;
2026-07-29 08:29:29 +00:00
if (current != null) {
const obj2 = { x: result1, animated: tmp5 };
current.scrollTo(obj2);
2026-07-29 08:29:29 +00:00
}
}
if (onSetActiveIndex != null) {
2026-07-29 08:29:29 +00:00
tmp10(closure_0);
}
2026-07-20 16:05:17 +00:00
});
} else {
2026-07-29 08:29:29 +00:00
let result1 = sharedValue4.set(arg0);
let result2 = arg0 * flag2;
const result3 = sharedValue1.set(result2);
let tmp8 = !flag2;
if (!flag2) {
tmp8 = !enabled;
}
if (tmp8) {
tmp8 = !items(PX_24[5]).getIsScreenReaderEnabled();
const obj3 = items(PX_24[5]);
}
if (animatedRef != null) {
let current = animatedRef.current;
if (current != null) {
const obj4 = { x: result2, animated: tmp8 };
current.scrollTo(obj4);
2026-07-29 08:29:29 +00:00
}
}
if (onSetActiveIndex != null) {
onSetActiveIndex(arg0);
}
2026-07-20 16:05:17 +00:00
}
}
}, items3);
const length = items.length;
2026-07-20 16:05:17 +00:00
class M {
constructor(arg0, arg1) {
closure_7.get()[pageWidth] = arg1;
2026-08-24 06:08:38 +00:00
items = [...closure_7.get()];
result = closure_7.set(items.slice(0, length));
2026-07-20 16:05:17 +00:00
return;
}
}
M.__closure = { itemDimensions: sharedValue, itemCount: length };
M.__workletHash = 9501406272062;
2026-07-23 10:11:24 +00:00
M.__initData = onPageChangeStart;
2026-07-20 16:05:17 +00:00
const items4 = [sharedValue, length];
2026-07-23 10:11:24 +00:00
callback1 = onPageChange.useCallback(M, items4);
const items5 = [sharedValue4, sharedValue5, animatedRef, sharedValue1, sharedValue2, sharedValue3, items, sharedValue, PX_24, pageWidth, sharedValue6, setActiveIndex, callback1, enabled];
return onPageChange.useMemo(() => ({ activeIndex: sharedValue4, visiblePageRange: sharedValue5, pagerRef: animatedRef, scrollTarget: sharedValue1, scrollOverflow: sharedValue2, scrollOffset: sharedValue3, items, itemDimensions: sharedValue, itemSpacing: PX_24, pageWidth, pressedIndex: sharedValue6, onPageChangeRef, setActiveIndex, setItemDimensions: callback1, useReducedMotion: enabled }), items5);
2026-07-20 16:05:17 +00:00
};