@trilogy-ds/react 4.14.0-calendar-native-2 → 4.14.0-dropdown
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/lib/components/autocomplete/Autocomplete.helpers.js +1 -1
- package/lib/components/box/Box.native.js +5 -8
- package/lib/components/box/header/BoxHeaderPropsDefaults.js +18 -2
- package/lib/components/button/list/ButtonListProps.d.ts +2 -2
- package/lib/components/button/list/ButtonListWebPropsDefaults.js +9 -1
- package/lib/components/calendar/Calendar.native.js +7 -7
- package/lib/components/card/Card.native.js +7 -11
- package/lib/components/checkbox/list/CheckboxList.js +1 -1
- package/lib/components/checkbox/list/CheckboxListProps.d.ts +3 -3
- package/lib/components/checkbox/list/CheckboxListWebPropsDefaults.js +9 -1
- package/lib/components/checkbox/tiles/CheckboxTilesPropsDefaults.js +18 -2
- package/lib/components/columns/ColumnsPropsDefaults.js +18 -2
- package/lib/components/columns/column/Column.native.js +2 -2
- package/lib/components/columns/column/ColumnPropsDefaults.js +18 -2
- package/lib/components/datepicker/DatePicker.native.d.ts +18 -2
- package/lib/components/datepicker/DatePicker.native.js +306 -5
- package/lib/components/dropdown/Dropdown.d.ts +13 -0
- package/lib/components/dropdown/Dropdown.js +88 -0
- package/lib/components/dropdown/Dropdown.native.d.ts +4 -0
- package/lib/components/dropdown/Dropdown.native.js +8 -0
- package/lib/components/dropdown/DropdownProps.d.ts +15 -0
- package/lib/components/dropdown/DropdownProps.js +2 -0
- package/lib/components/dropdown/DropdownPropsDefaults.js +53 -0
- package/lib/components/dropdown/context/DropdownContext.d.ts +15 -0
- package/lib/components/dropdown/context/DropdownContext.js +35 -0
- package/lib/components/dropdown/context/index.d.ts +1 -0
- package/lib/components/dropdown/context/index.js +2 -0
- package/lib/components/dropdown/group/DropdownGroup.d.ts +12 -0
- package/lib/components/dropdown/group/DropdownGroup.js +24 -0
- package/lib/components/dropdown/group/DropdownGroup.native.d.ts +4 -0
- package/lib/components/dropdown/group/DropdownGroup.native.js +8 -0
- package/lib/components/dropdown/group/DropdownGroupProps.d.ts +14 -0
- package/lib/components/dropdown/group/DropdownGroupProps.js +2 -0
- package/lib/components/dropdown/group/DropdownGroupPropsDefaults.js +52 -0
- package/lib/components/dropdown/group/index.d.ts +2 -0
- package/lib/components/dropdown/group/index.js +3 -0
- package/lib/components/dropdown/index.d.ts +6 -0
- package/lib/components/dropdown/index.js +7 -0
- package/lib/components/dropdown/item/DropdownItem.d.ts +12 -0
- package/lib/components/dropdown/item/DropdownItem.js +46 -0
- package/lib/components/dropdown/item/DropdownItem.native.d.ts +4 -0
- package/lib/components/dropdown/item/DropdownItem.native.js +8 -0
- package/lib/components/dropdown/item/DropdownItemProps.d.ts +15 -0
- package/lib/components/dropdown/item/DropdownItemProps.js +2 -0
- package/lib/components/dropdown/item/DropdownItemPropsDefaults.js +93 -0
- package/lib/components/dropdown/item/index.d.ts +2 -0
- package/lib/components/dropdown/item/index.js +3 -0
- package/lib/components/dropdown/trigger/DropdownTrigger.d.ts +13 -0
- package/lib/components/dropdown/trigger/DropdownTrigger.js +61 -0
- package/lib/components/dropdown/trigger/DropdownTrigger.native.d.ts +4 -0
- package/lib/components/dropdown/trigger/DropdownTrigger.native.js +8 -0
- package/lib/components/dropdown/trigger/DropdownTriggerProps.d.ts +13 -0
- package/lib/components/dropdown/trigger/DropdownTriggerProps.js +2 -0
- package/lib/components/dropdown/trigger/DropdownTriggerPropsDefaults.js +44 -0
- package/lib/components/dropdown/trigger/index.d.ts +2 -0
- package/lib/components/dropdown/trigger/index.js +3 -0
- package/lib/components/enumsComponentsName.d.ts +4 -0
- package/lib/components/enumsComponentsName.js +5 -1
- package/lib/components/flex-box/FlexBoxPropsDefaults.js +2 -2
- package/lib/components/flex-box/flex-item/FlexItemPropsDefaults.js +18 -2
- package/lib/components/icon/Icon.native.js +4 -9
- package/lib/components/image/ImagePropsDefaults.js +18 -2
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +2 -1
- package/lib/components/price/PricePropsDefaults.js +18 -2
- package/lib/components/progress/index.js +1 -1
- package/lib/components/progress/radial/ProgressRadial.native.js +3 -7
- package/lib/components/progress/radial/ProgressRadialPropsDefaults.js +18 -2
- package/lib/components/radio/EventHandlerDefaults.js +21 -0
- package/lib/components/radio/Radio.js +3 -3
- package/lib/components/radio/Radio.native.d.ts +2 -2
- package/lib/components/radio/Radio.native.js +1 -1
- package/lib/components/radio/RadioNativePropsDefaults.js +9 -0
- package/lib/components/radio/RadioProps.d.ts +9 -2
- package/lib/components/radio/list/RadioList.js +1 -1
- package/lib/components/radio/list/RadioListProps.d.ts +2 -2
- package/lib/components/radio/list/RadioListWebPropsDefaults.js +9 -1
- package/lib/components/radio/tiles/RadioTilesPropsDefaults.js +18 -2
- package/lib/components/radio/tiles/tile/RadioTile.js +3 -3
- package/lib/components/radio/tiles/tile/RadioTile.native.d.ts +2 -2
- package/lib/components/radio/tiles/tile/RadioTileNativePropsDefaults.js +104 -0
- package/lib/components/radio/tiles/tile/RadioTileProps.d.ts +8 -3
- package/lib/components/radio/tiles/tile/RadioTilePropsCommonDefaults.js +97 -0
- package/lib/components/radio/tiles/tile/RadioTilePropsDefaults.js +81 -81
- package/lib/components/segment-control/SegmentControlProps.d.ts +2 -2
- package/lib/components/segment-control/SegmentControlPropsDefaults.js +9 -1
- package/lib/components/select/Select.native.js +3 -3
- package/lib/components/skeleton/Skeleton.d.ts +17 -0
- package/lib/components/skeleton/Skeleton.js +19 -0
- package/lib/components/skeleton/Skeleton.native.d.ts +16 -0
- package/lib/components/skeleton/Skeleton.native.js +70 -0
- package/lib/components/skeleton/SkeletonProps.d.ts +13 -0
- package/lib/components/skeleton/SkeletonProps.js +2 -0
- package/lib/components/skeleton/SkeletonPropsDefaults.js +80 -0
- package/lib/components/skeleton/index.d.ts +3 -0
- package/lib/components/skeleton/index.js +4 -0
- package/lib/components/tabs/TabsPropsDefaults.js +18 -2
- package/lib/components/tabs/tab-list/TabListProps.d.ts +2 -2
- package/lib/components/tabs/tab-list/TabListPropsDefaults.js +9 -1
- package/lib/components/tabs/tab-list/tab/Tab.native.js +5 -5
- package/lib/components/tag/list/TagListProps.d.ts +2 -2
- package/lib/components/tag/list/TagListPropsDefaults.js +9 -1
- package/lib/components/text/Text.native.js +7 -8
- package/lib/components/title/Title.native.js +4 -8
- package/lib/components/view/ViewPropsDefaults.js +30 -3
- package/lib/helpers/require.js +1 -1
- package/lib/objects/facets/Alignable.d.ts +10 -3
- package/lib/objects/facets/Alignable.js +10 -5
- package/lib/objects/facets/Justifiable.d.ts +11 -4
- package/lib/objects/facets/Justifiable.js +31 -28
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/package.json +6 -2
|
@@ -1,6 +1,307 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import { ComponentName } from '../../components/enumsComponentsName';
|
|
3
|
+
import { Icon, IconSize } from '../../components/icon';
|
|
4
|
+
import { Text, TextLevels } from '../../components/text';
|
|
5
|
+
import { Calendar } from '../../components/calendar';
|
|
6
|
+
import { getColorStyle, TrilogyColor } from '../../objects/facets/Color';
|
|
7
|
+
import React, { forwardRef, useCallback, useEffect, useState, useRef } from 'react';
|
|
8
|
+
import { StyleSheet, TextInput, TouchableOpacity, View, Platform, Modal } from 'react-native';
|
|
9
|
+
/**
|
|
10
|
+
* DatePicker Component for React Native
|
|
11
|
+
* @param value {string} Value for DatePicker (YYYY-MM-DD)
|
|
12
|
+
* @param minDate {string} Min value for DatePicker (YYYY-MM-DD)
|
|
13
|
+
* @param maxDate {string} Max value for DatePicker (YYYY-MM-DD)
|
|
14
|
+
* @param disabled {boolean} Disabled DatePicker
|
|
15
|
+
* @param onChange {Function} DatePicker Event
|
|
16
|
+
* @param label {string} Label for DatePicker
|
|
17
|
+
* @param sample {string} Sample for DatePicker (below label)
|
|
18
|
+
* @param help {string} Help for DatePicker
|
|
19
|
+
* @param required {boolean} Required DatePicker
|
|
20
|
+
* @param status {InputStatus} DatePicker with status - (SUCCESS|WARNING|ERROR|DEFAULT)
|
|
21
|
+
* @param testId {string} Test Id for Test Integration
|
|
22
|
+
*/
|
|
23
|
+
var DatePicker = forwardRef(function (_a, ref) {
|
|
24
|
+
var onChange = _a.onChange, value = _a.value, minDate = _a.minDate, maxDate = _a.maxDate, label = _a.label, sample = _a.sample, required = _a.required, help = _a.help, status = _a.status, disabled = _a.disabled, disabledDates = _a.disabledDates, testId = _a.testId, name = _a.name, others = __rest(_a, ["onChange", "value", "minDate", "maxDate", "label", "sample", "required", "help", "status", "disabled", "disabledDates", "testId", "name"]);
|
|
25
|
+
var _b = __read(useState(''), 2), inputText = _b[0], setInputText = _b[1];
|
|
26
|
+
var _c = __read(useState(false), 2), isCalendarVisible = _c[0], setIsCalendarVisible = _c[1];
|
|
27
|
+
var _d = __read(useState(false), 2), isFocused = _d[0], setIsFocused = _d[1];
|
|
28
|
+
var previousTextRef = useRef('');
|
|
29
|
+
var calendarValue = value ? new Date(value) : undefined;
|
|
30
|
+
var formatDateForDisplay = useCallback(function (dateString) {
|
|
31
|
+
if (!dateString)
|
|
32
|
+
return '';
|
|
33
|
+
try {
|
|
34
|
+
var date = new Date(dateString);
|
|
35
|
+
if (isNaN(date.getTime()))
|
|
36
|
+
return '';
|
|
37
|
+
var day = date.getDate().toString().padStart(2, '0');
|
|
38
|
+
var month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
39
|
+
var year = date.getFullYear();
|
|
40
|
+
return "".concat(day, "/").concat(month, "/").concat(year);
|
|
41
|
+
}
|
|
42
|
+
catch (_a) {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
}, []);
|
|
46
|
+
var parseManualInput = useCallback(function (input) {
|
|
47
|
+
var cleaned = input.replace(/[^\d/]/g, '');
|
|
48
|
+
var dateRegex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
|
|
49
|
+
var match = cleaned.match(dateRegex);
|
|
50
|
+
if (!match)
|
|
51
|
+
return null;
|
|
52
|
+
var _a = __read(match, 4), day = _a[1], month = _a[2], year = _a[3];
|
|
53
|
+
var dayNum = parseInt(day, 10);
|
|
54
|
+
var monthNum = parseInt(month, 10);
|
|
55
|
+
var yearNum = parseInt(year, 10);
|
|
56
|
+
if (dayNum < 1 || dayNum > 31 || monthNum < 1 || monthNum > 12) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
var date = new Date(yearNum, monthNum - 1, dayNum);
|
|
60
|
+
if (date.getDate() !== dayNum || date.getMonth() !== monthNum - 1 || date.getFullYear() !== yearNum) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
if (minDate && date < new Date(minDate))
|
|
64
|
+
return null;
|
|
65
|
+
if (maxDate && date > new Date(maxDate))
|
|
66
|
+
return null;
|
|
67
|
+
var formattedMonth = monthNum.toString().padStart(2, '0');
|
|
68
|
+
var formattedDay = dayNum.toString().padStart(2, '0');
|
|
69
|
+
return "".concat(yearNum, "-").concat(formattedMonth, "-").concat(formattedDay);
|
|
70
|
+
}, [minDate, maxDate]);
|
|
71
|
+
var isDateInRange = useCallback(function (date) {
|
|
72
|
+
if (minDate && date < new Date(minDate))
|
|
73
|
+
return false;
|
|
74
|
+
if (maxDate && date > new Date(maxDate))
|
|
75
|
+
return false;
|
|
76
|
+
return true;
|
|
77
|
+
}, [minDate, maxDate]);
|
|
78
|
+
var handleCalendarChange = useCallback(function (selectedDate) {
|
|
79
|
+
var date = selectedDate;
|
|
80
|
+
if (!isDateInRange(date))
|
|
81
|
+
return;
|
|
82
|
+
var year = date.getFullYear();
|
|
83
|
+
var month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
84
|
+
var day = date.getDate().toString().padStart(2, '0');
|
|
85
|
+
var formattedDate = "".concat(year, "-").concat(month, "-").concat(day);
|
|
86
|
+
setIsCalendarVisible(false);
|
|
87
|
+
setIsFocused(false);
|
|
88
|
+
if (onChange) {
|
|
89
|
+
onChange(formattedDate);
|
|
90
|
+
}
|
|
91
|
+
}, [onChange, isDateInRange, formatDateForDisplay]);
|
|
92
|
+
var handleManualInput = useCallback(function (text) {
|
|
93
|
+
var previousText = previousTextRef.current;
|
|
94
|
+
var isDeleting = text.length < previousText.length;
|
|
95
|
+
if (isDeleting) {
|
|
96
|
+
var cleaned_1 = text.replace(/[^\d/]/g, '');
|
|
97
|
+
var formatted_1 = cleaned_1;
|
|
98
|
+
if (formatted_1.endsWith('/')) {
|
|
99
|
+
formatted_1 = formatted_1.slice(0, -1);
|
|
100
|
+
}
|
|
101
|
+
previousTextRef.current = formatted_1;
|
|
102
|
+
setInputText(formatted_1);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
var cleaned = text.replace(/[^\d/]/g, '');
|
|
106
|
+
var limited = cleaned.slice(0, 10);
|
|
107
|
+
var numbersOnly = limited.replace(/\//g, '');
|
|
108
|
+
var formatted = '';
|
|
109
|
+
if (numbersOnly.length === 1) {
|
|
110
|
+
var firstDigit = parseInt(numbersOnly[0]);
|
|
111
|
+
if (firstDigit > 3) {
|
|
112
|
+
formatted = "0".concat(numbersOnly[0], "/");
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
formatted = numbersOnly;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else if (numbersOnly.length === 2) {
|
|
119
|
+
var firstTwoDigits = parseInt(numbersOnly.slice(0, 2));
|
|
120
|
+
if (firstTwoDigits > 31) {
|
|
121
|
+
formatted = "0".concat(numbersOnly[0], "/") + "0".concat(numbersOnly[1]);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
formatted = "".concat(numbersOnly.slice(0, 2), "/");
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else if (numbersOnly.length === 3) {
|
|
128
|
+
var dayPart = numbersOnly.slice(0, 2);
|
|
129
|
+
var monthDigit = parseInt(numbersOnly[2]);
|
|
130
|
+
if (monthDigit > 1) {
|
|
131
|
+
formatted = "".concat(dayPart, "/") + "0".concat(numbersOnly[2], "/");
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
formatted = "".concat(dayPart, "/").concat(numbersOnly[2]);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else if (numbersOnly.length >= 4) {
|
|
138
|
+
var dayPart = numbersOnly.slice(0, 2);
|
|
139
|
+
var monthPart = numbersOnly.slice(2, 4);
|
|
140
|
+
var monthValue = parseInt(monthPart);
|
|
141
|
+
if (monthValue > 12) {
|
|
142
|
+
formatted = "".concat(dayPart, "/") + "0".concat(numbersOnly[2], "/").concat(numbersOnly[3]);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
formatted = "".concat(dayPart, "/").concat(monthPart);
|
|
146
|
+
if (numbersOnly.length > 4) {
|
|
147
|
+
formatted += "/".concat(numbersOnly.slice(4));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
previousTextRef.current = formatted;
|
|
152
|
+
setInputText(formatted);
|
|
153
|
+
if (numbersOnly.length >= 5 && onChange) {
|
|
154
|
+
var dayPart = numbersOnly.slice(0, 2);
|
|
155
|
+
var monthPart = numbersOnly.slice(2, 4);
|
|
156
|
+
var yearPart = numbersOnly.slice(4);
|
|
157
|
+
var currentYear = new Date().getFullYear().toString();
|
|
158
|
+
var yearToTest = yearPart;
|
|
159
|
+
if (yearPart.length < 4) {
|
|
160
|
+
if (yearPart.length === 1) {
|
|
161
|
+
yearToTest = currentYear.slice(0, 3) + yearPart;
|
|
162
|
+
}
|
|
163
|
+
else if (yearPart.length === 2) {
|
|
164
|
+
yearToTest = currentYear.slice(0, 2) + yearPart;
|
|
165
|
+
}
|
|
166
|
+
else if (yearPart.length === 3) {
|
|
167
|
+
yearToTest = yearPart + currentYear.slice(3);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
var dayNum = parseInt(dayPart, 10);
|
|
171
|
+
var monthNum = parseInt(monthPart, 10);
|
|
172
|
+
var yearNum = parseInt(yearToTest, 10);
|
|
173
|
+
if (dayNum >= 1 && dayNum <= 31 && monthNum >= 1 && monthNum <= 12 && yearNum >= 1000) {
|
|
174
|
+
var formattedDate = "".concat(yearNum, "-").concat(monthNum.toString().padStart(2, '0'), "-").concat(dayNum.toString().padStart(2, '0'));
|
|
175
|
+
onChange(formattedDate);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}, [parseManualInput, onChange]);
|
|
179
|
+
var handleInputBlur = useCallback(function () {
|
|
180
|
+
setIsFocused(false);
|
|
181
|
+
if (inputText.trim() === '') {
|
|
182
|
+
if (onChange) {
|
|
183
|
+
onChange(null);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
var parsedDate = parseManualInput(inputText);
|
|
188
|
+
if (parsedDate && onChange) {
|
|
189
|
+
onChange(parsedDate);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
var previousFormatted = formatDateForDisplay(value || null);
|
|
193
|
+
setInputText(previousFormatted);
|
|
194
|
+
}
|
|
195
|
+
}, [inputText, parseManualInput, onChange, value, formatDateForDisplay]);
|
|
196
|
+
var handleOpenCalendar = useCallback(function () {
|
|
197
|
+
if (disabled)
|
|
198
|
+
return;
|
|
199
|
+
setIsCalendarVisible(true);
|
|
200
|
+
}, [disabled]);
|
|
201
|
+
var handleCloseCalendar = useCallback(function () {
|
|
202
|
+
setIsCalendarVisible(false);
|
|
203
|
+
}, []);
|
|
204
|
+
var handleInputFocus = useCallback(function () {
|
|
205
|
+
if (disabled)
|
|
206
|
+
return;
|
|
207
|
+
setIsFocused(true);
|
|
208
|
+
}, [disabled]);
|
|
209
|
+
useEffect(function () {
|
|
210
|
+
var formatted = formatDateForDisplay(value || null);
|
|
211
|
+
if (!isFocused) {
|
|
212
|
+
setInputText(formatted);
|
|
213
|
+
previousTextRef.current = formatted;
|
|
214
|
+
}
|
|
215
|
+
}, [value, formatDateForDisplay, isFocused]);
|
|
216
|
+
var styles = StyleSheet.create({
|
|
217
|
+
container: {
|
|
218
|
+
width: '100%',
|
|
219
|
+
},
|
|
220
|
+
label: {
|
|
221
|
+
fontSize: 14,
|
|
222
|
+
fontWeight: '500',
|
|
223
|
+
color: getColorStyle(TrilogyColor.MAIN),
|
|
224
|
+
marginBottom: 4,
|
|
225
|
+
},
|
|
226
|
+
sample: {
|
|
227
|
+
fontSize: 12,
|
|
228
|
+
color: getColorStyle(TrilogyColor.NEUTRAL),
|
|
229
|
+
marginBottom: 8,
|
|
230
|
+
},
|
|
231
|
+
inputContainer: {
|
|
232
|
+
flexDirection: 'row',
|
|
233
|
+
alignItems: 'center',
|
|
234
|
+
backgroundColor: disabled
|
|
235
|
+
? getColorStyle(TrilogyColor.DISABLED_FADE)
|
|
236
|
+
: getColorStyle(TrilogyColor.BACKGROUND),
|
|
237
|
+
borderWidth: isFocused ? 2 : 1,
|
|
238
|
+
borderColor: (status === 'success' && getColorStyle(TrilogyColor.SUCCESS)) ||
|
|
239
|
+
(status === 'warning' && getColorStyle(TrilogyColor.WARNING)) ||
|
|
240
|
+
(status === 'error' && getColorStyle(TrilogyColor.ERROR)) ||
|
|
241
|
+
(isFocused && getColorStyle(TrilogyColor.MAIN)) ||
|
|
242
|
+
getColorStyle(TrilogyColor.NEUTRAL),
|
|
243
|
+
borderRadius: 3,
|
|
244
|
+
height: 46,
|
|
245
|
+
paddingHorizontal: 10,
|
|
246
|
+
},
|
|
247
|
+
input: {
|
|
248
|
+
flex: 1,
|
|
249
|
+
fontSize: 16,
|
|
250
|
+
color: disabled
|
|
251
|
+
? getColorStyle(TrilogyColor.DISABLED)
|
|
252
|
+
: getColorStyle(TrilogyColor.MAIN),
|
|
253
|
+
paddingVertical: Platform.OS === 'ios' ? 12 : 8,
|
|
254
|
+
},
|
|
255
|
+
iconContainer: {
|
|
256
|
+
width: 32,
|
|
257
|
+
height: 32,
|
|
258
|
+
alignItems: 'center',
|
|
259
|
+
justifyContent: 'center',
|
|
260
|
+
},
|
|
261
|
+
help: {
|
|
262
|
+
fontSize: 12,
|
|
263
|
+
marginTop: 4,
|
|
264
|
+
paddingLeft: 4,
|
|
265
|
+
color: (status === 'success' && getColorStyle(TrilogyColor.SUCCESS)) ||
|
|
266
|
+
(status === 'warning' && getColorStyle(TrilogyColor.WARNING)) ||
|
|
267
|
+
(status === 'error' && getColorStyle(TrilogyColor.ERROR)) ||
|
|
268
|
+
getColorStyle(TrilogyColor.NEUTRAL),
|
|
269
|
+
},
|
|
270
|
+
modalOverlay: {
|
|
271
|
+
flex: 1,
|
|
272
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
273
|
+
justifyContent: 'center',
|
|
274
|
+
alignItems: 'center',
|
|
275
|
+
},
|
|
276
|
+
modalContent: {
|
|
277
|
+
paddingBottom: 16,
|
|
278
|
+
width: '90%',
|
|
279
|
+
shadowColor: '#000',
|
|
280
|
+
shadowOffset: {
|
|
281
|
+
width: 0,
|
|
282
|
+
height: 2,
|
|
283
|
+
},
|
|
284
|
+
shadowOpacity: 0.25,
|
|
285
|
+
shadowRadius: 8,
|
|
286
|
+
elevation: 5,
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
return (React.createElement(View, __assign({ ref: ref, style: styles.container, testID: testId }, others),
|
|
290
|
+
label && (React.createElement(View, { style: { flexDirection: 'row', alignItems: 'center' } },
|
|
291
|
+
React.createElement(Text, { style: styles.label }, label),
|
|
292
|
+
required && (React.createElement(Text, { style: { color: getColorStyle(TrilogyColor.ERROR), marginLeft: 4 } }, "*")))),
|
|
293
|
+
sample && (React.createElement(Text, { level: TextLevels.THREE, style: styles.sample }, sample)),
|
|
294
|
+
React.createElement(View, { style: styles.inputContainer },
|
|
295
|
+
React.createElement(TextInput, { style: styles.input, value: inputText, placeholder: 'jj/mm/aaaa', placeholderTextColor: getColorStyle(TrilogyColor.NEUTRAL), editable: !disabled, keyboardType: 'numeric', onFocus: handleInputFocus, onBlur: handleInputBlur, onChangeText: handleManualInput, maxLength: 10 }),
|
|
296
|
+
React.createElement(TouchableOpacity, { style: styles.iconContainer, onPress: handleOpenCalendar, disabled: disabled, activeOpacity: 0.7 },
|
|
297
|
+
React.createElement(Icon, { name: 'tri-calendar', size: IconSize.SMALL, color: TrilogyColor.MAIN }))),
|
|
298
|
+
help && (React.createElement(Text, { style: styles.help }, help)),
|
|
299
|
+
React.createElement(Modal, { visible: isCalendarVisible, transparent: true, animationType: 'fade', onRequestClose: handleCloseCalendar },
|
|
300
|
+
React.createElement(View, { style: styles.modalOverlay },
|
|
301
|
+
React.createElement(TouchableOpacity, { style: StyleSheet.absoluteFillObject, activeOpacity: 1, onPress: handleCloseCalendar }),
|
|
302
|
+
React.createElement(View, { style: styles.modalContent },
|
|
303
|
+
React.createElement(Calendar, { value: calendarValue, minDate: minDate ? new Date(minDate) : undefined, maxDate: maxDate ? new Date(maxDate) : undefined, disabledDates: disabledDates, onChange: handleCalendarChange, disabled: disabled }))))));
|
|
304
|
+
});
|
|
305
|
+
DatePicker.displayName = ComponentName.DatePicker;
|
|
5
306
|
export default DatePicker;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVBpY2tlci5uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2RhdGVwaWNrZXIvRGF0ZVBpY2tlci5uYXRpdmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6QixJQUFNLFVBQVUsR0FBRztJQUNqQixPQUFPLHlDQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFFRCxlQUFlLFVBQVUsQ0FBQSJ9
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVBpY2tlci5uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2RhdGVwaWNrZXIvRGF0ZVBpY2tlci5uYXRpdmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sdUJBQXVCLENBQUE7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRSxPQUFPLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDbkYsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixRQUFRLEVBQ1IsS0FBSyxFQUNOLE1BQU0sY0FBYyxDQUFBO0FBR3JCOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxJQUFNLFVBQVUsR0FBRyxVQUFVLENBQzNCLFVBQ0UsRUFlQyxFQUNELEdBQUc7SUFmRCxJQUFBLFFBQVEsY0FBQSxFQUNSLEtBQUssV0FBQSxFQUNMLE9BQU8sYUFBQSxFQUNQLE9BQU8sYUFBQSxFQUNQLEtBQUssV0FBQSxFQUNMLE1BQU0sWUFBQSxFQUNOLFFBQVEsY0FBQSxFQUNSLElBQUksVUFBQSxFQUNKLE1BQU0sWUFBQSxFQUNOLFFBQVEsY0FBQSxFQUNSLGFBQWEsbUJBQUEsRUFDYixNQUFNLFlBQUEsRUFDTixJQUFJLFVBQUEsRUFDRCxNQUFNLGNBZFgsMklBZUMsQ0FEVTtJQUlMLElBQUEsS0FBQSxPQUE0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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DropdownProps } from './DropdownProps';
|
|
3
|
+
/**
|
|
4
|
+
* Dropdown Component - Wrapper for dropdown menu with automatic state management
|
|
5
|
+
* @param children {React.ReactNode} Children (DropdownTrigger, DropdownItem and DropdownGroup)
|
|
6
|
+
* @param isActive {boolean} Dropdown active/open state (for manual control)
|
|
7
|
+
* @param defaultOpen {boolean} Initial open state (for automatic control)
|
|
8
|
+
* @param onToggle {Function} Callback when dropdown state changes (for automatic control)
|
|
9
|
+
* @param className {string} Additional CSS classes
|
|
10
|
+
* @param testId {string} Test ID
|
|
11
|
+
*/
|
|
12
|
+
declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export default Dropdown;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import { ComponentName } from '../../components/enumsComponentsName';
|
|
3
|
+
import { useTrilogyContext } from '../../context';
|
|
4
|
+
import { hashClass } from '../../helpers/hashClassesHelpers';
|
|
5
|
+
import { is } from '../../services/classify';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { DropdownProvider, useDropdownContext } from './context';
|
|
9
|
+
import DropdownTrigger from './trigger/DropdownTrigger';
|
|
10
|
+
/**
|
|
11
|
+
* Internal Dropdown Content Component that uses the context
|
|
12
|
+
*/
|
|
13
|
+
var DropdownContent = React.forwardRef(function (_a, ref) {
|
|
14
|
+
var children = _a.children, className = _a.className, testId = _a.testId, others = __rest(_a, ["children", "className", "testId"]);
|
|
15
|
+
var styled = useTrilogyContext().styled;
|
|
16
|
+
var dropdownRef = React.useRef(null);
|
|
17
|
+
var menuRef = React.useRef(null);
|
|
18
|
+
var hasDropdownTrigger = React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.type === DropdownTrigger; });
|
|
19
|
+
var isOpen = useDropdownContext().isOpen;
|
|
20
|
+
React.useEffect(function () {
|
|
21
|
+
if (!isOpen || !dropdownRef.current || !menuRef.current)
|
|
22
|
+
return;
|
|
23
|
+
var dropdown = dropdownRef.current;
|
|
24
|
+
var menu = menuRef.current;
|
|
25
|
+
var checkPosition = function () {
|
|
26
|
+
var rect = dropdown.getBoundingClientRect();
|
|
27
|
+
var viewportHeight = window.innerHeight;
|
|
28
|
+
var spaceBelow = viewportHeight - rect.bottom - 8;
|
|
29
|
+
var spaceAbove = rect.top - 8;
|
|
30
|
+
var menuHeight = 300;
|
|
31
|
+
if (spaceBelow < menuHeight && spaceAbove >= menuHeight) {
|
|
32
|
+
menu.setAttribute('data-position', 'upward');
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
menu.removeAttribute('data-position');
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
requestAnimationFrame(checkPosition);
|
|
39
|
+
}, [isOpen]);
|
|
40
|
+
var classes = hashClass(styled, clsx('dropdown', isOpen && is('active'), !hasDropdownTrigger && 'dropdown-manual', className));
|
|
41
|
+
var triggerChildren = [];
|
|
42
|
+
var contentChildren = [];
|
|
43
|
+
if (hasDropdownTrigger) {
|
|
44
|
+
React.Children.forEach(children, function (child) {
|
|
45
|
+
if (React.isValidElement(child) && child.type === DropdownTrigger) {
|
|
46
|
+
triggerChildren.push(child);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
contentChildren.push(child);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return (React.createElement("div", __assign({ ref: function (node) {
|
|
54
|
+
if (dropdownRef.current !== node) {
|
|
55
|
+
dropdownRef.current = node;
|
|
56
|
+
}
|
|
57
|
+
if (typeof ref === 'function') {
|
|
58
|
+
ref(node);
|
|
59
|
+
}
|
|
60
|
+
else if (ref) {
|
|
61
|
+
ref.current = node;
|
|
62
|
+
}
|
|
63
|
+
}, className: classes, "data-testid": testId }, others),
|
|
64
|
+
hasDropdownTrigger ? triggerChildren : null,
|
|
65
|
+
React.createElement("div", { ref: menuRef, className: hashClass(styled, 'dropdown-menu') },
|
|
66
|
+
React.createElement("div", { className: hashClass(styled, 'dropdown-content') }, hasDropdownTrigger ? contentChildren : children))));
|
|
67
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* Dropdown Component - Wrapper for dropdown menu with automatic state management
|
|
70
|
+
* @param children {React.ReactNode} Children (DropdownTrigger, DropdownItem and DropdownGroup)
|
|
71
|
+
* @param isActive {boolean} Dropdown active/open state (for manual control)
|
|
72
|
+
* @param defaultOpen {boolean} Initial open state (for automatic control)
|
|
73
|
+
* @param onToggle {Function} Callback when dropdown state changes (for automatic control)
|
|
74
|
+
* @param className {string} Additional CSS classes
|
|
75
|
+
* @param testId {string} Test ID
|
|
76
|
+
*/
|
|
77
|
+
var Dropdown = React.forwardRef(function (_a, ref) {
|
|
78
|
+
var children = _a.children, isActive = _a.isActive, defaultOpen = _a.defaultOpen, onToggle = _a.onToggle, className = _a.className, testId = _a.testId, others = __rest(_a, ["children", "isActive", "defaultOpen", "onToggle", "className", "testId"]);
|
|
79
|
+
var hasDropdownTrigger = React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.type === DropdownTrigger; });
|
|
80
|
+
var useTrigger = defaultOpen !== undefined || onToggle !== undefined || hasDropdownTrigger;
|
|
81
|
+
var isManualMode = !useTrigger && isActive !== undefined;
|
|
82
|
+
var providerDefaultOpen = isManualMode ? isActive : defaultOpen;
|
|
83
|
+
return (React.createElement(DropdownProvider, { defaultOpen: providerDefaultOpen, onToggle: onToggle },
|
|
84
|
+
React.createElement(DropdownContent, __assign({ ref: ref, className: className, testId: testId }, others), children)));
|
|
85
|
+
});
|
|
86
|
+
Dropdown.displayName = ComponentName.Dropdown;
|
|
87
|
+
export default Dropdown;
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL0Ryb3Bkb3duLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUM5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFaEUsT0FBTyxlQUFlLE1BQU0sMkJBQTJCLENBQUE7QUFFdkQ7O0dBRUc7QUFDSCxJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUN0QyxVQUNFLEVBS0MsRUFDRCxHQUFHO0lBTEQsSUFBQSxRQUFRLGNBQUEsRUFDUixTQUFTLGVBQUEsRUFDVCxNQUFNLFlBQUEsRUFDSCxNQUFNLGNBSlgsbUNBS0MsQ0FEVTtJQUlILElBQUEsTUFBTSxHQUFLLGlCQUFpQixFQUFFLE9BQXhCLENBQXdCO0lBQ3RDLElBQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFBO0lBQ3RELElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFBO0lBRWxELElBQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5RCxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksS0FB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentName } from '../../components/enumsComponentsName';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
var Dropdown = React.forwardRef(function (props, ref) {
|
|
4
|
+
return (React.createElement(React.Fragment, null));
|
|
5
|
+
});
|
|
6
|
+
Dropdown.displayName = ComponentName.Dropdown;
|
|
7
|
+
export default Dropdown;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd24ubmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9Ecm9wZG93bi5uYXRpdmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNoRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUc5QixJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFtQyxVQUFDLEtBQUssRUFBRSxHQUFHO0lBQzdFLE9BQU8sQ0FDTCx5Q0FBSyxDQUNOLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGLFFBQVEsQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQTtBQUU3QyxlQUFlLFFBQVEsQ0FBQSJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Dropdown Interface
|
|
5
|
+
*/
|
|
6
|
+
export interface DropdownProps {
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
isActive?: boolean;
|
|
9
|
+
defaultOpen?: boolean;
|
|
10
|
+
onToggle?: (isOpen: boolean) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
testId?: string;
|
|
13
|
+
}
|
|
14
|
+
export type DropdownRef = HTMLDivElement;
|
|
15
|
+
export type DropdownNativeRef = View;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
"children": {
|
|
3
|
+
"type": "react",
|
|
4
|
+
"values": [
|
|
5
|
+
"undefined",
|
|
6
|
+
"null",
|
|
7
|
+
"string",
|
|
8
|
+
"number",
|
|
9
|
+
"false",
|
|
10
|
+
"true",
|
|
11
|
+
"JSXElementConstructor<any>>",
|
|
12
|
+
"ReactNode>",
|
|
13
|
+
"ReactPortal"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"isActive": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"values": [
|
|
19
|
+
"undefined",
|
|
20
|
+
"false",
|
|
21
|
+
"true"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"defaultOpen": {
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"values": [
|
|
27
|
+
"undefined",
|
|
28
|
+
"false",
|
|
29
|
+
"true"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"onToggle": {
|
|
33
|
+
"type": "function",
|
|
34
|
+
"values": [
|
|
35
|
+
"undefined",
|
|
36
|
+
"(isOpen: boolean) => void"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"className": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"values": [
|
|
42
|
+
"undefined",
|
|
43
|
+
"string"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"testId": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"values": [
|
|
49
|
+
"undefined",
|
|
50
|
+
"string"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface DropdownContextType {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
toggle: () => void;
|
|
5
|
+
open: () => void;
|
|
6
|
+
close: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const useDropdownContext: () => DropdownContextType;
|
|
9
|
+
interface DropdownProviderProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
defaultOpen?: boolean;
|
|
12
|
+
onToggle?: (isOpen: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const DropdownProvider: React.FC<DropdownProviderProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import React, { createContext, useContext, useState } from 'react';
|
|
3
|
+
var DropdownContext = createContext(undefined);
|
|
4
|
+
export var useDropdownContext = function () {
|
|
5
|
+
var context = useContext(DropdownContext);
|
|
6
|
+
if (!context) {
|
|
7
|
+
throw new Error('useDropdownContext must be used within a DropdownProvider');
|
|
8
|
+
}
|
|
9
|
+
return context;
|
|
10
|
+
};
|
|
11
|
+
export var DropdownProvider = function (_a) {
|
|
12
|
+
var children = _a.children, _b = _a.defaultOpen, defaultOpen = _b === void 0 ? false : _b, onToggle = _a.onToggle;
|
|
13
|
+
var _c = __read(useState(defaultOpen), 2), isOpen = _c[0], setIsOpen = _c[1];
|
|
14
|
+
var toggle = function () {
|
|
15
|
+
var newState = !isOpen;
|
|
16
|
+
setIsOpen(newState);
|
|
17
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(newState);
|
|
18
|
+
};
|
|
19
|
+
var open = function () {
|
|
20
|
+
setIsOpen(true);
|
|
21
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
|
|
22
|
+
};
|
|
23
|
+
var close = function () {
|
|
24
|
+
setIsOpen(false);
|
|
25
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(false);
|
|
26
|
+
};
|
|
27
|
+
var value = {
|
|
28
|
+
isOpen: isOpen,
|
|
29
|
+
toggle: toggle,
|
|
30
|
+
open: open,
|
|
31
|
+
close: close,
|
|
32
|
+
};
|
|
33
|
+
return (React.createElement(DropdownContext.Provider, { value: value }, children));
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Db250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9kcm9wZG93bi9jb250ZXh0L0Ryb3Bkb3duQ29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxPQUFPLENBQUE7QUFTN0UsSUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFrQyxTQUFTLENBQUMsQ0FBQTtBQUVqRixNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRztJQUNoQyxJQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQTtLQUM3RTtJQUNELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQVFELE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFvQyxVQUFDLEVBSWpFO1FBSEMsUUFBUSxjQUFBLEVBQ1IsbUJBQW1CLEVBQW5CLFdBQVcsbUJBQUcsS0FBSyxLQUFBLEVBQ25CLFFBQVEsY0FBQTtJQUVGLElBQUEsS0FBQSxPQUFzQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUEsRUFBMUMsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUF5QixDQUFBO0lBRWpELElBQU0sTUFBTSxHQUFHO1FBQ2IsSUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUE7UUFDeEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25CLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxRQUFRLENBQUMsQ0FBQTtJQUN0QixDQUFDLENBQUE7SUFFRCxJQUFNLElBQUksR0FBRztRQUNYLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNmLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNsQixDQUFDLENBQUE7SUFFRCxJQUFNLEtBQUssR0FBRztRQUNaLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsS0FBSyxDQUFDLENBQUE7SUFDbkIsQ0FBQyxDQUFBO0lBRUQsSUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLFFBQUE7UUFDTixNQUFNLFFBQUE7UUFDTixJQUFJLE1BQUE7UUFDSixLQUFLLE9BQUE7S0FDTixDQUFBO0lBRUQsT0FBTyxDQUNMLG9CQUFDLGVBQWUsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLEtBQUssSUFDbkMsUUFBUSxDQUNnQixDQUM1QixDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DropdownProvider, useDropdownContext } from './DropdownContext';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DropdownProvider, useDropdownContext } from './DropdownContext';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Ryb3Bkb3duL2NvbnRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUEifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DropdownGroupProps } from './DropdownGroupProps';
|
|
3
|
+
/**
|
|
4
|
+
* DropdownGroup Component
|
|
5
|
+
* @param children {React.ReactNode} Children
|
|
6
|
+
* @param hideSeparator {boolean} Hide separator at the top of the group
|
|
7
|
+
* - -------------------------- WEB PROPERTIES -------------------------------
|
|
8
|
+
* @param className {string} Additional CSS Classes
|
|
9
|
+
* @param testId {string} Test id
|
|
10
|
+
*/
|
|
11
|
+
declare const DropdownGroup: React.ForwardRefExoticComponent<DropdownGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export default DropdownGroup;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import { ComponentName } from '../../../components/enumsComponentsName';
|
|
3
|
+
import { useTrilogyContext } from '../../../context';
|
|
4
|
+
import { hashClass } from '../../../helpers/hashClassesHelpers';
|
|
5
|
+
import { is } from '../../../services/classify';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* DropdownGroup Component
|
|
10
|
+
* @param children {React.ReactNode} Children
|
|
11
|
+
* @param hideSeparator {boolean} Hide separator at the top of the group
|
|
12
|
+
* - -------------------------- WEB PROPERTIES -------------------------------
|
|
13
|
+
* @param className {string} Additional CSS Classes
|
|
14
|
+
* @param testId {string} Test id
|
|
15
|
+
*/
|
|
16
|
+
var DropdownGroup = React.forwardRef(function (_a, ref) {
|
|
17
|
+
var className = _a.className, id = _a.id, children = _a.children, hideSeparator = _a.hideSeparator, testId = _a.testId, others = __rest(_a, ["className", "id", "children", "hideSeparator", "testId"]);
|
|
18
|
+
var styled = useTrilogyContext().styled;
|
|
19
|
+
var classes = hashClass(styled, clsx('dropdown-group', hideSeparator && is('no-separator'), className));
|
|
20
|
+
return (React.createElement("div", __assign({ ref: ref, id: id, className: classes, role: "group", "data-testid": testId }, others), children));
|
|
21
|
+
});
|
|
22
|
+
DropdownGroup.displayName = ComponentName.DropdownGroup;
|
|
23
|
+
export default DropdownGroup;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Hcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24vZ3JvdXAvRHJvcGRvd25Hcm91cC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUE7QUFHOUI7Ozs7Ozs7R0FPRztBQUNILElBQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQ3BDLFVBQ0UsRUFPQyxFQUNELEdBQUc7SUFQRCxJQUFBLFNBQVMsZUFBQSxFQUNULEVBQUUsUUFBQSxFQUNGLFFBQVEsY0FBQSxFQUNSLGFBQWEsbUJBQUEsRUFDYixNQUFNLFlBQUEsRUFDSCxNQUFNLGNBTlgsMERBT0MsQ0FEVTtJQUlILElBQUEsTUFBTSxHQUFLLGlCQUFpQixFQUFFLE9BQXhCLENBQXdCO0lBRXRDLElBQU0sT0FBTyxHQUFHLFNBQVMsQ0FDdkIsTUFBTSxFQUNOLElBQUksQ0FDRixnQkFBZ0IsRUFDaEIsYUFBYSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFDbkMsU0FBUyxDQUNWLENBQ0YsQ0FBQTtJQUVELE9BQU8sQ0FDTCxzQ0FDRSxHQUFHLEVBQUUsR0FBRyxFQUNSLEVBQUUsRUFBRSxFQUFFLEVBQ04sU0FBUyxFQUFFLE9BQU8sRUFDbEIsSUFBSSxFQUFDLE9BQU8saUJBQ0MsTUFBTSxJQUNmLE1BQU0sR0FFVCxRQUFRLENBQ0wsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUE7QUFFRCxhQUFhLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUE7QUFDdkQsZUFBZSxhQUFhLENBQUEifQ==
|