@wecareu/select 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 +165 -0
- package/lib/commonjs/Select.js +272 -0
- package/lib/commonjs/Select.js.map +1 -0
- package/lib/commonjs/Select.types.js +6 -0
- package/lib/commonjs/Select.types.js.map +1 -0
- package/lib/commonjs/SelectChip.js +74 -0
- package/lib/commonjs/SelectChip.js.map +1 -0
- package/lib/commonjs/SelectDropdown.js +156 -0
- package/lib/commonjs/SelectDropdown.js.map +1 -0
- package/lib/commonjs/SelectErrorMessage.js +32 -0
- package/lib/commonjs/SelectErrorMessage.js.map +1 -0
- package/lib/commonjs/SelectIcon.js +64 -0
- package/lib/commonjs/SelectIcon.js.map +1 -0
- package/lib/commonjs/SelectOption.js +140 -0
- package/lib/commonjs/SelectOption.js.map +1 -0
- package/lib/commonjs/SelectSearch.js +79 -0
- package/lib/commonjs/SelectSearch.js.map +1 -0
- package/lib/commonjs/animations/shake.js +45 -0
- package/lib/commonjs/animations/shake.js.map +1 -0
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/index.stories.js +383 -0
- package/lib/commonjs/index.stories.js.map +1 -0
- package/lib/module/Select.js +265 -0
- package/lib/module/Select.js.map +1 -0
- package/lib/module/Select.types.js +2 -0
- package/lib/module/Select.types.js.map +1 -0
- package/lib/module/SelectChip.js +67 -0
- package/lib/module/SelectChip.js.map +1 -0
- package/lib/module/SelectDropdown.js +149 -0
- package/lib/module/SelectDropdown.js.map +1 -0
- package/lib/module/SelectErrorMessage.js +25 -0
- package/lib/module/SelectErrorMessage.js.map +1 -0
- package/lib/module/SelectIcon.js +57 -0
- package/lib/module/SelectIcon.js.map +1 -0
- package/lib/module/SelectOption.js +133 -0
- package/lib/module/SelectOption.js.map +1 -0
- package/lib/module/SelectSearch.js +72 -0
- package/lib/module/SelectSearch.js.map +1 -0
- package/lib/module/animations/shake.js +39 -0
- package/lib/module/animations/shake.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.stories.js +376 -0
- package/lib/module/index.stories.js.map +1 -0
- package/lib/typescript/src/Select.d.ts +3 -0
- package/lib/typescript/src/Select.d.ts.map +1 -0
- package/lib/typescript/src/Select.types.d.ts +245 -0
- package/lib/typescript/src/Select.types.d.ts.map +1 -0
- package/lib/typescript/src/SelectChip.d.ts +3 -0
- package/lib/typescript/src/SelectChip.d.ts.map +1 -0
- package/lib/typescript/src/SelectDropdown.d.ts +3 -0
- package/lib/typescript/src/SelectDropdown.d.ts.map +1 -0
- package/lib/typescript/src/SelectErrorMessage.d.ts +3 -0
- package/lib/typescript/src/SelectErrorMessage.d.ts.map +1 -0
- package/lib/typescript/src/SelectIcon.d.ts +3 -0
- package/lib/typescript/src/SelectIcon.d.ts.map +1 -0
- package/lib/typescript/src/SelectOption.d.ts +3 -0
- package/lib/typescript/src/SelectOption.d.ts.map +1 -0
- package/lib/typescript/src/SelectSearch.d.ts +3 -0
- package/lib/typescript/src/SelectSearch.d.ts.map +1 -0
- package/lib/typescript/src/animations/shake.d.ts +32 -0
- package/lib/typescript/src/animations/shake.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +66 -0
- package/src/Select.tsx +338 -0
- package/src/Select.types.ts +256 -0
- package/src/SelectChip.tsx +75 -0
- package/src/SelectDropdown.tsx +184 -0
- package/src/SelectErrorMessage.tsx +31 -0
- package/src/SelectIcon.tsx +63 -0
- package/src/SelectOption.tsx +168 -0
- package/src/SelectSearch.tsx +81 -0
- package/src/animations/shake.ts +76 -0
- package/src/index.stories.tsx +336 -0
- package/src/index.tsx +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Select"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"AAAA,SAASA,MAAM,QAAQ,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { action } from '@storybook/addon-actions';
|
|
5
|
+
import { Select } from '.';
|
|
6
|
+
const GENDER_OPTIONS = [{
|
|
7
|
+
label: 'Female',
|
|
8
|
+
value: 'F'
|
|
9
|
+
}, {
|
|
10
|
+
label: 'Male',
|
|
11
|
+
value: 'M'
|
|
12
|
+
}, {
|
|
13
|
+
label: 'Non-binary',
|
|
14
|
+
value: 'NB'
|
|
15
|
+
}, {
|
|
16
|
+
label: 'Prefer not to say',
|
|
17
|
+
value: 'X'
|
|
18
|
+
}];
|
|
19
|
+
const COUNTRIES_OPTIONS = [{
|
|
20
|
+
description: 'South America',
|
|
21
|
+
flagCode: 'AR',
|
|
22
|
+
label: 'Argentina',
|
|
23
|
+
value: 'AR'
|
|
24
|
+
}, {
|
|
25
|
+
description: 'Oceania',
|
|
26
|
+
flagCode: 'AU',
|
|
27
|
+
label: 'Australia',
|
|
28
|
+
value: 'AU'
|
|
29
|
+
}, {
|
|
30
|
+
description: 'South America',
|
|
31
|
+
flagCode: 'BR',
|
|
32
|
+
label: 'Brazil',
|
|
33
|
+
value: 'BR'
|
|
34
|
+
}, {
|
|
35
|
+
description: 'North America',
|
|
36
|
+
flagCode: 'CA',
|
|
37
|
+
label: 'Canada',
|
|
38
|
+
value: 'CA'
|
|
39
|
+
}, {
|
|
40
|
+
description: 'South America',
|
|
41
|
+
flagCode: 'CL',
|
|
42
|
+
label: 'Chile',
|
|
43
|
+
value: 'CL'
|
|
44
|
+
}, {
|
|
45
|
+
description: 'Asia',
|
|
46
|
+
flagCode: 'CN',
|
|
47
|
+
label: 'China',
|
|
48
|
+
value: 'CN'
|
|
49
|
+
}, {
|
|
50
|
+
description: 'Europe',
|
|
51
|
+
flagCode: 'FR',
|
|
52
|
+
label: 'France',
|
|
53
|
+
value: 'FR'
|
|
54
|
+
}, {
|
|
55
|
+
description: 'Europe',
|
|
56
|
+
flagCode: 'DE',
|
|
57
|
+
label: 'Germany',
|
|
58
|
+
value: 'DE'
|
|
59
|
+
}, {
|
|
60
|
+
description: 'Asia',
|
|
61
|
+
flagCode: 'IN',
|
|
62
|
+
label: 'India',
|
|
63
|
+
value: 'IN'
|
|
64
|
+
}, {
|
|
65
|
+
description: 'Europe',
|
|
66
|
+
flagCode: 'IT',
|
|
67
|
+
label: 'Italy',
|
|
68
|
+
value: 'IT'
|
|
69
|
+
}, {
|
|
70
|
+
description: 'Asia',
|
|
71
|
+
flagCode: 'JP',
|
|
72
|
+
label: 'Japan',
|
|
73
|
+
value: 'JP'
|
|
74
|
+
}, {
|
|
75
|
+
description: 'Europe',
|
|
76
|
+
flagCode: 'PT',
|
|
77
|
+
label: 'Portugal',
|
|
78
|
+
value: 'PT'
|
|
79
|
+
}, {
|
|
80
|
+
description: 'Europe',
|
|
81
|
+
flagCode: 'ES',
|
|
82
|
+
label: 'Spain',
|
|
83
|
+
value: 'ES'
|
|
84
|
+
}, {
|
|
85
|
+
description: 'North America',
|
|
86
|
+
flagCode: 'US',
|
|
87
|
+
label: 'United States',
|
|
88
|
+
value: 'US'
|
|
89
|
+
}];
|
|
90
|
+
const TAGS_OPTIONS = [{
|
|
91
|
+
label: 'Design System',
|
|
92
|
+
value: 'ds'
|
|
93
|
+
}, {
|
|
94
|
+
label: 'Expo',
|
|
95
|
+
value: 'expo'
|
|
96
|
+
}, {
|
|
97
|
+
label: 'React Native',
|
|
98
|
+
value: 'rn'
|
|
99
|
+
}, {
|
|
100
|
+
label: 'Storybook',
|
|
101
|
+
value: 'sb'
|
|
102
|
+
}, {
|
|
103
|
+
label: 'Testing',
|
|
104
|
+
value: 'test'
|
|
105
|
+
}, {
|
|
106
|
+
label: 'TypeScript',
|
|
107
|
+
value: 'ts'
|
|
108
|
+
}];
|
|
109
|
+
const STATUS_OPTIONS = [{
|
|
110
|
+
description: 'User is available',
|
|
111
|
+
icon: 'correct',
|
|
112
|
+
label: 'Available',
|
|
113
|
+
labelColor: '#22c55e',
|
|
114
|
+
value: 'available'
|
|
115
|
+
}, {
|
|
116
|
+
description: 'User is in a meeting',
|
|
117
|
+
icon: 'time',
|
|
118
|
+
label: 'Busy',
|
|
119
|
+
labelColor: '#f59e0b',
|
|
120
|
+
value: 'busy'
|
|
121
|
+
}, {
|
|
122
|
+
description: 'User is not here',
|
|
123
|
+
disabled: true,
|
|
124
|
+
icon: 'close',
|
|
125
|
+
label: 'Away',
|
|
126
|
+
value: 'away'
|
|
127
|
+
}, {
|
|
128
|
+
description: 'Appears offline to others',
|
|
129
|
+
icon: 'notificationOff',
|
|
130
|
+
label: 'Offline',
|
|
131
|
+
labelColor: '#94a3b8',
|
|
132
|
+
value: 'offline'
|
|
133
|
+
}];
|
|
134
|
+
const ROLE_OPTIONS = [{
|
|
135
|
+
color: '#fef9c3',
|
|
136
|
+
label: 'Admin',
|
|
137
|
+
labelColor: '#854d0e',
|
|
138
|
+
value: 'admin'
|
|
139
|
+
}, {
|
|
140
|
+
color: '#dcfce7',
|
|
141
|
+
label: 'Editor',
|
|
142
|
+
labelColor: '#166534',
|
|
143
|
+
value: 'editor'
|
|
144
|
+
}, {
|
|
145
|
+
color: '#dbeafe',
|
|
146
|
+
label: 'Viewer',
|
|
147
|
+
labelColor: '#1e40af',
|
|
148
|
+
value: 'viewer'
|
|
149
|
+
}, {
|
|
150
|
+
color: '#fee2e2',
|
|
151
|
+
disabled: true,
|
|
152
|
+
label: 'Banned',
|
|
153
|
+
labelColor: '#991b1b',
|
|
154
|
+
value: 'banned'
|
|
155
|
+
}];
|
|
156
|
+
function StatefulSingleSelect({
|
|
157
|
+
initialValue = null,
|
|
158
|
+
...rest
|
|
159
|
+
}) {
|
|
160
|
+
const [value, setValue] = React.useState(initialValue);
|
|
161
|
+
const handleChange = React.useCallback(next => {
|
|
162
|
+
setValue(next);
|
|
163
|
+
action('onChange')(next);
|
|
164
|
+
}, []);
|
|
165
|
+
return /*#__PURE__*/React.createElement(Select, _extends({}, rest, {
|
|
166
|
+
onChange: handleChange,
|
|
167
|
+
value: value
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
function StatefulMultiSelect({
|
|
171
|
+
initialValues = [],
|
|
172
|
+
...rest
|
|
173
|
+
}) {
|
|
174
|
+
const [values, setValues] = React.useState(initialValues);
|
|
175
|
+
const handleChange = React.useCallback(next => {
|
|
176
|
+
setValues(next);
|
|
177
|
+
action('onChange')(next);
|
|
178
|
+
}, []);
|
|
179
|
+
return /*#__PURE__*/React.createElement(Select, _extends({}, rest, {
|
|
180
|
+
multiple: true,
|
|
181
|
+
onChange: handleChange,
|
|
182
|
+
value: values
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
const meta = {
|
|
186
|
+
component: Select,
|
|
187
|
+
parameters: {
|
|
188
|
+
layout: 'centered'
|
|
189
|
+
},
|
|
190
|
+
tags: ['autodocs'],
|
|
191
|
+
title: 'Forms/Select'
|
|
192
|
+
};
|
|
193
|
+
export default meta;
|
|
194
|
+
export const Default = {
|
|
195
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
196
|
+
style: styles.container
|
|
197
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
198
|
+
options: GENDER_OPTIONS,
|
|
199
|
+
placeholder: "Select gender"
|
|
200
|
+
}))
|
|
201
|
+
};
|
|
202
|
+
export const Selected = {
|
|
203
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
204
|
+
style: styles.container
|
|
205
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
206
|
+
initialValue: "BR",
|
|
207
|
+
options: COUNTRIES_OPTIONS,
|
|
208
|
+
placeholder: "Select country"
|
|
209
|
+
}))
|
|
210
|
+
};
|
|
211
|
+
export const WithFlags = {
|
|
212
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
213
|
+
style: styles.container
|
|
214
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
215
|
+
clearable: true,
|
|
216
|
+
options: COUNTRIES_OPTIONS,
|
|
217
|
+
placeholder: "Select country",
|
|
218
|
+
searchable: true
|
|
219
|
+
}))
|
|
220
|
+
};
|
|
221
|
+
export const WithIconsAndLabelColors = {
|
|
222
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
223
|
+
style: styles.container
|
|
224
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
225
|
+
clearable: true,
|
|
226
|
+
options: STATUS_OPTIONS,
|
|
227
|
+
placeholder: "Select status"
|
|
228
|
+
}))
|
|
229
|
+
};
|
|
230
|
+
export const WithRowColors = {
|
|
231
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
232
|
+
style: styles.container
|
|
233
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
234
|
+
clearable: true,
|
|
235
|
+
options: ROLE_OPTIONS,
|
|
236
|
+
placeholder: "Select role"
|
|
237
|
+
}))
|
|
238
|
+
};
|
|
239
|
+
export const MultipleSelect = {
|
|
240
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
241
|
+
style: styles.container
|
|
242
|
+
}, /*#__PURE__*/React.createElement(StatefulMultiSelect, {
|
|
243
|
+
clearable: true,
|
|
244
|
+
options: TAGS_OPTIONS,
|
|
245
|
+
placeholder: "Select tags"
|
|
246
|
+
}))
|
|
247
|
+
};
|
|
248
|
+
export const MultipleWithInitialValues = {
|
|
249
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
250
|
+
style: styles.container
|
|
251
|
+
}, /*#__PURE__*/React.createElement(StatefulMultiSelect, {
|
|
252
|
+
clearable: true,
|
|
253
|
+
initialValues: ['rn', 'ts'],
|
|
254
|
+
options: TAGS_OPTIONS,
|
|
255
|
+
placeholder: "Select tags"
|
|
256
|
+
}))
|
|
257
|
+
};
|
|
258
|
+
export const MultipleSearchable = {
|
|
259
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
260
|
+
style: styles.container
|
|
261
|
+
}, /*#__PURE__*/React.createElement(StatefulMultiSelect, {
|
|
262
|
+
clearable: true,
|
|
263
|
+
options: COUNTRIES_OPTIONS,
|
|
264
|
+
placeholder: "Select countries",
|
|
265
|
+
searchable: true
|
|
266
|
+
}))
|
|
267
|
+
};
|
|
268
|
+
export const MultipleWithDisabledOptions = {
|
|
269
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
270
|
+
style: styles.container
|
|
271
|
+
}, /*#__PURE__*/React.createElement(StatefulMultiSelect, {
|
|
272
|
+
clearable: true,
|
|
273
|
+
options: STATUS_OPTIONS,
|
|
274
|
+
placeholder: "Select statuses"
|
|
275
|
+
}))
|
|
276
|
+
};
|
|
277
|
+
export const Clearable = {
|
|
278
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
279
|
+
style: styles.container
|
|
280
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
281
|
+
clearable: true,
|
|
282
|
+
initialValue: "M",
|
|
283
|
+
options: GENDER_OPTIONS,
|
|
284
|
+
placeholder: "Select gender"
|
|
285
|
+
}))
|
|
286
|
+
};
|
|
287
|
+
export const WithError = {
|
|
288
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
289
|
+
style: styles.container
|
|
290
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
291
|
+
errorMessage: "This field is required",
|
|
292
|
+
inputError: true,
|
|
293
|
+
options: GENDER_OPTIONS,
|
|
294
|
+
placeholder: "Select gender",
|
|
295
|
+
required: true
|
|
296
|
+
}))
|
|
297
|
+
};
|
|
298
|
+
export const Disabled = {
|
|
299
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
300
|
+
style: styles.container
|
|
301
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
302
|
+
disabled: true,
|
|
303
|
+
initialValue: "M",
|
|
304
|
+
options: GENDER_OPTIONS,
|
|
305
|
+
placeholder: "Select gender"
|
|
306
|
+
}))
|
|
307
|
+
};
|
|
308
|
+
export const Readonly = {
|
|
309
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
310
|
+
style: styles.container
|
|
311
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
312
|
+
initialValue: "BR",
|
|
313
|
+
options: COUNTRIES_OPTIONS,
|
|
314
|
+
placeholder: "Select country",
|
|
315
|
+
readonly: true
|
|
316
|
+
}))
|
|
317
|
+
};
|
|
318
|
+
export const WithDisabledOptions = {
|
|
319
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
320
|
+
style: styles.container
|
|
321
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
322
|
+
options: STATUS_OPTIONS,
|
|
323
|
+
placeholder: "Select status"
|
|
324
|
+
}))
|
|
325
|
+
};
|
|
326
|
+
export const AllStates = {
|
|
327
|
+
render: () => /*#__PURE__*/React.createElement(View, {
|
|
328
|
+
style: styles.column
|
|
329
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
330
|
+
style: styles.storyItem
|
|
331
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
332
|
+
options: GENDER_OPTIONS,
|
|
333
|
+
placeholder: "Default - empty"
|
|
334
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
335
|
+
style: styles.storyItem
|
|
336
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
337
|
+
clearable: true,
|
|
338
|
+
initialValue: "M",
|
|
339
|
+
options: GENDER_OPTIONS,
|
|
340
|
+
placeholder: "With value + clearable"
|
|
341
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
342
|
+
style: styles.storyItem
|
|
343
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
344
|
+
errorMessage: "Required field",
|
|
345
|
+
inputError: true,
|
|
346
|
+
options: GENDER_OPTIONS,
|
|
347
|
+
placeholder: "Error state"
|
|
348
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
349
|
+
style: styles.storyItem
|
|
350
|
+
}, /*#__PURE__*/React.createElement(StatefulSingleSelect, {
|
|
351
|
+
disabled: true,
|
|
352
|
+
initialValue: "F",
|
|
353
|
+
options: GENDER_OPTIONS,
|
|
354
|
+
placeholder: "Disabled"
|
|
355
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
356
|
+
style: styles.storyItem
|
|
357
|
+
}, /*#__PURE__*/React.createElement(StatefulMultiSelect, {
|
|
358
|
+
clearable: true,
|
|
359
|
+
initialValues: ['ts', 'rn'],
|
|
360
|
+
options: TAGS_OPTIONS,
|
|
361
|
+
placeholder: "Multi select with chips"
|
|
362
|
+
})))
|
|
363
|
+
};
|
|
364
|
+
const styles = StyleSheet.create({
|
|
365
|
+
column: {
|
|
366
|
+
gap: 12,
|
|
367
|
+
width: 320
|
|
368
|
+
},
|
|
369
|
+
container: {
|
|
370
|
+
width: 320
|
|
371
|
+
},
|
|
372
|
+
storyItem: {
|
|
373
|
+
width: '100%'
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
//# sourceMappingURL=index.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","action","Select","GENDER_OPTIONS","label","value","COUNTRIES_OPTIONS","description","flagCode","TAGS_OPTIONS","STATUS_OPTIONS","icon","labelColor","disabled","ROLE_OPTIONS","color","StatefulSingleSelect","initialValue","rest","setValue","useState","handleChange","useCallback","next","createElement","_extends","onChange","StatefulMultiSelect","initialValues","values","setValues","multiple","meta","component","parameters","layout","tags","title","Default","render","style","styles","container","options","placeholder","Selected","WithFlags","clearable","searchable","WithIconsAndLabelColors","WithRowColors","MultipleSelect","MultipleWithInitialValues","MultipleSearchable","MultipleWithDisabledOptions","Clearable","WithError","errorMessage","inputError","required","Disabled","Readonly","readonly","WithDisabledOptions","AllStates","column","storyItem","create","gap","width"],"sourceRoot":"..\\..\\src","sources":["index.stories.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/Select.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAkC,WAAW,EAAqB,MAAM,gBAAgB,CAAA;AAMpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAkQ7D"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { IconName } from '@wecareu/icons';
|
|
3
|
+
export interface SelectOption {
|
|
4
|
+
/**
|
|
5
|
+
* Background color applied to this option's row
|
|
6
|
+
*/
|
|
7
|
+
color?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Optional description rendered below the label
|
|
10
|
+
*/
|
|
11
|
+
description?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Prevents this option from being selected
|
|
14
|
+
*/
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* ISO 3166-1 alpha-2 country code used to render an emoji flag (e.g. 'BR', 'US').
|
|
18
|
+
* Takes precedence over `icon` when both are provided.
|
|
19
|
+
*/
|
|
20
|
+
flagCode?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Icon identifier from @wecareu/icons displayed to the left of the label
|
|
23
|
+
*/
|
|
24
|
+
icon?: IconName;
|
|
25
|
+
/**
|
|
26
|
+
* Color applied to the label text of this option
|
|
27
|
+
*/
|
|
28
|
+
labelColor?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Text displayed for this option
|
|
31
|
+
*/
|
|
32
|
+
label: string;
|
|
33
|
+
/**
|
|
34
|
+
* Unique value for this option
|
|
35
|
+
*/
|
|
36
|
+
value: string | number;
|
|
37
|
+
}
|
|
38
|
+
export interface SelectIconProps {
|
|
39
|
+
/**
|
|
40
|
+
* Accessibility label announced for screen readers
|
|
41
|
+
*/
|
|
42
|
+
accessibilityLabel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Icon tint color. Falls back to theme.colors.text.tertiary when undefined
|
|
45
|
+
*/
|
|
46
|
+
color?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Icon identifier available in WeCareU icons package
|
|
49
|
+
*/
|
|
50
|
+
name: IconName;
|
|
51
|
+
/**
|
|
52
|
+
* Press handler triggered when icon is tapped
|
|
53
|
+
*/
|
|
54
|
+
onPress?: () => void;
|
|
55
|
+
/**
|
|
56
|
+
* Icon size in pixels. Defaults to theme.spacing.lg
|
|
57
|
+
*/
|
|
58
|
+
size?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Testing identifier used in automated tests
|
|
61
|
+
*/
|
|
62
|
+
testID?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface SelectLabels {
|
|
65
|
+
/**
|
|
66
|
+
* Error message shown when a required field has no selection. Default: 'This field is required'
|
|
67
|
+
*/
|
|
68
|
+
requiredError?: string;
|
|
69
|
+
}
|
|
70
|
+
interface SelectBaseProps {
|
|
71
|
+
/**
|
|
72
|
+
* Shows a clear button to remove the current selection
|
|
73
|
+
*/
|
|
74
|
+
clearable?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Displays a disabled appearance and blocks user interaction
|
|
77
|
+
*/
|
|
78
|
+
disabled?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Optional error message rendered below the field when in error state
|
|
81
|
+
*/
|
|
82
|
+
errorMessage?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Shows the component using error tokens, triggering shake animation
|
|
85
|
+
*/
|
|
86
|
+
inputError?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Overrides for UI strings to enable i18n. Defaults to English.
|
|
89
|
+
*/
|
|
90
|
+
labels?: SelectLabels;
|
|
91
|
+
/**
|
|
92
|
+
* Icon rendered on the left side of the field
|
|
93
|
+
*/
|
|
94
|
+
leftIcon?: SelectIconProps;
|
|
95
|
+
/**
|
|
96
|
+
* Callback invoked with the validation status.
|
|
97
|
+
* Only fires when `required` is true.
|
|
98
|
+
*/
|
|
99
|
+
onValidation?: (isValid: boolean) => void;
|
|
100
|
+
/**
|
|
101
|
+
* List of selectable options
|
|
102
|
+
*/
|
|
103
|
+
options: SelectOption[];
|
|
104
|
+
/**
|
|
105
|
+
* Placeholder text displayed when no option is selected
|
|
106
|
+
*/
|
|
107
|
+
placeholder?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Renders the field as read-only, blocking interaction without changing visuals significantly
|
|
110
|
+
*/
|
|
111
|
+
readonly?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Marks this field as required for validation purposes
|
|
114
|
+
*/
|
|
115
|
+
required?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Enables a search input inside the dropdown to filter options
|
|
118
|
+
*/
|
|
119
|
+
searchable?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Applies style overrides to the container View
|
|
122
|
+
*/
|
|
123
|
+
style?: StyleProp<ViewStyle>;
|
|
124
|
+
/**
|
|
125
|
+
* Test identifier exposed on the container
|
|
126
|
+
*/
|
|
127
|
+
testID?: string;
|
|
128
|
+
}
|
|
129
|
+
export interface SelectSingleProps extends SelectBaseProps {
|
|
130
|
+
/**
|
|
131
|
+
* Enables single selection mode (default)
|
|
132
|
+
*/
|
|
133
|
+
multiple?: false;
|
|
134
|
+
/**
|
|
135
|
+
* Callback invoked with the selected value, or null when cleared
|
|
136
|
+
*/
|
|
137
|
+
onChange: (value: string | number | null) => void;
|
|
138
|
+
/**
|
|
139
|
+
* Currently selected value. Pass null when nothing is selected
|
|
140
|
+
*/
|
|
141
|
+
value: string | number | null;
|
|
142
|
+
}
|
|
143
|
+
export interface SelectMultiProps extends SelectBaseProps {
|
|
144
|
+
/**
|
|
145
|
+
* Enables multiple selection mode
|
|
146
|
+
*/
|
|
147
|
+
multiple: true;
|
|
148
|
+
/**
|
|
149
|
+
* Callback invoked with the array of selected values
|
|
150
|
+
*/
|
|
151
|
+
onChange: (values: Array<string | number>) => void;
|
|
152
|
+
/**
|
|
153
|
+
* Currently selected values
|
|
154
|
+
*/
|
|
155
|
+
value: Array<string | number>;
|
|
156
|
+
}
|
|
157
|
+
export type SelectProps = SelectSingleProps | SelectMultiProps;
|
|
158
|
+
export interface SelectChipProps {
|
|
159
|
+
/**
|
|
160
|
+
* Whether the chip should display the remove button
|
|
161
|
+
*/
|
|
162
|
+
disabled?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Label text displayed inside the chip
|
|
165
|
+
*/
|
|
166
|
+
label: string;
|
|
167
|
+
/**
|
|
168
|
+
* Called when the remove button is pressed
|
|
169
|
+
*/
|
|
170
|
+
onRemove?: () => void;
|
|
171
|
+
}
|
|
172
|
+
export interface SelectOptionItemProps {
|
|
173
|
+
/**
|
|
174
|
+
* Whether the option is interactive
|
|
175
|
+
*/
|
|
176
|
+
disabled?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Whether checkboxes should appear (multi mode)
|
|
179
|
+
*/
|
|
180
|
+
isMulti?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Whether this option is currently selected
|
|
183
|
+
*/
|
|
184
|
+
isSelected: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* The option data to render
|
|
187
|
+
*/
|
|
188
|
+
option: SelectOption;
|
|
189
|
+
/**
|
|
190
|
+
* Called when this item is pressed
|
|
191
|
+
*/
|
|
192
|
+
onPress: (option: SelectOption) => void;
|
|
193
|
+
}
|
|
194
|
+
export interface SelectSearchProps {
|
|
195
|
+
/**
|
|
196
|
+
* Called with the new query when the user types
|
|
197
|
+
*/
|
|
198
|
+
onChangeText: (text: string) => void;
|
|
199
|
+
/**
|
|
200
|
+
* Current search query
|
|
201
|
+
*/
|
|
202
|
+
value: string;
|
|
203
|
+
}
|
|
204
|
+
export interface SelectDropdownProps {
|
|
205
|
+
/**
|
|
206
|
+
* Whether multiple selection is enabled
|
|
207
|
+
*/
|
|
208
|
+
isMulti?: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Whether the dropdown is visible
|
|
211
|
+
*/
|
|
212
|
+
isOpen: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* List of all options
|
|
215
|
+
*/
|
|
216
|
+
options: SelectOption[];
|
|
217
|
+
/**
|
|
218
|
+
* Currently selected value(s)
|
|
219
|
+
*/
|
|
220
|
+
selectedValues: Array<string | number>;
|
|
221
|
+
/**
|
|
222
|
+
* Whether the search field is shown
|
|
223
|
+
*/
|
|
224
|
+
searchable?: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Called when the dropdown requests to close
|
|
227
|
+
*/
|
|
228
|
+
onClose: () => void;
|
|
229
|
+
/**
|
|
230
|
+
* Called when an option is toggled
|
|
231
|
+
*/
|
|
232
|
+
onToggleOption: (option: SelectOption) => void;
|
|
233
|
+
}
|
|
234
|
+
export interface SelectErrorMessageProps {
|
|
235
|
+
/**
|
|
236
|
+
* Text displayed underneath the field when it is in error state
|
|
237
|
+
*/
|
|
238
|
+
message?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Optional identifier exposed for automated tests
|
|
241
|
+
*/
|
|
242
|
+
testID?: string;
|
|
243
|
+
}
|
|
244
|
+
export {};
|
|
245
|
+
//# sourceMappingURL=Select.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../../src/Select.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChip.d.ts","sourceRoot":"","sources":["../../../src/SelectChip.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA4BtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDropdown.d.ts","sourceRoot":"","sources":["../../../src/SelectDropdown.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,gBAAgB,CAAA;AASvE,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,OAAO,EACP,cAAc,EACd,OAAO,EACP,UAAU,EACV,cAAc,EACf,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA8GnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectErrorMessage.d.ts","sourceRoot":"","sources":["../../../src/SelectErrorMessage.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAsBnG"}
|