@indra-inter/neobrutalism-components 0.1.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 +1330 -0
- package/dist/module/assets/avatar-profile.png +0 -0
- package/dist/module/components/accordion/accordion.js +203 -0
- package/dist/module/components/accordion/accordion.js.map +1 -0
- package/dist/module/components/app-bar/app-bar.js +140 -0
- package/dist/module/components/app-bar/app-bar.js.map +1 -0
- package/dist/module/components/avatar/avatar.js +184 -0
- package/dist/module/components/avatar/avatar.js.map +1 -0
- package/dist/module/components/badge/badge.js +133 -0
- package/dist/module/components/badge/badge.js.map +1 -0
- package/dist/module/components/bottom-navigation/bottom-navigation.js +166 -0
- package/dist/module/components/bottom-navigation/bottom-navigation.js.map +1 -0
- package/dist/module/components/bottom-sheet/bottom-sheet.js +285 -0
- package/dist/module/components/bottom-sheet/bottom-sheet.js.map +1 -0
- package/dist/module/components/button/button.js +253 -0
- package/dist/module/components/button/button.js.map +1 -0
- package/dist/module/components/calendar/calendar.js +458 -0
- package/dist/module/components/calendar/calendar.js.map +1 -0
- package/dist/module/components/call-item/call-item.js +128 -0
- package/dist/module/components/call-item/call-item.js.map +1 -0
- package/dist/module/components/card/card.js +189 -0
- package/dist/module/components/card/card.js.map +1 -0
- package/dist/module/components/chat-list-item/chat-list-item.js +212 -0
- package/dist/module/components/chat-list-item/chat-list-item.js.map +1 -0
- package/dist/module/components/checkbox/checkbox.js +141 -0
- package/dist/module/components/checkbox/checkbox.js.map +1 -0
- package/dist/module/components/dialog/dialog.js +342 -0
- package/dist/module/components/dialog/dialog.js.map +1 -0
- package/dist/module/components/divider/divider.js +41 -0
- package/dist/module/components/divider/divider.js.map +1 -0
- package/dist/module/components/dropdown/dropdown-menu.js +214 -0
- package/dist/module/components/dropdown/dropdown-menu.js.map +1 -0
- package/dist/module/components/dropdown/dropdown.js +616 -0
- package/dist/module/components/dropdown/dropdown.js.map +1 -0
- package/dist/module/components/dropdown/types.js +4 -0
- package/dist/module/components/dropdown/types.js.map +1 -0
- package/dist/module/components/icon-button/icon-button.js +140 -0
- package/dist/module/components/icon-button/icon-button.js.map +1 -0
- package/dist/module/components/input/currency-input.js +60 -0
- package/dist/module/components/input/currency-input.js.map +1 -0
- package/dist/module/components/input/input.js +281 -0
- package/dist/module/components/input/input.js.map +1 -0
- package/dist/module/components/input/otp-input.js +196 -0
- package/dist/module/components/input/otp-input.js.map +1 -0
- package/dist/module/components/input/password-input.js +74 -0
- package/dist/module/components/input/password-input.js.map +1 -0
- package/dist/module/components/input/phone-input.js +68 -0
- package/dist/module/components/input/phone-input.js.map +1 -0
- package/dist/module/components/input/url-input.js +43 -0
- package/dist/module/components/input/url-input.js.map +1 -0
- package/dist/module/components/list-item/list-item.js +148 -0
- package/dist/module/components/list-item/list-item.js.map +1 -0
- package/dist/module/components/pin-code-field/pin-code-field.js +164 -0
- package/dist/module/components/pin-code-field/pin-code-field.js.map +1 -0
- package/dist/module/components/progress/progress.js +261 -0
- package/dist/module/components/progress/progress.js.map +1 -0
- package/dist/module/components/radio/radio.js +135 -0
- package/dist/module/components/radio/radio.js.map +1 -0
- package/dist/module/components/skeleton/skeleton.js +328 -0
- package/dist/module/components/skeleton/skeleton.js.map +1 -0
- package/dist/module/components/switch/switch.js +170 -0
- package/dist/module/components/switch/switch.js.map +1 -0
- package/dist/module/components/tabs/tabs.js +197 -0
- package/dist/module/components/tabs/tabs.js.map +1 -0
- package/dist/module/components/toast/toast-provider.js +117 -0
- package/dist/module/components/toast/toast-provider.js.map +1 -0
- package/dist/module/components/toast/toast.js +154 -0
- package/dist/module/components/toast/toast.js.map +1 -0
- package/dist/module/index.js +38 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/theme/design-tokens.generated.js +379 -0
- package/dist/module/theme/design-tokens.generated.js.map +1 -0
- package/dist/module/theme/theme-provider.js +20 -0
- package/dist/module/theme/theme-provider.js.map +1 -0
- package/dist/module/theme/theme.js +56 -0
- package/dist/module/theme/theme.js.map +1 -0
- package/dist/typescript/components/accordion/accordion.d.ts +40 -0
- package/dist/typescript/components/accordion/accordion.d.ts.map +1 -0
- package/dist/typescript/components/app-bar/app-bar.d.ts +34 -0
- package/dist/typescript/components/app-bar/app-bar.d.ts.map +1 -0
- package/dist/typescript/components/avatar/avatar.d.ts +17 -0
- package/dist/typescript/components/avatar/avatar.d.ts.map +1 -0
- package/dist/typescript/components/badge/badge.d.ts +20 -0
- package/dist/typescript/components/badge/badge.d.ts.map +1 -0
- package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts +28 -0
- package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts.map +1 -0
- package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts +38 -0
- package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts.map +1 -0
- package/dist/typescript/components/button/button.d.ts +21 -0
- package/dist/typescript/components/button/button.d.ts.map +1 -0
- package/dist/typescript/components/calendar/calendar.d.ts +41 -0
- package/dist/typescript/components/calendar/calendar.d.ts.map +1 -0
- package/dist/typescript/components/call-item/call-item.d.ts +21 -0
- package/dist/typescript/components/call-item/call-item.d.ts.map +1 -0
- package/dist/typescript/components/card/card.d.ts +37 -0
- package/dist/typescript/components/card/card.d.ts.map +1 -0
- package/dist/typescript/components/chat-list-item/chat-list-item.d.ts +37 -0
- package/dist/typescript/components/chat-list-item/chat-list-item.d.ts.map +1 -0
- package/dist/typescript/components/checkbox/checkbox.d.ts +15 -0
- package/dist/typescript/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/typescript/components/dialog/dialog.d.ts +34 -0
- package/dist/typescript/components/dialog/dialog.d.ts.map +1 -0
- package/dist/typescript/components/divider/divider.d.ts +10 -0
- package/dist/typescript/components/divider/divider.d.ts.map +1 -0
- package/dist/typescript/components/dropdown/dropdown-menu.d.ts +27 -0
- package/dist/typescript/components/dropdown/dropdown-menu.d.ts.map +1 -0
- package/dist/typescript/components/dropdown/dropdown.d.ts +4 -0
- package/dist/typescript/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/typescript/components/dropdown/types.d.ts +52 -0
- package/dist/typescript/components/dropdown/types.d.ts.map +1 -0
- package/dist/typescript/components/icon-button/icon-button.d.ts +20 -0
- package/dist/typescript/components/icon-button/icon-button.d.ts.map +1 -0
- package/dist/typescript/components/input/currency-input.d.ts +10 -0
- package/dist/typescript/components/input/currency-input.d.ts.map +1 -0
- package/dist/typescript/components/input/input.d.ts +32 -0
- package/dist/typescript/components/input/input.d.ts.map +1 -0
- package/dist/typescript/components/input/otp-input.d.ts +23 -0
- package/dist/typescript/components/input/otp-input.d.ts.map +1 -0
- package/dist/typescript/components/input/password-input.d.ts +14 -0
- package/dist/typescript/components/input/password-input.d.ts.map +1 -0
- package/dist/typescript/components/input/phone-input.d.ts +13 -0
- package/dist/typescript/components/input/phone-input.d.ts.map +1 -0
- package/dist/typescript/components/input/url-input.d.ts +10 -0
- package/dist/typescript/components/input/url-input.d.ts.map +1 -0
- package/dist/typescript/components/list-item/list-item.d.ts +30 -0
- package/dist/typescript/components/list-item/list-item.d.ts.map +1 -0
- package/dist/typescript/components/pin-code-field/pin-code-field.d.ts +25 -0
- package/dist/typescript/components/pin-code-field/pin-code-field.d.ts.map +1 -0
- package/dist/typescript/components/progress/progress.d.ts +18 -0
- package/dist/typescript/components/progress/progress.d.ts.map +1 -0
- package/dist/typescript/components/radio/radio.d.ts +12 -0
- package/dist/typescript/components/radio/radio.d.ts.map +1 -0
- package/dist/typescript/components/skeleton/skeleton.d.ts +16 -0
- package/dist/typescript/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/typescript/components/switch/switch.d.ts +12 -0
- package/dist/typescript/components/switch/switch.d.ts.map +1 -0
- package/dist/typescript/components/tabs/tabs.d.ts +37 -0
- package/dist/typescript/components/tabs/tabs.d.ts.map +1 -0
- package/dist/typescript/components/toast/toast-provider.d.ts +22 -0
- package/dist/typescript/components/toast/toast-provider.d.ts.map +1 -0
- package/dist/typescript/components/toast/toast.d.ts +15 -0
- package/dist/typescript/components/toast/toast.d.ts.map +1 -0
- package/dist/typescript/index.d.ts +36 -0
- package/dist/typescript/index.d.ts.map +1 -0
- package/dist/typescript/package.json +1 -0
- package/dist/typescript/theme/design-tokens.generated.d.ts +375 -0
- package/dist/typescript/theme/design-tokens.generated.d.ts.map +1 -0
- package/dist/typescript/theme/theme-provider.d.ts +8 -0
- package/dist/typescript/theme/theme-provider.d.ts.map +1 -0
- package/dist/typescript/theme/theme.d.ts +52 -0
- package/dist/typescript/theme/theme.d.ts.map +1 -0
- package/package.json +88 -0
- package/tokens.css +132 -0
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
4
|
+
import { Platform, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
5
|
+
import * as PopoverPrimitive from '@rn-primitives/popover';
|
|
6
|
+
import * as SelectPrimitive from '@rn-primitives/select';
|
|
7
|
+
import { ChevronDown, ChevronUp } from 'lucide-react-native';
|
|
8
|
+
import { Badge } from "../badge/badge.js";
|
|
9
|
+
import { Checkbox } from "../checkbox/checkbox.js";
|
|
10
|
+
import { Input } from "../input/input.js";
|
|
11
|
+
import { useTheme } from "../../theme/theme-provider.js";
|
|
12
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export function Dropdown(props) {
|
|
14
|
+
if (props.type === 'multi-select') {
|
|
15
|
+
return /*#__PURE__*/_jsx(MultiSelectDropdown, {
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return /*#__PURE__*/_jsx(SingleDropdown, {
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function SingleDropdown(props) {
|
|
24
|
+
const {
|
|
25
|
+
accessibilityLabel,
|
|
26
|
+
defaultValue,
|
|
27
|
+
emptyText = 'No options found.',
|
|
28
|
+
getOptionSearchText,
|
|
29
|
+
onValueChange,
|
|
30
|
+
placeholder = 'Select an option',
|
|
31
|
+
renderOption,
|
|
32
|
+
renderValue,
|
|
33
|
+
showSelectedLeading = false,
|
|
34
|
+
type = 'single',
|
|
35
|
+
value: valueProp
|
|
36
|
+
} = props;
|
|
37
|
+
const [search, setSearch] = useState('');
|
|
38
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
39
|
+
const [triggerWidth, setTriggerWidth] = useState(0);
|
|
40
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
|
|
41
|
+
const theme = useTheme();
|
|
42
|
+
const styles = createStyles(theme);
|
|
43
|
+
const value = valueProp ?? uncontrolledValue;
|
|
44
|
+
const deduplicatedOptions = useMemo(() => dedupeOptions(normalizeOptions(props)), [props]);
|
|
45
|
+
const selectedOption = deduplicatedOptions.find(option => option.value === value);
|
|
46
|
+
const visibleOptions = useMemo(() => {
|
|
47
|
+
if (type !== 'searchable' || search.trim().length === 0) {
|
|
48
|
+
return deduplicatedOptions;
|
|
49
|
+
}
|
|
50
|
+
const query = search.trim().toLocaleLowerCase();
|
|
51
|
+
return deduplicatedOptions.filter(option => (option.searchText ?? option.label).toLocaleLowerCase().includes(query));
|
|
52
|
+
}, [deduplicatedOptions, getOptionSearchText, search, type]);
|
|
53
|
+
const groups = useMemo(() => groupOptions(visibleOptions), [visibleOptions]);
|
|
54
|
+
const usesAndroidHardShadow = Platform.OS === 'android';
|
|
55
|
+
const TriggerChevron = isOpen ? ChevronUp : ChevronDown;
|
|
56
|
+
return /*#__PURE__*/_jsxs(SelectPrimitive.Root, {
|
|
57
|
+
defaultValue: toPrimitiveOption(defaultValue, deduplicatedOptions),
|
|
58
|
+
onOpenChange: open => {
|
|
59
|
+
setIsOpen(open);
|
|
60
|
+
if (!open) {
|
|
61
|
+
setSearch('');
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
onValueChange: option => {
|
|
65
|
+
const nextValue = option?.value;
|
|
66
|
+
if (valueProp === undefined) {
|
|
67
|
+
setUncontrolledValue(nextValue);
|
|
68
|
+
}
|
|
69
|
+
onValueChange?.(nextValue);
|
|
70
|
+
},
|
|
71
|
+
value: toPrimitiveOption(value, deduplicatedOptions),
|
|
72
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
73
|
+
style: usesAndroidHardShadow && styles.androidShadowContainer,
|
|
74
|
+
children: [usesAndroidHardShadow ? /*#__PURE__*/_jsx(View, {
|
|
75
|
+
pointerEvents: "none",
|
|
76
|
+
style: styles.androidHardShadow,
|
|
77
|
+
testID: "dropdown-hard-shadow"
|
|
78
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
79
|
+
onLayout: ({
|
|
80
|
+
nativeEvent
|
|
81
|
+
}) => setTriggerWidth(nativeEvent.layout.width),
|
|
82
|
+
testID: "dropdown-trigger-measure",
|
|
83
|
+
children: /*#__PURE__*/_jsxs(SelectPrimitive.Trigger, {
|
|
84
|
+
accessibilityLabel: accessibilityLabel ?? placeholder,
|
|
85
|
+
style: [styles.trigger, !usesAndroidHardShadow && styles.iosShadow],
|
|
86
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
87
|
+
style: styles.triggerValue,
|
|
88
|
+
children: selectedOption && renderValue ? renderValue([selectedOption.item]) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
89
|
+
children: [showSelectedLeading && selectedOption?.leading ? /*#__PURE__*/_jsx(View, {
|
|
90
|
+
style: styles.leading,
|
|
91
|
+
children: selectedOption.leading
|
|
92
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
93
|
+
style: [styles.triggerText, !selectedOption && styles.placeholder],
|
|
94
|
+
children: selectedOption?.label ?? placeholder
|
|
95
|
+
})]
|
|
96
|
+
})
|
|
97
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
98
|
+
accessible: false,
|
|
99
|
+
pointerEvents: "none",
|
|
100
|
+
testID: isOpen ? 'dropdown-chevron-up' : 'dropdown-chevron-down',
|
|
101
|
+
children: /*#__PURE__*/_jsx(TriggerChevron, {
|
|
102
|
+
color: theme.colors.foreground,
|
|
103
|
+
size: 24,
|
|
104
|
+
strokeWidth: 2
|
|
105
|
+
})
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
})]
|
|
109
|
+
}), /*#__PURE__*/_jsxs(SelectPrimitive.Portal, {
|
|
110
|
+
children: [/*#__PURE__*/_jsx(SelectPrimitive.Overlay, {
|
|
111
|
+
closeOnPress: true,
|
|
112
|
+
style: styles.overlay,
|
|
113
|
+
testID: "dropdown-overlay"
|
|
114
|
+
}), /*#__PURE__*/_jsx(SelectPrimitive.Content, {
|
|
115
|
+
align: "start",
|
|
116
|
+
side: "bottom",
|
|
117
|
+
sideOffset: 6,
|
|
118
|
+
style: {
|
|
119
|
+
...styles.contentPosition,
|
|
120
|
+
...(triggerWidth > 0 ? {
|
|
121
|
+
width: triggerWidth
|
|
122
|
+
} : {})
|
|
123
|
+
},
|
|
124
|
+
testID: "dropdown-content",
|
|
125
|
+
children: /*#__PURE__*/_jsxs(DropdownContentSurface, {
|
|
126
|
+
usesAndroidHardShadow: usesAndroidHardShadow,
|
|
127
|
+
children: [type === 'searchable' ? /*#__PURE__*/_jsx(View, {
|
|
128
|
+
style: styles.searchContainer,
|
|
129
|
+
testID: "dropdown-search-container",
|
|
130
|
+
children: /*#__PURE__*/_jsx(Input, {
|
|
131
|
+
accessibilityLabel: "Search options",
|
|
132
|
+
onChangeText: setSearch,
|
|
133
|
+
placeholder: "Search...",
|
|
134
|
+
value: search
|
|
135
|
+
})
|
|
136
|
+
}) : null, /*#__PURE__*/_jsx(SelectPrimitive.Viewport, {
|
|
137
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
138
|
+
bounces: false,
|
|
139
|
+
style: styles.viewport,
|
|
140
|
+
children: visibleOptions.length === 0 ? /*#__PURE__*/_jsx(Text, {
|
|
141
|
+
style: styles.emptyText,
|
|
142
|
+
children: emptyText
|
|
143
|
+
}) : groups.map((group, groupIndex) => {
|
|
144
|
+
const isFinalGroup = groupIndex === groups.length - 1;
|
|
145
|
+
return /*#__PURE__*/_jsxs(SelectPrimitive.Group, {
|
|
146
|
+
style: isFinalGroup ? styles.finalGroup : undefined,
|
|
147
|
+
testID: isFinalGroup ? 'dropdown-final-group' : undefined,
|
|
148
|
+
children: [group.label ? /*#__PURE__*/_jsx(SelectPrimitive.Label, {
|
|
149
|
+
style: styles.groupLabel,
|
|
150
|
+
children: group.label
|
|
151
|
+
}) : null, group.options.map((option, optionIndex) => {
|
|
152
|
+
const selected = option.value === value;
|
|
153
|
+
const isFinalOption = isFinalGroup && optionIndex === group.options.length - 1;
|
|
154
|
+
return /*#__PURE__*/_jsx(SelectPrimitive.Item, {
|
|
155
|
+
disabled: option.disabled,
|
|
156
|
+
label: option.label,
|
|
157
|
+
style: [styles.option, selected && styles.selectedOption, option.disabled && styles.disabledOption, isFinalOption && styles.finalOption],
|
|
158
|
+
value: option.value,
|
|
159
|
+
children: renderOption ? renderOption(option.item, {
|
|
160
|
+
selected
|
|
161
|
+
}) : /*#__PURE__*/_jsx(OptionContent, {
|
|
162
|
+
option: option,
|
|
163
|
+
selected: selected
|
|
164
|
+
})
|
|
165
|
+
}, option.value);
|
|
166
|
+
})]
|
|
167
|
+
}, group.key);
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
})]
|
|
171
|
+
})
|
|
172
|
+
})]
|
|
173
|
+
})]
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function OptionContent({
|
|
177
|
+
option,
|
|
178
|
+
selected
|
|
179
|
+
}) {
|
|
180
|
+
const styles = createStyles(useTheme());
|
|
181
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
182
|
+
style: styles.optionContent,
|
|
183
|
+
children: [option.leading ? /*#__PURE__*/_jsx(View, {
|
|
184
|
+
style: styles.leading,
|
|
185
|
+
children: option.leading
|
|
186
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
187
|
+
style: [styles.optionText, selected && styles.selectedOptionText, option.disabled && styles.disabledOptionText],
|
|
188
|
+
children: option.label
|
|
189
|
+
})]
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
function MultiSelectDropdown(props) {
|
|
193
|
+
const {
|
|
194
|
+
accessibilityLabel,
|
|
195
|
+
badgeRadius,
|
|
196
|
+
checkboxRadius,
|
|
197
|
+
defaultValue,
|
|
198
|
+
emptyText = 'No options found.',
|
|
199
|
+
onValueChange,
|
|
200
|
+
placeholder = 'Select options',
|
|
201
|
+
renderOption,
|
|
202
|
+
renderValue,
|
|
203
|
+
value: valueProp
|
|
204
|
+
} = props;
|
|
205
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? []);
|
|
206
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
207
|
+
const [triggerWidth, setTriggerWidth] = useState(0);
|
|
208
|
+
const theme = useTheme();
|
|
209
|
+
const styles = createStyles(theme);
|
|
210
|
+
const values = valueProp ?? uncontrolledValue;
|
|
211
|
+
const deduplicatedOptions = useMemo(() => dedupeOptions(normalizeOptions(props)), [props]);
|
|
212
|
+
const selectedOptions = deduplicatedOptions.filter(option => values.includes(option.value));
|
|
213
|
+
const groups = useMemo(() => groupOptions(deduplicatedOptions), [deduplicatedOptions]);
|
|
214
|
+
const usesAndroidHardShadow = Platform.OS === 'android';
|
|
215
|
+
const TriggerChevron = isOpen ? ChevronUp : ChevronDown;
|
|
216
|
+
const toggleValue = nextValue => {
|
|
217
|
+
const nextValues = values.includes(nextValue) ? values.filter(value => value !== nextValue) : [...values, nextValue];
|
|
218
|
+
if (valueProp === undefined) {
|
|
219
|
+
setUncontrolledValue(nextValues);
|
|
220
|
+
}
|
|
221
|
+
onValueChange?.(nextValues);
|
|
222
|
+
};
|
|
223
|
+
return /*#__PURE__*/_jsxs(PopoverPrimitive.Root, {
|
|
224
|
+
onOpenChange: setIsOpen,
|
|
225
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
226
|
+
style: usesAndroidHardShadow && styles.androidShadowContainer,
|
|
227
|
+
children: [usesAndroidHardShadow ? /*#__PURE__*/_jsx(View, {
|
|
228
|
+
pointerEvents: "none",
|
|
229
|
+
style: styles.androidHardShadow,
|
|
230
|
+
testID: "dropdown-hard-shadow"
|
|
231
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
232
|
+
onLayout: ({
|
|
233
|
+
nativeEvent
|
|
234
|
+
}) => setTriggerWidth(nativeEvent.layout.width),
|
|
235
|
+
testID: "dropdown-trigger-measure",
|
|
236
|
+
children: /*#__PURE__*/_jsxs(PopoverPrimitive.Trigger, {
|
|
237
|
+
accessibilityLabel: accessibilityLabel ?? placeholder,
|
|
238
|
+
accessibilityRole: "combobox",
|
|
239
|
+
style: [styles.trigger, !usesAndroidHardShadow && styles.iosShadow],
|
|
240
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
241
|
+
style: styles.multiTriggerValue,
|
|
242
|
+
children: selectedOptions.length > 0 && renderValue ? renderValue(selectedOptions.map(option => option.item)) : selectedOptions.length > 0 ? /*#__PURE__*/_jsx(SelectedValues, {
|
|
243
|
+
badgeRadius: badgeRadius,
|
|
244
|
+
options: selectedOptions
|
|
245
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
246
|
+
style: [styles.triggerText, styles.placeholder],
|
|
247
|
+
children: placeholder
|
|
248
|
+
})
|
|
249
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
250
|
+
accessible: false,
|
|
251
|
+
pointerEvents: "none",
|
|
252
|
+
testID: isOpen ? 'dropdown-chevron-up' : 'dropdown-chevron-down',
|
|
253
|
+
children: /*#__PURE__*/_jsx(TriggerChevron, {
|
|
254
|
+
color: theme.colors.foreground,
|
|
255
|
+
size: 24,
|
|
256
|
+
strokeWidth: 2
|
|
257
|
+
})
|
|
258
|
+
})]
|
|
259
|
+
})
|
|
260
|
+
})]
|
|
261
|
+
}), /*#__PURE__*/_jsxs(PopoverPrimitive.Portal, {
|
|
262
|
+
children: [/*#__PURE__*/_jsx(PopoverPrimitive.Overlay, {
|
|
263
|
+
closeOnPress: true,
|
|
264
|
+
style: styles.overlay,
|
|
265
|
+
testID: "dropdown-overlay"
|
|
266
|
+
}), /*#__PURE__*/_jsx(PopoverPrimitive.Content, {
|
|
267
|
+
align: "start",
|
|
268
|
+
side: "bottom",
|
|
269
|
+
sideOffset: 6,
|
|
270
|
+
style: {
|
|
271
|
+
...styles.contentPosition,
|
|
272
|
+
...(triggerWidth > 0 ? {
|
|
273
|
+
width: triggerWidth
|
|
274
|
+
} : {})
|
|
275
|
+
},
|
|
276
|
+
testID: "dropdown-content",
|
|
277
|
+
children: /*#__PURE__*/_jsx(DropdownContentSurface, {
|
|
278
|
+
usesAndroidHardShadow: usesAndroidHardShadow,
|
|
279
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
280
|
+
bounces: false,
|
|
281
|
+
style: styles.viewport,
|
|
282
|
+
children: deduplicatedOptions.length === 0 ? /*#__PURE__*/_jsx(Text, {
|
|
283
|
+
style: styles.emptyText,
|
|
284
|
+
children: emptyText
|
|
285
|
+
}) : groups.map((group, groupIndex) => {
|
|
286
|
+
const isFinalGroup = groupIndex === groups.length - 1;
|
|
287
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
288
|
+
style: isFinalGroup ? styles.finalGroup : undefined,
|
|
289
|
+
testID: isFinalGroup ? 'dropdown-final-group' : undefined,
|
|
290
|
+
children: [group.label ? /*#__PURE__*/_jsx(Text, {
|
|
291
|
+
style: styles.groupLabel,
|
|
292
|
+
children: group.label
|
|
293
|
+
}) : null, group.options.map((option, optionIndex) => {
|
|
294
|
+
const selected = values.includes(option.value);
|
|
295
|
+
const isFinalOption = isFinalGroup && optionIndex === group.options.length - 1;
|
|
296
|
+
return renderOption ? /*#__PURE__*/_jsx(Pressable, {
|
|
297
|
+
accessibilityLabel: option.label,
|
|
298
|
+
accessibilityRole: "checkbox",
|
|
299
|
+
accessibilityState: {
|
|
300
|
+
checked: selected,
|
|
301
|
+
disabled: option.disabled
|
|
302
|
+
},
|
|
303
|
+
disabled: option.disabled,
|
|
304
|
+
onPress: () => toggleValue(option.value),
|
|
305
|
+
style: [styles.multiOption, selected && styles.selectedOption, option.disabled && styles.disabledOption, isFinalOption && styles.finalOption],
|
|
306
|
+
children: renderOption(option.item, {
|
|
307
|
+
selected
|
|
308
|
+
})
|
|
309
|
+
}, option.value) : /*#__PURE__*/_jsx(Checkbox, {
|
|
310
|
+
checked: selected,
|
|
311
|
+
disabled: option.disabled,
|
|
312
|
+
label: option.label,
|
|
313
|
+
onValueChange: () => toggleValue(option.value),
|
|
314
|
+
radius: checkboxRadius,
|
|
315
|
+
style: [styles.multiOption, selected && styles.selectedOption, option.disabled && styles.disabledOption, isFinalOption && styles.finalOption]
|
|
316
|
+
}, option.value);
|
|
317
|
+
})]
|
|
318
|
+
}, group.key);
|
|
319
|
+
})
|
|
320
|
+
})
|
|
321
|
+
})
|
|
322
|
+
})]
|
|
323
|
+
})]
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
function DropdownContentSurface({
|
|
327
|
+
children,
|
|
328
|
+
usesAndroidHardShadow
|
|
329
|
+
}) {
|
|
330
|
+
const styles = createStyles(useTheme());
|
|
331
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
332
|
+
style: usesAndroidHardShadow ? styles.androidContentShadowContainer : styles.iosContentShadowContainer,
|
|
333
|
+
children: [usesAndroidHardShadow ? /*#__PURE__*/_jsx(View, {
|
|
334
|
+
pointerEvents: "none",
|
|
335
|
+
style: styles.androidContentHardShadow,
|
|
336
|
+
testID: "dropdown-content-hard-shadow"
|
|
337
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
338
|
+
style: styles.contentSurface,
|
|
339
|
+
testID: "dropdown-content-surface",
|
|
340
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
341
|
+
style: styles.menuSurface,
|
|
342
|
+
testID: "dropdown-menu-surface",
|
|
343
|
+
children: children
|
|
344
|
+
})
|
|
345
|
+
})]
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
function SelectedValues({
|
|
349
|
+
badgeRadius,
|
|
350
|
+
options
|
|
351
|
+
}) {
|
|
352
|
+
const styles = createStyles(useTheme());
|
|
353
|
+
const visibleOptions = options.slice(0, 2);
|
|
354
|
+
const remainingCount = options.length - visibleOptions.length;
|
|
355
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
356
|
+
style: styles.selectedValues,
|
|
357
|
+
children: [visibleOptions.map(option => /*#__PURE__*/_jsx(Badge, {
|
|
358
|
+
radius: badgeRadius,
|
|
359
|
+
size: "md",
|
|
360
|
+
type: "default",
|
|
361
|
+
children: option.label
|
|
362
|
+
}, option.value)), remainingCount > 0 ? /*#__PURE__*/_jsx(Text, {
|
|
363
|
+
style: styles.moreCount,
|
|
364
|
+
children: `+${remainingCount} more`
|
|
365
|
+
}) : null]
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
function normalizeOptions(props) {
|
|
369
|
+
if ('items' in props && props.items) {
|
|
370
|
+
return props.items.map(item => ({
|
|
371
|
+
disabled: props.getOptionDisabled?.(item),
|
|
372
|
+
group: props.getOptionGroup?.(item),
|
|
373
|
+
item,
|
|
374
|
+
label: props.getOptionLabel(item),
|
|
375
|
+
leading: props.renderLeading?.(item),
|
|
376
|
+
searchText: props.getOptionSearchText?.(item) ?? props.getOptionLabel(item),
|
|
377
|
+
value: props.getOptionValue(item)
|
|
378
|
+
}));
|
|
379
|
+
}
|
|
380
|
+
return props.options.map(option => ({
|
|
381
|
+
...option,
|
|
382
|
+
item: option,
|
|
383
|
+
leading: props.renderLeading?.(option) ?? option.leading,
|
|
384
|
+
searchText: props.getOptionSearchText?.(option) ?? option.label
|
|
385
|
+
}));
|
|
386
|
+
}
|
|
387
|
+
function dedupeOptions(options) {
|
|
388
|
+
const values = new Set();
|
|
389
|
+
return options.filter(option => {
|
|
390
|
+
if (values.has(option.value)) {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
values.add(option.value);
|
|
394
|
+
return true;
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
function groupOptions(options) {
|
|
398
|
+
const groups = [];
|
|
399
|
+
const byKey = new Map();
|
|
400
|
+
for (const option of options) {
|
|
401
|
+
const key = option.group ?? '__ungrouped__';
|
|
402
|
+
const group = byKey.get(key) ?? {
|
|
403
|
+
key,
|
|
404
|
+
label: option.group,
|
|
405
|
+
options: []
|
|
406
|
+
};
|
|
407
|
+
if (!byKey.has(key)) {
|
|
408
|
+
byKey.set(key, group);
|
|
409
|
+
groups.push(group);
|
|
410
|
+
}
|
|
411
|
+
group.options.push(option);
|
|
412
|
+
}
|
|
413
|
+
return groups;
|
|
414
|
+
}
|
|
415
|
+
function toPrimitiveOption(value, options) {
|
|
416
|
+
const option = options.find(item => item.value === value);
|
|
417
|
+
return option ? {
|
|
418
|
+
label: option.label,
|
|
419
|
+
value: option.value
|
|
420
|
+
} : undefined;
|
|
421
|
+
}
|
|
422
|
+
function createStyles(theme) {
|
|
423
|
+
return StyleSheet.create({
|
|
424
|
+
androidHardShadow: {
|
|
425
|
+
backgroundColor: theme.shadow.color,
|
|
426
|
+
borderRadius: theme.border.radius,
|
|
427
|
+
bottom: 0,
|
|
428
|
+
left: theme.shadow.offset,
|
|
429
|
+
position: 'absolute',
|
|
430
|
+
right: 0,
|
|
431
|
+
top: theme.shadow.offset
|
|
432
|
+
},
|
|
433
|
+
androidContentHardShadow: {
|
|
434
|
+
backgroundColor: theme.shadow.color,
|
|
435
|
+
borderRadius: theme.border.radius,
|
|
436
|
+
bottom: 0,
|
|
437
|
+
left: theme.shadow.offset,
|
|
438
|
+
position: 'absolute',
|
|
439
|
+
right: 0,
|
|
440
|
+
top: theme.shadow.offset
|
|
441
|
+
},
|
|
442
|
+
androidContentShadowContainer: {
|
|
443
|
+
paddingBottom: theme.shadow.offset,
|
|
444
|
+
paddingRight: theme.shadow.offset,
|
|
445
|
+
position: 'relative'
|
|
446
|
+
},
|
|
447
|
+
androidShadowContainer: {
|
|
448
|
+
paddingBottom: theme.shadow.offset,
|
|
449
|
+
paddingRight: theme.shadow.offset,
|
|
450
|
+
position: 'relative'
|
|
451
|
+
},
|
|
452
|
+
contentPosition: {
|
|
453
|
+
maxHeight: 320
|
|
454
|
+
},
|
|
455
|
+
contentSurface: {
|
|
456
|
+
backgroundColor: theme.colors.background,
|
|
457
|
+
borderColor: theme.border.color,
|
|
458
|
+
borderRadius: theme.border.radius,
|
|
459
|
+
borderWidth: theme.border.width,
|
|
460
|
+
maxHeight: 320
|
|
461
|
+
},
|
|
462
|
+
iosContentShadowContainer: {
|
|
463
|
+
marginBottom: theme.shadow.offset,
|
|
464
|
+
marginRight: theme.shadow.offset,
|
|
465
|
+
shadowColor: theme.shadow.color,
|
|
466
|
+
shadowOffset: {
|
|
467
|
+
height: theme.shadow.offset,
|
|
468
|
+
width: theme.shadow.offset
|
|
469
|
+
},
|
|
470
|
+
shadowOpacity: 1,
|
|
471
|
+
shadowRadius: 0
|
|
472
|
+
},
|
|
473
|
+
disabledOption: {
|
|
474
|
+
backgroundColor: theme.colors.disabled
|
|
475
|
+
},
|
|
476
|
+
disabledOptionText: {
|
|
477
|
+
color: theme.colors.mutedForeground
|
|
478
|
+
},
|
|
479
|
+
emptyText: {
|
|
480
|
+
color: theme.colors.mutedForeground,
|
|
481
|
+
fontSize: theme.typography.md,
|
|
482
|
+
lineHeight: 24,
|
|
483
|
+
paddingHorizontal: theme.spacing.md,
|
|
484
|
+
paddingVertical: theme.spacing.sm
|
|
485
|
+
},
|
|
486
|
+
finalGroup: {
|
|
487
|
+
borderBottomLeftRadius: Math.max(theme.border.radius - theme.border.width, 0),
|
|
488
|
+
borderBottomRightRadius: Math.max(theme.border.radius - theme.border.width, 0),
|
|
489
|
+
overflow: 'hidden'
|
|
490
|
+
},
|
|
491
|
+
finalOption: {
|
|
492
|
+
borderBottomLeftRadius: Math.max(theme.border.radius - theme.border.width, 0),
|
|
493
|
+
borderBottomRightRadius: Math.max(theme.border.radius - theme.border.width, 0),
|
|
494
|
+
overflow: 'hidden'
|
|
495
|
+
},
|
|
496
|
+
groupLabel: {
|
|
497
|
+
color: theme.colors.mutedForeground,
|
|
498
|
+
fontSize: theme.typography.xs,
|
|
499
|
+
lineHeight: theme.typography.xsLineHeight,
|
|
500
|
+
paddingHorizontal: theme.spacing.md,
|
|
501
|
+
paddingTop: 6,
|
|
502
|
+
textTransform: 'uppercase'
|
|
503
|
+
},
|
|
504
|
+
iosShadow: {
|
|
505
|
+
marginBottom: theme.shadow.offset,
|
|
506
|
+
marginRight: theme.shadow.offset,
|
|
507
|
+
shadowColor: theme.shadow.color,
|
|
508
|
+
shadowOffset: {
|
|
509
|
+
height: theme.shadow.offset,
|
|
510
|
+
width: theme.shadow.offset
|
|
511
|
+
},
|
|
512
|
+
shadowOpacity: 1,
|
|
513
|
+
shadowRadius: 0
|
|
514
|
+
},
|
|
515
|
+
leading: {
|
|
516
|
+
alignItems: 'center',
|
|
517
|
+
justifyContent: 'center'
|
|
518
|
+
},
|
|
519
|
+
multiOption: {
|
|
520
|
+
alignSelf: 'stretch',
|
|
521
|
+
borderBottomColor: theme.colors.semanticBorder,
|
|
522
|
+
borderBottomWidth: 1,
|
|
523
|
+
minHeight: 44,
|
|
524
|
+
paddingHorizontal: theme.spacing.md,
|
|
525
|
+
paddingVertical: theme.spacing.sm
|
|
526
|
+
},
|
|
527
|
+
menuSurface: {
|
|
528
|
+
borderRadius: Math.max(theme.border.radius - theme.border.width, 0),
|
|
529
|
+
overflow: 'hidden'
|
|
530
|
+
},
|
|
531
|
+
moreCount: {
|
|
532
|
+
color: theme.colors.foreground,
|
|
533
|
+
fontSize: theme.typography.xsSmall,
|
|
534
|
+
fontWeight: '700',
|
|
535
|
+
lineHeight: theme.typography.xsSmallLineHeight
|
|
536
|
+
},
|
|
537
|
+
multiTriggerValue: {
|
|
538
|
+
alignItems: 'center',
|
|
539
|
+
flex: 1,
|
|
540
|
+
flexDirection: 'row',
|
|
541
|
+
minWidth: 0
|
|
542
|
+
},
|
|
543
|
+
option: {
|
|
544
|
+
borderBottomColor: theme.colors.semanticBorder,
|
|
545
|
+
borderBottomWidth: 1,
|
|
546
|
+
paddingHorizontal: theme.spacing.md,
|
|
547
|
+
paddingVertical: theme.spacing.sm
|
|
548
|
+
},
|
|
549
|
+
optionContent: {
|
|
550
|
+
alignItems: 'center',
|
|
551
|
+
flexDirection: 'row',
|
|
552
|
+
gap: theme.spacing.xs
|
|
553
|
+
},
|
|
554
|
+
optionText: {
|
|
555
|
+
color: theme.colors.foreground,
|
|
556
|
+
fontSize: theme.typography.md,
|
|
557
|
+
lineHeight: 24
|
|
558
|
+
},
|
|
559
|
+
overlay: {
|
|
560
|
+
bottom: 0,
|
|
561
|
+
left: 0,
|
|
562
|
+
position: 'absolute',
|
|
563
|
+
right: 0,
|
|
564
|
+
top: 0
|
|
565
|
+
},
|
|
566
|
+
placeholder: {
|
|
567
|
+
color: theme.colors.mutedForeground
|
|
568
|
+
},
|
|
569
|
+
searchContainer: {
|
|
570
|
+
backgroundColor: theme.colors.accent,
|
|
571
|
+
borderBottomColor: theme.border.color,
|
|
572
|
+
borderBottomWidth: theme.border.width,
|
|
573
|
+
padding: theme.spacing.xs
|
|
574
|
+
},
|
|
575
|
+
selectedOption: {
|
|
576
|
+
backgroundColor: theme.colors.accent
|
|
577
|
+
},
|
|
578
|
+
selectedOptionText: {
|
|
579
|
+
fontWeight: theme.typography.weight
|
|
580
|
+
},
|
|
581
|
+
selectedValues: {
|
|
582
|
+
alignItems: 'center',
|
|
583
|
+
flexDirection: 'row',
|
|
584
|
+
flexShrink: 1,
|
|
585
|
+
gap: theme.spacing.xs,
|
|
586
|
+
minWidth: 0
|
|
587
|
+
},
|
|
588
|
+
trigger: {
|
|
589
|
+
alignItems: 'center',
|
|
590
|
+
backgroundColor: theme.colors.background,
|
|
591
|
+
borderColor: theme.border.color,
|
|
592
|
+
borderRadius: theme.border.radius,
|
|
593
|
+
borderWidth: theme.border.width,
|
|
594
|
+
flexDirection: 'row',
|
|
595
|
+
height: 55,
|
|
596
|
+
justifyContent: 'space-between',
|
|
597
|
+
paddingHorizontal: 18
|
|
598
|
+
},
|
|
599
|
+
triggerText: {
|
|
600
|
+
color: theme.colors.foreground,
|
|
601
|
+
fontSize: theme.typography.md,
|
|
602
|
+
lineHeight: 24
|
|
603
|
+
},
|
|
604
|
+
triggerValue: {
|
|
605
|
+
alignItems: 'center',
|
|
606
|
+
flex: 1,
|
|
607
|
+
flexDirection: 'row',
|
|
608
|
+
gap: theme.spacing.xs,
|
|
609
|
+
minWidth: 0
|
|
610
|
+
},
|
|
611
|
+
viewport: {
|
|
612
|
+
maxHeight: 320
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
}
|
|
616
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useState","Platform","Pressable","ScrollView","StyleSheet","Text","View","PopoverPrimitive","SelectPrimitive","ChevronDown","ChevronUp","Badge","Checkbox","Input","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Dropdown","props","type","MultiSelectDropdown","SingleDropdown","accessibilityLabel","defaultValue","emptyText","getOptionSearchText","onValueChange","placeholder","renderOption","renderValue","showSelectedLeading","value","valueProp","search","setSearch","isOpen","setIsOpen","triggerWidth","setTriggerWidth","uncontrolledValue","setUncontrolledValue","theme","styles","createStyles","deduplicatedOptions","dedupeOptions","normalizeOptions","selectedOption","find","option","visibleOptions","trim","length","query","toLocaleLowerCase","filter","searchText","label","includes","groups","groupOptions","usesAndroidHardShadow","OS","TriggerChevron","Root","toPrimitiveOption","onOpenChange","open","nextValue","undefined","children","style","androidShadowContainer","pointerEvents","androidHardShadow","testID","onLayout","nativeEvent","layout","width","Trigger","trigger","iosShadow","triggerValue","item","leading","triggerText","accessible","color","colors","foreground","size","strokeWidth","Portal","Overlay","closeOnPress","overlay","Content","align","side","sideOffset","contentPosition","DropdownContentSurface","searchContainer","onChangeText","Viewport","bounces","viewport","map","group","groupIndex","isFinalGroup","Group","finalGroup","Label","groupLabel","options","optionIndex","selected","isFinalOption","Item","disabled","disabledOption","finalOption","OptionContent","key","optionContent","optionText","selectedOptionText","disabledOptionText","badgeRadius","checkboxRadius","values","selectedOptions","toggleValue","nextValues","accessibilityRole","multiTriggerValue","SelectedValues","accessibilityState","checked","onPress","multiOption","radius","androidContentShadowContainer","iosContentShadowContainer","androidContentHardShadow","contentSurface","menuSurface","slice","remainingCount","selectedValues","moreCount","items","getOptionDisabled","getOptionGroup","getOptionLabel","renderLeading","getOptionValue","Set","has","add","byKey","Map","get","set","push","create","backgroundColor","shadow","borderRadius","border","bottom","left","offset","position","right","top","paddingBottom","paddingRight","maxHeight","background","borderColor","borderWidth","marginBottom","marginRight","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","mutedForeground","fontSize","typography","md","lineHeight","paddingHorizontal","spacing","paddingVertical","sm","borderBottomLeftRadius","Math","max","borderBottomRightRadius","overflow","xs","xsLineHeight","paddingTop","textTransform","alignItems","justifyContent","alignSelf","borderBottomColor","semanticBorder","borderBottomWidth","minHeight","xsSmall","fontWeight","xsSmallLineHeight","flex","flexDirection","minWidth","gap","accent","padding","weight","flexShrink"],"sourceRoot":"../../../../src","sources":["components/dropdown/dropdown.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/dropdown/types.ts"],"mappings":"","ignoreList":[]}
|