@1money/component-ui 0.0.67 → 0.0.69

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 (163) hide show
  1. package/es/business/Filter/Account/Account.d.ts +2 -0
  2. package/es/business/Filter/Account/Account.js +289 -0
  3. package/es/business/Filter/Account/index.d.ts +2 -0
  4. package/es/business/Filter/Account/index.js +3 -0
  5. package/es/business/Filter/Account/interface.d.ts +83 -0
  6. package/es/business/Filter/Account/interface.js +2 -0
  7. package/es/business/Filter/Account/style/Account.css +84 -0
  8. package/es/business/Filter/Account/style/css.js +2 -0
  9. package/es/business/Filter/Account/style/index.d.ts +1 -0
  10. package/es/business/Filter/Account/style/index.js +2 -0
  11. package/es/business/Filter/Asset/Asset.d.ts +2 -0
  12. package/es/business/Filter/Asset/Asset.js +306 -0
  13. package/es/business/Filter/Asset/index.d.ts +2 -0
  14. package/es/business/Filter/Asset/index.js +3 -0
  15. package/es/business/Filter/Asset/interface.d.ts +90 -0
  16. package/es/business/Filter/Asset/interface.js +2 -0
  17. package/es/business/Filter/Asset/style/Asset.css +96 -0
  18. package/es/business/Filter/Asset/style/css.js +2 -0
  19. package/es/business/Filter/Asset/style/index.d.ts +1 -0
  20. package/es/business/Filter/Asset/style/index.js +2 -0
  21. package/es/business/Filter/DateRange/DateRange.d.ts +2 -0
  22. package/es/business/Filter/DateRange/DateRange.js +393 -0
  23. package/es/business/Filter/DateRange/index.d.ts +2 -0
  24. package/es/business/Filter/DateRange/index.js +3 -0
  25. package/es/business/Filter/DateRange/interface.d.ts +68 -0
  26. package/es/business/Filter/DateRange/interface.js +9 -0
  27. package/es/business/Filter/DateRange/style/DateRange.css +85 -0
  28. package/es/business/Filter/DateRange/style/css.js +2 -0
  29. package/es/business/Filter/DateRange/style/index.d.ts +1 -0
  30. package/es/business/Filter/DateRange/style/index.js +2 -0
  31. package/es/business/Filter/Option/Option.d.ts +2 -0
  32. package/es/business/Filter/Option/Option.js +264 -0
  33. package/es/business/Filter/Option/index.d.ts +2 -0
  34. package/es/business/Filter/Option/index.js +3 -0
  35. package/es/business/Filter/Option/interface.d.ts +81 -0
  36. package/es/business/Filter/Option/interface.js +2 -0
  37. package/es/business/Filter/Option/style/Option.css +72 -0
  38. package/es/business/Filter/Option/style/css.js +2 -0
  39. package/es/business/Filter/Option/style/index.d.ts +1 -0
  40. package/es/business/Filter/Option/style/index.js +2 -0
  41. package/es/business/Filter/index.d.ts +4 -0
  42. package/es/business/Filter/index.js +5 -0
  43. package/es/business/Select/Asset/AssetSelect.js +49 -27
  44. package/es/business/Select/Asset/interface.d.ts +16 -1
  45. package/es/business/Select/Asset/style/AssetSelect.css +5 -0
  46. package/es/business/Select/Network/NetworkSelect.js +79 -13
  47. package/es/business/Select/Network/interface.d.ts +43 -9
  48. package/es/business/Select/Network/interface.js +9 -2
  49. package/es/business/Select/Network/style/NetworkSelect.css +10 -0
  50. package/es/business/index.d.ts +1 -0
  51. package/es/business/index.js +2 -1
  52. package/es/components/ProForm/interface.d.ts +3 -1
  53. package/es/components/ProForm/layouts/QueryFilter.js +5 -1
  54. package/es/components/ProTable/ProTable.d.ts +5 -0
  55. package/es/components/ProTable/ProTable.js +309 -0
  56. package/es/components/ProTable/constants.d.ts +12 -0
  57. package/es/components/ProTable/constants.js +12 -0
  58. package/es/components/ProTable/core/genColumns.d.ts +10 -0
  59. package/es/components/ProTable/core/genColumns.js +81 -0
  60. package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
  61. package/es/components/ProTable/core/genSearchFields.js +103 -0
  62. package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  63. package/es/components/ProTable/core/useAwaitableReload.js +39 -0
  64. package/es/components/ProTable/core/utils.d.ts +12 -0
  65. package/es/components/ProTable/core/utils.js +21 -0
  66. package/es/components/ProTable/index.d.ts +4 -0
  67. package/es/components/ProTable/index.js +5 -0
  68. package/es/components/ProTable/interface.d.ts +132 -0
  69. package/es/components/ProTable/interface.js +2 -0
  70. package/es/components/ProTable/style/ProTable.css +47 -0
  71. package/es/components/ProTable/style/css.js +6 -0
  72. package/es/components/ProTable/style/index.d.ts +5 -0
  73. package/es/components/ProTable/style/index.js +6 -0
  74. package/es/components/ProTable/useFetchData.d.ts +48 -0
  75. package/es/components/ProTable/useFetchData.js +270 -0
  76. package/es/components/Select/Select.js +3 -2
  77. package/es/components/Select/interface.d.ts +2 -0
  78. package/es/index.css +1 -1
  79. package/es/index.d.ts +2 -0
  80. package/es/index.js +2 -1
  81. package/lib/business/Filter/Account/Account.d.ts +2 -0
  82. package/lib/business/Filter/Account/Account.js +296 -0
  83. package/lib/business/Filter/Account/index.d.ts +2 -0
  84. package/lib/business/Filter/Account/index.js +28 -0
  85. package/lib/business/Filter/Account/interface.d.ts +83 -0
  86. package/lib/business/Filter/Account/interface.js +6 -0
  87. package/lib/business/Filter/Account/style/Account.css +84 -0
  88. package/lib/business/Filter/Account/style/css.js +4 -0
  89. package/lib/business/Filter/Account/style/index.d.ts +1 -0
  90. package/lib/business/Filter/Account/style/index.js +4 -0
  91. package/lib/business/Filter/Asset/Asset.d.ts +2 -0
  92. package/lib/business/Filter/Asset/Asset.js +313 -0
  93. package/lib/business/Filter/Asset/index.d.ts +2 -0
  94. package/lib/business/Filter/Asset/index.js +28 -0
  95. package/lib/business/Filter/Asset/interface.d.ts +90 -0
  96. package/lib/business/Filter/Asset/interface.js +6 -0
  97. package/lib/business/Filter/Asset/style/Asset.css +96 -0
  98. package/lib/business/Filter/Asset/style/css.js +4 -0
  99. package/lib/business/Filter/Asset/style/index.d.ts +1 -0
  100. package/lib/business/Filter/Asset/style/index.js +4 -0
  101. package/lib/business/Filter/DateRange/DateRange.d.ts +2 -0
  102. package/lib/business/Filter/DateRange/DateRange.js +400 -0
  103. package/lib/business/Filter/DateRange/index.d.ts +2 -0
  104. package/lib/business/Filter/DateRange/index.js +28 -0
  105. package/lib/business/Filter/DateRange/interface.d.ts +68 -0
  106. package/lib/business/Filter/DateRange/interface.js +15 -0
  107. package/lib/business/Filter/DateRange/style/DateRange.css +85 -0
  108. package/lib/business/Filter/DateRange/style/css.js +4 -0
  109. package/lib/business/Filter/DateRange/style/index.d.ts +1 -0
  110. package/lib/business/Filter/DateRange/style/index.js +4 -0
  111. package/lib/business/Filter/Option/Option.d.ts +2 -0
  112. package/lib/business/Filter/Option/Option.js +271 -0
  113. package/lib/business/Filter/Option/index.d.ts +2 -0
  114. package/lib/business/Filter/Option/index.js +28 -0
  115. package/lib/business/Filter/Option/interface.d.ts +81 -0
  116. package/lib/business/Filter/Option/interface.js +6 -0
  117. package/lib/business/Filter/Option/style/Option.css +72 -0
  118. package/lib/business/Filter/Option/style/css.js +4 -0
  119. package/lib/business/Filter/Option/style/index.d.ts +1 -0
  120. package/lib/business/Filter/Option/style/index.js +4 -0
  121. package/lib/business/Filter/index.d.ts +4 -0
  122. package/lib/business/Filter/index.js +50 -0
  123. package/lib/business/Select/Asset/AssetSelect.js +49 -27
  124. package/lib/business/Select/Asset/interface.d.ts +16 -1
  125. package/lib/business/Select/Asset/style/AssetSelect.css +5 -0
  126. package/lib/business/Select/Network/NetworkSelect.js +80 -13
  127. package/lib/business/Select/Network/interface.d.ts +43 -9
  128. package/lib/business/Select/Network/interface.js +10 -1
  129. package/lib/business/Select/Network/style/NetworkSelect.css +10 -0
  130. package/lib/business/index.d.ts +1 -0
  131. package/lib/business/index.js +12 -1
  132. package/lib/components/ProForm/interface.d.ts +3 -1
  133. package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
  134. package/lib/components/ProTable/ProTable.d.ts +5 -0
  135. package/lib/components/ProTable/ProTable.js +316 -0
  136. package/lib/components/ProTable/constants.d.ts +12 -0
  137. package/lib/components/ProTable/constants.js +18 -0
  138. package/lib/components/ProTable/core/genColumns.d.ts +10 -0
  139. package/lib/components/ProTable/core/genColumns.js +87 -0
  140. package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
  141. package/lib/components/ProTable/core/genSearchFields.js +111 -0
  142. package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  143. package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
  144. package/lib/components/ProTable/core/utils.d.ts +12 -0
  145. package/lib/components/ProTable/core/utils.js +28 -0
  146. package/lib/components/ProTable/index.d.ts +4 -0
  147. package/lib/components/ProTable/index.js +33 -0
  148. package/lib/components/ProTable/interface.d.ts +132 -0
  149. package/lib/components/ProTable/interface.js +6 -0
  150. package/lib/components/ProTable/style/ProTable.css +47 -0
  151. package/lib/components/ProTable/style/css.js +8 -0
  152. package/lib/components/ProTable/style/index.d.ts +5 -0
  153. package/lib/components/ProTable/style/index.js +8 -0
  154. package/lib/components/ProTable/useFetchData.d.ts +48 -0
  155. package/lib/components/ProTable/useFetchData.js +277 -0
  156. package/lib/components/Select/Select.js +3 -2
  157. package/lib/components/Select/interface.d.ts +2 -0
  158. package/lib/index.css +1 -1
  159. package/lib/index.d.ts +2 -0
  160. package/lib/index.js +8 -1
  161. package/package.json +31 -1
  162. package/scripts/mcp-server/examples.generated.json +156 -0
  163. package/scripts/mcp-server/index.generated.json +741 -1
