zkit-ui 2.0.19 → 2.0.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/index.tsx"],"names":[],"mappings":"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"}
@@ -459,6 +459,11 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
459
459
  const pressedOpacity = (0, react_native_reanimated_1.interpolate)(pressSv.value, [0, 1], [1, PRESSED_OPACITY]);
460
460
  return { opacity: pressedOpacity };
461
461
  });
462
+ const trackAnimatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => {
463
+ return {
464
+ backgroundColor: (0, react_native_reanimated_1.interpolateColor)(progressSv.value, [0, 1], [visualUncheckedTrackColor, visualCheckedTrackColor]),
465
+ };
466
+ }, [visualCheckedTrackColor, visualUncheckedTrackColor]);
462
467
  const focusRingAnimatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => {
463
468
  const opacity = (0, react_native_reanimated_1.interpolate)(focusSv.value, [0, 1], [0, 1]);
464
469
  const scale = (0, react_native_reanimated_1.interpolate)(focusSv.value, [0, 1], [0.96, 1]);
@@ -467,9 +472,6 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
467
472
  transform: [{ scale }],
468
473
  };
469
474
  });
470
- const checkedTrackAnimatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => {
471
- return { opacity: progressSv.value };
472
- });
473
475
  const thumbAnimatedStyle = (0, react_native_reanimated_1.useAnimatedStyle)(() => {
474
476
  if (!thumbColorChanges) {
475
477
  return {
@@ -562,20 +564,16 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
562
564
  borderColor: focusRingColor,
563
565
  },
564
566
  focusRingAnimatedStyle,
565
- ] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
566
- react_native_1.StyleSheet.absoluteFillObject,
567
- {
568
- borderRadius: trackRadius,
569
- backgroundColor: visualUncheckedTrackColor,
570
- },
571
- trackStyle,
572
567
  ] }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [
573
- react_native_1.StyleSheet.absoluteFillObject,
568
+ styles.track,
574
569
  {
570
+ width: trackWidth,
571
+ height: trackHeight,
575
572
  borderRadius: trackRadius,
576
- backgroundColor: visualCheckedTrackColor,
573
+ backgroundColor: checked ? visualCheckedTrackColor : visualUncheckedTrackColor,
577
574
  },
578
- checkedTrackAnimatedStyle,
575
+ trackAnimatedStyle,
576
+ trackStyle,
579
577
  ] }), hasStateText ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { pointerEvents: "none", style: styles.stateTextLayer, children: [(0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [styles.stateTextSlot, checkedTextSlotStyle, checkedTextAnimatedStyle], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
580
578
  styles.stateText,
581
579
  {
@@ -624,6 +622,8 @@ exports.Switch.displayName = 'Switch';
624
622
  const styles = react_native_1.StyleSheet.create({
625
623
  root: {
626
624
  alignSelf: 'flex-start',
625
+ maxWidth: '100%',
626
+ minWidth: 0,
627
627
  },
628
628
  content: {
629
629
  alignItems: 'center',
@@ -643,6 +643,11 @@ const styles = react_native_1.StyleSheet.create({
643
643
  flexShrink: 0,
644
644
  overflow: 'visible',
645
645
  },
646
+ track: {
647
+ left: 0,
648
+ position: 'absolute',
649
+ top: 0,
650
+ },
646
651
  focusRing: {
647
652
  position: 'absolute',
648
653
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AndroidVirtualizedWheel.d.ts","sourceRoot":"","sources":["../../../src/ui/WheelColumn/AndroidVirtualizedWheel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CACjD,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,UAAU,CAAC;IAC1B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACtE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAYF,eAAO,MAAM,uBAAuB,oHAgMnC,CAAC"}
1
+ {"version":3,"file":"AndroidVirtualizedWheel.d.ts","sourceRoot":"","sources":["../../../src/ui/WheelColumn/AndroidVirtualizedWheel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CACjD,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,UAAU,CAAC;IAC1B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACtE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAYF,eAAO,MAAM,uBAAuB,oHAiMnC,CAAC"}
@@ -148,7 +148,7 @@ exports.AndroidVirtualizedWheel = React.forwardRef(function AndroidVirtualizedWh
148
148
  const handleLoad = React.useCallback(() => {
149
149
  scrollToIndex(selectedIndex, false);
150
150
  }, [scrollToIndex, selectedIndex]);
151
- return ((0, jsx_runtime_1.jsx)(flash_list_1.FlashList, { ref: listRef, data: options, contentContainerStyle: contentContainerStyle, decelerationRate: "fast", drawDistance: itemHeight * (visibleItems + 2), extraData: selectedIndex, keyExtractor: optionKey, keyboardShouldPersistTaps: "handled", maintainVisibleContentPosition: DISABLED_MAINTAIN_VISIBLE_CONTENT_POSITION, nestedScrollEnabled: true, onMomentumScrollBegin: handleMomentumScrollBegin, onMomentumScrollEnd: handleMomentumScrollEnd, onLoad: handleLoad, onScroll: handleScroll, onScrollBeginDrag: handleScrollBeginDrag, onScrollEndDrag: handleScrollEndDrag, overScrollMode: "never", renderItem: renderItem, scrollEnabled: canInteract, scrollEventThrottle: 16, showsVerticalScrollIndicator: false, snapToAlignment: "start", snapToInterval: itemHeight, style: styles.list }));
151
+ return ((0, jsx_runtime_1.jsx)(flash_list_1.FlashList, { ref: listRef, data: options, contentContainerStyle: contentContainerStyle, decelerationRate: "fast", drawDistance: itemHeight * (visibleItems + 2), extraData: selectedIndex, initialScrollIndex: selectedIndex, keyExtractor: optionKey, keyboardShouldPersistTaps: "handled", maintainVisibleContentPosition: DISABLED_MAINTAIN_VISIBLE_CONTENT_POSITION, nestedScrollEnabled: true, onMomentumScrollBegin: handleMomentumScrollBegin, onMomentumScrollEnd: handleMomentumScrollEnd, onLoad: handleLoad, onScroll: handleScroll, onScrollBeginDrag: handleScrollBeginDrag, onScrollEndDrag: handleScrollEndDrag, overScrollMode: "never", renderItem: renderItem, scrollEnabled: canInteract, scrollEventThrottle: 16, showsVerticalScrollIndicator: false, snapToAlignment: "start", snapToInterval: itemHeight, style: styles.list }));
152
152
  });
153
153
  const styles = react_native_1.StyleSheet.create({
154
154
  list: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkit-ui",
3
- "version": "2.0.19",
3
+ "version": "2.0.21",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -724,6 +724,16 @@ function SwitchImpl(
724
724
  return { opacity: pressedOpacity };
725
725
  });
726
726
 
727
+ const trackAnimatedStyle = useAnimatedStyle(() => {
728
+ return {
729
+ backgroundColor: interpolateColor(
730
+ progressSv.value,
731
+ [0, 1],
732
+ [visualUncheckedTrackColor, visualCheckedTrackColor]
733
+ ),
734
+ };
735
+ }, [visualCheckedTrackColor, visualUncheckedTrackColor]);
736
+
727
737
  const focusRingAnimatedStyle = useAnimatedStyle(() => {
728
738
  const opacity = interpolate(focusSv.value, [0, 1], [0, 1]);
729
739
  const scale = interpolate(focusSv.value, [0, 1], [0.96, 1]);
@@ -733,10 +743,6 @@ function SwitchImpl(
733
743
  };
734
744
  });
735
745
 
736
- const checkedTrackAnimatedStyle = useAnimatedStyle(() => {
737
- return { opacity: progressSv.value };
738
- });
739
-
740
746
  const thumbAnimatedStyle = useAnimatedStyle(() => {
741
747
  if (!thumbColorChanges) {
742
748
  return {
@@ -895,25 +901,18 @@ function SwitchImpl(
895
901
  focusRingAnimatedStyle,
896
902
  ]}
897
903
  />
898
- <View
899
- style={[
900
- StyleSheet.absoluteFillObject,
901
- {
902
- borderRadius: trackRadius,
903
- backgroundColor: visualUncheckedTrackColor,
904
- },
905
- trackStyle,
906
- ]}
907
- />
908
904
  <Animated.View
909
905
  pointerEvents="none"
910
906
  style={[
911
- StyleSheet.absoluteFillObject,
907
+ styles.track,
912
908
  {
909
+ width: trackWidth,
910
+ height: trackHeight,
913
911
  borderRadius: trackRadius,
914
- backgroundColor: visualCheckedTrackColor,
912
+ backgroundColor: checked ? visualCheckedTrackColor : visualUncheckedTrackColor,
915
913
  },
916
- checkedTrackAnimatedStyle,
914
+ trackAnimatedStyle,
915
+ trackStyle,
917
916
  ]}
918
917
  />
919
918
 
@@ -1046,6 +1045,8 @@ Switch.displayName = 'Switch';
1046
1045
  const styles = StyleSheet.create({
1047
1046
  root: {
1048
1047
  alignSelf: 'flex-start',
1048
+ maxWidth: '100%',
1049
+ minWidth: 0,
1049
1050
  },
1050
1051
  content: {
1051
1052
  alignItems: 'center',
@@ -1065,6 +1066,11 @@ const styles = StyleSheet.create({
1065
1066
  flexShrink: 0,
1066
1067
  overflow: 'visible',
1067
1068
  },
1069
+ track: {
1070
+ left: 0,
1071
+ position: 'absolute',
1072
+ top: 0,
1073
+ },
1068
1074
  focusRing: {
1069
1075
  position: 'absolute',
1070
1076
  },
@@ -216,6 +216,7 @@ export const AndroidVirtualizedWheel = React.forwardRef<AndroidVirtualizedWheelH
216
216
  decelerationRate="fast"
217
217
  drawDistance={itemHeight * (visibleItems + 2)}
218
218
  extraData={selectedIndex}
219
+ initialScrollIndex={selectedIndex}
219
220
  keyExtractor={optionKey}
220
221
  keyboardShouldPersistTaps="handled"
221
222
  maintainVisibleContentPosition={DISABLED_MAINTAIN_VISIBLE_CONTENT_POSITION}