@1money/component-ui 0.0.65 → 0.0.67-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/es/business/Filter/DateRange/DateRange.js +393 -0
- package/es/business/Filter/DateRange/index.d.ts +2 -0
- package/es/business/Filter/DateRange/index.js +3 -0
- package/es/business/Filter/DateRange/interface.d.ts +68 -0
- package/es/business/Filter/DateRange/interface.js +9 -0
- package/es/business/Filter/DateRange/style/DateRange.css +85 -0
- package/es/business/Filter/DateRange/style/css.js +2 -0
- package/es/business/Filter/DateRange/style/index.d.ts +1 -0
- package/es/business/Filter/DateRange/style/index.js +2 -0
- package/es/business/Filter/Dropdown/Dropdown.d.ts +2 -0
- package/es/business/Filter/Dropdown/Dropdown.js +340 -0
- package/es/business/Filter/Dropdown/index.d.ts +2 -0
- package/es/business/Filter/Dropdown/index.js +3 -0
- package/es/business/Filter/Dropdown/interface.d.ts +136 -0
- package/es/business/Filter/Dropdown/interface.js +2 -0
- package/es/business/Filter/Dropdown/style/Dropdown.css +94 -0
- package/es/business/Filter/Dropdown/style/css.js +2 -0
- package/es/business/Filter/Dropdown/style/index.d.ts +1 -0
- package/es/business/Filter/Dropdown/style/index.js +2 -0
- package/es/business/Filter/index.d.ts +2 -0
- package/es/business/Filter/index.js +3 -0
- package/es/business/Select/Network/interface.d.ts +27 -22
- package/es/business/Select/PaymentMethod/interface.d.ts +6 -2
- package/es/business/index.d.ts +1 -0
- package/es/business/index.js +2 -1
- package/es/components/Select/Select.js +3 -2
- package/es/components/Select/interface.d.ts +2 -0
- package/es/index.css +1 -1
- package/lib/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/lib/business/Filter/DateRange/DateRange.js +400 -0
- package/lib/business/Filter/DateRange/index.d.ts +2 -0
- package/lib/business/Filter/DateRange/index.js +28 -0
- package/lib/business/Filter/DateRange/interface.d.ts +68 -0
- package/lib/business/Filter/DateRange/interface.js +15 -0
- package/lib/business/Filter/DateRange/style/DateRange.css +85 -0
- package/lib/business/Filter/DateRange/style/css.js +4 -0
- package/lib/business/Filter/DateRange/style/index.d.ts +1 -0
- package/lib/business/Filter/DateRange/style/index.js +4 -0
- package/lib/business/Filter/Dropdown/Dropdown.d.ts +2 -0
- package/lib/business/Filter/Dropdown/Dropdown.js +347 -0
- package/lib/business/Filter/Dropdown/index.d.ts +2 -0
- package/lib/business/Filter/Dropdown/index.js +28 -0
- package/lib/business/Filter/Dropdown/interface.d.ts +136 -0
- package/lib/business/Filter/Dropdown/interface.js +6 -0
- package/lib/business/Filter/Dropdown/style/Dropdown.css +94 -0
- package/lib/business/Filter/Dropdown/style/css.js +4 -0
- package/lib/business/Filter/Dropdown/style/index.d.ts +1 -0
- package/lib/business/Filter/Dropdown/style/index.js +4 -0
- package/lib/business/Filter/index.d.ts +2 -0
- package/lib/business/Filter/index.js +28 -0
- package/lib/business/Select/Network/interface.d.ts +27 -22
- package/lib/business/Select/PaymentMethod/interface.d.ts +6 -2
- package/lib/business/index.d.ts +1 -0
- package/lib/business/index.js +12 -1
- package/lib/components/Select/Select.js +3 -2
- package/lib/components/Select/interface.d.ts +2 -0
- package/lib/index.css +1 -1
- package/package.json +16 -1
- package/scripts/mcp-server/examples.generated.json +6 -0
- package/scripts/mcp-server/index.generated.json +12 -0
|
@@ -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,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("./DateRange.css");
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3JjL2J1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQSIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './DateRange.css';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("./DateRange.css");
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3JjL2J1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2Uvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQSIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.DropdownFilter = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _Button = require("../../../components/Button");
|
|
12
|
+
var _Checkbox = require("../../../components/Checkbox");
|
|
13
|
+
var _Empty = require("../../../components/Empty");
|
|
14
|
+
var _Flex = require("../../../components/Flex");
|
|
15
|
+
var _Select = require("../../../components/Select");
|
|
16
|
+
var _Tag = require("../../../components/Tag");
|
|
17
|
+
var _Typography = require("../../../components/Typography");
|
|
18
|
+
var _classnames = require("../../../utils/classnames");
|
|
19
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
20
|
+
var t = {};
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
22
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
};
|
|
27
|
+
var WRAP_CLS = 'om-dropdown-filter';
|
|
28
|
+
// The panel is portaled to <body>, so panel-scoped overrides are keyed off this
|
|
29
|
+
// class (passed as `panelClassName`) rather than the trigger root.
|
|
30
|
+
var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
|
|
31
|
+
var GROUP_LABEL_CLS = "".concat(WRAP_CLS, "__group-label");
|
|
32
|
+
var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
33
|
+
var ICON_SIZE = 24;
|
|
34
|
+
var RESET_LABEL = 'Reset';
|
|
35
|
+
var APPLY_LABEL = 'Apply';
|
|
36
|
+
var DEFAULT_PLACEHOLDER = 'Select';
|
|
37
|
+
var DEFAULT_SEARCH_PLACEHOLDER = 'Search';
|
|
38
|
+
var DEFAULT_SEARCH_KEYS = ['label', 'description'];
|
|
39
|
+
var DEFAULT_EMPTY = (0, _jsxRuntime.jsx)(_Empty.Empty, {
|
|
40
|
+
icon: 'search',
|
|
41
|
+
title: 'No results'
|
|
42
|
+
});
|
|
43
|
+
var MORE_SUFFIX = function MORE_SUFFIX(count) {
|
|
44
|
+
return " + ".concat(count, " more");
|
|
45
|
+
};
|
|
46
|
+
var FULL_WIDTH_STYLE = {
|
|
47
|
+
flex: 1
|
|
48
|
+
};
|
|
49
|
+
var toOption = function toOption(raw) {
|
|
50
|
+
return {
|
|
51
|
+
label: raw.label,
|
|
52
|
+
value: raw.value,
|
|
53
|
+
description: raw.description,
|
|
54
|
+
iconUrl: raw.iconUrl,
|
|
55
|
+
tag: raw.tag,
|
|
56
|
+
// Restrict matching to the configured keys via `searchText`; see makeFilter.
|
|
57
|
+
searchText: [raw.label, raw.description].filter(Boolean).join(' ')
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
// Bucket consecutive options by `group`, preserving input order. Ungrouped runs
|
|
61
|
+
// stay flat (no heading); grouped runs become a SelectOptionGroup with a label.
|
|
62
|
+
var toGroupedData = function toGroupedData(options) {
|
|
63
|
+
var data = [];
|
|
64
|
+
var bucket = null;
|
|
65
|
+
var flush = function flush() {
|
|
66
|
+
if (!bucket) return;
|
|
67
|
+
if (bucket.group) {
|
|
68
|
+
data.push({
|
|
69
|
+
key: bucket.group,
|
|
70
|
+
label: bucket.group,
|
|
71
|
+
options: bucket.options
|
|
72
|
+
});
|
|
73
|
+
} else {
|
|
74
|
+
bucket.options.forEach(function (option) {
|
|
75
|
+
return data.push(option);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
bucket = null;
|
|
79
|
+
};
|
|
80
|
+
options.forEach(function (raw) {
|
|
81
|
+
var group = raw.group;
|
|
82
|
+
if (!bucket || bucket.group !== group) {
|
|
83
|
+
flush();
|
|
84
|
+
bucket = {
|
|
85
|
+
group: group,
|
|
86
|
+
options: []
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
bucket.options.push(toOption(raw));
|
|
90
|
+
});
|
|
91
|
+
flush();
|
|
92
|
+
return data;
|
|
93
|
+
};
|
|
94
|
+
var getInitialValue = function getInitialValue(options, allLabel, defaultSelectAll) {
|
|
95
|
+
// With an "All" row, "all selected" is represented by an empty array.
|
|
96
|
+
if (allLabel && defaultSelectAll) return [];
|
|
97
|
+
return options.filter(function (option) {
|
|
98
|
+
return option.defaultValue;
|
|
99
|
+
}).map(function (option) {
|
|
100
|
+
return option.value;
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
var DropdownFilterBase = function DropdownFilterBase(_a) {
|
|
104
|
+
var ref = _a.ref,
|
|
105
|
+
className = _a.className,
|
|
106
|
+
_a$size = _a.size,
|
|
107
|
+
size = _a$size === void 0 ? 'small' : _a$size,
|
|
108
|
+
label = _a.label,
|
|
109
|
+
_a$placeholder = _a.placeholder,
|
|
110
|
+
placeholder = _a$placeholder === void 0 ? DEFAULT_PLACEHOLDER : _a$placeholder,
|
|
111
|
+
options = _a.options,
|
|
112
|
+
allLabel = _a.allLabel,
|
|
113
|
+
_a$defaultSelectAll = _a.defaultSelectAll,
|
|
114
|
+
defaultSelectAll = _a$defaultSelectAll === void 0 ? false : _a$defaultSelectAll,
|
|
115
|
+
_a$search = _a.search,
|
|
116
|
+
search = _a$search === void 0 ? false : _a$search,
|
|
117
|
+
_a$searchPlaceholder = _a.searchPlaceholder,
|
|
118
|
+
searchPlaceholder = _a$searchPlaceholder === void 0 ? DEFAULT_SEARCH_PLACEHOLDER : _a$searchPlaceholder,
|
|
119
|
+
_a$searchKeys = _a.searchKeys,
|
|
120
|
+
searchKeys = _a$searchKeys === void 0 ? DEFAULT_SEARCH_KEYS : _a$searchKeys,
|
|
121
|
+
_a$searchEmpty = _a.searchEmpty,
|
|
122
|
+
searchEmpty = _a$searchEmpty === void 0 ? DEFAULT_EMPTY : _a$searchEmpty,
|
|
123
|
+
onApply = _a.onApply,
|
|
124
|
+
onReset = _a.onReset,
|
|
125
|
+
rest = __rest(_a, ["ref", "className", "size", "label", "placeholder", "options", "allLabel", "defaultSelectAll", "search", "searchPlaceholder", "searchKeys", "searchEmpty", "onApply", "onReset"]);
|
|
126
|
+
var initialValue = (0, _react.useMemo)(function () {
|
|
127
|
+
return getInitialValue(options, allLabel, defaultSelectAll);
|
|
128
|
+
}, [options, allLabel, defaultSelectAll]);
|
|
129
|
+
var _useState = (0, _react.useState)(false),
|
|
130
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
131
|
+
open = _useState2[0],
|
|
132
|
+
setOpen = _useState2[1];
|
|
133
|
+
var _useState3 = (0, _react.useState)(''),
|
|
134
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
135
|
+
keyword = _useState4[0],
|
|
136
|
+
setKeyword = _useState4[1];
|
|
137
|
+
// `temp` is the in-panel draft; `committed` is the last Applied selection.
|
|
138
|
+
// Only Apply promotes `temp` → `committed` and notifies the parent.
|
|
139
|
+
var _useState5 = (0, _react.useState)(initialValue),
|
|
140
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
141
|
+
temp = _useState6[0],
|
|
142
|
+
setTemp = _useState6[1];
|
|
143
|
+
var _useState7 = (0, _react.useState)(initialValue),
|
|
144
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
145
|
+
committed = _useState8[0],
|
|
146
|
+
setCommitted = _useState8[1];
|
|
147
|
+
var groupedData = (0, _react.useMemo)(function () {
|
|
148
|
+
return toGroupedData(options);
|
|
149
|
+
}, [options]);
|
|
150
|
+
var allValues = (0, _react.useMemo)(function () {
|
|
151
|
+
return options.map(function (option) {
|
|
152
|
+
return option.value;
|
|
153
|
+
});
|
|
154
|
+
}, [options]);
|
|
155
|
+
var optionByValue = (0, _react.useMemo)(function () {
|
|
156
|
+
var map = new Map();
|
|
157
|
+
options.forEach(function (option) {
|
|
158
|
+
return map.set(option.value, option);
|
|
159
|
+
});
|
|
160
|
+
return map;
|
|
161
|
+
}, [options]);
|
|
162
|
+
// The "All" row is checked exactly when nothing specific is selected.
|
|
163
|
+
var allChecked = temp.length === 0;
|
|
164
|
+
var filterOption = (0, _react.useCallback)(function (searchValue, option) {
|
|
165
|
+
var term = searchValue.trim().toLowerCase();
|
|
166
|
+
if (!term) return true;
|
|
167
|
+
var mapped = option;
|
|
168
|
+
return searchKeys.some(function (key) {
|
|
169
|
+
var field = key === 'label' ? mapped.label : mapped.description;
|
|
170
|
+
return typeof field === 'string' && field.toLowerCase().includes(term);
|
|
171
|
+
});
|
|
172
|
+
}, [searchKeys]);
|
|
173
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
174
|
+
return {
|
|
175
|
+
clear: function clear() {
|
|
176
|
+
setTemp([]);
|
|
177
|
+
setCommitted([]);
|
|
178
|
+
},
|
|
179
|
+
reset: function reset() {
|
|
180
|
+
setTemp(initialValue);
|
|
181
|
+
setCommitted(initialValue);
|
|
182
|
+
onReset === null || onReset === void 0 ? void 0 : onReset(initialValue);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}, [initialValue, onReset]);
|
|
186
|
+
var handleSelectChange = (0, _react.useCallback)(function (next) {
|
|
187
|
+
var nextValues = (Array.isArray(next) ? next : []).map(String);
|
|
188
|
+
// With an "All" row, selecting every concrete option collapses to "all"
|
|
189
|
+
// ([]), matching the backend convention that empty == no filter. Without
|
|
190
|
+
// an "All" row (e.g. recipients), a full selection stays explicit so the
|
|
191
|
+
// trigger still summarizes it ("Name + N more").
|
|
192
|
+
var collapse = !!allLabel && nextValues.length === allValues.length;
|
|
193
|
+
setTemp(collapse ? [] : nextValues);
|
|
194
|
+
}, [allLabel, allValues]);
|
|
195
|
+
var handleAllClick = (0, _react.useCallback)(function () {
|
|
196
|
+
// The "All" row is exclusive: turning it on clears specific picks.
|
|
197
|
+
setTemp([]);
|
|
198
|
+
}, []);
|
|
199
|
+
var handleApply = (0, _react.useCallback)(function () {
|
|
200
|
+
setCommitted(temp);
|
|
201
|
+
onApply(temp);
|
|
202
|
+
setOpen(false);
|
|
203
|
+
}, [temp, onApply]);
|
|
204
|
+
var handleReset = (0, _react.useCallback)(function () {
|
|
205
|
+
setTemp(initialValue);
|
|
206
|
+
setCommitted(initialValue);
|
|
207
|
+
onReset === null || onReset === void 0 ? void 0 : onReset(initialValue);
|
|
208
|
+
}, [initialValue, onReset]);
|
|
209
|
+
var handleOpenChange = (0, _react.useCallback)(function (nextOpen) {
|
|
210
|
+
setOpen(nextOpen);
|
|
211
|
+
if (nextOpen) return;
|
|
212
|
+
// Closing without Apply discards the draft.
|
|
213
|
+
setTemp(committed);
|
|
214
|
+
if (search) setKeyword('');
|
|
215
|
+
}, [committed, search]);
|
|
216
|
+
var renderRow = (0, _react.useCallback)(function (option, checked) {
|
|
217
|
+
var text = typeof option.label === 'string' ? option.label : '';
|
|
218
|
+
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
219
|
+
align: 'center',
|
|
220
|
+
justify: 'space-between',
|
|
221
|
+
gap: 8,
|
|
222
|
+
className: "".concat(WRAP_CLS, "__row"),
|
|
223
|
+
children: [(0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
224
|
+
align: 'center',
|
|
225
|
+
gap: 8,
|
|
226
|
+
className: "".concat(WRAP_CLS, "__row-main"),
|
|
227
|
+
children: [option.iconUrl && (0, _jsxRuntime.jsx)("img", {
|
|
228
|
+
src: option.iconUrl,
|
|
229
|
+
alt: text,
|
|
230
|
+
width: ICON_SIZE,
|
|
231
|
+
height: ICON_SIZE,
|
|
232
|
+
className: ICON_CLS
|
|
233
|
+
}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
234
|
+
vertical: true,
|
|
235
|
+
gap: 0,
|
|
236
|
+
align: 'start',
|
|
237
|
+
className: "".concat(WRAP_CLS, "__row-text"),
|
|
238
|
+
children: [(0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
239
|
+
align: 'center',
|
|
240
|
+
gap: 8,
|
|
241
|
+
className: "".concat(WRAP_CLS, "__row-label"),
|
|
242
|
+
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyLabel, {
|
|
243
|
+
size: 'md',
|
|
244
|
+
children: option.label
|
|
245
|
+
}), option.tag && (0, _jsxRuntime.jsx)(_Tag.Tag, {
|
|
246
|
+
label: option.tag,
|
|
247
|
+
size: 'small',
|
|
248
|
+
color: 'recommended'
|
|
249
|
+
})]
|
|
250
|
+
}), option.description && (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
251
|
+
size: 'sm',
|
|
252
|
+
color: 'default-tertiary',
|
|
253
|
+
children: option.description
|
|
254
|
+
})]
|
|
255
|
+
})]
|
|
256
|
+
}), (0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
|
|
257
|
+
checked: checked,
|
|
258
|
+
readOnly: true,
|
|
259
|
+
className: "".concat(WRAP_CLS, "__row-check")
|
|
260
|
+
})]
|
|
261
|
+
});
|
|
262
|
+
}, []);
|
|
263
|
+
// The trigger reflects the COMMITTED selection (not the in-panel draft).
|
|
264
|
+
// `renderValue` short-circuits Select's own placeholder handling, so the
|
|
265
|
+
// empty state must return the placeholder explicitly.
|
|
266
|
+
var renderValue = (0, _react.useCallback)(function () {
|
|
267
|
+
if (allChecked) {
|
|
268
|
+
var text = allLabel !== null && allLabel !== void 0 ? allLabel : placeholder;
|
|
269
|
+
return (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
270
|
+
size: 'md',
|
|
271
|
+
color: allLabel ? 'default' : 'default-tertiary',
|
|
272
|
+
className: "".concat(WRAP_CLS, "__value"),
|
|
273
|
+
children: text
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
var first = optionByValue.get(committed[0]);
|
|
277
|
+
var firstLabel = first ? first.label : committed[0];
|
|
278
|
+
var extra = committed.length - 1;
|
|
279
|
+
return (0, _jsxRuntime.jsxs)(_Typography.TypographyBody, {
|
|
280
|
+
size: 'md',
|
|
281
|
+
className: "".concat(WRAP_CLS, "__value"),
|
|
282
|
+
children: [firstLabel, extra > 0 && (0, _jsxRuntime.jsx)("span", {
|
|
283
|
+
className: "".concat(WRAP_CLS, "__value-more"),
|
|
284
|
+
children: MORE_SUFFIX(extra)
|
|
285
|
+
})]
|
|
286
|
+
});
|
|
287
|
+
}, [allChecked, allLabel, placeholder, committed, optionByValue]);
|
|
288
|
+
return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
|
|
289
|
+
multiple: true,
|
|
290
|
+
size: size,
|
|
291
|
+
label: label,
|
|
292
|
+
placeholder: placeholder,
|
|
293
|
+
className: (0, _classnames.joinCls)(WRAP_CLS, className),
|
|
294
|
+
panelClassName: PANEL_CLS,
|
|
295
|
+
groupLabelClassName: GROUP_LABEL_CLS,
|
|
296
|
+
value: temp,
|
|
297
|
+
open: open,
|
|
298
|
+
onOpenChange: handleOpenChange,
|
|
299
|
+
onChange: handleSelectChange,
|
|
300
|
+
searchable: search,
|
|
301
|
+
searchPlaceholder: searchPlaceholder,
|
|
302
|
+
searchValue: keyword,
|
|
303
|
+
onSearchChange: setKeyword,
|
|
304
|
+
filterOption: filterOption,
|
|
305
|
+
options: groupedData,
|
|
306
|
+
panelHeader: allLabel ? (0, _jsxRuntime.jsxs)("button", {
|
|
307
|
+
type: 'button',
|
|
308
|
+
className: (0, _classnames.joinCls)("".concat(WRAP_CLS, "__all"), allChecked && "".concat(WRAP_CLS, "__all--checked")),
|
|
309
|
+
onClick: handleAllClick,
|
|
310
|
+
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyLabel, {
|
|
311
|
+
size: 'md',
|
|
312
|
+
children: allLabel
|
|
313
|
+
}), (0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
|
|
314
|
+
checked: allChecked,
|
|
315
|
+
readOnly: true,
|
|
316
|
+
className: "".concat(WRAP_CLS, "__row-check")
|
|
317
|
+
})]
|
|
318
|
+
}) : undefined,
|
|
319
|
+
emptyContent: searchEmpty,
|
|
320
|
+
renderValue: renderValue,
|
|
321
|
+
renderOption: function renderOption(option, meta) {
|
|
322
|
+
return renderRow(option, meta.selected);
|
|
323
|
+
},
|
|
324
|
+
panelFooter: (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
325
|
+
gap: 8,
|
|
326
|
+
className: "".concat(WRAP_CLS, "__footer"),
|
|
327
|
+
children: [(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
328
|
+
color: 'grey',
|
|
329
|
+
size: 'small',
|
|
330
|
+
style: FULL_WIDTH_STYLE,
|
|
331
|
+
onClick: handleReset,
|
|
332
|
+
children: RESET_LABEL
|
|
333
|
+
}), (0, _jsxRuntime.jsx)(_Button.Button, {
|
|
334
|
+
color: 'primary',
|
|
335
|
+
size: 'small',
|
|
336
|
+
style: FULL_WIDTH_STYLE,
|
|
337
|
+
// With an "All" row, an empty draft means "all" (valid). Without
|
|
338
|
+
// one, an empty draft means "nothing picked" — block Apply.
|
|
339
|
+
disabled: !allLabel && temp.length === 0,
|
|
340
|
+
onClick: handleApply,
|
|
341
|
+
children: APPLY_LABEL
|
|
342
|
+
})]
|
|
343
|
+
})
|
|
344
|
+
}));
|
|
345
|
+
};
|
|
346
|
+
var DropdownFilter = exports.DropdownFilter = /*#__PURE__*/(0, _react.memo)(DropdownFilterBase);
|
|
347
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9Ecm9wZG93bi9Ecm9wZG93bi5qcyIsImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Ryb3Bkb3duL0Ryb3Bkb3duLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfQnV0dG9uIiwiX0NoZWNrYm94IiwiX0VtcHR5IiwiX0ZsZXgiLCJfU2VsZWN0IiwiX1RhZyIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiR1JPVVBfTEFCRUxfQ0xTIiwiSUNPTl9DTFMiLCJJQ09OX1NJWkUiLCJSRVNFVF9MQUJFTCIsIkFQUExZX0xBQkVMIiwiREVGQVVMVF9QTEFDRUhPTERFUiIsIkRFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSIiwiREVGQVVMVF9TRUFSQ0hfS0VZUyIsIkRFRkFVTFRfRU1QVFkiLCJfanN4IiwiRW1wdHkiLCJpY29uIiwidGl0bGUiLCJNT1JFX1NVRkZJWCIsImNvdW50IiwiRlVMTF9XSURUSF9TVFlMRSIsImZsZXgiLCJ0b09wdGlvbiIsInJhdyIsImxhYmVsIiwidmFsdWUiLCJkZXNjcmlwdGlvbiIsImljb25VcmwiLCJ0YWciLCJzZWFyY2hUZXh0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJ0b0dyb3VwZWREYXRhIiwib3B0aW9ucyIsImRhdGEiLCJidWNrZXQiLCJmbHVzaCIsImdyb3VwIiwicHVzaCIsImtleSIsImZvckVhY2giLCJvcHRpb24iLCJnZXRJbml0aWFsVmFsdWUiLCJhbGxMYWJlbCIsImRlZmF1bHRTZWxlY3RBbGwiLCJkZWZhdWx0VmFsdWUiLCJtYXAiLCJEcm9wZG93bkZpbHRlckJhc2UiLCJfYSIsInJlZiIsImNsYXNzTmFtZSIsIl9hJHNpemUiLCJzaXplIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJGRlZmF1bHRTZWxlY3RBbGwiLCJfYSRzZWFyY2giLCJzZWFyY2giLCJfYSRzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoS2V5cyIsInNlYXJjaEtleXMiLCJfYSRzZWFyY2hFbXB0eSIsInNlYXJjaEVtcHR5Iiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiaW5pdGlhbFZhbHVlIiwidXNlTWVtbyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJrZXl3b3JkIiwic2V0S2V5d29yZCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidGVtcCIsInNldFRlbXAiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImNvbW1pdHRlZCIsInNldENvbW1pdHRlZCIsImdyb3VwZWREYXRhIiwiYWxsVmFsdWVzIiwib3B0aW9uQnlWYWx1ZSIsIk1hcCIsInNldCIsImFsbENoZWNrZWQiLCJmaWx0ZXJPcHRpb24iLCJ1c2VDYWxsYmFjayIsInNlYXJjaFZhbHVlIiwidGVybSIsInRyaW0iLCJ0b0xvd2VyQ2FzZSIsIm1hcHBlZCIsInNvbWUiLCJmaWVsZCIsImluY2x1ZGVzIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImNsZWFyIiwicmVzZXQiLCJoYW5kbGVTZWxlY3RDaGFuZ2UiLCJuZXh0IiwibmV4dFZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsImNvbGxhcHNlIiwiaGFuZGxlQWxsQ2xpY2siLCJoYW5kbGVBcHBseSIsImhhbmRsZVJlc2V0IiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwicmVuZGVyUm93IiwiY2hlY2tlZCIsInRleHQiLCJfanN4cyIsIkZsZXgiLCJhbGlnbiIsImp1c3RpZnkiLCJnYXAiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwidmVydGljYWwiLCJUeXBvZ3JhcGh5TGFiZWwiLCJUYWciLCJjb2xvciIsIlR5cG9ncmFwaHlCb2R5IiwiQ2hlY2tib3giLCJyZWFkT25seSIsInJlbmRlclZhbHVlIiwiZmlyc3QiLCJnZXQiLCJmaXJzdExhYmVsIiwiZXh0cmEiLCJTZWxlY3QiLCJhc3NpZ24iLCJtdWx0aXBsZSIsImpvaW5DbHMiLCJwYW5lbENsYXNzTmFtZSIsImdyb3VwTGFiZWxDbGFzc05hbWUiLCJvbk9wZW5DaGFuZ2UiLCJvbkNoYW5nZSIsInNlYXJjaGFibGUiLCJvblNlYXJjaENoYW5nZSIsInBhbmVsSGVhZGVyIiwidHlwZSIsIm9uQ2xpY2siLCJ1bmRlZmluZWQiLCJlbXB0eUNvbnRlbnQiLCJyZW5kZXJPcHRpb24iLCJtZXRhIiwic2VsZWN0ZWQiLCJwYW5lbEZvb3RlciIsIkJ1dHRvbiIsInN0eWxlIiwiZGlzYWJsZWQiLCJEcm9wZG93bkZpbHRlciIsImV4cG9ydHMiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLElBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBRFJBLElBQUlVLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJ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c0gsSUFBSTtNQUFBLE9BQ3pCekMsU0FBUyxDQUFDN0UsTUFBc0IsRUFBRXNILElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBQUE7SUFFbERDLFdBQVcsRUFDVCxJQUFBeEMsZ0JBQUEsRUFBQ0MsVUFBSSxFQUFBO01BQUNHLEdBQUcsRUFBRSxDQUFDO01BQUUzRSxTQUFTLEtBQUEvQyxNQUFBLENBQUtGLFFBQVEsYUFBVTtNQUFBNkgsUUFBQSxFQUFBLENBQzVDLElBQUFqSCxlQUFBLEVBQUNxSixjQUFNLEVBQUE7UUFBQzVCLEtBQUssRUFBQyxNQUFNO1FBQUNsRixJQUFJLEVBQUMsT0FBTztRQUFDK0csS0FBSyxFQUFFaEosZ0JBQWdCO1FBQUV3SSxPQUFPLEVBQUV4QyxXQUFXO1FBQUFXLFFBQUEsRUFDNUV2SDtNQUFXLENBQUEsQ0FDTCxFQUNULElBQUFNLGVBQUEsRUFBQ3FKLGNBQU0sRUFBQTtRQUNMNUIsS0FBSyxFQUFDLFNBQVM7UUFDZmxGLElBQUksRUFBQyxPQUFPO1FBQ1orRyxLQUFLLEVBQUVoSixnQkFBZ0I7UUFDdkI7UUFDQTtRQUNBaUosUUFBUSxFQUFFLENBQUN6SCxRQUFRLElBQUlzQyxJQUFJLENBQUNsRixNQUFNLEtBQUssQ0FBQztRQUN4QzRKLE9BQU8sRUFBRXpDLFdBQVc7UUFBQVksUUFBQSxFQUVuQnRIO01BQVcsQ0FBQSxDQUNMO0lBQUEsQ0FBQTtFQUNKLENBQUEsQ0FBQSxDQUVUO0FBRU4sQ0FBQztBQUVNLElBQU02SixjQUFjLEdBQUFDLE9BQUEsQ0FBQUQsY0FBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUN4SCxrQkFBa0IsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9GaWx0ZXIvRHJvcGRvd24vRHJvcGRvd24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0NoZWNrYm94JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9FbXB0eSc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVGFnJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tZHJvcGRvd24tZmlsdGVyJztcbi8vIFRoZSBwYW5lbCBpcyBwb3J0YWxlZCB0byA8Ym9keT4sIHNvIHBhbmVsLXNjb3BlZCBvdmVycmlkZXMgYXJlIGtleWVkIG9mZiB0aGlzXG4vLyBjbGFzcyAocGFzc2VkIGFzIGBwYW5lbENsYXNzTmFtZWApIHJhdGhlciB0aGFuIHRoZSB0cmlnZ2VyIHJvb3QuXG5jb25zdCBQQU5FTF9DTFMgPSBgJHtXUkFQX0NMU30tcGFuZWxgO1xuY29uc3QgR1JPVVBfTEFCRUxfQ0xTID0gYCR7V1JBUF9DTFN9X19ncm91cC1sYWJlbGA7XG5jb25zdCBJQ09OX0NMUyA9IGAke1dSQVBfQ0xTfS1pY29uYDtcbmNvbnN0IElDT05fU0laRSA9IDI0O1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgREVGQVVMVF9QTEFDRUhPTERFUiA9ICdTZWxlY3QnO1xuY29uc3QgREVGQVVMVF9TRUFSQ0hfUExBQ0VIT0xERVIgPSAnU2VhcmNoJztcbmNvbnN0IERFRkFVTFRfU0VBUkNIX0tFWVMgPSBbJ2xhYmVsJywgJ2Rlc2NyaXB0aW9uJ107XG5jb25zdCBERUZBVUxUX0VNUFRZID0gX2pzeChFbXB0eSwgeyBpY29uOiAnc2VhcmNoJywgdGl0bGU6ICdObyByZXN1bHRzJyB9KTtcbmNvbnN0IE1PUkVfU1VGRklYID0gKGNvdW50KSA9PiBgICsgJHtjb3VudH0gbW9yZWA7XG5jb25zdCBGVUxMX1dJRFRIX1NUWUxFID0geyBmbGV4OiAxIH07XG5jb25zdCB0b09wdGlvbiA9IChyYXcpID0+ICh7XG4gICAgbGFiZWw6IHJhdy5sYWJlbCxcbiAgICB2YWx1ZTogcmF3LnZhbHVlLFxuICAgIGRlc2NyaXB0aW9uOiByYXcuZGVzY3JpcHRpb24sXG4gICAgaWNvblVybDogcmF3Lmljb25VcmwsXG4gICAgdGFnOiByYXcudGFnLFxuICAgIC8vIFJlc3RyaWN0IG1hdGNoaW5nIHRvIHRoZSBjb25maWd1cmVkIGtleXMgdmlhIGBzZWFyY2hUZXh0YDsgc2VlIG1ha2VGaWx0ZXIuXG4gICAgc2VhcmNoVGV4dDogW3Jhdy5sYWJlbCwgcmF3LmRlc2NyaXB0aW9uXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLFxufSk7XG4vLyBCdWNrZXQgY29uc2VjdXRpdmUgb3B0aW9ucyBieSBgZ3JvdXBgLCBwcmVzZXJ2aW5nIGlucHV0IG9yZGVyLiBVbmdyb3VwZWQgcnVuc1xuLy8gc3RheSBmbGF0IChubyBoZWFkaW5nKTsgZ3JvdXBlZCBydW5zIGJlY29tZSBhIFNlbGVjdE9wdGlvbkdyb3VwIHdpdGggYSBsYWJlbC5cbmNvbnN0IHRvR3JvdXBlZERhdGEgPSAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBsZXQgYnVja2V0ID0gbnVsbDtcbiAgICBjb25zdCBmbHVzaCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFidWNrZXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChidWNrZXQuZ3JvdXApIHtcbiAgICAgICAgICAgIGRhdGEucHVzaCh7IGtleTogYnVja2V0Lmdyb3VwLCBsYWJlbDogYnVja2V0Lmdyb3VwLCBvcHRpb25zOiBidWNrZXQub3B0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGJ1Y2tldC5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gZGF0YS5wdXNoKG9wdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIGJ1Y2tldCA9IG51bGw7XG4gICAgfTtcbiAgICBvcHRpb25zLmZvckVhY2goKHJhdykgPT4ge1xuICAgICAgICBjb25zdCBncm91cCA9IHJhdy5ncm91cDtcbiAgICAgICAgaWYgKCFidWNrZXQgfHwgYnVja2V0Lmdyb3VwICE9PSBncm91cCkge1xuICAgICAgICAgICAgZmx1c2goKTtcbiAgICAgICAgICAgIGJ1Y2tldCA9IHsgZ3JvdXAsIG9wdGlvbnM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgYnVja2V0Lm9wdGlvbnMucHVzaCh0b09wdGlvbihyYXcpKTtcbiAgICB9KTtcbiAgICBmbHVzaCgpO1xuICAgIHJldHVybiBkYXRhO1xufTtcbmNvbnN0IGdldEluaXRpYWxWYWx1ZSA9IChvcHRpb25zLCBhbGxMYWJlbCwgZGVmYXVsdFNlbGVjdEFsbCkgPT4ge1xuICAgIC8vIFdpdGggYW4gXCJBbGxcIiByb3csIFwiYWxsIHNlbGVjdGVkXCIgaXMgcmVwcmVzZW50ZWQgYnkgYW4gZW1wdHkgYXJyYXkuXG4gICAgaWYgKGFsbExhYmVsICYmIGRlZmF1bHRTZWxlY3RBbGwpXG4gICAgICAgIHJldHVybiBbXTtcbiAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmRlZmF1bHRWYWx1ZSkubWFwKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSk7XG59O1xuY29uc3QgRHJvcGRvd25GaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIHNpemUgPSAnc21hbGwnLCBsYWJlbCwgcGxhY2Vob2xkZXIgPSBERUZBVUxUX1BMQUNFSE9MREVSLCBvcHRpb25zLCBhbGxMYWJlbCwgZGVmYXVsdFNlbGVjdEFsbCA9IGZhbHNlLCBzZWFyY2ggPSBmYWxzZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSBERUZBVUxUX1NFQVJDSF9QTEFDRUhPTERFUiwgc2VhcmNoS2V5cyA9IERFRkFVTFRfU0VBUkNIX0tFWVMsIHNlYXJjaEVtcHR5ID0gREVGQVVMVF9FTVBUWSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwib3B0aW9uc1wiLCBcImFsbExhYmVsXCIsIFwiZGVmYXVsdFNlbGVjdEFsbFwiLCBcInNlYXJjaFwiLCBcInNlYXJjaFBsYWNlaG9sZGVyXCIsIFwic2VhcmNoS2V5c1wiLCBcInNlYXJjaEVtcHR5XCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IHVzZU1lbW8oKCkgPT4gZ2V0SW5pdGlhbFZhbHVlKG9wdGlvbnMsIGFsbExhYmVsLCBkZWZhdWx0U2VsZWN0QWxsKSwgW29wdGlvbnMsIGFsbExhYmVsLCBkZWZhdWx0U2VsZWN0QWxsXSk7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtrZXl3b3JkLCBzZXRLZXl3b3JkXSA9IHVzZVN0YXRlKCcnKTtcbiAgICAvLyBgdGVtcGAgaXMgdGhlIGluLXBhbmVsIGRyYWZ0OyBgY29tbWl0dGVkYCBpcyB0aGUgbGFzdCBBcHBsaWVkIHNlbGVjdGlvbi5cbiAgICAvLyBPbmx5IEFwcGx5IHByb21vdGVzIGB0ZW1wYCDihpIgYGNvbW1pdHRlZGAgYW5kIG5vdGlmaWVzIHRoZSBwYXJlbnQuXG4gICAgY29uc3QgW3RlbXAsIHNldFRlbXBdID0gdXNlU3RhdGUoaW5pdGlhbFZhbHVlKTtcbiAgICBjb25zdCBbY29tbWl0dGVkLCBzZXRDb21taXR0ZWRdID0gdXNlU3RhdGUoaW5pdGlhbFZhbHVlKTtcbiAgICBjb25zdCBncm91cGVkRGF0YSA9IHVzZU1lbW8oKCkgPT4gdG9Hcm91cGVkRGF0YShvcHRpb25zKSwgW29wdGlvbnNdKTtcbiAgICBjb25zdCBhbGxWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IG9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSksIFtvcHRpb25zXSk7XG4gICAgY29uc3Qgb3B0aW9uQnlWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBtYXAuc2V0KG9wdGlvbi52YWx1ZSwgb3B0aW9uKSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSwgW29wdGlvbnNdKTtcbiAgICAvLyBUaGUgXCJBbGxcIiByb3cgaXMgY2hlY2tlZCBleGFjdGx5IHdoZW4gbm90aGluZyBzcGVjaWZpYyBpcyBzZWxlY3RlZC5cbiAgICBjb25zdCBhbGxDaGVja2VkID0gdGVtcC5sZW5ndGggPT09IDA7XG4gICAgY29uc3QgZmlsdGVyT3B0aW9uID0gdXNlQ2FsbGJhY2soKHNlYXJjaFZhbHVlLCBvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdGVybSA9IHNlYXJjaFZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoIXRlcm0pXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgbWFwcGVkID0gb3B0aW9uO1xuICAgICAgICByZXR1cm4gc2VhcmNoS2V5cy5zb21lKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0ga2V5ID09PSAnbGFiZWwnID8gbWFwcGVkLmxhYmVsIDogbWFwcGVkLmRlc2NyaXB0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW3NlYXJjaEtleXNdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICAgIHNldFRlbXAoW10pO1xuICAgICAgICAgICAgc2V0Q29tbWl0dGVkKFtdKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgICAgIHNldFRlbXAoaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChpbml0aWFsVmFsdWUpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KGluaXRpYWxWYWx1ZSk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsVmFsdWUsIG9uUmVzZXRdKTtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RDaGFuZ2UgPSB1c2VDYWxsYmFjaygobmV4dCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0VmFsdWVzID0gKEFycmF5LmlzQXJyYXkobmV4dCkgPyBuZXh0IDogW10pLm1hcChTdHJpbmcpO1xuICAgICAgICAvLyBXaXRoIGFuIFwiQWxsXCIgcm93LCBzZWxlY3RpbmcgZXZlcnkgY29uY3JldGUgb3B0aW9uIGNvbGxhcHNlcyB0byBcImFsbFwiXG4gICAgICAgIC8vIChbXSksIG1hdGNoaW5nIHRoZSBiYWNrZW5kIGNvbnZlbnRpb24gdGhhdCBlbXB0eSA9PSBubyBmaWx0ZXIuIFdpdGhvdXRcbiAgICAgICAgLy8gYW4gXCJBbGxcIiByb3cgKGUuZy4gcmVjaXBpZW50cyksIGEgZnVsbCBzZWxlY3Rpb24gc3RheXMgZXhwbGljaXQgc28gdGhlXG4gICAgICAgIC8vIHRyaWdnZXIgc3RpbGwgc3VtbWFyaXplcyBpdCAoXCJOYW1lICsgTiBtb3JlXCIpLlxuICAgICAgICBjb25zdCBjb2xsYXBzZSA9ICEhYWxsTGFiZWwgJiYgbmV4dFZhbHVlcy5sZW5ndGggPT09IGFsbFZhbHVlcy5sZW5ndGg7XG4gICAgICAgIHNldFRlbXAoY29sbGFwc2UgPyBbXSA6IG5leHRWYWx1ZXMpO1xuICAgIH0sIFthbGxMYWJlbCwgYWxsVmFsdWVzXSk7XG4gICAgY29uc3QgaGFuZGxlQWxsQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFRoZSBcIkFsbFwiIHJvdyBpcyBleGNsdXNpdmU6IHR1cm5pbmcgaXQgb24gY2xlYXJzIHNwZWNpZmljIHBpY2tzLlxuICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlQXBwbHkgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldENvbW1pdHRlZCh0ZW1wKTtcbiAgICAgICAgb25BcHBseSh0ZW1wKTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgW3RlbXAsIG9uQXBwbHldKTtcbiAgICBjb25zdCBoYW5kbGVSZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0VGVtcChpbml0aWFsVmFsdWUpO1xuICAgICAgICBzZXRDb21taXR0ZWQoaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KGluaXRpYWxWYWx1ZSk7XG4gICAgfSwgW2luaXRpYWxWYWx1ZSwgb25SZXNldF0pO1xuICAgIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2UgPSB1c2VDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2V0T3BlbihuZXh0T3Blbik7XG4gICAgICAgIGlmIChuZXh0T3BlbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gQ2xvc2luZyB3aXRob3V0IEFwcGx5IGRpc2NhcmRzIHRoZSBkcmFmdC5cbiAgICAgICAgc2V0VGVtcChjb21taXR0ZWQpO1xuICAgICAgICBpZiAoc2VhcmNoKVxuICAgICAgICAgICAgc2V0S2V5d29yZCgnJyk7XG4gICAgfSwgW2NvbW1pdHRlZCwgc2VhcmNoXSk7XG4gICAgY29uc3QgcmVuZGVyUm93ID0gdXNlQ2FsbGJhY2soKG9wdGlvbiwgY2hlY2tlZCkgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0ID0gdHlwZW9mIG9wdGlvbi5sYWJlbCA9PT0gJ3N0cmluZycgPyBvcHRpb24ubGFiZWwgOiAnJztcbiAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3dgLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3ctbWFpbmAsIGNoaWxkcmVuOiBbb3B0aW9uLmljb25VcmwgJiYgKF9qc3goXCJpbWdcIiwgeyBzcmM6IG9wdGlvbi5pY29uVXJsLCBhbHQ6IHRleHQsIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pKSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0JywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3Jvdy10ZXh0YCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LWxhYmVsYCwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pLCBvcHRpb24udGFnICYmIF9qc3goVGFnLCB7IGxhYmVsOiBvcHRpb24udGFnLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ3JlY29tbWVuZGVkJyB9KV0gfSksIG9wdGlvbi5kZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogb3B0aW9uLmRlc2NyaXB0aW9uIH0pKV0gfSldIH0pLCBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGNoZWNrZWQsIHJlYWRPbmx5OiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LWNoZWNrYCB9KV0gfSkpO1xuICAgIH0sIFtdKTtcbiAgICAvLyBUaGUgdHJpZ2dlciByZWZsZWN0cyB0aGUgQ09NTUlUVEVEIHNlbGVjdGlvbiAobm90IHRoZSBpbi1wYW5lbCBkcmFmdCkuXG4gICAgLy8gYHJlbmRlclZhbHVlYCBzaG9ydC1jaXJjdWl0cyBTZWxlY3QncyBvd24gcGxhY2Vob2xkZXIgaGFuZGxpbmcsIHNvIHRoZVxuICAgIC8vIGVtcHR5IHN0YXRlIG11c3QgcmV0dXJuIHRoZSBwbGFjZWhvbGRlciBleHBsaWNpdGx5LlxuICAgIGNvbnN0IHJlbmRlclZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoYWxsQ2hlY2tlZCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGFsbExhYmVsICE9PSBudWxsICYmIGFsbExhYmVsICE9PSB2b2lkIDAgPyBhbGxMYWJlbCA6IHBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIGNvbG9yOiBhbGxMYWJlbCA/ICdkZWZhdWx0JyA6ICdkZWZhdWx0LXRlcnRpYXJ5JywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IHRleHQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gb3B0aW9uQnlWYWx1ZS5nZXQoY29tbWl0dGVkWzBdKTtcbiAgICAgICAgY29uc3QgZmlyc3RMYWJlbCA9IGZpcnN0ID8gZmlyc3QubGFiZWwgOiBjb21taXR0ZWRbMF07XG4gICAgICAgIGNvbnN0IGV4dHJhID0gY29tbWl0dGVkLmxlbmd0aCAtIDE7XG4gICAgICAgIHJldHVybiAoX2pzeHMoVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IFtmaXJzdExhYmVsLCBleHRyYSA+IDAgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlLW1vcmVgLCBjaGlsZHJlbjogTU9SRV9TVUZGSVgoZXh0cmEpIH0pKV0gfSkpO1xuICAgIH0sIFthbGxDaGVja2VkLCBhbGxMYWJlbCwgcGxhY2Vob2xkZXIsIGNvbW1pdHRlZCwgb3B0aW9uQnlWYWx1ZV0pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbXVsdGlwbGU6IHRydWUsIHNpemU6IHNpemUsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBQQU5FTF9DTFMsIGdyb3VwTGFiZWxDbGFzc05hbWU6IEdST1VQX0xBQkVMX0NMUywgdmFsdWU6IHRlbXAsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgb25DaGFuZ2U6IGhhbmRsZVNlbGVjdENoYW5nZSwgc2VhcmNoYWJsZTogc2VhcmNoLCBzZWFyY2hQbGFjZWhvbGRlcjogc2VhcmNoUGxhY2Vob2xkZXIsIHNlYXJjaFZhbHVlOiBrZXl3b3JkLCBvblNlYXJjaENoYW5nZTogc2V0S2V5d29yZCwgZmlsdGVyT3B0aW9uOiBmaWx0ZXJPcHRpb24sIG9wdGlvbnM6IGdyb3VwZWREYXRhLCBwYW5lbEhlYWRlcjogYWxsTGFiZWwgPyAoX2pzeHMoXCJidXR0b25cIiwgeyB0eXBlOiAnYnV0dG9uJywgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9fYWxsYCwgYWxsQ2hlY2tlZCAmJiBgJHtXUkFQX0NMU31fX2FsbC0tY2hlY2tlZGApLCBvbkNsaWNrOiBoYW5kbGVBbGxDbGljaywgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjaGlsZHJlbjogYWxsTGFiZWwgfSksIF9qc3goQ2hlY2tib3gsIHsgY2hlY2tlZDogYWxsQ2hlY2tlZCwgcmVhZE9ubHk6IHRydWUsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3ctY2hlY2tgIH0pXSB9KSkgOiB1bmRlZmluZWQsIGVtcHR5Q29udGVudDogc2VhcmNoRW1wdHksIHJlbmRlclZhbHVlOiByZW5kZXJWYWx1ZSwgcmVuZGVyT3B0aW9uOiAob3B0aW9uLCBtZXRhKSA9PiByZW5kZXJSb3cob3B0aW9uLCBtZXRhLnNlbGVjdGVkKSwgcGFuZWxGb290ZXI6IF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogaGFuZGxlUmVzZXQsIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIFxuICAgICAgICAgICAgICAgICAgICAvLyBXaXRoIGFuIFwiQWxsXCIgcm93LCBhbiBlbXB0eSBkcmFmdCBtZWFucyBcImFsbFwiICh2YWxpZCkuIFdpdGhvdXRcbiAgICAgICAgICAgICAgICAgICAgLy8gb25lLCBhbiBlbXB0eSBkcmFmdCBtZWFucyBcIm5vdGhpbmcgcGlja2VkXCIg4oCUIGJsb2NrIEFwcGx5LlxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogIWFsbExhYmVsICYmIHRlbXAubGVuZ3RoID09PSAwLCBvbkNsaWNrOiBoYW5kbGVBcHBseSwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBEcm9wZG93bkZpbHRlciA9IG1lbW8oRHJvcGRvd25GaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
DropdownFilter: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "DropdownFilter", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function get() {
|
|
12
|
+
return _Dropdown.DropdownFilter;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var _Dropdown = require("./Dropdown");
|
|
16
|
+
var _interface = require("./interface");
|
|
17
|
+
Object.keys(_interface).forEach(function (key) {
|
|
18
|
+
if (key === "default" || key === "__esModule") return;
|
|
19
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
20
|
+
if (key in exports && exports[key] === _interface[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _interface[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Ryb3Bkb3duL2luZGV4LnRzIl0sIm5hbWVzIjpbIl9Ecm9wZG93biIsInJlcXVpcmUiLCJfaW50ZXJmYWNlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUFBRSxNQUFBLENBQUFDLElBQUEsQ0FBQUYsVUFBQSxFQUFBRyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFKLFVBQUEsQ0FBQUksR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQVosVUFBQSxDQUFBSSxHQUFBO0lBQUE7RUFBQTtBQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9Ecm9wZG93bi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|