@@ -0,0 +1,393 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
9
+ };
10
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
+ import { memo, useCallback, useImperativeHandle, useState } from 'react';
12
+ import { Button } from '../../../components/Button';
13
+ import { Calendar } from '../../../components/Calendar';
14
+ import { Flex } from '../../../components/Flex';
15
+ import { Icons } from '../../../components/Icons';
16
+ import { Radio } from '../../../components/Radio';
17
+ import { Select } from '../../../components/Select';
18
+ import { TypographyBody, TypographyLabel } from '../../../components/Typography';
19
+ import { joinCls } from '../../../utils/classnames';
20
+ import { ALL_TRANSACTIONS_VALUE, DATE_RANGE_OPTIONS } from './interface';
21
+ var WRAP_CLS = 'om-date-range-filter';
22
+ // The calendar overlay is portaled to <body>, outside WRAP_CLS — this is a
23
+ // standalone top-level hook so its SCSS can lift it above the host
24
+ // Select.Custom panel (z-index 1500).
25
+ var CALENDAR_PANEL_CLS = 'om-date-range-filter-calendar-panel';
26
+ // The Select.Custom panel is portaled to <body> too — top-level hook for
27
+ // scoping panel-body overrides without leaking into other Select panels.
28
+ var SELECT_PANEL_CLS = 'om-date-range-filter-panel';
29
+ var PANEL_WIDTH_PRESET = 240;
30
+ var PANEL_WIDTH_CUSTOM = 320;
31
+ var CALENDAR_MONTHS = 2;
32
+ var CHEVRON_SIZE = 16;
33
+ var BACK_ICON_SIZE = 24;
34
+ var RESET_LABEL = 'Reset';
35
+ var APPLY_LABEL = 'Apply';
36
+ var CUSTOM_RANGE_TITLE = 'Custom date range';
37
+ var RANGE_SEPARATOR = ' - ';
38
+ var FULL_WIDTH_STYLE = {
39
+ flex: 1
40
+ };
41
+ var _DATE_RANGE_OPTIONS = _slicedToArray(DATE_RANGE_OPTIONS, 5),
42
+ OPTION_ALL = _DATE_RANGE_OPTIONS[0],
43
+ OPTION_LAST_30_DAYS = _DATE_RANGE_OPTIONS[1],
44
+ OPTION_YEAR_TO_DATE = _DATE_RANGE_OPTIONS[2],
45
+ OPTION_LAST_12_MONTHS = _DATE_RANGE_OPTIONS[3],
46
+ OPTION_CUSTOM = _DATE_RANGE_OPTIONS[4];
47
+ var LAST_30_DAYS_COUNT = 30;
48
+ var LAST_12_MONTHS_COUNT = 12;
49
+ var YEAR_START_MONTH = 0; // January (zero-based month index)
50
+ var FIRST_DAY_OF_MONTH = 1;
51
+ // Day-boundary times so an applied range covers whole days inclusively:
52
+ // the start day from 00:00:00.000 and the end day through 23:59:59.999.
53
+ var DAY_START_TIME = [0, 0, 0, 0]; // [hours, minutes, seconds, ms]
54
+ var DAY_END_TIME = [23, 59, 59, 999]; // [hours, minutes, seconds, ms]
55
+ var DATE_FORMAT_LOCALE = 'en-US';
56
+ var DATE_FORMAT_OPTIONS = {
57
+ month: '2-digit',
58
+ day: '2-digit',
59
+ year: 'numeric'
60
+ };
61
+ var dateFormatter = new Intl.DateTimeFormat(DATE_FORMAT_LOCALE, DATE_FORMAT_OPTIONS);
62
+ var EMPTY_RANGE = {
63
+ startDate: null,
64
+ endDate: null
65
+ };
66
+ var startOfDay = function startOfDay(date) {
67
+ var result = new Date(date);
68
+ result.setHours.apply(result, DAY_START_TIME);
69
+ return result;
70
+ };
71
+ var endOfDay = function endOfDay(date) {
72
+ var result = new Date(date);
73
+ result.setHours.apply(result, DAY_END_TIME);
74
+ return result;
75
+ };
76
+ var formatDate = function formatDate(date) {
77
+ return dateFormatter.format(date);
78
+ };
79
+ var formatRange = function formatRange(start, end) {
80
+ return "".concat(formatDate(start)).concat(RANGE_SEPARATOR).concat(formatDate(end));
81
+ };
82
+ var getDateFromOption = function getDateFromOption(option, range) {
83
+ var today = new Date();
84
+ switch (option) {
85
+ case OPTION_LAST_30_DAYS:
86
+ {
87
+ var startDate = new Date();
88
+ startDate.setDate(today.getDate() - LAST_30_DAYS_COUNT);
89
+ return {
90
+ startDate: startOfDay(startDate),
91
+ endDate: endOfDay(today)
92
+ };
93
+ }
94
+ case OPTION_YEAR_TO_DATE:
95
+ {
96
+ var _startDate = new Date(today.getFullYear(), YEAR_START_MONTH, FIRST_DAY_OF_MONTH);
97
+ return {
98
+ startDate: startOfDay(_startDate),
99
+ endDate: endOfDay(today)
100
+ };
101
+ }
102
+ case OPTION_LAST_12_MONTHS:
103
+ {
104
+ var _startDate2 = new Date();
105
+ _startDate2.setMonth(today.getMonth() - LAST_12_MONTHS_COUNT);
106
+ return {
107
+ startDate: startOfDay(_startDate2),
108
+ endDate: endOfDay(today)
109
+ };
110
+ }
111
+ case OPTION_CUSTOM:
112
+ if (range.startDate && range.endDate) {
113
+ return {
114
+ startDate: startOfDay(range.startDate),
115
+ endDate: endOfDay(range.endDate)
116
+ };
117
+ }
118
+ return ALL_TRANSACTIONS_VALUE;
119
+ default:
120
+ return ALL_TRANSACTIONS_VALUE;
121
+ }
122
+ };
123
+ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
124
+ var ref = _a.ref,
125
+ className = _a.className,
126
+ _a$size = _a.size,
127
+ size = _a$size === void 0 ? 'small' : _a$size,
128
+ label = _a.label,
129
+ _a$placeholder = _a.placeholder,
130
+ placeholder = _a$placeholder === void 0 ? 'Date' : _a$placeholder,
131
+ _a$allTransactionsLab = _a.allTransactionsLabel,
132
+ allTransactionsLabel = _a$allTransactionsLab === void 0 ? 'All transactions' : _a$allTransactionsLab,
133
+ _a$defaultSelectAll = _a.defaultSelectAll,
134
+ defaultSelectAll = _a$defaultSelectAll === void 0 ? false : _a$defaultSelectAll,
135
+ onApply = _a.onApply,
136
+ onReset = _a.onReset,
137
+ rest = __rest(_a, ["ref", "className", "size", "label", "placeholder", "allTransactionsLabel", "defaultSelectAll", "onApply", "onReset"]);
138
+ var initialOption = defaultSelectAll ? OPTION_ALL : null;
139
+ var initialText = defaultSelectAll ? allTransactionsLabel : '';
140
+ var _useState = useState(false),
141
+ _useState2 = _slicedToArray(_useState, 2),
142
+ open = _useState2[0],
143
+ setOpen = _useState2[1];
144
+ var _useState3 = useState(initialOption),
145
+ _useState4 = _slicedToArray(_useState3, 2),
146
+ selectedOption = _useState4[0],
147
+ setSelectedOption = _useState4[1];
148
+ var _useState5 = useState(initialOption),
149
+ _useState6 = _slicedToArray(_useState5, 2),
150
+ lastSelectedOption = _useState6[0],
151
+ setLastSelectedOption = _useState6[1];
152
+ var _useState7 = useState(EMPTY_RANGE),
153
+ _useState8 = _slicedToArray(_useState7, 2),
154
+ selectedRange = _useState8[0],
155
+ setSelectedRange = _useState8[1];
156
+ var _useState9 = useState(EMPTY_RANGE),
157
+ _useState10 = _slicedToArray(_useState9, 2),
158
+ appliedRange = _useState10[0],
159
+ setAppliedRange = _useState10[1];
160
+ var _useState11 = useState(initialText),
161
+ _useState12 = _slicedToArray(_useState11, 2),
162
+ selectedText = _useState12[0],
163
+ setSelectedText = _useState12[1];
164
+ var _useState13 = useState(false),
165
+ _useState14 = _slicedToArray(_useState13, 2),
166
+ showCustomRange = _useState14[0],
167
+ setShowCustomRange = _useState14[1];
168
+ var _useState15 = useState(undefined),
169
+ _useState16 = _slicedToArray(_useState15, 2),
170
+ monthView = _useState16[0],
171
+ setMonthView = _useState16[1];
172
+ useImperativeHandle(ref, function () {
173
+ return {
174
+ clear: function clear() {
175
+ setSelectedOption(null);
176
+ setLastSelectedOption(null);
177
+ setSelectedRange(EMPTY_RANGE);
178
+ setAppliedRange(EMPTY_RANGE);
179
+ setSelectedText('');
180
+ setShowCustomRange(false);
181
+ setMonthView(undefined);
182
+ },
183
+ reset: function reset() {
184
+ setSelectedOption(initialOption);
185
+ setLastSelectedOption(initialOption);
186
+ setSelectedRange(EMPTY_RANGE);
187
+ setAppliedRange(EMPTY_RANGE);
188
+ setSelectedText(initialText);
189
+ setShowCustomRange(false);
190
+ setMonthView(undefined);
191
+ onReset === null || onReset === void 0 ? void 0 : onReset();
192
+ }
193
+ };
194
+ }, [initialOption, initialText, onReset]);
195
+ var getDisplayLabel = useCallback(function (option) {
196
+ return option === OPTION_ALL ? allTransactionsLabel : option;
197
+ }, [allTransactionsLabel]);
198
+ var handleItemClick = useCallback(function (option) {
199
+ if (option === OPTION_CUSTOM) {
200
+ setShowCustomRange(true);
201
+ } else {
202
+ setShowCustomRange(false);
203
+ setSelectedOption(option);
204
+ }
205
+ }, []);
206
+ var handleDateSelect = useCallback(function (event) {
207
+ var value = event.value;
208
+ if (!Array.isArray(value)) return;
209
+ var _value = _slicedToArray(value, 2),
210
+ start = _value[0],
211
+ end = _value[1];
212
+ if (start && end) {
213
+ setMonthView(start);
214
+ setSelectedRange({
215
+ startDate: start,
216
+ endDate: end
217
+ });
218
+ } else if (start) {
219
+ setSelectedRange({
220
+ startDate: start,
221
+ endDate: null
222
+ });
223
+ }
224
+ }, []);
225
+ var applyPreset = useCallback(function () {
226
+ if (!selectedOption) return;
227
+ onApply(getDateFromOption(selectedOption, selectedRange));
228
+ setSelectedText(getDisplayLabel(selectedOption));
229
+ setLastSelectedOption(selectedOption);
230
+ setShowCustomRange(false);
231
+ setSelectedRange(EMPTY_RANGE);
232
+ setAppliedRange(EMPTY_RANGE);
233
+ setMonthView(undefined);
234
+ setOpen(false);
235
+ }, [selectedOption, selectedRange, onApply, getDisplayLabel]);
236
+ var applyCustom = useCallback(function () {
237
+ var startDate = selectedRange.startDate,
238
+ endDate = selectedRange.endDate;
239
+ if (!startDate || !endDate) return;
240
+ onApply({
241
+ startDate: startOfDay(startDate),
242
+ endDate: endOfDay(endDate)
243
+ });
244
+ setSelectedText(formatRange(startDate, endDate));
245
+ setLastSelectedOption(OPTION_CUSTOM);
246
+ setSelectedOption(null);
247
+ setAppliedRange({
248
+ startDate: startDate,
249
+ endDate: endDate
250
+ });
251
+ setShowCustomRange(true);
252
+ setOpen(false);
253
+ }, [selectedRange, onApply]);
254
+ var resetSelection = useCallback(function () {
255
+ setSelectedOption(initialOption);
256
+ setLastSelectedOption(initialOption);
257
+ setSelectedText(initialText);
258
+ setSelectedRange(EMPTY_RANGE);
259
+ setAppliedRange(EMPTY_RANGE);
260
+ setMonthView(undefined);
261
+ onReset === null || onReset === void 0 ? void 0 : onReset();
262
+ }, [initialOption, initialText, onReset]);
263
+ var handleOpenChange = useCallback(function (nextOpen) {
264
+ setOpen(nextOpen);
265
+ if (nextOpen) return;
266
+ // On close without Apply, snap the panel back to the last committed state
267
+ // so an abandoned edit doesn't linger.
268
+ if (lastSelectedOption === OPTION_CUSTOM) {
269
+ setShowCustomRange(true);
270
+ setSelectedRange(appliedRange);
271
+ } else {
272
+ setShowCustomRange(false);
273
+ setSelectedOption(lastSelectedOption);
274
+ }
275
+ }, [lastSelectedOption, appliedRange]);
276
+ var calendarValue = selectedRange.startDate ? selectedRange.endDate ? [selectedRange.startDate, selectedRange.endDate] : [selectedRange.startDate] : null;
277
+ var renderPresetList = function renderPresetList() {
278
+ return _jsxs(_Fragment, {
279
+ children: [_jsx("ul", {
280
+ className: "".concat(WRAP_CLS, "__list"),
281
+ children: DATE_RANGE_OPTIONS.map(function (option) {
282
+ return _jsxs("li", {
283
+ className: joinCls("".concat(WRAP_CLS, "__item"), option === OPTION_CUSTOM && "".concat(WRAP_CLS, "__item--custom")),
284
+ onClick: function onClick() {
285
+ return handleItemClick(option);
286
+ },
287
+ children: [_jsx(TypographyBody, {
288
+ size: 'md',
289
+ children: getDisplayLabel(option)
290
+ }), option === OPTION_CUSTOM ? _jsx(Icons, {
291
+ name: 'chevronRight',
292
+ size: CHEVRON_SIZE
293
+ }) : _jsx(Radio, {
294
+ size: 'small',
295
+ checked: selectedOption === option
296
+ })]
297
+ }, option);
298
+ })
299
+ }), _jsxs(Flex, {
300
+ gap: 8,
301
+ className: "".concat(WRAP_CLS, "__footer"),
302
+ children: [_jsx(Button, {
303
+ color: 'grey',
304
+ size: 'small',
305
+ style: FULL_WIDTH_STYLE,
306
+ onClick: resetSelection,
307
+ children: RESET_LABEL
308
+ }), _jsx(Button, {
309
+ color: 'primary',
310
+ size: 'small',
311
+ style: FULL_WIDTH_STYLE,
312
+ disabled: !selectedOption,
313
+ onClick: applyPreset,
314
+ children: APPLY_LABEL
315
+ })]
316
+ })]
317
+ });
318
+ };
319
+ var renderCustomRange = function renderCustomRange() {
320
+ return _jsxs("div", {
321
+ className: "".concat(WRAP_CLS, "__custom"),
322
+ children: [_jsxs(Flex, {
323
+ align: 'center',
324
+ gap: 8,
325
+ className: "".concat(WRAP_CLS, "__custom-header"),
326
+ children: [_jsx(Icons, {
327
+ name: 'arrowLeft',
328
+ size: BACK_ICON_SIZE,
329
+ wrapperCls: "".concat(WRAP_CLS, "__back-icon"),
330
+ onClick: function onClick() {
331
+ return setShowCustomRange(false);
332
+ }
333
+ }), _jsx(TypographyLabel, {
334
+ size: 'lg',
335
+ children: CUSTOM_RANGE_TITLE
336
+ })]
337
+ }), _jsx(Calendar, {
338
+ wrapperCls: "".concat(WRAP_CLS, "__calendar"),
339
+ panelClassName: CALENDAR_PANEL_CLS,
340
+ size: 'small',
341
+ selectionMode: 'range',
342
+ placeholder: 'MM/DD/YYYY - MM/DD/YYYY',
343
+ readOnlyInput: true,
344
+ hideOnRangeSelection: true,
345
+ numberOfMonths: CALENDAR_MONTHS,
346
+ value: calendarValue,
347
+ viewDate: monthView,
348
+ onViewDateChange: function onViewDateChange(event) {
349
+ return setMonthView(event.value);
350
+ },
351
+ onChange: handleDateSelect
352
+ }), _jsxs(Flex, {
353
+ gap: 8,
354
+ className: joinCls("".concat(WRAP_CLS, "__footer"), "".concat(WRAP_CLS, "__footer--bordered")),
355
+ children: [_jsx(Button, {
356
+ color: 'grey',
357
+ size: 'small',
358
+ style: FULL_WIDTH_STYLE,
359
+ onClick: resetSelection,
360
+ children: RESET_LABEL
361
+ }), _jsx(Button, {
362
+ color: 'primary',
363
+ size: 'small',
364
+ style: FULL_WIDTH_STYLE,
365
+ disabled: !selectedRange.startDate || !selectedRange.endDate,
366
+ onClick: applyCustom,
367
+ children: APPLY_LABEL
368
+ })]
369
+ })]
370
+ });
371
+ };
372
+ return _jsx(Select.Custom, Object.assign({}, rest, {
373
+ size: size,
374
+ animation: false,
375
+ label: label,
376
+ placeholder: placeholder,
377
+ className: joinCls(WRAP_CLS, className),
378
+ panelClassName: SELECT_PANEL_CLS,
379
+ panelWidth: showCustomRange ? PANEL_WIDTH_CUSTOM : PANEL_WIDTH_PRESET,
380
+ open: open,
381
+ onOpenChange: handleOpenChange,
382
+ selectedTemplate: selectedText ? _jsx(TypographyBody, {
383
+ size: 'md',
384
+ className: "".concat(WRAP_CLS, "__value"),
385
+ children: selectedText
386
+ }) : null,
387
+ children: function children() {
388
+ return showCustomRange ? renderCustomRange() : renderPresetList();
389
+ }
390
+ }));
391
+ };
392
+ export var DateRangeFilter = /*#__PURE__*/memo(DateRangeFilterBase);
393
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYWxlbmRhciIsIkZsZXgiLCJJY29ucyIsIlJhZGlvIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiQUxMX1RSQU5TQUNUSU9OU19WQUxVRSIsIkRBVEVfUkFOR0VfT1BUSU9OUyIsIldSQVBfQ0xTIiwiQ0FMRU5EQVJfUEFORUxfQ0xTIiwiU0VMRUNUX1BBTkVMX0NMUyIsIlBBTkVMX1dJRFRIX1BSRVNFVCIsIlBBTkVMX1dJRFRIX0NVU1RPTSIsIkNBTEVOREFSX01PTlRIUyIsIkNIRVZST05fU0laRSIsIkJBQ0tfSUNPTl9TSVpFIiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkNVU1RPTV9SQU5HRV9USVRMRSIsIlJBTkdFX1NFUEFSQVRPUiIsIkZVTExfV0lEVEhfU1RZTEUiLCJmbGV4IiwiX0RBVEVfUkFOR0VfT1BUSU9OUyIsIl9zbGljZWRUb0FycmF5IiwiT1BUSU9OX0FMTCIsIk9QVElPTl9MQVNUXzMwX0RBWVMiLCJPUFRJT05fWUVBUl9UT19EQVRFIiwiT1BUSU9OX0xBU1RfMTJfTU9OVEhTIiwiT1BUSU9OX0NVU1RPTSIsIkxBU1RfMzBfREFZU19DT1VOVCIsIkxBU1RfMTJfTU9OVEhTX0NPVU5UIiwiWUVBUl9TVEFSVF9NT05USCIsIkZJUlNUX0RBWV9PRl9NT05USCIsIkRBWV9TVEFSVF9USU1FIiwiREFZX0VORF9USU1FIiwiREFURV9GT1JNQVRfTE9DQUxFIiwiREFURV9GT1JNQVRfT1BUSU9OUyIsIm1vbnRoIiwiZGF5IiwieWVhciIsImRhdGVGb3JtYXR0ZXIiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJFTVBUWV9SQU5HRSIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJzdGFydE9mRGF5IiwiZGF0ZSIsInJlc3VsdCIsIkRhdGUiLCJzZXRIb3VycyIsImFwcGx5IiwiZW5kT2ZEYXkiLCJmb3JtYXREYXRlIiwiZm9ybWF0IiwiZm9ybWF0UmFuZ2UiLCJzdGFydCIsImVuZCIsImNvbmNhdCIsImdldERhdGVGcm9tT3B0aW9uIiwib3B0aW9uIiwicmFuZ2UiLCJ0b2RheSIsInNldERhdGUiLCJnZXREYXRlIiwiZ2V0RnVsbFllYXIiLCJzZXRNb250aCIsImdldE1vbnRoIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwiX2Ekc2l6ZSIsInNpemUiLCJsYWJlbCIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRhbGxUcmFuc2FjdGlvbnNMYWIiLCJhbGxUcmFuc2FjdGlvbnNMYWJlbCIsIl9hJGRlZmF1bHRTZWxlY3RBbGwiLCJkZWZhdWx0U2VsZWN0QWxsIiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiaW5pdGlhbE9wdGlvbiIsImluaXRpYWxUZXh0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZE9wdGlvbiIsInNldFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsYXN0U2VsZWN0ZWRPcHRpb24iLCJzZXRMYXN0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkUmFuZ2UiLCJzZXRTZWxlY3RlZFJhbmdlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiYXBwbGllZFJhbmdlIiwic2V0QXBwbGllZFJhbmdlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGV4dCIsInNldFNlbGVjdGVkVGV4dCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzaG93Q3VzdG9tUmFuZ2UiLCJzZXRTaG93Q3VzdG9tUmFuZ2UiLCJfdXNlU3RhdGUxNSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTE2IiwibW9udGhWaWV3Iiwic2V0TW9udGhWaWV3IiwiY2xlYXIiLCJyZXNldCIsImdldERpc3BsYXlMYWJlbCIsImhhbmRsZUl0ZW1DbGljayIsImhhbmRsZURhdGVTZWxlY3QiLCJldmVudCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiX3ZhbHVlIiwiYXBwbHlQcmVzZXQiLCJhcHBseUN1c3RvbSIsInJlc2V0U2VsZWN0aW9uIiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiY2FsZW5kYXJWYWx1ZSIsInJlbmRlclByZXNldExpc3QiLCJjaGlsZHJlbiIsIm1hcCIsIm9uQ2xpY2siLCJuYW1lIiwiY2hlY2tlZCIsImdhcCIsImNvbG9yIiwic3R5bGUiLCJkaXNhYmxlZCIsInJlbmRlckN1c3RvbVJhbmdlIiwiYWxpZ24iLCJ3cmFwcGVyQ2xzIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3Rpb25Nb2RlIiwicmVhZE9ubHlJbnB1dCIsImhpZGVPblJhbmdlU2VsZWN0aW9uIiwibnVtYmVyT2ZNb250aHMiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsIkN1c3RvbSIsImFzc2lnbiIsImFuaW1hdGlvbiIsInBhbmVsV2lkdGgiLCJvbk9wZW5DaGFuZ2UiLCJzZWxlY3RlZFRlbXBsYXRlIiwiRGF0ZVJhbmdlRmlsdGVyIl0sIm1hcHBpbmdzIjoiO0FB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d0UsWUFBWSxFQUFFNUIsZ0JBQWdCO0lBQzlCNkIsZ0JBQWdCLEVBQ2RyRCxZQUFZLEdBQ1Z4SCxJQUFBLENBQUNlLGNBQWMsRUFBQTtNQUFDc0UsSUFBSSxFQUFDLElBQUk7TUFBQ0YsU0FBUyxLQUFBYixNQUFBLENBQUtsRCxRQUFRLFlBQVM7TUFBQWdJLFFBQUEsRUFDdEQ1QjtJQUFZLENBQUEsQ0FDRSxHQUNmLElBQUk7SUFBQTRCLFFBQUEsRUFHVCxTQUhTQSxRQUFBQSxDQUFBO01BQUEsT0FHRnhCLGVBQWUsR0FBR2lDLGlCQUFpQixDQUFBLENBQUUsR0FBR1YsZ0JBQWdCLENBQUEsQ0FBRTtJQUFBO0VBQUMsQ0FBQSxDQUFBLENBQ3JEO0FBRXBCLENBQUM7QUFFRCxPQUFPLElBQU0yQixlQUFlLGdCQUFHekssSUFBSSxDQUFDMkUsbUJBQW1CLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9EYXRlUmFuZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgUmFkaW8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1JhZGlvJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUxMX1RSQU5TQUNUSU9OU19WQUxVRSwgREFURV9SQU5HRV9PUFRJT05TLCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyJztcbi8vIFRoZSBjYWxlbmRhciBvdmVybGF5IGlzIHBvcnRhbGVkIHRvIDxib2R5Piwgb3V0c2lkZSBXUkFQX0NMUyDigJQgdGhpcyBpcyBhXG4vLyBzdGFuZGFsb25lIHRvcC1sZXZlbCBob29rIHNvIGl0cyBTQ1NTIGNhbiBsaWZ0IGl0IGFib3ZlIHRoZSBob3N0XG4vLyBTZWxlY3QuQ3VzdG9tIHBhbmVsICh6LWluZGV4IDE1MDApLlxuY29uc3QgQ0FMRU5EQVJfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLWNhbGVuZGFyLXBhbmVsJztcbi8vIFRoZSBTZWxlY3QuQ3VzdG9tIHBhbmVsIGlzIHBvcnRhbGVkIHRvIDxib2R5PiB0b28g4oCUIHRvcC1sZXZlbCBob29rIGZvclxuLy8gc2NvcGluZyBwYW5lbC1ib2R5IG92ZXJyaWRlcyB3aXRob3V0IGxlYWtpbmcgaW50byBvdGhlciBTZWxlY3QgcGFuZWxzLlxuY29uc3QgU0VMRUNUX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1wYW5lbCc7XG5jb25zdCBQQU5FTF9XSURUSF9QUkVTRVQgPSAyNDA7XG5jb25zdCBQQU5FTF9XSURUSF9DVVNUT00gPSAzMjA7XG5jb25zdCBDQUxFTkRBUl9NT05USFMgPSAyO1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBCQUNLX0lDT05fU0laRSA9IDI0O1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgQ1VTVE9NX1JBTkdFX1RJVExFID0gJ0N1c3RvbSBkYXRlIHJhbmdlJztcbmNvbnN0IFJBTkdFX1NFUEFSQVRPUiA9ICcgLSAnO1xuY29uc3QgRlVMTF9XSURUSF9TVFlMRSA9IHsgZmxleDogMSB9O1xuY29uc3QgW09QVElPTl9BTEwsIE9QVElPTl9MQVNUXzMwX0RBWVMsIE9QVElPTl9ZRUFSX1RPX0RBVEUsIE9QVElPTl9MQVNUXzEyX01PTlRIUywgT1BUSU9OX0NVU1RPTSxdID0gREFURV9SQU5HRV9PUFRJT05TO1xuY29uc3QgTEFTVF8zMF9EQVlTX0NPVU5UID0gMzA7XG5jb25zdCBMQVNUXzEyX01PTlRIU19DT1VOVCA9IDEyO1xuY29uc3QgWUVBUl9TVEFSVF9NT05USCA9IDA7IC8vIEphbnVhcnkgKHplcm8tYmFzZWQgbW9udGggaW5kZXgpXG5jb25zdCBGSVJTVF9EQVlfT0ZfTU9OVEggPSAxO1xuLy8gRGF5LWJvdW5kYXJ5IHRpbWVzIHNvIGFuIGFwcGxpZWQgcmFuZ2UgY292ZXJzIHdob2xlIGRheXMgaW5jbHVzaXZlbHk6XG4vLyB0aGUgc3RhcnQgZGF5IGZyb20gMDA6MDA6MDAuMDAwIGFuZCB0aGUgZW5kIGRheSB0aHJvdWdoIDIzOjU5OjU5Ljk5OS5cbmNvbnN0IERBWV9TVEFSVF9USU1FID0gWzAsIDAsIDAsIDBdOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFZX0VORF9USU1FID0gWzIzLCA1OSwgNTksIDk5OV07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVRFX0ZPUk1BVF9MT0NBTEUgPSAnZW4tVVMnO1xuY29uc3QgREFURV9GT1JNQVRfT1BUSU9OUyA9IHtcbiAgICBtb250aDogJzItZGlnaXQnLFxuICAgIGRheTogJzItZGlnaXQnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbn07XG5jb25zdCBkYXRlRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoREFURV9GT1JNQVRfTE9DQUxFLCBEQVRFX0ZPUk1BVF9PUFRJT05TKTtcbmNvbnN0IEVNUFRZX1JBTkdFID0geyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfTtcbmNvbnN0IHN0YXJ0T2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfU1RBUlRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBlbmRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9FTkRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUpID0+IGRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xuY29uc3QgZm9ybWF0UmFuZ2UgPSAoc3RhcnQsIGVuZCkgPT4gYCR7Zm9ybWF0RGF0ZShzdGFydCl9JHtSQU5HRV9TRVBBUkFUT1J9JHtmb3JtYXREYXRlKGVuZCl9YDtcbmNvbnN0IGdldERhdGVGcm9tT3B0aW9uID0gKG9wdGlvbiwgcmFuZ2UpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8zMF9EQVlTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gTEFTVF8zMF9EQVlTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9ZRUFSX1RPX0RBVEU6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIFlFQVJfU1RBUlRfTU9OVEgsIEZJUlNUX0RBWV9PRl9NT05USCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8xMl9NT05USFM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0TW9udGgodG9kYXkuZ2V0TW9udGgoKSAtIExBU1RfMTJfTU9OVEhTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9DVVNUT006XG4gICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnREYXRlICYmIHJhbmdlLmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkocmFuZ2Uuc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkocmFuZ2UuZW5kRGF0ZSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgfVxufTtcbmNvbnN0IERhdGVSYW5nZUZpbHRlckJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyByZWYsIGNsYXNzTmFtZSwgc2l6ZSA9ICdzbWFsbCcsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiYWxsVHJhbnNhY3Rpb25zTGFiZWxcIiwgXCJkZWZhdWx0U2VsZWN0QWxsXCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxPcHRpb24gPSBkZWZhdWx0U2VsZWN0QWxsID8gT1BUSU9OX0FMTCA6IG51bGw7XG4gICAgY29uc3QgaW5pdGlhbFRleHQgPSBkZWZhdWx0U2VsZWN0QWxsID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiAnJztcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbGVjdGVkT3B0aW9uLCBzZXRTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBzZXRMYXN0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW3NlbGVjdGVkUmFuZ2UsIHNldFNlbGVjdGVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFthcHBsaWVkUmFuZ2UsIHNldEFwcGxpZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW3NlbGVjdGVkVGV4dCwgc2V0U2VsZWN0ZWRUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxUZXh0KTtcbiAgICBjb25zdCBbc2hvd0N1c3RvbVJhbmdlLCBzZXRTaG93Q3VzdG9tUmFuZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttb250aFZpZXcsIHNldE1vbnRoVmlld10gPSB1c2VTdGF0ZSh1bmRlZmluZWQpO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoJycpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICB9LFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGdldERpc3BsYXlMYWJlbCA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IChvcHRpb24gPT09IE9QVElPTl9BTEwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6IG9wdGlvbiksIFthbGxUcmFuc2FjdGlvbnNMYWJlbF0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlRGF0ZVNlbGVjdCA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHN0YXJ0KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBlbmQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGFwcGx5UHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KGdldERhdGVGcm9tT3B0aW9uKHNlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlKSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChnZXREaXNwbGF5TGFiZWwoc2VsZWN0ZWRPcHRpb24pKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UsIG9uQXBwbHksIGdldERpc3BsYXlMYWJlbF0pO1xuICAgIGNvbnN0IGFwcGx5Q3VzdG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gc2VsZWN0ZWRSYW5nZTtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoeyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkoZW5kRGF0ZSkgfSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChmb3JtYXRSYW5nZShzdGFydERhdGUsIGVuZERhdGUpKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKE9QVElPTl9DVVNUT00pO1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZFJhbmdlLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgcmVzZXRTZWxlY3Rpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBPbiBjbG9zZSB3aXRob3V0IEFwcGx5LCBzbmFwIHRoZSBwYW5lbCBiYWNrIHRvIHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZVxuICAgICAgICAvLyBzbyBhbiBhYmFuZG9uZWQgZWRpdCBkb2Vzbid0IGxpbmdlci5cbiAgICAgICAgaWYgKGxhc3RTZWxlY3RlZE9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShhcHBsaWVkUmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGxhc3RTZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBhcHBsaWVkUmFuZ2VdKTtcbiAgICBjb25zdCBjYWxlbmRhclZhbHVlID0gc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVcbiAgICAgICAgPyBzZWxlY3RlZFJhbmdlLmVuZERhdGVcbiAgICAgICAgICAgID8gW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlLCBzZWxlY3RlZFJhbmdlLmVuZERhdGVdXG4gICAgICAgICAgICA6IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZV1cbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHJlbmRlclByZXNldExpc3QgPSAoKSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2xpc3RgLCBjaGlsZHJlbjogREFURV9SQU5HRV9PUFRJT05TLm1hcCgob3B0aW9uKSA9PiAoX2pzeHMoXCJsaVwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2l0ZW1gLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1jdXN0b21gKSwgb25DbGljazogKCkgPT4gaGFuZGxlSXRlbUNsaWNrKG9wdGlvbiksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjaGlsZHJlbjogZ2V0RGlzcGxheUxhYmVsKG9wdGlvbikgfSksIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSA/IChfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uUmlnaHQnLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkpIDogKF9qc3goUmFkaW8sIHsgc2l6ZTogJ3NtYWxsJywgY2hlY2tlZDogc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbiB9KSldIH0sIG9wdGlvbikpKSB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZE9wdGlvbiwgb25DbGljazogYXBwbHlQcmVzZXQsIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICBjb25zdCByZW5kZXJDdXN0b21SYW5nZSA9ICgpID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b21gLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b20taGVhZGVyYCwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdhcnJvd0xlZnQnLCBzaXplOiBCQUNLX0lDT05fU0laRSwgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19iYWNrLWljb25gLCBvbkNsaWNrOiAoKSA9PiBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpIH0pLCBfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbGcnLCBjaGlsZHJlbjogQ1VTVE9NX1JBTkdFX1RJVExFIH0pXSB9KSwgX2pzeChDYWxlbmRhciwgeyB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2NhbGVuZGFyYCwgcGFuZWxDbGFzc05hbWU6IENBTEVOREFSX1BBTkVMX0NMUywgc2l6ZTogJ3NtYWxsJywgc2VsZWN0aW9uTW9kZTogJ3JhbmdlJywgcGxhY2Vob2xkZXI6ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWScsIHJlYWRPbmx5SW5wdXQ6IHRydWUsIGhpZGVPblJhbmdlU2VsZWN0aW9uOiB0cnVlLCBudW1iZXJPZk1vbnRoczogQ0FMRU5EQVJfTU9OVEhTLCB2YWx1ZTogY2FsZW5kYXJWYWx1ZSwgdmlld0RhdGU6IG1vbnRoVmlldywgb25WaWV3RGF0ZUNoYW5nZTogKGV2ZW50KSA9PiBzZXRNb250aFZpZXcoZXZlbnQudmFsdWUpLCBvbkNoYW5nZTogaGFuZGxlRGF0ZVNlbGVjdCB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGAke1dSQVBfQ0xTfV9fZm9vdGVyLS1ib3JkZXJlZGApLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZSB8fCAhc2VsZWN0ZWRSYW5nZS5lbmREYXRlLCBvbkNsaWNrOiBhcHBseUN1c3RvbSwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QuQ3VzdG9tLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHNpemU6IHNpemUsIGFuaW1hdGlvbjogZmFsc2UsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBTRUxFQ1RfUEFORUxfQ0xTLCBwYW5lbFdpZHRoOiBzaG93Q3VzdG9tUmFuZ2UgPyBQQU5FTF9XSURUSF9DVVNUT00gOiBQQU5FTF9XSURUSF9QUkVTRVQsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRUZXh0ID8gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IHNlbGVjdGVkVGV4dCB9KSkgOiBudWxsLCBjaGlsZHJlbjogKCkgPT4gKHNob3dDdXN0b21SYW5nZSA/IHJlbmRlckN1c3RvbVJhbmdlKCkgOiByZW5kZXJQcmVzZXRMaXN0KCkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZUZpbHRlciA9IG1lbW8oRGF0ZVJhbmdlRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,2 @@
1
+ export { DateRangeFilter } from './DateRange';
2
+ export * from './interface';
@@ -0,0 +1,3 @@
1
+ export { DateRangeFilter } from './DateRange';
2
+ export * from './interface';
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9pbmRleC50cyJdLCJuYW1lcyI6WyJEYXRlUmFuZ2VGaWx0ZXIiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsUUFBUSxhQUFhO0FBQzdDLGNBQWMsYUFBYSIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,68 @@
1
+ import type { ReactNode, RefObject } from 'react';
2
+ import type { SelectCustomProps } from "../../../components/Select";
3
+ /**
4
+ * The preset choices shown in the filter panel, in display order. The last
5
+ * entry (`Custom date range`) opens the dual-month calendar view instead of
6
+ * committing a preset range.
7
+ */
8
+ export declare const DATE_RANGE_OPTIONS: readonly ["All transactions", "Last 30 days", "Year to date", "Last 12 month", "Custom date range"];
9
+ export type DateRangeOption = (typeof DATE_RANGE_OPTIONS)[number];
10
+ /** Sentinel emitted by `onApply` when the user picks "All transactions". */
11
+ export declare const ALL_TRANSACTIONS_VALUE = "all";
12
+ export interface DateRangeValue {
13
+ startDate: Date;
14
+ endDate: Date;
15
+ }
16
+ /**
17
+ * The value handed to `onApply`: a concrete `{ startDate, endDate }` range for
18
+ * every preset except "All transactions", which yields the `'all'` sentinel.
19
+ */
20
+ export type DateRangeApplyValue = DateRangeValue | typeof ALL_TRANSACTIONS_VALUE;
21
+ /** Imperative handle exposed via `ref` for parent-driven reset/clear. */
22
+ export interface DateRangeFilterHandler {
23
+ /** Wipe the selection back to the empty state (no preset, no range). */
24
+ clear: () => void;
25
+ /** Restore the initial state (respecting `defaultSelectAll`) and fire `onReset`. */
26
+ reset: () => void;
27
+ }
28
+ export interface DateRangeFilterProps extends Omit<SelectCustomProps, 'ref' | 'size' | 'placeholder' | 'children' | 'selectedTemplate' | 'open' | 'defaultOpen' | 'onOpenChange' | 'panelWidth' | 'role' | 'arrow'> {
29
+ ref?: RefObject<DateRangeFilterHandler | null>;
30
+ /**
31
+ * Trigger size. Mirrors the host filter row sizing.
32
+ * @default 'small'
33
+ */
34
+ size?: 'small' | 'large';
35
+ /** Optional field label rendered above the trigger. */
36
+ label?: ReactNode;
37
+ /**
38
+ * Trigger placeholder shown before any selection.
39
+ * @default 'Date'
40
+ */
41
+ placeholder?: string;
42
+ /**
43
+ * Display label for the "All transactions" preset, both in the panel and the
44
+ * trigger once applied.
45
+ * @default 'All transactions'
46
+ */
47
+ allTransactionsLabel?: string;
48
+ /**
49
+ * Pre-select "All transactions" on mount (and on `reset`).
50
+ * @default false
51
+ */
52
+ defaultSelectAll?: boolean;
53
+ /**
54
+ * Fired when the user commits a selection via the panel's Apply button.
55
+ * @example
56
+ * ```ts
57
+ * <DateRangeFilter
58
+ * onApply={(value) => {
59
+ * if (value === 'all') loadAll();
60
+ * else load(value.startDate, value.endDate);
61
+ * }}
62
+ * />
63
+ * ```
64
+ */
65
+ onApply: (date: DateRangeApplyValue) => void;
66
+ /** Fired when the user clears the selection via the panel's Reset button. */
67
+ onReset?: () => void;
68
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The preset choices shown in the filter panel, in display order. The last
3
+ * entry (`Custom date range`) opens the dual-month calendar view instead of
4
+ * committing a preset range.
5
+ */
6
+ export var DATE_RANGE_OPTIONS = ['All transactions', 'Last 30 days', 'Year to date', 'Last 12 month', 'Custom date range'];
7
+ /** Sentinel emitted by `onApply` when the user picks "All transactions". */
8
+ export var ALL_TRANSACTIONS_VALUE = 'all';
9
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9pbnRlcmZhY2UudHMiLCJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL2ludGVyZmFjZS5qcyJdLCJuYW1lcyI6WyJEQVRFX1JBTkdFX09QVElPTlMiLCJBTExfVFJBTlNBQ1RJT05TX1ZBTFVFIl0sIm1hcHBpbmdzIjoiQUFHQTtBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FESUEsT0FBTyxJQUFNQSxrQkFBa0IsR0FBRyxDQUNoQyxrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxlQUFlLEVBQ2YsbUJBQW1CLENBQ1g7QUFJVjtBQUNBLE9BQU8sSUFBTUMsc0JBQXNCLEdBQUcsS0FBSyIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL2ludGVyZmFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLyoqXG4gKiBUaGUgcHJlc2V0IGNob2ljZXMgc2hvd24gaW4gdGhlIGZpbHRlciBwYW5lbCwgaW4gZGlzcGxheSBvcmRlci4gVGhlIGxhc3RcbiAqIGVudHJ5IChgQ3VzdG9tIGRhdGUgcmFuZ2VgKSBvcGVucyB0aGUgZHVhbC1tb250aCBjYWxlbmRhciB2aWV3IGluc3RlYWQgb2ZcbiAqIGNvbW1pdHRpbmcgYSBwcmVzZXQgcmFuZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRFX1JBTkdFX09QVElPTlMgPSBbXG4gICAgJ0FsbCB0cmFuc2FjdGlvbnMnLFxuICAgICdMYXN0IDMwIGRheXMnLFxuICAgICdZZWFyIHRvIGRhdGUnLFxuICAgICdMYXN0IDEyIG1vbnRoJyxcbiAgICAnQ3VzdG9tIGRhdGUgcmFuZ2UnLFxuXTtcbi8qKiBTZW50aW5lbCBlbWl0dGVkIGJ5IGBvbkFwcGx5YCB3aGVuIHRoZSB1c2VyIHBpY2tzIFwiQWxsIHRyYW5zYWN0aW9uc1wiLiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9UUkFOU0FDVElPTlNfVkFMVUUgPSAnYWxsJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Retrieves the spacing value for a given token key.
3
+ *
4
+ * @param {string} $key - The spacing token key (e.g., '100', '200').
5
+ * @return {length|null} The computed spacing value or null if the key is invalid.
6
+ * @example
7
+ * .element {
8
+ * padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
9
+ * }
10
+ */
11
+ /**
12
+ * Computes the spacing value based on a token key or a direct length value.
13
+ *
14
+ * @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
15
+ * @return {length} The computed spacing value.
16
+ * @example
17
+ * .element {
18
+ * margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
19
+ * padding: om-spacing-value(16px); // Returns 16px
20
+ * gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
21
+ * }
22
+ */
23
+ .om-date-range-filter__value {
24
+ display: inline-flex;
25
+ align-items: center;
26
+ width: 100%;
27
+ overflow: hidden;
28
+ line-height: 18px;
29
+ white-space: nowrap;
30
+ text-overflow: ellipsis;
31
+ }
32
+ .om-date-range-filter__list {
33
+ display: flex;
34
+ flex-direction: column;
35
+ margin: 0;
36
+ padding: 0;
37
+ list-style: none;
38
+ }
39
+ .om-date-range-filter__item {
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: space-between;
43
+ width: 100%;
44
+ height: 40px;
45
+ padding: var(--om-spacing-200, 8px);
46
+ cursor: pointer;
47
+ }
48
+ .om-date-range-filter__item:hover {
49
+ background: var(--om-bg-default-secondary, #f8f8f8);
50
+ border-radius: var(--om-radius-300, 12px);
51
+ }
52
+ .om-date-range-filter__item--custom {
53
+ border-top: 1px solid var(--om-border-neutral, #e3e4e4);
54
+ border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
55
+ }
56
+ .om-date-range-filter__custom-header {
57
+ height: 36px;
58
+ margin-bottom: var(--om-spacing-400, 16px);
59
+ }
60
+ .om-date-range-filter__back-icon {
61
+ cursor: pointer;
62
+ }
63
+ .om-date-range-filter__calendar {
64
+ display: block;
65
+ width: 100%;
66
+ margin-bottom: var(--om-spacing-600, 24px);
67
+ }
68
+ .om-date-range-filter__calendar .p-inputwrapper, .om-date-range-filter__calendar input {
69
+ display: block;
70
+ width: 100%;
71
+ }
72
+ .om-date-range-filter__footer {
73
+ padding: var(--om-spacing-300, 12px) 0 var(--om-spacing-100, 4px);
74
+ }
75
+ .om-date-range-filter__footer--bordered {
76
+ border-top: 1px solid var(--om-border-neutral, #e3e4e4);
77
+ }
78
+
79
+ .om-date-range-filter-calendar-panel {
80
+ z-index: 2000 !important;
81
+ }
82
+
83
+ .om-date-range-filter-panel .om-component-ui-select-panel-body {
84
+ gap: 0;
85
+ }
@@ -0,0 +1,2 @@
1
+ import './DateRange.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3JjL2J1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1 @@
1
+ import './DateRange.css';
@@ -0,0 +1,2 @@
1
+ import './DateRange.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3JjL2J1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9zdHlsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,2 @@
1
+ import type { OptionFilterProps } from './interface';
2
+ export declare const OptionFilter: import("react").NamedExoticComponent<OptionFilterProps>;