@studio-piot/native-ui 0.1.0 → 0.2.2
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 +3 -1
- package/dist/components/Select/Select.d.ts +3 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +81 -19
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectCloseButton.d.ts +9 -2
- package/dist/components/Select/SelectCloseButton.d.ts.map +1 -1
- package/dist/components/Select/SelectCloseButton.js +14 -6
- package/dist/components/Select/SelectCloseButton.js.map +1 -1
- package/dist/components/Select/index.d.ts +3 -3
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +2 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/presentSelectSheet.d.ts +7 -0
- package/dist/components/Select/presentSelectSheet.d.ts.map +1 -0
- package/dist/components/Select/presentSelectSheet.js +14 -0
- package/dist/components/Select/presentSelectSheet.js.map +1 -0
- package/dist/components/Select/resolveSelectDetentIndex.d.ts +2 -0
- package/dist/components/Select/resolveSelectDetentIndex.d.ts.map +1 -1
- package/dist/components/Select/resolveSelectDetentIndex.js +5 -0
- package/dist/components/Select/resolveSelectDetentIndex.js.map +1 -1
- package/dist/components/Select/selectThemeRoles.d.ts +1 -1
- package/dist/components/Select/selectThemeRoles.js +1 -1
- package/dist/components/Select/selectThemeRoles.js.map +1 -1
- package/dist/components/Select/trueSheetReanimated.d.ts +13 -0
- package/dist/components/Select/trueSheetReanimated.d.ts.map +1 -0
- package/dist/components/Select/trueSheetReanimated.js +14 -0
- package/dist/components/Select/trueSheetReanimated.js.map +1 -0
- package/dist/components/Select/types.d.ts +3 -1
- package/dist/components/Select/types.d.ts.map +1 -1
- package/dist/components/Slider/Slider.d.ts +3 -0
- package/dist/components/Slider/Slider.d.ts.map +1 -0
- package/dist/components/Slider/Slider.js +46 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Slider/index.d.ts +4 -0
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Slider/index.js +8 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Slider/sliderThemeRoles.d.ts +8 -0
- package/dist/components/Slider/sliderThemeRoles.d.ts.map +1 -0
- package/dist/components/Slider/sliderThemeRoles.js +10 -0
- package/dist/components/Slider/sliderThemeRoles.js.map +1 -0
- package/dist/components/Slider/types.d.ts +18 -0
- package/dist/components/Slider/types.d.ts.map +1 -0
- package/dist/components/Slider/types.js +3 -0
- package/dist/components/Slider/types.js.map +1 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -1
- package/dist/components/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/docs/components/select.md +32 -10
- package/docs/components/slider.md +65 -0
- package/docs/superpowers/plans/2026-09-25-select.md +26 -8
- package/docs/superpowers/plans/2026-09-25-slider.md +35 -0
- package/docs/superpowers/specs/2026-09-25-select-design.md +39 -67
- package/docs/superpowers/specs/2026-09-25-slider-design.md +117 -0
- package/package.json +12 -4
- package/src/components/Select/Select.tsx +188 -75
- package/src/components/Select/SelectCloseButton.tsx +32 -7
- package/src/components/Select/index.ts +6 -2
- package/src/components/Select/resolveSelectDetentIndex.test.ts +15 -1
- package/src/components/Select/resolveSelectDetentIndex.ts +5 -0
- package/src/components/Select/selectThemeRoles.test.ts +16 -0
- package/src/components/Select/selectThemeRoles.ts +1 -1
- package/src/components/Select/types.ts +3 -1
- package/src/components/Slider/Slider.tsx +95 -0
- package/src/components/Slider/index.ts +6 -0
- package/src/components/Slider/sliderThemeRoles.test.ts +12 -0
- package/src/components/Slider/sliderThemeRoles.ts +8 -0
- package/src/components/Slider/types.ts +18 -0
- package/src/components/index.ts +8 -1
- package/src/index.ts +9 -2
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ The package is the native counterpart of `@studio-piot/ui`. Apps own their palet
|
|
|
10
10
|
npm install @studio-piot/native-ui
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
`
|
|
13
|
+
`Select` peers `@gorhom/bottom-sheet`, `react-native-reanimated`, `react-native-gesture-handler`, and `react-native-screens` (iOS `FullWindowOverlay` so the sheet appears above React Navigation modals). `Slider` peers `@react-native-community/slider`.
|
|
14
14
|
|
|
15
15
|
## Docs
|
|
16
16
|
|
|
@@ -20,11 +20,13 @@ npm install @studio-piot/native-ui
|
|
|
20
20
|
- [Form usage](./docs/components/form.md)
|
|
21
21
|
- [RadioField usage](./docs/components/radio-field.md)
|
|
22
22
|
- [Select usage](./docs/components/select.md)
|
|
23
|
+
- [Slider usage](./docs/components/slider.md)
|
|
23
24
|
- [Design: theme provider and Button](./docs/superpowers/specs/2026-09-24-theme-provider-button-design.md)
|
|
24
25
|
- [Design: LinkBlocks](./docs/superpowers/specs/2026-09-24-link-blocks-design.md)
|
|
25
26
|
- [Design: Field](./docs/superpowers/specs/2026-09-24-field-design.md)
|
|
26
27
|
- [Design: RadioField](./docs/superpowers/specs/2026-09-25-radio-field-design.md)
|
|
27
28
|
- [Design: Select](./docs/superpowers/specs/2026-09-25-select-design.md)
|
|
29
|
+
- [Design: Slider](./docs/superpowers/specs/2026-09-25-slider-design.md)
|
|
28
30
|
|
|
29
31
|
## Quick start
|
|
30
32
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { SelectProps } from "./types";
|
|
2
|
-
export declare function Select({ value, onChange, options, placeholder, label, description, error, sheetTitle, closeButton,
|
|
2
|
+
export declare function Select({ value, onChange, options, placeholder, label, description, error, sheetTitle, closeButton,
|
|
3
|
+
/** Max sheet height as a fraction of the window (largest value wins). Default `[0.25, 0.5, 0.75]` → 75%. */
|
|
4
|
+
detents, initialDetent: _initialDetent, radius, editable, backgroundColor: backgroundColorProp, textColor: textColorProp, placeholderColor: placeholderColorProp, labelColor: labelColorProp, descriptionColor: descriptionColorProp, borderColor: borderColorProp, errorColor: errorColorProp, selectedColor: selectedColorProp, style, }: SelectProps): import("react").JSX.Element;
|
|
3
5
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,SAAS,CAAC;AAazD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAgC,EAChC,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW;AACX,4GAA4G;AAC5G,OAAqC,EACrC,aAAa,EAAE,cAAc,EAC7B,MAAa,EACb,QAAe,EACf,eAAe,EAAE,mBAAmB,EACpC,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,cAAc,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,KAAK,GACN,EAAE,WAAW,+BAkPb"}
|
|
@@ -4,14 +4,28 @@ exports.Select = Select;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const react_native_1 = require("react-native");
|
|
7
|
-
const
|
|
7
|
+
const bottom_sheet_1 = require("@gorhom/bottom-sheet");
|
|
8
|
+
const react_native_screens_1 = require("react-native-screens");
|
|
8
9
|
const buttonRadius_1 = require("../Button/buttonRadius");
|
|
9
10
|
const useResolvedFieldColor_1 = require("../Field/useResolvedFieldColor");
|
|
11
|
+
const useThemeColor_1 = require("../../theme/useThemeColor");
|
|
10
12
|
const resolveSelectDetentIndex_1 = require("./resolveSelectDetentIndex");
|
|
11
13
|
const SelectCloseButton_1 = require("./SelectCloseButton");
|
|
12
14
|
const selectThemeRoles_1 = require("./selectThemeRoles");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
const BACKDROP_OPACITY = 0.72;
|
|
16
|
+
const SHEET_TOP_RADIUS = 20;
|
|
17
|
+
/** Renders the sheet above React Navigation native modals (iOS). */
|
|
18
|
+
function SheetContainer({ children }) {
|
|
19
|
+
if (react_native_1.Platform.OS === "ios") {
|
|
20
|
+
return (0, jsx_runtime_1.jsx)(react_native_screens_1.FullWindowOverlay, { children: children });
|
|
21
|
+
}
|
|
22
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
|
|
23
|
+
}
|
|
24
|
+
function Select({ value, onChange, options, placeholder = "Select an option", label, description, error, sheetTitle, closeButton,
|
|
25
|
+
/** Max sheet height as a fraction of the window (largest value wins). Default `[0.25, 0.5, 0.75]` → 75%. */
|
|
26
|
+
detents = [...resolveSelectDetentIndex_1.DEFAULT_SELECT_DETENTS], initialDetent: _initialDetent, radius = "xl", editable = true, backgroundColor: backgroundColorProp, textColor: textColorProp, placeholderColor: placeholderColorProp, labelColor: labelColorProp, descriptionColor: descriptionColorProp, borderColor: borderColorProp, errorColor: errorColorProp, selectedColor: selectedColorProp, style, }) {
|
|
27
|
+
const modalRef = (0, react_1.useRef)(null);
|
|
28
|
+
const { height: windowHeight } = (0, react_native_1.useWindowDimensions)();
|
|
15
29
|
const backgroundColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(backgroundColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.backgroundColor);
|
|
16
30
|
const textColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(textColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.textColor);
|
|
17
31
|
const placeholderColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(placeholderColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.placeholderColor);
|
|
@@ -20,24 +34,50 @@ function Select({ value, onChange, options, placeholder = "Select an option", la
|
|
|
20
34
|
const borderColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(borderColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.borderColor);
|
|
21
35
|
const errorColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(errorColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.errorColor);
|
|
22
36
|
const selectedColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(selectedColorProp, selectThemeRoles_1.SELECT_THEME_ROLES.selectedColor);
|
|
37
|
+
// Resolved on the trigger tree (has ThemeProvider), then passed into the portal.
|
|
38
|
+
const closeDiscColor = (0, useThemeColor_1.useThemeColor)("text");
|
|
39
|
+
const closeIconColor = (0, useThemeColor_1.useThemeColor)("background");
|
|
23
40
|
const hasError = Boolean(error);
|
|
24
41
|
const selected = options.find((option) => option.value === value);
|
|
25
42
|
const display = selected?.label ?? placeholder;
|
|
26
43
|
const isPlaceholder = selected == null;
|
|
27
44
|
const borderRadius = (0, buttonRadius_1.buttonRadiusValue)(radius);
|
|
28
45
|
const title = sheetTitle ?? label ?? "Select";
|
|
29
|
-
const
|
|
46
|
+
const maxDynamicContentSize = (0, react_1.useMemo)(() => {
|
|
47
|
+
const maxDetent = Math.max(...detents, 0.75);
|
|
48
|
+
return Math.round(windowHeight * maxDetent);
|
|
49
|
+
}, [detents, windowHeight]);
|
|
30
50
|
const dismiss = (0, react_1.useCallback)(() => {
|
|
31
|
-
|
|
51
|
+
modalRef.current?.dismiss();
|
|
32
52
|
}, []);
|
|
33
53
|
const present = (0, react_1.useCallback)(() => {
|
|
34
54
|
if (!editable)
|
|
35
55
|
return;
|
|
36
|
-
|
|
37
|
-
}, [editable
|
|
56
|
+
modalRef.current?.present();
|
|
57
|
+
}, [editable]);
|
|
58
|
+
const renderBackdrop = (0, react_1.useCallback)((props) => ((0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheetBackdrop, { ...props, appearsOnIndex: 0, disappearsOnIndex: -1, opacity: BACKDROP_OPACITY, pressBehavior: "close" })), []);
|
|
38
59
|
const resolvedClose = typeof closeButton === "function"
|
|
39
60
|
? closeButton(dismiss)
|
|
40
|
-
: (closeButton ?? (0, jsx_runtime_1.jsx)(SelectCloseButton_1.SelectCloseButton, { onPress: dismiss }));
|
|
61
|
+
: (closeButton ?? ((0, jsx_runtime_1.jsx)(SelectCloseButton_1.SelectCloseButton, { backgroundColor: closeDiscColor, iconColor: closeIconColor, onPress: dismiss })));
|
|
62
|
+
// Header lives in the handle so it stays fixed; only options scroll.
|
|
63
|
+
const renderHandle = (0, react_1.useCallback)((props) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [
|
|
64
|
+
styles.handleRoot,
|
|
65
|
+
{
|
|
66
|
+
backgroundColor,
|
|
67
|
+
borderTopLeftRadius: SHEET_TOP_RADIUS,
|
|
68
|
+
borderTopRightRadius: SHEET_TOP_RADIUS,
|
|
69
|
+
},
|
|
70
|
+
], children: [(0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheetHandle, { ...props, indicatorStyle: {
|
|
71
|
+
backgroundColor: placeholderColor,
|
|
72
|
+
opacity: 0.9,
|
|
73
|
+
} }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.sheetTitle, { color: textColor, flex: 1 }], children: title }), resolvedClose] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.headerDivider, { backgroundColor: borderColor }] })] })), [
|
|
74
|
+
backgroundColor,
|
|
75
|
+
borderColor,
|
|
76
|
+
placeholderColor,
|
|
77
|
+
resolvedClose,
|
|
78
|
+
textColor,
|
|
79
|
+
title,
|
|
80
|
+
]);
|
|
41
81
|
const onSelect = (option) => {
|
|
42
82
|
if (option.disabled)
|
|
43
83
|
return;
|
|
@@ -54,19 +94,26 @@ function Select({ value, onChange, options, placeholder = "Select an option", la
|
|
|
54
94
|
], children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { numberOfLines: 1, style: [
|
|
55
95
|
styles.triggerText,
|
|
56
96
|
{ color: isPlaceholder ? placeholderColor : textColor, flex: 1 },
|
|
57
|
-
], children: display }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: [styles.chevron, { color: placeholderColor }], children: "\u203A" })] }), error ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.helper, { color: errorColor }], children: error })) : description ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.helper, { color: descriptionColor }], children: description })) : null, (0, jsx_runtime_1.
|
|
58
|
-
|
|
97
|
+
], children: display }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: [styles.chevron, { color: placeholderColor }], children: "\u203A" })] }), error ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.helper, { color: errorColor }], children: error })) : description ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.helper, { color: descriptionColor }], children: description })) : null, (0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheetModal, { ref: modalRef, backdropComponent: renderBackdrop, backgroundStyle: {
|
|
98
|
+
backgroundColor,
|
|
99
|
+
borderTopLeftRadius: SHEET_TOP_RADIUS,
|
|
100
|
+
borderTopRightRadius: SHEET_TOP_RADIUS,
|
|
101
|
+
}, containerComponent: SheetContainer, enableDynamicSizing: true, enablePanDownToClose: true, handleComponent: renderHandle, handleStyle: styles.handleShell, maxDynamicContentSize: maxDynamicContentSize, stackBehavior: "push", children: (0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheetScrollView, { contentContainerStyle: styles.sheetContent, enableFooterMarginAdjustment: false, children: options.length === 0 ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.empty, { color: placeholderColor }], children: "No options" })) : (options.map((option) => {
|
|
102
|
+
const isSelected = option.value === value;
|
|
59
103
|
return ((0, jsx_runtime_1.jsxs)(react_native_1.Pressable, { accessibilityRole: "button", accessibilityState: {
|
|
60
104
|
selected: isSelected,
|
|
61
|
-
disabled: !!
|
|
62
|
-
}, disabled:
|
|
105
|
+
disabled: !!option.disabled,
|
|
106
|
+
}, disabled: option.disabled, onPress: () => onSelect(option), style: [
|
|
107
|
+
styles.option,
|
|
108
|
+
option.disabled && styles.optionBlocked,
|
|
109
|
+
], children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
|
|
63
110
|
styles.optionLabel,
|
|
64
111
|
{
|
|
65
112
|
color: isSelected ? selectedColor : textColor,
|
|
66
113
|
flex: 1,
|
|
67
114
|
},
|
|
68
|
-
], children:
|
|
69
|
-
}))
|
|
115
|
+
], children: option.label }), isSelected ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.check, { color: selectedColor }], children: "\u2713" })) : null] }, option.value));
|
|
116
|
+
})) }) })] }));
|
|
70
117
|
}
|
|
71
118
|
const styles = react_native_1.StyleSheet.create({
|
|
72
119
|
column: {
|
|
@@ -82,6 +129,7 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
82
129
|
},
|
|
83
130
|
trigger: {
|
|
84
131
|
minHeight: 48,
|
|
132
|
+
width: "100%",
|
|
85
133
|
borderWidth: 1,
|
|
86
134
|
paddingHorizontal: 14,
|
|
87
135
|
paddingVertical: 12,
|
|
@@ -101,23 +149,34 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
101
149
|
helper: {
|
|
102
150
|
fontSize: 13,
|
|
103
151
|
},
|
|
104
|
-
|
|
152
|
+
handleShell: {
|
|
153
|
+
paddingBottom: 0,
|
|
154
|
+
},
|
|
155
|
+
handleRoot: {
|
|
156
|
+
overflow: "hidden",
|
|
157
|
+
},
|
|
158
|
+
sheetContent: {
|
|
159
|
+
paddingBottom: 24,
|
|
160
|
+
},
|
|
161
|
+
header: {
|
|
105
162
|
flexDirection: "row",
|
|
106
163
|
alignItems: "center",
|
|
107
164
|
gap: 12,
|
|
108
165
|
paddingHorizontal: 16,
|
|
109
|
-
paddingTop:
|
|
166
|
+
paddingTop: 4,
|
|
110
167
|
paddingBottom: 12,
|
|
111
168
|
},
|
|
169
|
+
headerDivider: {
|
|
170
|
+
height: react_native_1.StyleSheet.hairlineWidth,
|
|
171
|
+
},
|
|
112
172
|
sheetTitle: {
|
|
113
173
|
fontSize: 17,
|
|
114
174
|
fontWeight: "600",
|
|
115
175
|
},
|
|
116
176
|
empty: {
|
|
117
|
-
fontSize:
|
|
177
|
+
fontSize: 15,
|
|
118
178
|
paddingHorizontal: 16,
|
|
119
|
-
paddingVertical:
|
|
120
|
-
textAlign: "center",
|
|
179
|
+
paddingVertical: 20,
|
|
121
180
|
},
|
|
122
181
|
option: {
|
|
123
182
|
minHeight: 52,
|
|
@@ -126,6 +185,9 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
126
185
|
alignItems: "center",
|
|
127
186
|
gap: 12,
|
|
128
187
|
},
|
|
188
|
+
optionBlocked: {
|
|
189
|
+
opacity: 0.4,
|
|
190
|
+
},
|
|
129
191
|
optionLabel: {
|
|
130
192
|
fontSize: 17,
|
|
131
193
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
type SelectCloseButtonProps = {
|
|
2
2
|
onPress: () => void;
|
|
3
|
-
|
|
3
|
+
/** Disc fill. Select passes theme colours so this stays portal-safe. */
|
|
4
|
+
backgroundColor?: string;
|
|
5
|
+
/** Cross colour. */
|
|
6
|
+
iconColor?: string;
|
|
7
|
+
};
|
|
8
|
+
/** Default Select sheet close: filled disc + contrasting cross. */
|
|
9
|
+
export declare function SelectCloseButton({ onPress, backgroundColor, iconColor, }: SelectCloseButtonProps): import("react").JSX.Element;
|
|
10
|
+
export {};
|
|
4
11
|
//# sourceMappingURL=SelectCloseButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCloseButton.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectCloseButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectCloseButton.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectCloseButton.tsx"],"names":[],"mappings":"AAEA,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,eAA2B,EAC3B,SAAqB,GACtB,EAAE,sBAAsB,+BAYxB"}
|
|
@@ -3,15 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SelectCloseButton = SelectCloseButton;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_native_1 = require("react-native");
|
|
6
|
-
|
|
7
|
-
function SelectCloseButton({ onPress }) {
|
|
8
|
-
|
|
9
|
-
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", hitSlop: 8, onPress: onPress, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: text }], children: "Cancel" }) }));
|
|
6
|
+
/** Default Select sheet close: filled disc + contrasting cross. */
|
|
7
|
+
function SelectCloseButton({ onPress, backgroundColor = "#111111", iconColor = "#FFFFFF", }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityLabel: "Close", accessibilityRole: "button", hitSlop: 8, onPress: onPress, style: [styles.disc, { backgroundColor }], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.discX, { color: iconColor }], children: "\u00D7" }) }));
|
|
10
9
|
}
|
|
11
10
|
const styles = react_native_1.StyleSheet.create({
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
disc: {
|
|
12
|
+
width: 28,
|
|
13
|
+
height: 28,
|
|
14
|
+
borderRadius: 14,
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
justifyContent: "center",
|
|
17
|
+
},
|
|
18
|
+
discX: {
|
|
19
|
+
fontSize: 20,
|
|
14
20
|
fontWeight: "600",
|
|
21
|
+
lineHeight: 22,
|
|
22
|
+
marginTop: -1,
|
|
15
23
|
},
|
|
16
24
|
});
|
|
17
25
|
//# sourceMappingURL=SelectCloseButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCloseButton.js","sourceRoot":"","sources":["../../../src/components/Select/SelectCloseButton.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SelectCloseButton.js","sourceRoot":"","sources":["../../../src/components/Select/SelectCloseButton.tsx"],"names":[],"mappings":";;AAWA,8CAgBC;;AA3BD,+CAA2D;AAU3D,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,eAAe,GAAG,SAAS,EAC3B,SAAS,GAAG,SAAS,GACE;IACvB,OAAO,CACL,uBAAC,wBAAS,IACR,kBAAkB,EAAC,OAAO,EAC1B,iBAAiB,EAAC,QAAQ,EAC1B,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,YAEzC,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,uBAAU,GACjD,CACb,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC,CAAC;KACd;CACF,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Select } from "./Select";
|
|
2
2
|
export { SelectCloseButton } from "./SelectCloseButton";
|
|
3
|
-
export { DEFAULT_SELECT_DETENTS, DEFAULT_SELECT_INITIAL_DETENT, resolveSelectDetentIndex, } from "./resolveSelectDetentIndex";
|
|
4
|
-
export { SELECT_THEME_ROLES, type SelectThemeColorProp } from "./selectThemeRoles";
|
|
5
|
-
export type { SelectCloseButton as
|
|
3
|
+
export { DEFAULT_SELECT_DETENTS, DEFAULT_SELECT_INITIAL_DETENT, detentsToSnapPoints, resolveSelectDetentIndex, } from "./resolveSelectDetentIndex";
|
|
4
|
+
export { SELECT_THEME_ROLES, type SelectThemeColorProp, } from "./selectThemeRoles";
|
|
5
|
+
export type { SelectCloseButton as SelectCloseButtonSlot, SelectOption, SelectProps, } from "./types";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,IAAI,qBAAqB,EAC1C,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SELECT_THEME_ROLES = exports.resolveSelectDetentIndex = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SelectCloseButton = exports.Select = void 0;
|
|
3
|
+
exports.SELECT_THEME_ROLES = exports.resolveSelectDetentIndex = exports.detentsToSnapPoints = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SelectCloseButton = exports.Select = void 0;
|
|
4
4
|
var Select_1 = require("./Select");
|
|
5
5
|
Object.defineProperty(exports, "Select", { enumerable: true, get: function () { return Select_1.Select; } });
|
|
6
6
|
var SelectCloseButton_1 = require("./SelectCloseButton");
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "SelectCloseButton", { enumerable: true, get: fun
|
|
|
8
8
|
var resolveSelectDetentIndex_1 = require("./resolveSelectDetentIndex");
|
|
9
9
|
Object.defineProperty(exports, "DEFAULT_SELECT_DETENTS", { enumerable: true, get: function () { return resolveSelectDetentIndex_1.DEFAULT_SELECT_DETENTS; } });
|
|
10
10
|
Object.defineProperty(exports, "DEFAULT_SELECT_INITIAL_DETENT", { enumerable: true, get: function () { return resolveSelectDetentIndex_1.DEFAULT_SELECT_INITIAL_DETENT; } });
|
|
11
|
+
Object.defineProperty(exports, "detentsToSnapPoints", { enumerable: true, get: function () { return resolveSelectDetentIndex_1.detentsToSnapPoints; } });
|
|
11
12
|
Object.defineProperty(exports, "resolveSelectDetentIndex", { enumerable: true, get: function () { return resolveSelectDetentIndex_1.resolveSelectDetentIndex; } });
|
|
12
13
|
var selectThemeRoles_1 = require("./selectThemeRoles");
|
|
13
14
|
Object.defineProperty(exports, "SELECT_THEME_ROLES", { enumerable: true, get: function () { return selectThemeRoles_1.SELECT_THEME_ROLES; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,uEAKoC;AAJlC,kIAAA,sBAAsB,OAAA;AACtB,yIAAA,6BAA6B,OAAA;AAC7B,+HAAA,mBAAmB,OAAA;AACnB,oIAAA,wBAAwB,OAAA;AAE1B,uDAG4B;AAF1B,sHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form scroll views use `keyboardShouldPersistTaps="handled"`, so tapping
|
|
3
|
+
* Select does not dismiss the keyboard. The sheet is portaled under the
|
|
4
|
+
* keyboard window, so it must open only after the keyboard has fully hidden.
|
|
5
|
+
*/
|
|
6
|
+
export declare function presentSelectSheet(dismissKeyboard: () => Promise<void>, present: () => void): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=presentSelectSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentSelectSheet.d.ts","sourceRoot":"","sources":["../../../src/components/Select/presentSelectSheet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,MAAM,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.presentSelectSheet = presentSelectSheet;
|
|
4
|
+
/**
|
|
5
|
+
* Form scroll views use `keyboardShouldPersistTaps="handled"`, so tapping
|
|
6
|
+
* Select does not dismiss the keyboard. The sheet is portaled under the
|
|
7
|
+
* keyboard window, so it must open only after the keyboard has fully hidden.
|
|
8
|
+
*/
|
|
9
|
+
function presentSelectSheet(dismissKeyboard, present) {
|
|
10
|
+
return dismissKeyboard().then(() => {
|
|
11
|
+
present();
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=presentSelectSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentSelectSheet.js","sourceRoot":"","sources":["../../../src/components/Select/presentSelectSheet.ts"],"names":[],"mappings":";;AAKA,gDAOC;AAZD;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,eAAoC,EACpC,OAAmB;IAEnB,OAAO,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -6,4 +6,6 @@ export declare const DEFAULT_SELECT_INITIAL_DETENT = 0.5;
|
|
|
6
6
|
* Falls back to 0 when `initial` is missing from `detents`.
|
|
7
7
|
*/
|
|
8
8
|
export declare function resolveSelectDetentIndex(detents: readonly number[], initial: number): number;
|
|
9
|
+
/** Convert detent fractions (0–1) to Gorhom snap-point percentage strings. */
|
|
10
|
+
export declare function detentsToSnapPoints(detents: readonly number[]): string[];
|
|
9
11
|
//# sourceMappingURL=resolveSelectDetentIndex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSelectDetentIndex.d.ts","sourceRoot":"","sources":["../../../src/components/Select/resolveSelectDetentIndex.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,4BAA6B,CAAC;AAEjE,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAGR"}
|
|
1
|
+
{"version":3,"file":"resolveSelectDetentIndex.d.ts","sourceRoot":"","sources":["../../../src/components/Select/resolveSelectDetentIndex.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,4BAA6B,CAAC;AAEjE,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAExE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = void 0;
|
|
4
4
|
exports.resolveSelectDetentIndex = resolveSelectDetentIndex;
|
|
5
|
+
exports.detentsToSnapPoints = detentsToSnapPoints;
|
|
5
6
|
/** Default sheet heights: quarter, half, three-quarter. */
|
|
6
7
|
exports.DEFAULT_SELECT_DETENTS = [0.25, 0.5, 0.75];
|
|
7
8
|
exports.DEFAULT_SELECT_INITIAL_DETENT = 0.5;
|
|
@@ -13,4 +14,8 @@ function resolveSelectDetentIndex(detents, initial) {
|
|
|
13
14
|
const index = detents.indexOf(initial);
|
|
14
15
|
return index >= 0 ? index : 0;
|
|
15
16
|
}
|
|
17
|
+
/** Convert detent fractions (0–1) to Gorhom snap-point percentage strings. */
|
|
18
|
+
function detentsToSnapPoints(detents) {
|
|
19
|
+
return detents.map((detent) => `${Math.round(detent * 100)}%`);
|
|
20
|
+
}
|
|
16
21
|
//# sourceMappingURL=resolveSelectDetentIndex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSelectDetentIndex.js","sourceRoot":"","sources":["../../../src/components/Select/resolveSelectDetentIndex.ts"],"names":[],"mappings":";;;AASA,4DAMC;
|
|
1
|
+
{"version":3,"file":"resolveSelectDetentIndex.js","sourceRoot":"","sources":["../../../src/components/Select/resolveSelectDetentIndex.ts"],"names":[],"mappings":";;;AASA,4DAMC;AAGD,kDAEC;AApBD,2DAA2D;AAC9C,QAAA,sBAAsB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAU,CAAC;AAEpD,QAAA,6BAA6B,GAAG,GAAG,CAAC;AAEjD;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,OAA0B,EAC1B,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,SAAgB,mBAAmB,CAAC,OAA0B;IAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -6,7 +6,7 @@ export declare const SELECT_THEME_ROLES: {
|
|
|
6
6
|
readonly descriptionColor: "fieldDescription";
|
|
7
7
|
readonly borderColor: "fieldBorder";
|
|
8
8
|
readonly errorColor: "fieldError";
|
|
9
|
-
readonly selectedColor: "
|
|
9
|
+
readonly selectedColor: "fieldSelectSelected";
|
|
10
10
|
};
|
|
11
11
|
export type SelectThemeColorProp = keyof typeof SELECT_THEME_ROLES;
|
|
12
12
|
//# sourceMappingURL=selectThemeRoles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectThemeRoles.js","sourceRoot":"","sources":["../../../src/components/Select/selectThemeRoles.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"selectThemeRoles.js","sourceRoot":"","sources":["../../../src/components/Select/selectThemeRoles.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,qBAAqB;CAC5B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ForwardRefExoticComponent, ReactNode, RefAttributes } from "react";
|
|
2
|
+
import type { TrueSheet, TrueSheetProps } from "@lodev09/react-native-true-sheet";
|
|
3
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
4
|
+
export declare const ReanimatedTrueSheet: ForwardRefExoticComponent<TrueSheetProps & RefAttributes<TrueSheet>>;
|
|
5
|
+
export declare const ReanimatedTrueSheetProvider: (props: {
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
export declare const useReanimatedTrueSheet: () => {
|
|
9
|
+
animatedPosition: SharedValue<number>;
|
|
10
|
+
animatedIndex: SharedValue<number>;
|
|
11
|
+
animatedDetent: SharedValue<number>;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=trueSheetReanimated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trueSheetReanimated.d.ts","sourceRoot":"","sources":["../../../src/components/Select/trueSheetReanimated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAuB3D,eAAO,MAAM,mBAAmB,sEAA0B,CAAC;AAC3D,eAAO,MAAM,2BAA2B,UAlBD;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,SAkBM,CAAC;AAC3E,eAAO,MAAM,sBAAsB,QAlBH;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAewB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useReanimatedTrueSheet = exports.ReanimatedTrueSheetProvider = exports.ReanimatedTrueSheet = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Subpath `@lodev09/react-native-true-sheet/reanimated` is resolved by Metro
|
|
6
|
+
* via package exports; TypeScript `moduleResolution: "node"` cannot see it.
|
|
7
|
+
* Runtime require matches the truesheet-usage Reanimated guide.
|
|
8
|
+
*/
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
10
|
+
const mod = require("@lodev09/react-native-true-sheet/reanimated");
|
|
11
|
+
exports.ReanimatedTrueSheet = mod.ReanimatedTrueSheet;
|
|
12
|
+
exports.ReanimatedTrueSheetProvider = mod.ReanimatedTrueSheetProvider;
|
|
13
|
+
exports.useReanimatedTrueSheet = mod.useReanimatedTrueSheet;
|
|
14
|
+
//# sourceMappingURL=trueSheetReanimated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trueSheetReanimated.js","sourceRoot":"","sources":["../../../src/components/Select/trueSheetReanimated.ts"],"names":[],"mappings":";;;AAgBA;;;;GAIG;AACH,iEAAiE;AACjE,MAAM,GAAG,GACP,OAAO,CAAC,6CAA6C,CAA8B,CAAC;AAEzE,QAAA,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,CAAC;AAC9C,QAAA,2BAA2B,GAAG,GAAG,CAAC,2BAA2B,CAAC;AAC9D,QAAA,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC"}
|
|
@@ -16,9 +16,11 @@ export type SelectProps = {
|
|
|
16
16
|
description?: string;
|
|
17
17
|
error?: string;
|
|
18
18
|
sheetTitle?: string;
|
|
19
|
-
/**
|
|
19
|
+
/** DiscClose by default. Pass `(dismiss) => <YourClose onPress={dismiss} />` to override. */
|
|
20
20
|
closeButton?: SelectCloseButton;
|
|
21
|
+
/** Detent fractions 0–1. Largest value caps sheet height (content-sized up to that max). Default `[0.25, 0.5, 0.75]`. */
|
|
21
22
|
detents?: number[];
|
|
23
|
+
/** @deprecated Ignored — sheet opens at content height (capped by `detents`). */
|
|
22
24
|
initialDetent?: number;
|
|
23
25
|
radius?: ButtonRadius;
|
|
24
26
|
editable?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,yHAAyH;IACzH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SliderProps } from "./types";
|
|
2
|
+
export declare function Slider({ value, onChange, minimumValue, maximumValue, step, label, formatValue, disabled, labelColor: labelColorProp, valueColor: valueColorProp, highlightColor: highlightColorProp, trackColor: trackColorProp, style, }: SliderProps): import("react").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,WAAoB,EACpB,QAAgB,EAChB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACN,EAAE,WAAW,+BAgDb"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Slider = Slider;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_native_1 = require("react-native");
|
|
9
|
+
const slider_1 = __importDefault(require("@react-native-community/slider"));
|
|
10
|
+
const useResolvedFieldColor_1 = require("../Field/useResolvedFieldColor");
|
|
11
|
+
const sliderThemeRoles_1 = require("./sliderThemeRoles");
|
|
12
|
+
function Slider({ value, onChange, minimumValue, maximumValue, step, label, formatValue = String, disabled = false, labelColor: labelColorProp, valueColor: valueColorProp, highlightColor: highlightColorProp, trackColor: trackColorProp, style, }) {
|
|
13
|
+
const labelColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(labelColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.labelColor);
|
|
14
|
+
const valueColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(valueColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.valueColor);
|
|
15
|
+
const highlightColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(highlightColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.highlightColor);
|
|
16
|
+
const trackColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(trackColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.trackColor);
|
|
17
|
+
const display = formatValue(value);
|
|
18
|
+
const accessibilityLabel = label ? `${label}. ${display}` : display;
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.column, disabled && styles.blocked, style], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [label ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: labelColor, flex: 1 }], children: label })) : ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 } })), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.value, { color: valueColor }], children: display })] }), (0, jsx_runtime_1.jsx)(slider_1.default, { accessibilityLabel: accessibilityLabel, disabled: disabled, maximumTrackTintColor: trackColor, maximumValue: maximumValue, minimumTrackTintColor: highlightColor, minimumValue: minimumValue, onValueChange: onChange, step: step, style: styles.track, thumbTintColor: highlightColor, value: value })] }));
|
|
20
|
+
}
|
|
21
|
+
const styles = react_native_1.StyleSheet.create({
|
|
22
|
+
column: {
|
|
23
|
+
width: "100%",
|
|
24
|
+
gap: 6,
|
|
25
|
+
},
|
|
26
|
+
blocked: {
|
|
27
|
+
opacity: 0.4,
|
|
28
|
+
},
|
|
29
|
+
header: {
|
|
30
|
+
flexDirection: "row",
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
gap: 12,
|
|
33
|
+
},
|
|
34
|
+
label: {
|
|
35
|
+
fontSize: 13,
|
|
36
|
+
fontWeight: "600",
|
|
37
|
+
},
|
|
38
|
+
value: {
|
|
39
|
+
fontSize: 17,
|
|
40
|
+
},
|
|
41
|
+
track: {
|
|
42
|
+
width: "100%",
|
|
43
|
+
height: 40,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":";;;;;AAMA,wBA8DC;;AApED,+CAAsD;AACtD,4EAA6D;AAC7D,0EAAuE;AACvE,yDAAwD;AAGxD,SAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,WAAW,GAAG,MAAM,EACpB,QAAQ,GAAG,KAAK,EAChB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACO;IACZ,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,6CAAqB,EAC1C,kBAAkB,EAClB,qCAAkB,CAAC,cAAc,CAClC,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpE,OAAO,CACL,wBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,aAC7D,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aACvB,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,YACxD,KAAK,GACD,CACR,CAAC,CAAC,CAAC,CACF,uBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,CAC7B,EACD,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,YAAG,OAAO,GAAQ,IAC/D,EACP,uBAAC,gBAAe,IACd,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,UAAU,EACjC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,cAAc,EACrC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,GACZ,IACG,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,OAAO,EAAE,GAAG;KACb;IACD,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;KACR;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,EAAE;KACX;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|