@masumdev/rn-ui 0.1.6 → 0.2.0
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/README.md +47 -1752
- package/lib/commonjs/components/Accordion.js +28 -13
- package/lib/commonjs/components/Accordion.js.map +1 -1
- package/lib/commonjs/components/Alert.js +229 -73
- package/lib/commonjs/components/Alert.js.map +1 -1
- package/lib/commonjs/components/AlertDialog.js +143 -87
- package/lib/commonjs/components/AlertDialog.js.map +1 -1
- package/lib/commonjs/components/AspectRatio.js.map +1 -1
- package/lib/commonjs/components/Avatar.js +31 -28
- package/lib/commonjs/components/Avatar.js.map +1 -1
- package/lib/commonjs/components/Badge.js +25 -9
- package/lib/commonjs/components/Badge.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +63 -8
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/Breadcrumb.js +31 -9
- package/lib/commonjs/components/Breadcrumb.js.map +1 -1
- package/lib/commonjs/components/Button.js +22 -6
- package/lib/commonjs/components/Button.js.map +1 -1
- package/lib/commonjs/components/ButtonGroup.js +2 -4
- package/lib/commonjs/components/ButtonGroup.js.map +1 -1
- package/lib/commonjs/components/Calendar.js +113 -31
- package/lib/commonjs/components/Calendar.js.map +1 -1
- package/lib/commonjs/components/Card.js +8 -3
- package/lib/commonjs/components/Card.js.map +1 -1
- package/lib/commonjs/components/Carousel.js +67 -21
- package/lib/commonjs/components/Carousel.js.map +1 -1
- package/lib/commonjs/components/Checkbox.js +12 -7
- package/lib/commonjs/components/Checkbox.js.map +1 -1
- package/lib/commonjs/components/Collapsible.js +47 -36
- package/lib/commonjs/components/Collapsible.js.map +1 -1
- package/lib/commonjs/components/Combobox.js +110 -48
- package/lib/commonjs/components/Combobox.js.map +1 -1
- package/lib/commonjs/components/Command.js +121 -77
- package/lib/commonjs/components/Command.js.map +1 -1
- package/lib/commonjs/components/DropdownMenu.js +78 -25
- package/lib/commonjs/components/DropdownMenu.js.map +1 -1
- package/lib/commonjs/components/Empty.js +24 -10
- package/lib/commonjs/components/Empty.js.map +1 -1
- package/lib/commonjs/components/FloatingActionButton.js.map +1 -1
- package/lib/commonjs/components/FormField.js +63 -13
- package/lib/commonjs/components/FormField.js.map +1 -1
- package/lib/commonjs/components/IconButton.js +22 -6
- package/lib/commonjs/components/IconButton.js.map +1 -1
- package/lib/commonjs/components/Input.js +11 -13
- package/lib/commonjs/components/Input.js.map +1 -1
- package/lib/commonjs/components/InputGroup.js +19 -10
- package/lib/commonjs/components/InputGroup.js.map +1 -1
- package/lib/commonjs/components/InputOTP.js +46 -15
- package/lib/commonjs/components/InputOTP.js.map +1 -1
- package/lib/commonjs/components/Popover.js +90 -23
- package/lib/commonjs/components/Popover.js.map +1 -1
- package/lib/commonjs/components/Progress.js +108 -7
- package/lib/commonjs/components/Progress.js.map +1 -1
- package/lib/commonjs/components/RadioGroup.js +109 -51
- package/lib/commonjs/components/RadioGroup.js.map +1 -1
- package/lib/commonjs/components/Rating.js +109 -95
- package/lib/commonjs/components/Rating.js.map +1 -1
- package/lib/commonjs/components/Select.js +109 -43
- package/lib/commonjs/components/Select.js.map +1 -1
- package/lib/commonjs/components/Sheet.js +217 -29
- package/lib/commonjs/components/Sheet.js.map +1 -1
- package/lib/commonjs/components/Stepper.js +119 -24
- package/lib/commonjs/components/Stepper.js.map +1 -1
- package/lib/commonjs/components/Switch.js +21 -11
- package/lib/commonjs/components/Switch.js.map +1 -1
- package/lib/commonjs/components/Tabs.js +159 -28
- package/lib/commonjs/components/Tabs.js.map +1 -1
- package/lib/commonjs/components/Timeline.js +35 -12
- package/lib/commonjs/components/Timeline.js.map +1 -1
- package/lib/commonjs/components/Toast.js +163 -38
- package/lib/commonjs/components/Toast.js.map +1 -1
- package/lib/commonjs/components/index.js +19 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/types.js +53 -0
- package/lib/commonjs/components/types.js.map +1 -1
- package/lib/commonjs/theme/tokens.js +7 -7
- package/lib/commonjs/theme/tokens.js.map +1 -1
- package/lib/commonjs/utils/haptics.js +42 -0
- package/lib/commonjs/utils/haptics.js.map +1 -0
- package/lib/commonjs/utils/index.js +7 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/components/Accordion.js +28 -13
- package/lib/module/components/Accordion.js.map +1 -1
- package/lib/module/components/Alert.js +229 -73
- package/lib/module/components/Alert.js.map +1 -1
- package/lib/module/components/AlertDialog.js +144 -88
- package/lib/module/components/AlertDialog.js.map +1 -1
- package/lib/module/components/AspectRatio.js.map +1 -1
- package/lib/module/components/Avatar.js +31 -28
- package/lib/module/components/Avatar.js.map +1 -1
- package/lib/module/components/Badge.js +25 -9
- package/lib/module/components/Badge.js.map +1 -1
- package/lib/module/components/BottomSheet.js +64 -4
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/Breadcrumb.js +31 -9
- package/lib/module/components/Breadcrumb.js.map +1 -1
- package/lib/module/components/Button.js +22 -6
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/ButtonGroup.js +3 -5
- package/lib/module/components/ButtonGroup.js.map +1 -1
- package/lib/module/components/Calendar.js +114 -32
- package/lib/module/components/Calendar.js.map +1 -1
- package/lib/module/components/Card.js +8 -3
- package/lib/module/components/Card.js.map +1 -1
- package/lib/module/components/Carousel.js +67 -21
- package/lib/module/components/Carousel.js.map +1 -1
- package/lib/module/components/Checkbox.js +12 -7
- package/lib/module/components/Checkbox.js.map +1 -1
- package/lib/module/components/Collapsible.js +49 -38
- package/lib/module/components/Collapsible.js.map +1 -1
- package/lib/module/components/Combobox.js +110 -48
- package/lib/module/components/Combobox.js.map +1 -1
- package/lib/module/components/Command.js +121 -77
- package/lib/module/components/Command.js.map +1 -1
- package/lib/module/components/DropdownMenu.js +79 -26
- package/lib/module/components/DropdownMenu.js.map +1 -1
- package/lib/module/components/Empty.js +24 -10
- package/lib/module/components/Empty.js.map +1 -1
- package/lib/module/components/FloatingActionButton.js.map +1 -1
- package/lib/module/components/FormField.js +63 -14
- package/lib/module/components/FormField.js.map +1 -1
- package/lib/module/components/IconButton.js +22 -6
- package/lib/module/components/IconButton.js.map +1 -1
- package/lib/module/components/Input.js +12 -14
- package/lib/module/components/Input.js.map +1 -1
- package/lib/module/components/InputGroup.js +19 -10
- package/lib/module/components/InputGroup.js.map +1 -1
- package/lib/module/components/InputOTP.js +46 -15
- package/lib/module/components/InputOTP.js.map +1 -1
- package/lib/module/components/Popover.js +90 -24
- package/lib/module/components/Popover.js.map +1 -1
- package/lib/module/components/Progress.js +109 -9
- package/lib/module/components/Progress.js.map +1 -1
- package/lib/module/components/RadioGroup.js +108 -51
- package/lib/module/components/RadioGroup.js.map +1 -1
- package/lib/module/components/Rating.js +109 -95
- package/lib/module/components/Rating.js.map +1 -1
- package/lib/module/components/Select.js +111 -45
- package/lib/module/components/Select.js.map +1 -1
- package/lib/module/components/Sheet.js +216 -24
- package/lib/module/components/Sheet.js.map +1 -1
- package/lib/module/components/Stepper.js +120 -25
- package/lib/module/components/Stepper.js.map +1 -1
- package/lib/module/components/Switch.js +21 -11
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/module/components/Tabs.js +158 -29
- package/lib/module/components/Tabs.js.map +1 -1
- package/lib/module/components/Timeline.js +35 -12
- package/lib/module/components/Timeline.js.map +1 -1
- package/lib/module/components/Toast.js +164 -38
- package/lib/module/components/Toast.js.map +1 -1
- package/lib/module/components/index.js +3 -2
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/types.js +53 -0
- package/lib/module/components/types.js.map +1 -1
- package/lib/module/theme/tokens.js +7 -7
- package/lib/module/theme/tokens.js.map +1 -1
- package/lib/module/utils/haptics.js +38 -0
- package/lib/module/utils/haptics.js.map +1 -0
- package/lib/module/utils/index.js +1 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/commonjs/components/Accordion.d.ts +6 -3
- package/lib/typescript/commonjs/components/Accordion.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Alert.d.ts +4 -4
- package/lib/typescript/commonjs/components/Alert.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/AlertDialog.d.ts +5 -4
- package/lib/typescript/commonjs/components/AlertDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/AspectRatio.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Avatar.d.ts +9 -4
- package/lib/typescript/commonjs/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Badge.d.ts +5 -8
- package/lib/typescript/commonjs/components/Badge.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/BottomSheet.d.ts +13 -4
- package/lib/typescript/commonjs/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Breadcrumb.d.ts +6 -5
- package/lib/typescript/commonjs/components/Breadcrumb.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Button.d.ts +6 -12
- package/lib/typescript/commonjs/components/Button.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/ButtonGroup.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Calendar.d.ts +9 -1
- package/lib/typescript/commonjs/components/Calendar.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Card.d.ts +3 -2
- package/lib/typescript/commonjs/components/Card.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Carousel.d.ts +4 -1
- package/lib/typescript/commonjs/components/Carousel.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Checkbox.d.ts +3 -3
- package/lib/typescript/commonjs/components/Checkbox.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Collapsible.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Combobox.d.ts +11 -6
- package/lib/typescript/commonjs/components/Combobox.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Command.d.ts +3 -0
- package/lib/typescript/commonjs/components/Command.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/DropdownMenu.d.ts +4 -2
- package/lib/typescript/commonjs/components/DropdownMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Empty.d.ts +7 -4
- package/lib/typescript/commonjs/components/Empty.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/FloatingActionButton.d.ts +2 -5
- package/lib/typescript/commonjs/components/FloatingActionButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/FormField.d.ts +12 -4
- package/lib/typescript/commonjs/components/FormField.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/IconButton.d.ts +4 -7
- package/lib/typescript/commonjs/components/IconButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Input.d.ts +2 -1
- package/lib/typescript/commonjs/components/Input.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/InputGroup.d.ts +3 -2
- package/lib/typescript/commonjs/components/InputGroup.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/InputOTP.d.ts +9 -4
- package/lib/typescript/commonjs/components/InputOTP.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Popover.d.ts +1 -1
- package/lib/typescript/commonjs/components/Popover.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Progress.d.ts +15 -2
- package/lib/typescript/commonjs/components/Progress.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/RadioGroup.d.ts +3 -2
- package/lib/typescript/commonjs/components/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Rating.d.ts +3 -23
- package/lib/typescript/commonjs/components/Rating.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Select.d.ts +5 -4
- package/lib/typescript/commonjs/components/Select.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Sheet.d.ts +25 -6
- package/lib/typescript/commonjs/components/Sheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Stepper.d.ts +5 -3
- package/lib/typescript/commonjs/components/Stepper.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Switch.d.ts +3 -3
- package/lib/typescript/commonjs/components/Switch.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Tabs.d.ts +21 -4
- package/lib/typescript/commonjs/components/Tabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Timeline.d.ts +9 -3
- package/lib/typescript/commonjs/components/Timeline.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Toast.d.ts +3 -0
- package/lib/typescript/commonjs/components/Toast.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/index.d.ts +7 -6
- package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/types.d.ts +110 -0
- package/lib/typescript/commonjs/components/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/haptics.d.ts +6 -0
- package/lib/typescript/commonjs/utils/haptics.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/index.d.ts +1 -0
- package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
- package/lib/typescript/module/components/Accordion.d.ts +6 -3
- package/lib/typescript/module/components/Accordion.d.ts.map +1 -1
- package/lib/typescript/module/components/Alert.d.ts +4 -4
- package/lib/typescript/module/components/Alert.d.ts.map +1 -1
- package/lib/typescript/module/components/AlertDialog.d.ts +5 -4
- package/lib/typescript/module/components/AlertDialog.d.ts.map +1 -1
- package/lib/typescript/module/components/AspectRatio.d.ts.map +1 -1
- package/lib/typescript/module/components/Avatar.d.ts +9 -4
- package/lib/typescript/module/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/components/Badge.d.ts +5 -8
- package/lib/typescript/module/components/Badge.d.ts.map +1 -1
- package/lib/typescript/module/components/BottomSheet.d.ts +13 -4
- package/lib/typescript/module/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/module/components/Breadcrumb.d.ts +6 -5
- package/lib/typescript/module/components/Breadcrumb.d.ts.map +1 -1
- package/lib/typescript/module/components/Button.d.ts +6 -12
- package/lib/typescript/module/components/Button.d.ts.map +1 -1
- package/lib/typescript/module/components/ButtonGroup.d.ts.map +1 -1
- package/lib/typescript/module/components/Calendar.d.ts +9 -1
- package/lib/typescript/module/components/Calendar.d.ts.map +1 -1
- package/lib/typescript/module/components/Card.d.ts +3 -2
- package/lib/typescript/module/components/Card.d.ts.map +1 -1
- package/lib/typescript/module/components/Carousel.d.ts +4 -1
- package/lib/typescript/module/components/Carousel.d.ts.map +1 -1
- package/lib/typescript/module/components/Checkbox.d.ts +3 -3
- package/lib/typescript/module/components/Checkbox.d.ts.map +1 -1
- package/lib/typescript/module/components/Collapsible.d.ts.map +1 -1
- package/lib/typescript/module/components/Combobox.d.ts +11 -6
- package/lib/typescript/module/components/Combobox.d.ts.map +1 -1
- package/lib/typescript/module/components/Command.d.ts +3 -0
- package/lib/typescript/module/components/Command.d.ts.map +1 -1
- package/lib/typescript/module/components/DropdownMenu.d.ts +4 -2
- package/lib/typescript/module/components/DropdownMenu.d.ts.map +1 -1
- package/lib/typescript/module/components/Empty.d.ts +7 -4
- package/lib/typescript/module/components/Empty.d.ts.map +1 -1
- package/lib/typescript/module/components/FloatingActionButton.d.ts +2 -5
- package/lib/typescript/module/components/FloatingActionButton.d.ts.map +1 -1
- package/lib/typescript/module/components/FormField.d.ts +12 -4
- package/lib/typescript/module/components/FormField.d.ts.map +1 -1
- package/lib/typescript/module/components/IconButton.d.ts +4 -7
- package/lib/typescript/module/components/IconButton.d.ts.map +1 -1
- package/lib/typescript/module/components/Input.d.ts +2 -1
- package/lib/typescript/module/components/Input.d.ts.map +1 -1
- package/lib/typescript/module/components/InputGroup.d.ts +3 -2
- package/lib/typescript/module/components/InputGroup.d.ts.map +1 -1
- package/lib/typescript/module/components/InputOTP.d.ts +9 -4
- package/lib/typescript/module/components/InputOTP.d.ts.map +1 -1
- package/lib/typescript/module/components/Popover.d.ts +1 -1
- package/lib/typescript/module/components/Popover.d.ts.map +1 -1
- package/lib/typescript/module/components/Progress.d.ts +15 -2
- package/lib/typescript/module/components/Progress.d.ts.map +1 -1
- package/lib/typescript/module/components/RadioGroup.d.ts +3 -2
- package/lib/typescript/module/components/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/module/components/Rating.d.ts +3 -23
- package/lib/typescript/module/components/Rating.d.ts.map +1 -1
- package/lib/typescript/module/components/Select.d.ts +5 -4
- package/lib/typescript/module/components/Select.d.ts.map +1 -1
- package/lib/typescript/module/components/Sheet.d.ts +25 -6
- package/lib/typescript/module/components/Sheet.d.ts.map +1 -1
- package/lib/typescript/module/components/Stepper.d.ts +5 -3
- package/lib/typescript/module/components/Stepper.d.ts.map +1 -1
- package/lib/typescript/module/components/Switch.d.ts +3 -3
- package/lib/typescript/module/components/Switch.d.ts.map +1 -1
- package/lib/typescript/module/components/Tabs.d.ts +21 -4
- package/lib/typescript/module/components/Tabs.d.ts.map +1 -1
- package/lib/typescript/module/components/Timeline.d.ts +9 -3
- package/lib/typescript/module/components/Timeline.d.ts.map +1 -1
- package/lib/typescript/module/components/Toast.d.ts +3 -0
- package/lib/typescript/module/components/Toast.d.ts.map +1 -1
- package/lib/typescript/module/components/index.d.ts +7 -6
- package/lib/typescript/module/components/index.d.ts.map +1 -1
- package/lib/typescript/module/components/types.d.ts +110 -0
- package/lib/typescript/module/components/types.d.ts.map +1 -1
- package/lib/typescript/module/utils/haptics.d.ts +6 -0
- package/lib/typescript/module/utils/haptics.d.ts.map +1 -0
- package/lib/typescript/module/utils/index.d.ts +1 -0
- package/lib/typescript/module/utils/index.d.ts.map +1 -1
- package/package.json +10 -1
|
@@ -4,9 +4,9 @@ import React from "react";
|
|
|
4
4
|
import { Pressable, View } from "react-native";
|
|
5
5
|
import Animated, { useAnimatedStyle, useSharedValue, withSpring } from "react-native-reanimated";
|
|
6
6
|
import { useTheme } from "../theme/index.js";
|
|
7
|
+
import { triggerHaptic } from "../utils/haptics.js";
|
|
7
8
|
import { renderIcon } from "./types.js";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
// Pure SVG/Vector checkmark to avoid external dependencies
|
|
10
10
|
function CheckIcon({
|
|
11
11
|
color
|
|
12
12
|
}) {
|
|
@@ -29,13 +29,16 @@ export function Checkbox({
|
|
|
29
29
|
onCheckedChange,
|
|
30
30
|
disabled = false,
|
|
31
31
|
invalid = false,
|
|
32
|
+
glass = false,
|
|
33
|
+
haptic = true,
|
|
32
34
|
style,
|
|
33
35
|
icon,
|
|
34
36
|
...props
|
|
35
37
|
}) {
|
|
36
38
|
const {
|
|
37
39
|
colors,
|
|
38
|
-
components
|
|
40
|
+
components,
|
|
41
|
+
isDark
|
|
39
42
|
} = useTheme();
|
|
40
43
|
const progress = useSharedValue(checked ? 1 : 0);
|
|
41
44
|
React.useEffect(() => {
|
|
@@ -46,10 +49,12 @@ export function Checkbox({
|
|
|
46
49
|
}, [checked, progress]);
|
|
47
50
|
const handlePress = () => {
|
|
48
51
|
if (!disabled && onCheckedChange) {
|
|
52
|
+
if (haptic) triggerHaptic("selection");
|
|
49
53
|
onCheckedChange(!checked);
|
|
50
54
|
}
|
|
51
55
|
};
|
|
52
|
-
const
|
|
56
|
+
const glassBg = isDark ? "rgba(15, 27, 45, 0.60)" : "rgba(255, 255, 255, 0.75)";
|
|
57
|
+
const borderColor = invalid ? colors.danger : checked ? colors.primary : glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border;
|
|
53
58
|
const overlayStyle = useAnimatedStyle(() => ({
|
|
54
59
|
opacity: progress.value,
|
|
55
60
|
transform: [{
|
|
@@ -67,12 +72,12 @@ export function Checkbox({
|
|
|
67
72
|
style: ({
|
|
68
73
|
pressed
|
|
69
74
|
}) => [{
|
|
70
|
-
width:
|
|
71
|
-
height:
|
|
72
|
-
borderRadius:
|
|
75
|
+
width: 20,
|
|
76
|
+
height: 20,
|
|
77
|
+
borderRadius: 5,
|
|
73
78
|
borderWidth: components.borderWidth.focus,
|
|
74
79
|
borderColor,
|
|
75
|
-
backgroundColor: colors.transparent,
|
|
80
|
+
backgroundColor: glass ? glassBg : colors.transparent,
|
|
76
81
|
justifyContent: "center",
|
|
77
82
|
alignItems: "center",
|
|
78
83
|
overflow: "hidden",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","useTheme","renderIcon","jsx","_jsx","CheckIcon","color","style","width","height","borderLeftWidth","borderBottomWidth","borderColor","transform","rotate","marginTop","Checkbox","checked","onCheckedChange","disabled","invalid","icon","props","colors","components","progress","useEffect","value","damping","stiffness","handlePress","danger","primary","border","overlayStyle","opacity","scale","accessibilityRole","accessibilityState","onPress","pressed","borderRadius","borderWidth","focus","backgroundColor","transparent","justifyContent","alignItems","overflow","children","position","top","left","right","bottom","onPrimary"],"sourceRoot":"../../../src","sources":["components/Checkbox.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,QAAwC,cAAc;AAC9E,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAEhC,SAASC,QAAQ,QAAQ,mBAAU;AACnC,SAASC,UAAU,
|
|
1
|
+
{"version":3,"names":["React","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","useTheme","triggerHaptic","renderIcon","jsx","_jsx","CheckIcon","color","style","width","height","borderLeftWidth","borderBottomWidth","borderColor","transform","rotate","marginTop","Checkbox","checked","onCheckedChange","disabled","invalid","glass","haptic","icon","props","colors","components","isDark","progress","useEffect","value","damping","stiffness","handlePress","glassBg","danger","primary","border","overlayStyle","opacity","scale","accessibilityRole","accessibilityState","onPress","pressed","borderRadius","borderWidth","focus","backgroundColor","transparent","justifyContent","alignItems","overflow","children","position","top","left","right","bottom","onPrimary"],"sourceRoot":"../../../src","sources":["components/Checkbox.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { Pressable, View } from "react-native";
|
|
5
|
-
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
|
|
6
|
-
import {
|
|
5
|
+
import Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
|
|
6
|
+
import { triggerHaptic } from "../utils/haptics.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
const CollapsibleContext = /*#__PURE__*/React.createContext(null);
|
|
8
9
|
export function useCollapsible() {
|
|
9
10
|
const context = React.useContext(CollapsibleContext);
|
|
@@ -52,11 +53,15 @@ export function CollapsibleTrigger({
|
|
|
52
53
|
const {
|
|
53
54
|
toggle
|
|
54
55
|
} = useCollapsible();
|
|
56
|
+
const handlePress = () => {
|
|
57
|
+
triggerHaptic("selection");
|
|
58
|
+
toggle();
|
|
59
|
+
};
|
|
55
60
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
56
|
-
onPress:
|
|
61
|
+
onPress: handlePress,
|
|
57
62
|
style: style,
|
|
58
63
|
...props,
|
|
59
|
-
children: children
|
|
64
|
+
children: typeof children === "function" ? children() : children
|
|
60
65
|
});
|
|
61
66
|
}
|
|
62
67
|
export function CollapsibleContent({
|
|
@@ -67,46 +72,52 @@ export function CollapsibleContent({
|
|
|
67
72
|
const {
|
|
68
73
|
open
|
|
69
74
|
} = useCollapsible();
|
|
70
|
-
const [
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
// Track if we have completed our first height layout measurement
|
|
74
|
-
const hasMeasured = measuredHeight > 0;
|
|
75
|
+
const [contentHeight, setContentHeight] = React.useState(0);
|
|
76
|
+
const progress = useSharedValue(open ? 1 : 0);
|
|
75
77
|
React.useEffect(() => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
78
|
+
progress.value = withTiming(open ? 1 : 0, {
|
|
79
|
+
duration: 220,
|
|
80
|
+
easing: Easing.out(Easing.quad)
|
|
81
|
+
});
|
|
82
|
+
}, [open, progress]);
|
|
83
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
84
|
+
height: progress.value * contentHeight,
|
|
85
|
+
opacity: progress.value
|
|
86
|
+
}));
|
|
85
87
|
const handleLayout = e => {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (height > 0 && height !== measuredHeight) {
|
|
90
|
-
setMeasuredHeight(height);
|
|
88
|
+
const h = e.nativeEvent.layout.height;
|
|
89
|
+
if (h > 0 && Math.abs(h - contentHeight) > 1) {
|
|
90
|
+
setContentHeight(h);
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}));
|
|
97
|
-
return /*#__PURE__*/_jsx(Animated.View, {
|
|
98
|
-
pointerEvents: open ? "auto" : "none",
|
|
99
|
-
style: [{
|
|
93
|
+
const childContent = typeof children === "function" ? children() : children;
|
|
94
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
95
|
+
style: {
|
|
100
96
|
overflow: "hidden"
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
},
|
|
98
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
99
|
+
style: [style, {
|
|
100
|
+
position: "absolute",
|
|
101
|
+
opacity: 0,
|
|
102
|
+
top: -9999,
|
|
103
|
+
left: 0,
|
|
104
|
+
right: 0,
|
|
105
|
+
zIndex: -1
|
|
106
|
+
}],
|
|
104
107
|
onLayout: handleLayout,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
pointerEvents: "none",
|
|
109
|
+
children: childContent
|
|
110
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
111
|
+
pointerEvents: open ? "auto" : "none",
|
|
112
|
+
style: [{
|
|
113
|
+
overflow: "hidden"
|
|
114
|
+
}, animatedStyle],
|
|
115
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
116
|
+
style: style,
|
|
117
|
+
...props,
|
|
118
|
+
children: childContent
|
|
119
|
+
})
|
|
120
|
+
})]
|
|
110
121
|
});
|
|
111
122
|
}
|
|
112
123
|
//# sourceMappingURL=Collapsible.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withTiming","jsx","_jsx","CollapsibleContext","createContext","useCollapsible","context","useContext","Error","Collapsible","open","controlledOpen","defaultOpen","onOpenChange","children","style","props","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","undefined","toggle","useCallback","nextOpen","Provider","value","CollapsibleTrigger","
|
|
1
|
+
{"version":3,"names":["React","Pressable","View","Animated","Easing","useAnimatedStyle","useSharedValue","withTiming","triggerHaptic","jsx","_jsx","jsxs","_jsxs","CollapsibleContext","createContext","useCollapsible","context","useContext","Error","Collapsible","open","controlledOpen","defaultOpen","onOpenChange","children","style","props","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","undefined","toggle","useCallback","nextOpen","Provider","value","CollapsibleTrigger","handlePress","onPress","CollapsibleContent","contentHeight","setContentHeight","progress","useEffect","duration","easing","out","quad","animatedStyle","height","opacity","handleLayout","e","h","nativeEvent","layout","Math","abs","childContent","overflow","position","top","left","right","zIndex","onLayout","pointerEvents"],"sourceRoot":"../../../src","sources":["components/Collapsible.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,8 @@ import React from "react";
|
|
|
4
4
|
import { Dimensions, Modal, Pressable, ScrollView, StyleSheet, TextInput, View } from "react-native";
|
|
5
5
|
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
|
|
6
6
|
import { useTheme } from "../theme/index.js";
|
|
7
|
+
import { withAlpha } from "../utils/index.js";
|
|
8
|
+
import { triggerHaptic } from "../utils/haptics.js";
|
|
7
9
|
import { Text } from "./Text.js";
|
|
8
10
|
import { renderIcon } from "./types.js";
|
|
9
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -20,6 +22,8 @@ export function Combobox({
|
|
|
20
22
|
onValueChange,
|
|
21
23
|
open: controlledOpen,
|
|
22
24
|
onOpenChange,
|
|
25
|
+
glass = false,
|
|
26
|
+
haptic = true,
|
|
23
27
|
children
|
|
24
28
|
}) {
|
|
25
29
|
const {
|
|
@@ -53,7 +57,7 @@ export function Combobox({
|
|
|
53
57
|
onValueChange(nextVal);
|
|
54
58
|
}
|
|
55
59
|
}, [controlledValue, onValueChange]);
|
|
56
|
-
const measureTrigger = React.useCallback(
|
|
60
|
+
const measureTrigger = React.useCallback(callback => {
|
|
57
61
|
triggerRef.current?.measureInWindow((x, y, width, height) => {
|
|
58
62
|
if (width > 0 && height > 0) {
|
|
59
63
|
setTriggerLayout({
|
|
@@ -62,6 +66,7 @@ export function Combobox({
|
|
|
62
66
|
width,
|
|
63
67
|
height
|
|
64
68
|
});
|
|
69
|
+
callback?.();
|
|
65
70
|
}
|
|
66
71
|
});
|
|
67
72
|
}, []);
|
|
@@ -76,6 +81,8 @@ export function Combobox({
|
|
|
76
81
|
triggerRef,
|
|
77
82
|
triggerLayout,
|
|
78
83
|
measureTrigger,
|
|
84
|
+
glass,
|
|
85
|
+
haptic,
|
|
79
86
|
colors
|
|
80
87
|
},
|
|
81
88
|
children: /*#__PURE__*/_jsx(View, {
|
|
@@ -86,8 +93,6 @@ export function Combobox({
|
|
|
86
93
|
})
|
|
87
94
|
});
|
|
88
95
|
}
|
|
89
|
-
|
|
90
|
-
// Chevron pure arrow down icon
|
|
91
96
|
function ChevronDownIcon({
|
|
92
97
|
color
|
|
93
98
|
}) {
|
|
@@ -101,17 +106,39 @@ function ChevronDownIcon({
|
|
|
101
106
|
transform: [{
|
|
102
107
|
rotate: "45deg"
|
|
103
108
|
}],
|
|
104
|
-
marginTop: -3
|
|
105
|
-
marginRight: 4
|
|
109
|
+
marginTop: -3
|
|
106
110
|
}
|
|
107
111
|
});
|
|
108
112
|
}
|
|
113
|
+
function ClearIcon({
|
|
114
|
+
color
|
|
115
|
+
}) {
|
|
116
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
117
|
+
style: {
|
|
118
|
+
color,
|
|
119
|
+
fontSize: 14,
|
|
120
|
+
fontWeight: "600",
|
|
121
|
+
lineHeight: 14
|
|
122
|
+
},
|
|
123
|
+
children: "\u2715"
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
const comboboxHeights = {
|
|
127
|
+
sm: 36,
|
|
128
|
+
md: 44,
|
|
129
|
+
lg: 52
|
|
130
|
+
};
|
|
109
131
|
export function ComboboxInput({
|
|
110
132
|
placeholder = "Select option...",
|
|
133
|
+
size = "md",
|
|
134
|
+
variant = "outline",
|
|
135
|
+
glass = false,
|
|
136
|
+
haptic = true,
|
|
111
137
|
style,
|
|
112
138
|
inputStyle,
|
|
113
139
|
disabled = false,
|
|
114
|
-
chevronIcon
|
|
140
|
+
chevronIcon,
|
|
141
|
+
searchIcon
|
|
115
142
|
}) {
|
|
116
143
|
const {
|
|
117
144
|
inputValue,
|
|
@@ -126,20 +153,29 @@ export function ComboboxInput({
|
|
|
126
153
|
components,
|
|
127
154
|
radii,
|
|
128
155
|
spacing,
|
|
129
|
-
typography
|
|
156
|
+
typography,
|
|
157
|
+
isDark
|
|
130
158
|
} = useTheme();
|
|
131
159
|
const handleFocus = () => {
|
|
132
160
|
if (!disabled) {
|
|
133
|
-
|
|
134
|
-
setOpen(true);
|
|
161
|
+
if (haptic) triggerHaptic("light");
|
|
162
|
+
measureTrigger(() => setOpen(true));
|
|
135
163
|
}
|
|
136
164
|
};
|
|
137
165
|
const handlePress = () => {
|
|
138
166
|
if (!disabled) {
|
|
139
|
-
|
|
140
|
-
setOpen(!open);
|
|
167
|
+
if (haptic) triggerHaptic("light");
|
|
168
|
+
measureTrigger(() => setOpen(!open));
|
|
141
169
|
}
|
|
142
170
|
};
|
|
171
|
+
const handleClear = () => {
|
|
172
|
+
if (haptic) triggerHaptic("light");
|
|
173
|
+
setInputValue("");
|
|
174
|
+
};
|
|
175
|
+
const glassBg = isDark ? "rgba(15, 27, 45, 0.70)" : "rgba(255, 255, 255, 0.85)";
|
|
176
|
+
const triggerBg = disabled ? withAlpha(colors.input, 0.55) : glass ? glassBg : variant === "filled" ? colors.surface : variant === "soft" ? withAlpha(colors.primary, 0.08) : colors.input;
|
|
177
|
+
const borderColor = disabled ? colors.border : open ? colors.primary : glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border;
|
|
178
|
+
const containerHeight = comboboxHeights[size];
|
|
143
179
|
return /*#__PURE__*/_jsxs(Pressable, {
|
|
144
180
|
ref: triggerRef,
|
|
145
181
|
onPress: handlePress,
|
|
@@ -147,30 +183,41 @@ export function ComboboxInput({
|
|
|
147
183
|
style: [{
|
|
148
184
|
flexDirection: "row",
|
|
149
185
|
alignItems: "center",
|
|
150
|
-
height:
|
|
151
|
-
borderWidth: components.borderWidth.strong,
|
|
152
|
-
borderColor
|
|
186
|
+
height: containerHeight,
|
|
187
|
+
borderWidth: open ? components.borderWidth.focus : components.borderWidth.strong,
|
|
188
|
+
borderColor,
|
|
153
189
|
borderRadius: radii.lg,
|
|
154
|
-
backgroundColor:
|
|
190
|
+
backgroundColor: triggerBg,
|
|
155
191
|
paddingHorizontal: spacing.md,
|
|
156
192
|
width: "100%",
|
|
157
|
-
|
|
193
|
+
gap: spacing.sm,
|
|
194
|
+
opacity: disabled ? 0.56 : 1
|
|
158
195
|
}, style],
|
|
159
|
-
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
196
|
+
children: [searchIcon ? renderIcon(searchIcon, colors.textMuted, 16) : null, /*#__PURE__*/_jsx(TextInput, {
|
|
160
197
|
editable: !disabled,
|
|
161
198
|
placeholder: placeholder,
|
|
162
|
-
placeholderTextColor: colors.
|
|
199
|
+
placeholderTextColor: colors.placeholder,
|
|
163
200
|
value: inputValue,
|
|
164
|
-
onChangeText:
|
|
201
|
+
onChangeText: val => {
|
|
202
|
+
setInputValue(val);
|
|
203
|
+
if (!open) setOpen(true);
|
|
204
|
+
},
|
|
165
205
|
onFocus: handleFocus,
|
|
166
206
|
pointerEvents: disabled ? "none" : "auto",
|
|
167
207
|
style: [{
|
|
168
208
|
flex: 1,
|
|
169
|
-
...typography.
|
|
209
|
+
...typography.body,
|
|
210
|
+
fontSize: size === "sm" ? 13 : 15,
|
|
170
211
|
color: colors.text,
|
|
171
212
|
padding: 0,
|
|
172
213
|
height: "100%"
|
|
173
214
|
}, inputStyle]
|
|
215
|
+
}), !!inputValue && /*#__PURE__*/_jsx(Pressable, {
|
|
216
|
+
onPress: handleClear,
|
|
217
|
+
hitSlop: 8,
|
|
218
|
+
children: /*#__PURE__*/_jsx(ClearIcon, {
|
|
219
|
+
color: colors.textMuted
|
|
220
|
+
})
|
|
174
221
|
}), chevronIcon ? renderIcon(chevronIcon, colors.textMuted, 16) : /*#__PURE__*/_jsx(ChevronDownIcon, {
|
|
175
222
|
color: colors.textMuted
|
|
176
223
|
})]
|
|
@@ -186,11 +233,14 @@ export function ComboboxContent({
|
|
|
186
233
|
open,
|
|
187
234
|
setOpen,
|
|
188
235
|
triggerLayout,
|
|
189
|
-
colors
|
|
236
|
+
colors,
|
|
237
|
+
glass
|
|
190
238
|
} = useCombobox();
|
|
191
239
|
const {
|
|
192
240
|
components,
|
|
193
|
-
radii
|
|
241
|
+
radii,
|
|
242
|
+
spacing,
|
|
243
|
+
isDark
|
|
194
244
|
} = useTheme();
|
|
195
245
|
const progress = useSharedValue(open ? 1 : 0);
|
|
196
246
|
React.useEffect(() => {
|
|
@@ -202,24 +252,25 @@ export function ComboboxContent({
|
|
|
202
252
|
height: SCREEN_HEIGHT
|
|
203
253
|
} = Dimensions.get("window");
|
|
204
254
|
const spaceBelow = SCREEN_HEIGHT - (triggerLayout.pageY + triggerLayout.height);
|
|
205
|
-
const dropdownMaxHeight =
|
|
255
|
+
const dropdownMaxHeight = 240;
|
|
206
256
|
const renderAbove = spaceBelow < dropdownMaxHeight + 40;
|
|
207
257
|
const positionStyle = renderAbove ? {
|
|
208
258
|
bottom: SCREEN_HEIGHT - triggerLayout.pageY + 6
|
|
209
259
|
} : {
|
|
210
|
-
top: triggerLayout.pageY + triggerLayout.height +
|
|
260
|
+
top: triggerLayout.pageY + triggerLayout.height + 4
|
|
211
261
|
};
|
|
212
262
|
const animatedStyle = useAnimatedStyle(() => ({
|
|
213
263
|
opacity: progress.value,
|
|
214
264
|
transform: [{
|
|
215
|
-
translateY: (renderAbove ?
|
|
265
|
+
translateY: (renderAbove ? 6 : -6) * (1 - progress.value)
|
|
216
266
|
}]
|
|
217
267
|
}));
|
|
218
|
-
|
|
268
|
+
const glassBg = isDark ? "rgba(15, 27, 45, 0.70)" : "rgba(255, 255, 255, 0.85)";
|
|
269
|
+
if (!open || triggerLayout.width === 0) return null;
|
|
219
270
|
return /*#__PURE__*/_jsxs(Modal, {
|
|
220
271
|
transparent: true,
|
|
221
272
|
visible: open,
|
|
222
|
-
animationType: "
|
|
273
|
+
animationType: "fade",
|
|
223
274
|
statusBarTranslucent: true,
|
|
224
275
|
navigationBarTranslucent: true,
|
|
225
276
|
hardwareAccelerated: true,
|
|
@@ -233,12 +284,21 @@ export function ComboboxContent({
|
|
|
233
284
|
position: "absolute",
|
|
234
285
|
left: triggerLayout.pageX,
|
|
235
286
|
width: triggerLayout.width,
|
|
236
|
-
backgroundColor: colors.surface,
|
|
287
|
+
backgroundColor: glass ? glassBg : colors.surface,
|
|
237
288
|
borderWidth: components.borderWidth.strong,
|
|
238
|
-
borderColor: colors.border,
|
|
239
|
-
borderRadius: radii.
|
|
289
|
+
borderColor: glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border,
|
|
290
|
+
borderRadius: radii.xl,
|
|
240
291
|
maxHeight: dropdownMaxHeight,
|
|
241
|
-
|
|
292
|
+
padding: spacing.xs,
|
|
293
|
+
overflow: "hidden",
|
|
294
|
+
elevation: 8,
|
|
295
|
+
shadowColor: "#000",
|
|
296
|
+
shadowOffset: {
|
|
297
|
+
width: 0,
|
|
298
|
+
height: 4
|
|
299
|
+
},
|
|
300
|
+
shadowOpacity: 0.18,
|
|
301
|
+
shadowRadius: 12
|
|
242
302
|
}, animatedStyle, positionStyle, style],
|
|
243
303
|
children: children
|
|
244
304
|
})]
|
|
@@ -248,19 +308,20 @@ export function ComboboxList({
|
|
|
248
308
|
children,
|
|
249
309
|
style
|
|
250
310
|
}) {
|
|
251
|
-
const {
|
|
252
|
-
spacing
|
|
253
|
-
} = useTheme();
|
|
254
311
|
return /*#__PURE__*/_jsx(ScrollView, {
|
|
312
|
+
nestedScrollEnabled: true,
|
|
255
313
|
keyboardShouldPersistTaps: "handled",
|
|
256
314
|
style: [{
|
|
257
|
-
flex: 1
|
|
258
|
-
padding: spacing.xs
|
|
315
|
+
flex: 1
|
|
259
316
|
}, style],
|
|
260
|
-
children:
|
|
317
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
318
|
+
style: {
|
|
319
|
+
gap: 2
|
|
320
|
+
},
|
|
321
|
+
children: children
|
|
322
|
+
})
|
|
261
323
|
});
|
|
262
324
|
}
|
|
263
|
-
// Chevron checkmark for selected indicator
|
|
264
325
|
function CheckIcon({
|
|
265
326
|
color
|
|
266
327
|
}) {
|
|
@@ -274,7 +335,7 @@ function CheckIcon({
|
|
|
274
335
|
transform: [{
|
|
275
336
|
rotate: "-45deg"
|
|
276
337
|
}],
|
|
277
|
-
marginRight:
|
|
338
|
+
marginRight: 4
|
|
278
339
|
}
|
|
279
340
|
});
|
|
280
341
|
}
|
|
@@ -291,6 +352,7 @@ export function ComboboxItem({
|
|
|
291
352
|
setOpen,
|
|
292
353
|
inputValue,
|
|
293
354
|
setInputValue,
|
|
355
|
+
haptic,
|
|
294
356
|
colors
|
|
295
357
|
} = useCombobox();
|
|
296
358
|
const {
|
|
@@ -298,13 +360,12 @@ export function ComboboxItem({
|
|
|
298
360
|
spacing,
|
|
299
361
|
typography
|
|
300
362
|
} = useTheme();
|
|
301
|
-
|
|
302
|
-
// Automatic filter matching
|
|
303
363
|
if (inputValue && !label.toLowerCase().includes(inputValue.toLowerCase())) {
|
|
304
364
|
return null;
|
|
305
365
|
}
|
|
306
366
|
const isSelected = selectedValue === value;
|
|
307
367
|
const handlePress = () => {
|
|
368
|
+
if (haptic) triggerHaptic("selection");
|
|
308
369
|
onValueChange(value);
|
|
309
370
|
setInputValue(label);
|
|
310
371
|
setOpen(false);
|
|
@@ -314,22 +375,23 @@ export function ComboboxItem({
|
|
|
314
375
|
style: ({
|
|
315
376
|
pressed
|
|
316
377
|
}) => [{
|
|
378
|
+
minHeight: 40,
|
|
317
379
|
flexDirection: "row",
|
|
318
380
|
alignItems: "center",
|
|
319
|
-
paddingVertical: spacing.
|
|
381
|
+
paddingVertical: spacing.xs,
|
|
320
382
|
paddingHorizontal: spacing.md,
|
|
321
|
-
borderRadius: radii.
|
|
322
|
-
backgroundColor: isSelected ? colors.
|
|
383
|
+
borderRadius: radii.lg,
|
|
384
|
+
backgroundColor: isSelected ? colors.primarySoft : pressed ? colors.backgroundMuted : colors.transparent,
|
|
323
385
|
justifyContent: "space-between"
|
|
324
386
|
}, style],
|
|
325
387
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
326
388
|
style: {
|
|
327
|
-
...typography.
|
|
328
|
-
color: colors.text,
|
|
329
|
-
fontWeight: isSelected ? "
|
|
389
|
+
...typography.body,
|
|
390
|
+
color: isSelected ? colors.primary : colors.text,
|
|
391
|
+
fontWeight: isSelected ? "600" : "400"
|
|
330
392
|
},
|
|
331
393
|
children: children || label
|
|
332
|
-
}), isSelected && (checkIcon ? renderIcon(checkIcon, colors.primary,
|
|
394
|
+
}), isSelected && (checkIcon ? renderIcon(checkIcon, colors.primary, 16) : /*#__PURE__*/_jsx(CheckIcon, {
|
|
333
395
|
color: colors.primary
|
|
334
396
|
}))]
|
|
335
397
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","Modal","Pressable","ScrollView","StyleSheet","TextInput","View","Animated","useAnimatedStyle","useSharedValue","withTiming","useTheme","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","ComboboxContext","createContext","useCombobox","context","useContext","Error","Combobox","value","controlledValue","onValueChange","open","controlledOpen","onOpenChange","children","colors","uncontrolledValue","setUncontrolledValue","useState","uncontrolledOpen","setUncontrolledOpen","inputValue","setInputValue","triggerLayout","setTriggerLayout","pageX","pageY","width","height","triggerRef","useRef","undefined","setOpen","useCallback","nextOpen","handleValueChange","nextVal","measureTrigger","current","measureInWindow","x","y","Provider","style","ChevronDownIcon","color","borderRightWidth","borderBottomWidth","borderColor","transform","rotate","marginTop","marginRight","ComboboxInput","placeholder","inputStyle","disabled","chevronIcon","components","radii","spacing","typography","handleFocus","handlePress","ref","onPress","flexDirection","alignItems","borderWidth","strong","border","borderRadius","lg","backgroundColor","input","paddingHorizontal","md","opacity","editable","placeholderTextColor","textMuted","onChangeText","onFocus","pointerEvents","flex","bodySmall","text","padding","ComboboxContent","overlayStyle","modalProps","progress","useEffect","duration","SCREEN_HEIGHT","get","spaceBelow","dropdownMaxHeight","renderAbove","positionStyle","bottom","top","animatedStyle","translateY","transparent","visible","animationType","statusBarTranslucent","navigationBarTranslucent","hardwareAccelerated","onRequestClose","absoluteFill","position","left","surface","maxHeight","overflow","ComboboxList","keyboardShouldPersistTaps","xs","CheckIcon","borderLeftWidth","ComboboxItem","label","checkIcon","selectedValue","toLowerCase","includes","isSelected","pressed","paddingVertical","sm","surfaceMuted","justifyContent","fontWeight","primary","ComboboxEmpty","caption"],"sourceRoot":"../../../src","sources":["components/Combobox.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,UAAU,EACVC,KAAK,EACLC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,IAAI,QAKC,cAAc;AACrB,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAEhC,SAASC,QAAQ,QAA0B,mBAAU;AACrD,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,UAAU,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA4BtD,MAAMC,eAAe,gBAAGnB,KAAK,CAACoB,aAAa,CAA8B,IAAI,CAAC;AAE9E,OAAO,SAASC,WAAWA,CAAA,EAAG;EAC5B,MAAMC,OAAO,GAAGtB,KAAK,CAACuB,UAAU,CAACJ,eAAe,CAAC;EACjD,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOF,OAAO;AAChB;AAEA,OAAO,SAASG,QAAQA,CAAC;EACvBC,KAAK,EAAEC,eAAe;EACtBC,aAAa;EACbC,IAAI,EAAEC,cAAc;EACpBC,YAAY;EACZC;AACa,CAAC,EAAE;EAChB,MAAM;IAAEC;EAAO,CAAC,GAAGrB,QAAQ,CAAC,CAAC;EAE7B,MAAM,CAACsB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGnC,KAAK,CAACoC,QAAQ,CAAC,EAAE,CAAC;EACpE,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGtC,KAAK,CAACoC,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGxC,KAAK,CAACoC,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG1C,KAAK,CAACoC,QAAQ,CAAC;IACvDO,KAAK,EAAE,CAAC;IACRC,KAAK,EAAE,CAAC;IACRC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG/C,KAAK,CAACgD,MAAM,CAAM,IAAI,CAAC;EAE1C,MAAMtB,KAAK,GACTC,eAAe,KAAKsB,SAAS,GAAGtB,eAAe,GAAGO,iBAAiB;EACrE,MAAML,IAAI,GAAGC,cAAc,KAAKmB,SAAS,GAAGnB,cAAc,GAAGO,gBAAgB;EAE7E,MAAMa,OAAO,GAAGlD,KAAK,CAACmD,WAAW,CAC9BC,QAAiB,IAAK;IACrB,IAAItB,cAAc,KAAKmB,SAAS,EAAE;MAChCX,mBAAmB,CAACc,QAAQ,CAAC;IAC/B;IACA,IAAIrB,YAAY,EAAE;MAChBA,YAAY,CAACqB,QAAQ,CAAC;IACxB;EACF,CAAC,EACD,CAACtB,cAAc,EAAEC,YAAY,CAC/B,CAAC;EAED,MAAMsB,iBAAiB,GAAGrD,KAAK,CAACmD,WAAW,CACxCG,OAAe,IAAK;IACnB,IAAI3B,eAAe,KAAKsB,SAAS,EAAE;MACjCd,oBAAoB,CAACmB,OAAO,CAAC;IAC/B;IACA,IAAI1B,aAAa,EAAE;MACjBA,aAAa,CAAC0B,OAAO,CAAC;IACxB;EACF,CAAC,EACD,CAAC3B,eAAe,EAAEC,aAAa,CACjC,CAAC;EAED,MAAM2B,cAAc,GAAGvD,KAAK,CAACmD,WAAW,CAAC,MAAM;IAC7CJ,UAAU,CAACS,OAAO,EAAEC,eAAe,CACjC,CAACC,CAAS,EAAEC,CAAS,EAAEd,KAAa,EAAEC,MAAc,KAAK;MACvD,IAAID,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,EAAE;QAC3BJ,gBAAgB,CAAC;UAAEC,KAAK,EAAEe,CAAC;UAAEd,KAAK,EAAEe,CAAC;UAAEd,KAAK;UAAEC;QAAO,CAAC,CAAC;MACzD;IACF,CACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE9B,IAAA,CAACG,eAAe,CAACyC,QAAQ;IACvBlC,KAAK,EAAE;MACLA,KAAK;MACLE,aAAa,EAAEyB,iBAAiB;MAChCxB,IAAI;MACJqB,OAAO;MACPX,UAAU;MACVC,aAAa;MACbO,UAAU;MACVN,aAAa;MACbc,cAAc;MACdtB;IACF,CAAE;IAAAD,QAAA,eAEFhB,IAAA,CAACT,IAAI;MAACsD,KAAK,EAAE;QAAEhB,KAAK,EAAE;MAAO,CAAE;MAAAb,QAAA,EAAEA;IAAQ,CAAO;EAAC,CACzB,CAAC;AAE/B;;AAEA;AACA,SAAS8B,eAAeA,CAAC;EAAEC;AAAyB,CAAC,EAAE;EACrD,oBACE/C,IAAA,CAACT,IAAI;IACHsD,KAAK,EAAE;MACLhB,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTkB,gBAAgB,EAAE,GAAG;MACrBC,iBAAiB,EAAE,GAAG;MACtBC,WAAW,EAAEH,KAAK;MAClBI,SAAS,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAQ,CAAC,CAAC;MAChCC,SAAS,EAAE,CAAC,CAAC;MACbC,WAAW,EAAE;IACf;EAAE,CACH,CAAC;AAEN;AAUA,OAAO,SAASC,aAAaA,CAAC;EAC5BC,WAAW,GAAG,kBAAkB;EAChCX,KAAK;EACLY,UAAU;EACVC,QAAQ,GAAG,KAAK;EAChBC;AACkB,CAAC,EAAE;EACrB,MAAM;IACJpC,UAAU;IACVC,aAAa;IACbX,IAAI;IACJqB,OAAO;IACPH,UAAU;IACVQ,cAAc;IACdtB;EACF,CAAC,GAAGZ,WAAW,CAAC,CAAC;EACjB,MAAM;IAAEuD,UAAU;IAAEC,KAAK;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGnE,QAAQ,CAAC,CAAC;EAE7D,MAAMoE,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI,CAACN,QAAQ,EAAE;MACbnB,cAAc,CAAC,CAAC;MAChBL,OAAO,CAAC,IAAI,CAAC;IACf;EACF,CAAC;EAED,MAAM+B,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI,CAACP,QAAQ,EAAE;MACbnB,cAAc,CAAC,CAAC;MAChBL,OAAO,CAAC,CAACrB,IAAI,CAAC;IAChB;EACF,CAAC;EAED,oBACEX,KAAA,CAACf,SAAS;IACR+E,GAAG,EAAEnC,UAAW;IAChBoC,OAAO,EAAEF,WAAY;IACrBP,QAAQ,EAAEA,QAAS;IACnBb,KAAK,EAAE,CACL;MACEuB,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBvC,MAAM,EAAE,EAAE;MACVwC,WAAW,EAAEV,UAAU,CAACU,WAAW,CAACC,MAAM;MAC1CrB,WAAW,EAAEjC,MAAM,CAACuD,MAAM;MAC1BC,YAAY,EAAEZ,KAAK,CAACa,EAAE;MACtBC,eAAe,EAAE1D,MAAM,CAAC2D,KAAK;MAC7BC,iBAAiB,EAAEf,OAAO,CAACgB,EAAE;MAC7BjD,KAAK,EAAE,MAAM;MACbkD,OAAO,EAAErB,QAAQ,GAAG,GAAG,GAAG;IAC5B,CAAC,EACDb,KAAK,CACL;IAAA7B,QAAA,gBAEFhB,IAAA,CAACV,SAAS;MACR0F,QAAQ,EAAE,CAACtB,QAAS;MACpBF,WAAW,EAAEA,WAAY;MACzByB,oBAAoB,EAAEhE,MAAM,CAACiE,SAAU;MACvCxE,KAAK,EAAEa,UAAW;MAClB4D,YAAY,EAAE3D,aAAc;MAC5B4D,OAAO,EAAEpB,WAAY;MACrBqB,aAAa,EAAE3B,QAAQ,GAAG,MAAM,GAAG,MAAO;MAC1Cb,KAAK,EAAE,CACL;QACEyC,IAAI,EAAE,CAAC;QACP,GAAGvB,UAAU,CAACwB,SAAS;QACvBxC,KAAK,EAAE9B,MAAM,CAACuE,IAAI;QAClBC,OAAO,EAAE,CAAC;QACV3D,MAAM,EAAE;MACV,CAAC,EACD2B,UAAU;IACV,CACH,CAAC,EACDE,WAAW,GACV7D,UAAU,CAAC6D,WAAW,EAAE1C,MAAM,CAACiE,SAAS,EAAE,EAAE,CAAC,gBAE7ClF,IAAA,CAAC8C,eAAe;MAACC,KAAK,EAAE9B,MAAM,CAACiE;IAAU,CAAE,CAC5C;EAAA,CACQ,CAAC;AAEhB;AAYA,OAAO,SAASQ,eAAeA,CAAC;EAC9B1E,QAAQ;EACR6B,KAAK;EACL8C,YAAY;EACZC;AACoB,CAAC,EAAE;EACvB,MAAM;IAAE/E,IAAI;IAAEqB,OAAO;IAAET,aAAa;IAAER;EAAO,CAAC,GAAGZ,WAAW,CAAC,CAAC;EAC9D,MAAM;IAAEuD,UAAU;IAAEC;EAAM,CAAC,GAAGjE,QAAQ,CAAC,CAAC;EACxC,MAAMiG,QAAQ,GAAGnG,cAAc,CAACmB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAE7C7B,KAAK,CAAC8G,SAAS,CAAC,MAAM;IACpBD,QAAQ,CAACnF,KAAK,GAAGf,UAAU,CAACkB,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;MAAEkF,QAAQ,EAAE;IAAI,CAAC,CAAC;EAC9D,CAAC,EAAE,CAAClF,IAAI,EAAEgF,QAAQ,CAAC,CAAC;EAEpB,MAAM;IAAE/D,MAAM,EAAEkE;EAAc,CAAC,GAAG/G,UAAU,CAACgH,GAAG,CAAC,QAAQ,CAAC;EAC1D,MAAMC,UAAU,GACdF,aAAa,IAAIvE,aAAa,CAACG,KAAK,GAAGH,aAAa,CAACK,MAAM,CAAC;EAC9D,MAAMqE,iBAAiB,GAAG,GAAG;EAC7B,MAAMC,WAAW,GAAGF,UAAU,GAAGC,iBAAiB,GAAG,EAAE;EAEvD,MAAME,aAAa,GAAGD,WAAW,GAC7B;IAAEE,MAAM,EAAEN,aAAa,GAAGvE,aAAa,CAACG,KAAK,GAAG;EAAE,CAAC,GACnD;IAAE2E,GAAG,EAAE9E,aAAa,CAACG,KAAK,GAAGH,aAAa,CAACK,MAAM,GAAG;EAAE,CAAC;EAE3D,MAAM0E,aAAa,GAAG/G,gBAAgB,CAAC,OAAO;IAC5CsF,OAAO,EAAEc,QAAQ,CAACnF,KAAK;IACvByC,SAAS,EAAE,CAAC;MAAEsD,UAAU,EAAE,CAACL,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAGP,QAAQ,CAACnF,KAAK;IAAE,CAAC;EAC3E,CAAC,CAAC,CAAC;EAEH,IAAI,CAACG,IAAI,EAAE,OAAO,IAAI;EAEtB,oBACEX,KAAA,CAAChB,KAAK;IACJwH,WAAW;IACXC,OAAO,EAAE9F,IAAK;IACd+F,aAAa,EAAC,MAAM;IACpBC,oBAAoB;IACpBC,wBAAwB;IACxBC,mBAAmB;IACnBC,cAAc,EAAEA,CAAA,KAAM9E,OAAO,CAAC,KAAK,CAAE;IAAA,GACjC0D,UAAU;IAAA5E,QAAA,gBAEdhB,IAAA,CAACb,SAAS;MACR0D,KAAK,EAAE,CAACxD,UAAU,CAAC4H,YAAY,EAAEtB,YAAY,CAAE;MAC/CxB,OAAO,EAAEA,CAAA,KAAMjC,OAAO,CAAC,KAAK;IAAE,CAC/B,CAAC,eAEFlC,IAAA,CAACR,QAAQ,CAACD,IAAI;MACZsD,KAAK,EAAE,CACL;QACEqE,QAAQ,EAAE,UAAU;QACpBC,IAAI,EAAE1F,aAAa,CAACE,KAAK;QACzBE,KAAK,EAAEJ,aAAa,CAACI,KAAK;QAC1B8C,eAAe,EAAE1D,MAAM,CAACmG,OAAO;QAC/B9C,WAAW,EAAEV,UAAU,CAACU,WAAW,CAACC,MAAM;QAC1CrB,WAAW,EAAEjC,MAAM,CAACuD,MAAM;QAC1BC,YAAY,EAAEZ,KAAK,CAACa,EAAE;QACtB2C,SAAS,EAAElB,iBAAiB;QAC5BmB,QAAQ,EAAE;MACZ,CAAC,EACDd,aAAa,EACbH,aAAa,EACbxD,KAAK,CACL;MAAA7B,QAAA,EAEDA;IAAQ,CACI,CAAC;EAAA,CACX,CAAC;AAEZ;AAOA,OAAO,SAASuG,YAAYA,CAAC;EAAEvG,QAAQ;EAAE6B;AAAyB,CAAC,EAAE;EACnE,MAAM;IAAEiB;EAAQ,CAAC,GAAGlE,QAAQ,CAAC,CAAC;EAE9B,oBACEI,IAAA,CAACZ,UAAU;IACToI,yBAAyB,EAAC,SAAS;IACnC3E,KAAK,EAAE,CAAC;MAAEyC,IAAI,EAAE,CAAC;MAAEG,OAAO,EAAE3B,OAAO,CAAC2D;IAAG,CAAC,EAAE5E,KAAK,CAAE;IAAA7B,QAAA,EAEhDA;EAAQ,CACC,CAAC;AAEjB;AAUA;AACA,SAAS0G,SAASA,CAAC;EAAE3E;AAAyB,CAAC,EAAE;EAC/C,oBACE/C,IAAA,CAACT,IAAI;IACHsD,KAAK,EAAE;MACLhB,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACT6F,eAAe,EAAE,IAAI;MACrB1E,iBAAiB,EAAE,IAAI;MACvBC,WAAW,EAAEH,KAAK;MAClBI,SAAS,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAS,CAAC,CAAC;MACjCE,WAAW,EAAE;IACf;EAAE,CACH,CAAC;AAEN;AAEA,OAAO,SAASsE,YAAYA,CAAC;EAC3BlH,KAAK;EACLmH,KAAK;EACL7G,QAAQ;EACR6B,KAAK;EACLiF;AACiB,CAAC,EAAE;EACpB,MAAM;IACJpH,KAAK,EAAEqH,aAAa;IACpBnH,aAAa;IACbsB,OAAO;IACPX,UAAU;IACVC,aAAa;IACbP;EACF,CAAC,GAAGZ,WAAW,CAAC,CAAC;EACjB,MAAM;IAAEwD,KAAK;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGnE,QAAQ,CAAC,CAAC;;EAEjD;EACA,IAAI2B,UAAU,IAAI,CAACsG,KAAK,CAACG,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC1G,UAAU,CAACyG,WAAW,CAAC,CAAC,CAAC,EAAE;IACzE,OAAO,IAAI;EACb;EAEA,MAAME,UAAU,GAAGH,aAAa,KAAKrH,KAAK;EAE1C,MAAMuD,WAAW,GAAGA,CAAA,KAAM;IACxBrD,aAAa,CAACF,KAAK,CAAC;IACpBc,aAAa,CAACqG,KAAK,CAAC;IACpB3F,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC;EAED,oBACEhC,KAAA,CAACf,SAAS;IACRgF,OAAO,EAAEF,WAAY;IACrBpB,KAAK,EAAEA,CAAC;MAAEsF;IAAQ,CAAC,KAAK,CACtB;MACE/D,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpB+D,eAAe,EAAEtE,OAAO,CAACuE,EAAE,GAAG,CAAC;MAC/BxD,iBAAiB,EAAEf,OAAO,CAACgB,EAAE;MAC7BL,YAAY,EAAEZ,KAAK,CAACiB,EAAE;MACtBH,eAAe,EAAEuD,UAAU,GACvBjH,MAAM,CAACqH,YAAY,GACnBH,OAAO,GACLlH,MAAM,CAACqH,YAAY,GACnBrH,MAAM,CAACyF,WAAW;MACxB6B,cAAc,EAAE;IAClB,CAAC,EACD1F,KAAK,CACL;IAAA7B,QAAA,gBAEFhB,IAAA,CAACH,IAAI;MACHgD,KAAK,EAAE;QACL,GAAGkB,UAAU,CAACwB,SAAS;QACvBxC,KAAK,EAAE9B,MAAM,CAACuE,IAAI;QAClBgD,UAAU,EAAEN,UAAU,GAAG,KAAK,GAAG;MACnC,CAAE;MAAAlH,QAAA,EAEDA,QAAQ,IAAI6G;IAAK,CACd,CAAC,EACNK,UAAU,KACRJ,SAAS,GACRhI,UAAU,CAACgI,SAAS,EAAE7G,MAAM,CAACwH,OAAO,EAAE,EAAE,CAAC,gBAEzCzI,IAAA,CAAC0H,SAAS;MAAC3E,KAAK,EAAE9B,MAAM,CAACwH;IAAQ,CAAE,CACpC,CAAC;EAAA,CACK,CAAC;AAEhB;AAOA,OAAO,SAASC,aAAaA,CAAC;EAC5B1H,QAAQ,GAAG,mBAAmB;EAC9B6B;AACkB,CAAC,EAAE;EACrB,MAAM;IAAE5B;EAAO,CAAC,GAAGZ,WAAW,CAAC,CAAC;EAChC,MAAM;IAAEyD,OAAO;IAAEC;EAAW,CAAC,GAAGnE,QAAQ,CAAC,CAAC;EAE1C,oBACEI,IAAA,CAACT,IAAI;IAACsD,KAAK,EAAE,CAAC;MAAE4C,OAAO,EAAE3B,OAAO,CAACgB,EAAE;MAAET,UAAU,EAAE;IAAS,CAAC,EAAExB,KAAK,CAAE;IAAA7B,QAAA,eAClEhB,IAAA,CAACH,IAAI;MAACgD,KAAK,EAAE;QAAE,GAAGkB,UAAU,CAAC4E,OAAO;QAAE5F,KAAK,EAAE9B,MAAM,CAACiE;MAAU,CAAE;MAAAlE,QAAA,EAC7DA;IAAQ,CACL;EAAC,CACH,CAAC;AAEX","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Dimensions","Modal","Pressable","ScrollView","StyleSheet","TextInput","View","Animated","useAnimatedStyle","useSharedValue","withTiming","useTheme","withAlpha","triggerHaptic","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","ComboboxContext","createContext","useCombobox","context","useContext","Error","Combobox","value","controlledValue","onValueChange","open","controlledOpen","onOpenChange","glass","haptic","children","colors","uncontrolledValue","setUncontrolledValue","useState","uncontrolledOpen","setUncontrolledOpen","inputValue","setInputValue","triggerLayout","setTriggerLayout","pageX","pageY","width","height","triggerRef","useRef","undefined","setOpen","useCallback","nextOpen","handleValueChange","nextVal","measureTrigger","callback","current","measureInWindow","x","y","Provider","style","ChevronDownIcon","color","borderRightWidth","borderBottomWidth","borderColor","transform","rotate","marginTop","ClearIcon","fontSize","fontWeight","lineHeight","comboboxHeights","sm","md","lg","ComboboxInput","placeholder","size","variant","inputStyle","disabled","chevronIcon","searchIcon","components","radii","spacing","typography","isDark","handleFocus","handlePress","handleClear","glassBg","triggerBg","input","surface","primary","border","containerHeight","ref","onPress","flexDirection","alignItems","borderWidth","focus","strong","borderRadius","backgroundColor","paddingHorizontal","gap","opacity","textMuted","editable","placeholderTextColor","onChangeText","val","onFocus","pointerEvents","flex","body","text","padding","hitSlop","ComboboxContent","overlayStyle","modalProps","progress","useEffect","duration","SCREEN_HEIGHT","get","spaceBelow","dropdownMaxHeight","renderAbove","positionStyle","bottom","top","animatedStyle","translateY","transparent","visible","animationType","statusBarTranslucent","navigationBarTranslucent","hardwareAccelerated","onRequestClose","absoluteFill","position","left","xl","maxHeight","xs","overflow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","ComboboxList","nestedScrollEnabled","keyboardShouldPersistTaps","CheckIcon","borderLeftWidth","marginRight","ComboboxItem","label","checkIcon","selectedValue","toLowerCase","includes","isSelected","pressed","minHeight","paddingVertical","primarySoft","backgroundMuted","justifyContent","ComboboxEmpty","caption"],"sourceRoot":"../../../src","sources":["components/Combobox.tsx"],"mappings":"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","ignoreList":[]}
|