zkit-ui 2.0.10 → 2.0.12

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":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/services/ActionDialogService/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyC/B,OAAO,KAAK,EAIV,iBAAiB,EACjB,eAAe,EAGhB,MAAM,SAAS,CAAC;AAuoBjB,eAAO,MAAM,YAAY,sFAA+B,CAAC"}
1
+ {"version":3,"file":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/services/ActionDialogService/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyC/B,OAAO,KAAK,EAIV,iBAAiB,EACjB,eAAe,EAGhB,MAAM,SAAS,CAAC;AA8oBjB,eAAO,MAAM,YAAY,sFAA+B,CAAC"}
@@ -95,6 +95,9 @@ const BAR_ACTION_BUTTON_LAYOUT = {
95
95
  minHeight: BAR_FOOTER_HEIGHT,
96
96
  paddingVertical: 0,
97
97
  };
98
+ // tsc emits CommonJS namespace imports. Capturing that namespace in a worklet
99
+ // also captures the native Worklets module, which is not serializable.
100
+ const scheduleOnRNFromUI = react_native_worklets_1.scheduleOnRN;
98
101
  function getKeyboardTopInWindow(event) {
99
102
  var _a, _b;
100
103
  const windowHeight = react_native_1.Dimensions.get('window').height;
@@ -235,7 +238,7 @@ const ActionDialogRoot = React.forwardRef(function ActionDialog({ accessibilityL
235
238
  cardScale.value = (0, react_native_reanimated_1.withTiming)(motion === 'scale' ? CARD_EXIT_SCALE : 1, EXIT_CARD_TIMING);
236
239
  cardOpacity.value = (0, react_native_reanimated_1.withTiming)(0, EXIT_CARD_TIMING, (finished) => {
237
240
  if (finished) {
238
- (0, react_native_worklets_1.scheduleOnRN)(finishDismiss);
241
+ scheduleOnRNFromUI(finishDismiss);
239
242
  }
240
243
  });
241
244
  }, [actualOpen, backdropProgress, cardOpacity, cardScale, finishDismiss, motion]);
@@ -422,12 +425,16 @@ const ActionDialogRoot = React.forwardRef(function ActionDialog({ accessibilityL
422
425
  if (resolvedDismiss.backPress)
423
426
  dismissWithReason('back');
424
427
  }, pointerEvents: actualOpen ? 'auto' : 'none', style: [
425
- hostMode === 'inline' ? styles.inlineRoot : styles.modalRoot,
428
+ hostMode === 'inline' ? react_native_1.StyleSheet.absoluteFill : styles.modalRoot,
426
429
  {
427
430
  elevation: react_native_1.Platform.OS === 'android' ? (_b = layer === null || layer === void 0 ? void 0 : layer.zIndex) !== null && _b !== void 0 ? _b : shared_1.ACTION_DIALOG_DEFAULT_Z_INDEX : 0,
428
431
  zIndex: (_c = layer === null || layer === void 0 ? void 0 : layer.zIndex) !== null && _c !== void 0 ? _c : shared_1.ACTION_DIALOG_DEFAULT_Z_INDEX,
429
432
  },
430
- ], testID: testID, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessible: false, onPress: handleOverlayPress, style: react_native_1.StyleSheet.absoluteFill, children: (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [styles.backdrop, { backgroundColor: resolvedColors.backdrop }, overlayStyle] }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "box-none", style: [
433
+ ], testID: testID, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessible: false, onPress: handleOverlayPress, style: react_native_1.StyleSheet.absoluteFill, children: (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [
434
+ react_native_1.StyleSheet.absoluteFill,
435
+ { backgroundColor: resolvedColors.backdrop },
436
+ overlayStyle,
437
+ ] }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "box-none", style: [
431
438
  styles.center,
432
439
  {
433
440
  paddingBottom: Math.max(insets.bottom, (0, zkit_tools_1.wp)(16)),
@@ -475,12 +482,6 @@ const styles = react_native_1.StyleSheet.create({
475
482
  modalRoot: {
476
483
  flex: 1,
477
484
  },
478
- inlineRoot: {
479
- ...react_native_1.StyleSheet.absoluteFillObject,
480
- },
481
- backdrop: {
482
- ...react_native_1.StyleSheet.absoluteFillObject,
483
- },
484
485
  center: {
485
486
  alignItems: 'center',
486
487
  flex: 1,
@@ -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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"}
@@ -563,20 +563,25 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
563
563
  },
564
564
  focusRingAnimatedStyle,
565
565
  ] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
566
- react_native_1.StyleSheet.absoluteFillObject,
566
+ react_native_1.StyleSheet.absoluteFill,
567
567
  {
568
568
  borderRadius: trackRadius,
569
569
  backgroundColor: visualUncheckedTrackColor,
570
570
  },
571
571
  trackStyle,
572
572
  ] }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [
573
- react_native_1.StyleSheet.absoluteFillObject,
573
+ react_native_1.StyleSheet.absoluteFill,
574
574
  {
575
575
  borderRadius: trackRadius,
576
576
  backgroundColor: visualCheckedTrackColor,
577
577
  },
578
578
  checkedTrackAnimatedStyle,
579
- ] }), 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: [
579
+ ] }), hasStateText ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { pointerEvents: "none", style: [react_native_1.StyleSheet.absoluteFill, styles.stateTextLayer], children: [(0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
580
+ react_native_1.StyleSheet.absoluteFill,
581
+ styles.stateTextSlot,
582
+ checkedTextSlotStyle,
583
+ checkedTextAnimatedStyle,
584
+ ], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
580
585
  styles.stateText,
581
586
  {
582
587
  color: visualCheckedTextColor,
@@ -584,7 +589,12 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
584
589
  lineHeight: stateTextLineHeight,
585
590
  },
586
591
  stateTextStyle,
587
- ], children: (_d = stateText === null || stateText === void 0 ? void 0 : stateText.checked) !== null && _d !== void 0 ? _d : '' }) }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [styles.stateTextSlot, uncheckedTextSlotStyle, uncheckedTextAnimatedStyle], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
592
+ ], children: (_d = stateText === null || stateText === void 0 ? void 0 : stateText.checked) !== null && _d !== void 0 ? _d : '' }) }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
593
+ react_native_1.StyleSheet.absoluteFill,
594
+ styles.stateTextSlot,
595
+ uncheckedTextSlotStyle,
596
+ uncheckedTextAnimatedStyle,
597
+ ], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
588
598
  styles.stateText,
