@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.
Files changed (113) hide show
  1. package/lib/components/autocomplete/Autocomplete.helpers.js +1 -1
  2. package/lib/components/box/Box.native.js +5 -8
  3. package/lib/components/box/header/BoxHeaderPropsDefaults.js +18 -2
  4. package/lib/components/button/list/ButtonListProps.d.ts +2 -2
  5. package/lib/components/button/list/ButtonListWebPropsDefaults.js +9 -1
  6. package/lib/components/calendar/Calendar.native.js +7 -7
  7. package/lib/components/card/Card.native.js +7 -11
  8. package/lib/components/checkbox/list/CheckboxList.js +1 -1
  9. package/lib/components/checkbox/list/CheckboxListProps.d.ts +3 -3
  10. package/lib/components/checkbox/list/CheckboxListWebPropsDefaults.js +9 -1
  11. package/lib/components/checkbox/tiles/CheckboxTilesPropsDefaults.js +18 -2
  12. package/lib/components/columns/ColumnsPropsDefaults.js +18 -2
  13. package/lib/components/columns/column/Column.native.js +2 -2
  14. package/lib/components/columns/column/ColumnPropsDefaults.js +18 -2
  15. package/lib/components/datepicker/DatePicker.native.d.ts +18 -2
  16. package/lib/components/datepicker/DatePicker.native.js +306 -5
  17. package/lib/components/dropdown/Dropdown.d.ts +13 -0
  18. package/lib/components/dropdown/Dropdown.js +88 -0
  19. package/lib/components/dropdown/Dropdown.native.d.ts +4 -0
  20. package/lib/components/dropdown/Dropdown.native.js +8 -0
  21. package/lib/components/dropdown/DropdownProps.d.ts +15 -0
  22. package/lib/components/dropdown/DropdownProps.js +2 -0
  23. package/lib/components/dropdown/DropdownPropsDefaults.js +53 -0
  24. package/lib/components/dropdown/context/DropdownContext.d.ts +15 -0
  25. package/lib/components/dropdown/context/DropdownContext.js +35 -0
  26. package/lib/components/dropdown/context/index.d.ts +1 -0
  27. package/lib/components/dropdown/context/index.js +2 -0
  28. package/lib/components/dropdown/group/DropdownGroup.d.ts +12 -0
  29. package/lib/components/dropdown/group/DropdownGroup.js +24 -0
  30. package/lib/components/dropdown/group/DropdownGroup.native.d.ts +4 -0
  31. package/lib/components/dropdown/group/DropdownGroup.native.js +8 -0
  32. package/lib/components/dropdown/group/DropdownGroupProps.d.ts +14 -0
  33. package/lib/components/dropdown/group/DropdownGroupProps.js +2 -0
  34. package/lib/components/dropdown/group/DropdownGroupPropsDefaults.js +52 -0
  35. package/lib/components/dropdown/group/index.d.ts +2 -0
  36. package/lib/components/dropdown/group/index.js +3 -0
  37. package/lib/components/dropdown/index.d.ts +6 -0
  38. package/lib/components/dropdown/index.js +7 -0
  39. package/lib/components/dropdown/item/DropdownItem.d.ts +12 -0
  40. package/lib/components/dropdown/item/DropdownItem.js +46 -0
  41. package/lib/components/dropdown/item/DropdownItem.native.d.ts +4 -0
  42. package/lib/components/dropdown/item/DropdownItem.native.js +8 -0
  43. package/lib/components/dropdown/item/DropdownItemProps.d.ts +15 -0
  44. package/lib/components/dropdown/item/DropdownItemProps.js +2 -0
  45. package/lib/components/dropdown/item/DropdownItemPropsDefaults.js +93 -0
  46. package/lib/components/dropdown/item/index.d.ts +2 -0
  47. package/lib/components/dropdown/item/index.js +3 -0
  48. package/lib/components/dropdown/trigger/DropdownTrigger.d.ts +13 -0
  49. package/lib/components/dropdown/trigger/DropdownTrigger.js +61 -0
  50. package/lib/components/dropdown/trigger/DropdownTrigger.native.d.ts +4 -0
  51. package/lib/components/dropdown/trigger/DropdownTrigger.native.js +8 -0
  52. package/lib/components/dropdown/trigger/DropdownTriggerProps.d.ts +13 -0
  53. package/lib/components/dropdown/trigger/DropdownTriggerProps.js +2 -0
  54. package/lib/components/dropdown/trigger/DropdownTriggerPropsDefaults.js +44 -0
  55. package/lib/components/dropdown/trigger/index.d.ts +2 -0
  56. package/lib/components/dropdown/trigger/index.js +3 -0
  57. package/lib/components/enumsComponentsName.d.ts +4 -0
  58. package/lib/components/enumsComponentsName.js +5 -1
  59. package/lib/components/flex-box/FlexBoxPropsDefaults.js +2 -2
  60. package/lib/components/flex-box/flex-item/FlexItemPropsDefaults.js +18 -2
  61. package/lib/components/icon/Icon.native.js +4 -9
  62. package/lib/components/image/ImagePropsDefaults.js +18 -2
  63. package/lib/components/index.d.ts +1 -0
  64. package/lib/components/index.js +2 -1
  65. package/lib/components/price/PricePropsDefaults.js +18 -2
  66. package/lib/components/progress/index.js +1 -1
  67. package/lib/components/progress/radial/ProgressRadial.native.js +3 -7
  68. package/lib/components/progress/radial/ProgressRadialPropsDefaults.js +18 -2
  69. package/lib/components/radio/EventHandlerDefaults.js +21 -0
  70. package/lib/components/radio/Radio.js +3 -3
  71. package/lib/components/radio/Radio.native.d.ts +2 -2
  72. package/lib/components/radio/Radio.native.js +1 -1
  73. package/lib/components/radio/RadioNativePropsDefaults.js +9 -0
  74. package/lib/components/radio/RadioProps.d.ts +9 -2
  75. package/lib/components/radio/list/RadioList.js +1 -1
  76. package/lib/components/radio/list/RadioListProps.d.ts +2 -2
  77. package/lib/components/radio/list/RadioListWebPropsDefaults.js +9 -1
  78. package/lib/components/radio/tiles/RadioTilesPropsDefaults.js +18 -2
  79. package/lib/components/radio/tiles/tile/RadioTile.js +3 -3
  80. package/lib/components/radio/tiles/tile/RadioTile.native.d.ts +2 -2
  81. package/lib/components/radio/tiles/tile/RadioTileNativePropsDefaults.js +104 -0
  82. package/lib/components/radio/tiles/tile/RadioTileProps.d.ts +8 -3
  83. package/lib/components/radio/tiles/tile/RadioTilePropsCommonDefaults.js +97 -0
  84. package/lib/components/radio/tiles/tile/RadioTilePropsDefaults.js +81 -81
  85. package/lib/components/segment-control/SegmentControlProps.d.ts +2 -2
  86. package/lib/components/segment-control/SegmentControlPropsDefaults.js +9 -1
  87. package/lib/components/select/Select.native.js +3 -3
  88. package/lib/components/skeleton/Skeleton.d.ts +17 -0
  89. package/lib/components/skeleton/Skeleton.js +19 -0
  90. package/lib/components/skeleton/Skeleton.native.d.ts +16 -0
  91. package/lib/components/skeleton/Skeleton.native.js +70 -0
  92. package/lib/components/skeleton/SkeletonProps.d.ts +13 -0
  93. package/lib/components/skeleton/SkeletonProps.js +2 -0
  94. package/lib/components/skeleton/SkeletonPropsDefaults.js +80 -0
  95. package/lib/components/skeleton/index.d.ts +3 -0
  96. package/lib/components/skeleton/index.js +4 -0
  97. package/lib/components/tabs/TabsPropsDefaults.js +18 -2
  98. package/lib/components/tabs/tab-list/TabListProps.d.ts +2 -2
  99. package/lib/components/tabs/tab-list/TabListPropsDefaults.js +9 -1
  100. package/lib/components/tabs/tab-list/tab/Tab.native.js +5 -5
  101. package/lib/components/tag/list/TagListProps.d.ts +2 -2
  102. package/lib/components/tag/list/TagListPropsDefaults.js +9 -1
  103. package/lib/components/text/Text.native.js +7 -8
  104. package/lib/components/title/Title.native.js +4 -8
  105. package/lib/components/view/ViewPropsDefaults.js +30 -3
  106. package/lib/helpers/require.js +1 -1
  107. package/lib/objects/facets/Alignable.d.ts +10 -3
  108. package/lib/objects/facets/Alignable.js +10 -5
  109. package/lib/objects/facets/Justifiable.d.ts +11 -4
  110. package/lib/objects/facets/Justifiable.js +31 -28
  111. package/lib/version.d.ts +1 -1
  112. package/lib/version.js +2 -2
  113. package/package.json +6 -2
@@ -1,6 +1,307 @@
1
- import React from 'react';
2
- var DatePicker = function () {
3
- return React.createElement(React.Fragment, null);
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,4 @@
1
+ import * as React from 'react';
2
+ import { DropdownProps } from './DropdownProps';
3
+ declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<import("react-native/types").View>>;
4
+ export default Dropdown;
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvZHJvcGRvd24vRHJvcGRvd25Qcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -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==