589
599
  {
590
600
  color: visualUncheckedTextColor,
@@ -647,12 +657,10 @@ const styles = react_native_1.StyleSheet.create({
647
657
  position: 'absolute',
648
658
  },
649
659
  stateTextLayer: {
650
- ...react_native_1.StyleSheet.absoluteFillObject,
651
660
  alignItems: 'center',
652
661
  justifyContent: 'center',
653
662
  },
654
663
  stateTextSlot: {
655
- ...react_native_1.StyleSheet.absoluteFillObject,
656
664
  alignItems: 'center',
657
665
  justifyContent: 'center',
658
666
  overflow: 'hidden',
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { type ColorValue, type StyleProp, type TextStyle } from 'react-native';
3
+ import type { WheelColumnOption } from './index';
4
+ export type AndroidVirtualizedWheelHandle = {
5
+ scrollToIndex: (index: number, animated?: boolean) => void;
6
+ settleToNearest: (animated?: boolean) => number;
7
+ };
8
+ type AndroidVirtualizedWheelProps = {
9
+ options: WheelColumnOption[];
10
+ selectedIndex: number;
11
+ canInteract: boolean;
12
+ itemHeight: number;
13
+ visibleItems: number;
14
+ itemTextColor: ColorValue;
15
+ selectedTextColor: ColorValue;
16
+ disabledTextColor: ColorValue;
17
+ itemTextStyle?: StyleProp<TextStyle>;
18
+ selectedItemTextStyle?: StyleProp<TextStyle>;
19
+ disabledItemTextStyle?: StyleProp<TextStyle>;
20
+ numberOfLines: number;
21
+ resolveSelectableIndex: (index: number, direction?: number) => number;
22
+ onSelectIndex: (index: number) => void;
23
+ };
24
+ export declare const AndroidVirtualizedWheel: React.ForwardRefExoticComponent<AndroidVirtualizedWheelProps & React.RefAttributes<AndroidVirtualizedWheelHandle>>;
25
+ export {};
26
+ //# sourceMappingURL=AndroidVirtualizedWheel.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AndroidVirtualizedWheel = void 0;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const React = __importStar(require("react"));
39
+ const flash_list_1 = require("@shopify/flash-list");
40
+ const react_native_1 = require("react-native");
41
+ const zkit_tools_1 = require("zkit-tools");
42
+ const DISABLED_MAINTAIN_VISIBLE_CONTENT_POSITION = { disabled: true };
43
+ function clampNumber(value, min, max) {
44
+ return Math.max(min, Math.min(max, value));
45
+ }
46
+ function optionKey(option, index) {
47
+ var _a, _b;
48
+ return `${String((_b = (_a = option.key) !== null && _a !== void 0 ? _a : option.value) !== null && _b !== void 0 ? _b : index)}-${index}`;
49
+ }
50
+ exports.AndroidVirtualizedWheel = React.forwardRef(function AndroidVirtualizedWheel({ options, selectedIndex, canInteract, itemHeight, visibleItems, itemTextColor, selectedTextColor, disabledTextColor, itemTextStyle, selectedItemTextStyle, disabledItemTextStyle, numberOfLines, resolveSelectableIndex, onSelectIndex, }, ref) {
51
+ const listRef = React.useRef(null);
52
+ const offsetRef = React.useRef(selectedIndex * itemHeight);
53
+ const selectedIndexRef = React.useRef(selectedIndex);
54
+ const userScrollingRef = React.useRef(false);
55
+ const momentumScrollingRef = React.useRef(false);
56
+ const settleFrameRef = React.useRef(null);
57
+ const maxIndex = Math.max(0, options.length - 1);
58
+ const maxOffset = maxIndex * itemHeight;
59
+ const centerOffset = itemHeight * Math.floor(visibleItems / 2);
60
+ selectedIndexRef.current = selectedIndex;
61
+ const cancelPendingSettle = React.useCallback(() => {
62
+ if (settleFrameRef.current == null)
63
+ return;
64
+ cancelAnimationFrame(settleFrameRef.current);
65
+ settleFrameRef.current = null;
66
+ }, []);
67
+ const scrollToIndex = React.useCallback((index, animated = false) => {
68
+ var _a;
69
+ const nextIndex = clampNumber(Math.round(index), 0, maxIndex);
70
+ const nextOffset = nextIndex * itemHeight;
71
+ cancelPendingSettle();
72
+ offsetRef.current = nextOffset;
73
+ (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToOffset({
74
+ offset: nextOffset,
75
+ animated,
76
+ skipFirstItemOffset: true,
77
+ });
78
+ }, [cancelPendingSettle, itemHeight, maxIndex]);
79
+ const settleToNearest = React.useCallback((animated = false) => {
80
+ const rawIndex = Math.round(clampNumber(offsetRef.current, 0, maxOffset) / itemHeight);
81
+ const nextIndex = resolveSelectableIndex(rawIndex, rawIndex - selectedIndexRef.current);
82
+ scrollToIndex(nextIndex, animated);
83
+ return nextIndex;
84
+ }, [itemHeight, maxOffset, resolveSelectableIndex, scrollToIndex]);
85
+ React.useImperativeHandle(ref, () => ({ scrollToIndex, settleToNearest }), [scrollToIndex, settleToNearest]);
86
+ React.useEffect(() => {
87
+ scrollToIndex(selectedIndex, false);
88
+ }, [options.length, scrollToIndex, selectedIndex]);
89
+ React.useEffect(() => cancelPendingSettle, [cancelPendingSettle]);
90
+ const finishUserScroll = React.useCallback((offset) => {
91
+ if (!userScrollingRef.current)
92
+ return;
93
+ userScrollingRef.current = false;
94
+ momentumScrollingRef.current = false;
95
+ offsetRef.current = clampNumber(offset, 0, maxOffset);
96
+ const rawIndex = Math.round(offsetRef.current / itemHeight);
97
+ const nextIndex = resolveSelectableIndex(rawIndex, rawIndex - selectedIndexRef.current);
98
+ scrollToIndex(nextIndex, nextIndex !== rawIndex);
99
+ onSelectIndex(nextIndex);
100
+ }, [itemHeight, maxOffset, onSelectIndex, resolveSelectableIndex, scrollToIndex]);
101
+ const handleScroll = React.useCallback((event) => {
102
+ offsetRef.current = clampNumber(event.nativeEvent.contentOffset.y, 0, maxOffset);
103
+ }, [maxOffset]);
104
+ const handleScrollBeginDrag = React.useCallback(() => {
105
+ cancelPendingSettle();
106
+ userScrollingRef.current = true;
107
+ momentumScrollingRef.current = false;
108
+ }, [cancelPendingSettle]);
109
+ const handleScrollEndDrag = React.useCallback((event) => {
110
+ const offset = event.nativeEvent.contentOffset.y;
111
+ offsetRef.current = clampNumber(offset, 0, maxOffset);
112
+ cancelPendingSettle();
113
+ settleFrameRef.current = requestAnimationFrame(() => {
114
+ settleFrameRef.current = null;
115
+ if (!momentumScrollingRef.current) {
116
+ finishUserScroll(offsetRef.current);
117
+ }
118
+ });
119
+ }, [cancelPendingSettle, finishUserScroll, maxOffset]);
120
+ const handleMomentumScrollBegin = React.useCallback(() => {
121
+ momentumScrollingRef.current = true;
122
+ cancelPendingSettle();
123
+ }, [cancelPendingSettle]);
124
+ const handleMomentumScrollEnd = React.useCallback((event) => {
125
+ finishUserScroll(event.nativeEvent.contentOffset.y);
126
+ }, [finishUserScroll]);
127
+ const contentContainerStyle = React.useMemo(() => ({ paddingVertical: centerOffset }), [centerOffset]);
128
+ const renderItem = React.useCallback(({ item, index }) => {
129
+ var _a;
130
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.itemContainer, { height: itemHeight }], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityLabel: (_a = item.accessibilityLabel) !== null && _a !== void 0 ? _a : item.label, maxFontSizeMultiplier: (0, zkit_tools_1.getMaxFontSizeMultiplier)(), numberOfLines: numberOfLines, style: [
131
+ styles.itemText,
132
+ { color: itemTextColor },
133
+ itemTextStyle,
134
+ index === selectedIndex && [styles.itemTextSelected, { color: selectedTextColor }, selectedItemTextStyle],
135
+ item.disabled && [styles.itemTextDisabled, { color: disabledTextColor }, disabledItemTextStyle],
136
+ ], testID: item.testID, children: item.label }) }));
137
+ }, [
138
+ disabledItemTextStyle,
139
+ disabledTextColor,
140
+ itemHeight,
141
+ itemTextColor,
142
+ itemTextStyle,
143
+ numberOfLines,
144
+ selectedIndex,
145
+ selectedItemTextStyle,
146
+ selectedTextColor,
147
+ ]);
148
+ const handleLoad = React.useCallback(() => {
149
+ scrollToIndex(selectedIndex, false);
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 }));
152
+ });
153
+ const styles = react_native_1.StyleSheet.create({
154
+ list: {
155
+ flex: 1,
156
+ width: '100%',
157
+ },
158
+ itemContainer: {
159
+ alignItems: 'center',
160
+ justifyContent: 'center',
161
+ paddingHorizontal: (0, zkit_tools_1.wp)(8),
162
+ },
163
+ itemText: {
164
+ fontSize: (0, zkit_tools_1.sp)(18),
165
+ fontWeight: '500',
166
+ textAlign: 'center',
167
+ },
168
+ itemTextSelected: {
169
+ opacity: 1,
170
+ },
171
+ itemTextDisabled: {
172
+ opacity: 0.62,
173
+ },
174
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/WheelColumn/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/WheelColumn/index.tsx"],"names":[],"mappings":"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"}