@1money/component-ui 0.0.87 → 0.0.88
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/components/Filter/Filter.js +4 -4
- package/es/components/Select/style/Select.css +27 -3
- package/es/components/Select/utils.js +7 -5
- package/es/index.css +1 -1
- package/lib/components/Filter/Filter.js +4 -4
- package/lib/components/Select/style/Select.css +27 -3
- package/lib/components/Select/utils.js +7 -5
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -177,13 +177,13 @@ var FilterBase = function FilterBase(_a) {
|
|
|
177
177
|
// draft and must not leak into the trigger before Apply. An empty `committed`
|
|
178
178
|
// means "all" (the `allLabel`). `renderValue` short-circuits Select's own
|
|
179
179
|
// placeholder handling, so the empty state must return `allLabel` explicitly.
|
|
180
|
-
var renderValue = useCallback(function () {
|
|
180
|
+
var renderValue = useCallback(function (_option, meta) {
|
|
181
181
|
if (committed.length === 0) {
|
|
182
182
|
// `allLabel` is the default filter value, not an empty placeholder. The
|
|
183
183
|
// trigger's empty `value` makes Select wrap this in its grey placeholder
|
|
184
184
|
// class, so force the default dark text to match DateRange.
|
|
185
185
|
return _jsx(TypographyBody, {
|
|
186
|
-
size:
|
|
186
|
+
size: meta.fontSize,
|
|
187
187
|
color: 'default',
|
|
188
188
|
className: "".concat(WRAP_CLS, "__value"),
|
|
189
189
|
children: _jsx("span", {
|
|
@@ -196,7 +196,7 @@ var FilterBase = function FilterBase(_a) {
|
|
|
196
196
|
var firstLabel = first ? first.label : committed[0];
|
|
197
197
|
var extra = committed.length - 1;
|
|
198
198
|
return _jsxs(TypographyBody, {
|
|
199
|
-
size:
|
|
199
|
+
size: meta.fontSize,
|
|
200
200
|
className: "".concat(WRAP_CLS, "__value"),
|
|
201
201
|
children: [_jsx("span", {
|
|
202
202
|
className: "".concat(WRAP_CLS, "__value-label"),
|
|
@@ -263,4 +263,4 @@ var FilterBase = function FilterBase(_a) {
|
|
|
263
263
|
}));
|
|
264
264
|
};
|
|
265
265
|
export var Filter = /*#__PURE__*/memo(FilterBase);
|
|
266
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRmlsdGVyL0ZpbHRlci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRmlsdGVyL0ZpbHRlci50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIkNoZWNrYm94IiwiRW1wdHkiLCJGbGV4IiwiSWNvbnMiLCJTZWxlY3QiLCJUeXBvZ3JhcGh5Qm9keSIsImpvaW5DbHMiLCJXUkFQX0NMUyIsIlBBTkVMX0NMUyIsImNvbmNhdCIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJERUZBVUxUX0FMTF9MQUJFTCIsIkRFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSIiwiREVGQVVMVF9FTVBUWSIsInZhcmlhbnQiLCJpY29uIiwibmFtZSIsInNpemUiLCJjb2xvciIsInRpdGxlIiwic3Ryb25nIiwiY2hpbGRyZW4iLCJkZXNjcmlwdGlvbiIsInN0eWxlIiwicGFkZGluZyIsIk1PUkVfU1VGRklYIiwiY291bnQiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsImlzR3JvdXAiLCJpdGVtIiwiX3R5cGVvZiIsIkFycmF5IiwiaXNBcnJheSIsIm9wdGlvbnMiLCJmbGF0dGVuT3B0aW9ucyIsImRhdGEiLCJmbGF0TWFwIiwiRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwicGFuZWxDbGFzc05hbWUiLCJfYSRzaXplIiwibGFiZWwiLCJwbGFjZWhvbGRlciIsIl9hJGFsbExhYmVsIiwiYWxsTGFiZWwiLCJfYSRzZWFyY2giLCJzZWFyY2giLCJfYSRzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFBsYWNlaG9sZGVyIiwiZmlsdGVyT3B0aW9uIiwiX2EkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicmVuZGVyUm93Iiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiZmxhdE9wdGlvbnMiLCJhbGxWYWx1ZXMiLCJtYXAiLCJvcHRpb24iLCJTdHJpbmciLCJ2YWx1ZSIsIm9wdGlvbkJ5VmFsdWUiLCJNYXAiLCJmb3JFYWNoIiwic2V0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3BlbiIsInNldE9wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImtleXdvcmQiLCJzZXRLZXl3b3JkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0ZW1wIiwic2V0VGVtcCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29tbWl0dGVkIiwic2V0Q29tbWl0dGVkIiwiYWxsQ2hlY2tlZCIsInNlYXJjaGluZyIsInRyaW0iLCJkZWZhdWx0RmlsdGVyT3B0aW9uIiwic2VhcmNoVmFsdWUiLCJ0ZXJtIiwidG9Mb3dlckNhc2UiLCJzZWFyY2hUZXh0IiwiaW5jbHVkZXMiLCJjbGVhciIsInJlc2V0IiwiaGFuZGxlU2VsZWN0Q2hhbmdlIiwibmV4dCIsIm5leHRWYWx1ZXMiLCJjb2xsYXBzZSIsImhhbmRsZUFsbENsaWNrIiwiaGFuZGxlQXBwbHkiLCJoYW5kbGVSZXNldCIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsInJlbmRlclZhbHVlIiwiZmlyc3QiLCJnZXQiLCJmaXJzdExhYmVsIiwiZXh0cmEiLCJhc3NpZ24iLCJtdWx0aXBsZSIsIm9uT3BlbkNoYW5nZSIsIm9uQ2hhbmdlIiwic2VhcmNoYWJsZSIsIm9uU2VhcmNoQ2hhbmdlIiwicGFuZWxIZWFkZXIiLCJ1bmRlZmluZWQiLCJ0eXBlIiwib25DbGljayIsImNoZWNrZWQiLCJyZWFkT25seSIsInJlbmRlck9wdGlv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RU4sQ0FBQztBQUVELE9BQU8sSUFBTXNILE1BQU0sZ0JBQUd2SSxJQUFJLENBQUM2QyxVQUFVLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9GaWx0ZXIvRmlsdGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uL0NoZWNrYm94JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vRW1wdHknO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWZpbHRlcic7XG4vLyBUaGUgcGFuZWwgaXMgcG9ydGFsZWQgdG8gPGJvZHk+LCBzbyBwYW5lbC1zY29wZWQgb3ZlcnJpZGVzIGFyZSBrZXllZCBvZmYgdGhpc1xuLy8gY2xhc3MgKHBhc3NlZCBhcyBgcGFuZWxDbGFzc05hbWVgKSByYXRoZXIgdGhhbiB0aGUgdHJpZ2dlciByb290LlxuY29uc3QgUEFORUxfQ0xTID0gYCR7V1JBUF9DTFN9LXBhbmVsYDtcbmNvbnN0IFJFU0VUX0xBQkVMID0gJ1Jlc2V0JztcbmNvbnN0IEFQUExZX0xBQkVMID0gJ0FwcGx5JztcbmNvbnN0IERFRkFVTFRfQUxMX0xBQkVMID0gJ0FsbCc7XG5jb25zdCBERUZBVUxUX1NFQVJDSF9QTEFDRUhPTERFUiA9ICdTZWFyY2gnO1xuY29uc3QgREVGQVVMVF9FTVBUWSA9IChfanN4KEVtcHR5LCB7IHZhcmlhbnQ6ICdmaWxsJywgaWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMTYsIGNvbG9yOiAnY3VycmVudENvbG9yJyB9KSwgXG4gICAgLy8gRmlnbWEgZW1wdHktc3RhdGUgdGV4dCBpcyBCb2R5IFNtYWxsICgxMnB4KTsgRW1wdHkncyBzdHJpbmcgcGF0aCB3b3VsZFxuICAgIC8vIHJlbmRlciBUaXRsZSBzbSAvIEJvZHkgbWQgKDE0cHgpLCBzbyBwYXNzIDEycHggbm9kZXMgZXhwbGljaXRseS5cbiAgICB0aXRsZTogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnbmV1dHJhbC1zZWNvbmRhcnknLCBjaGlsZHJlbjogXCJObyByZXN1bHRzXCIgfSksIGRlc2NyaXB0aW9uOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnbmV1dHJhbC1zZWNvbmRhcnknLCBjaGlsZHJlbjogXCJUcnkgYSBkaWZmZXJlbnQgbmFtZSBvciBhZGp1c3QgeW91ciBzZWFyY2ggZmlsdGVycy5cIiB9KSwgc3R5bGU6IHsgcGFkZGluZzogMCB9IH0pKTtcbmNvbnN0IE1PUkVfU1VGRklYID0gKGNvdW50KSA9PiBgKyAke2NvdW50fSBtb3JlYDtcbmNvbnN0IEZVTExfV0lEVEhfU1RZTEUgPSB7IGZsZXg6IDEgfTtcbmNvbnN0IGlzR3JvdXAgPSAoaXRlbSkgPT4gISFpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KGl0ZW0ub3B0aW9ucyk7XG4vLyBGbGF0dGVuIGZsYXQvZ3JvdXBlZCBvcHRpb25zIGludG8gYSBzaW5nbGUgb3JkZXJlZCBvcHRpb24gbGlzdCDigJQgdXNlZCBmb3IgdGhlXG4vLyB2YWx1ZeKGkmxhYmVsIGxvb2t1cCBhbmQgdGhlIFwiZXZlcnkgb3B0aW9uIHNlbGVjdGVkXCIgY291bnQuXG5jb25zdCBmbGF0dGVuT3B0aW9ucyA9IChkYXRhKSA9PiBkYXRhLmZsYXRNYXAoKGl0ZW0pID0+IChpc0dyb3VwKGl0ZW0pID8gaXRlbS5vcHRpb25zIDogW2l0ZW1dKSk7XG5jb25zdCBGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIHBhbmVsQ2xhc3NOYW1lLCBzaXplID0gJ2V4dHJhLXNtYWxsJywgbGFiZWwsIHBsYWNlaG9sZGVyLCBvcHRpb25zLCBhbGxMYWJlbCA9IERFRkFVTFRfQUxMX0xBQkVMLCBzZWFyY2ggPSB0cnVlLCBzZWFyY2hQbGFjZWhvbGRlciA9IERFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSLCBmaWx0ZXJPcHRpb24sIGVtcHR5Q29udGVudCA9IERFRkFVTFRfRU1QVFksIHJlbmRlclJvdywgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInBhbmVsQ2xhc3NOYW1lXCIsIFwic2l6ZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJvcHRpb25zXCIsIFwiYWxsTGFiZWxcIiwgXCJzZWFyY2hcIiwgXCJzZWFyY2hQbGFjZWhvbGRlclwiLCBcImZpbHRlck9wdGlvblwiLCBcImVtcHR5Q29udGVudFwiLCBcInJlbmRlclJvd1wiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBmbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbnMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gdXNlTWVtbygoKSA9PiBmbGF0T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gU3RyaW5nKG9wdGlvbi52YWx1ZSkpLCBbZmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBvcHRpb25CeVZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgZmxhdE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBtYXAuc2V0KFN0cmluZyhvcHRpb24udmFsdWUpLCBvcHRpb24pKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBbZmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2tleXdvcmQsIHNldEtleXdvcmRdID0gdXNlU3RhdGUoJycpO1xuICAgIC8vIGB0ZW1wYCBpcyB0aGUgaW4tcGFuZWwgZHJhZnQ7IGBjb21taXR0ZWRgIGlzIHRoZSBsYXN0IEFwcGxpZWQgc2VsZWN0aW9uLlxuICAgIC8vIE9ubHkgQXBwbHkgcHJvbW90ZXMgYHRlbXBgIOKGkiBgY29tbWl0dGVkYCBhbmQgbm90aWZpZXMgdGhlIHBhcmVudC4gV2l0aCBhblxuICAgIC8vIFwiQWxsXCIgcm93LCBcImFsbCBzZWxlY3RlZFwiIGlzIHJlcHJlc2VudGVkIGJ5IGFuIGVtcHR5IGFycmF5LlxuICAgIGNvbnN0IFt0ZW1wLCBzZXRUZW1wXSA9IHVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbY29tbWl0dGVkLCBzZXRDb21taXR0ZWRdID0gdXNlU3RhdGUoW10pO1xuICAgIC8vIFRoZSBcIkFsbFwiIHJvdyBpcyBjaGVja2VkIGV4YWN0bHkgd2hlbiBub3RoaW5nIHNwZWNpZmljIGlzIHNlbGVjdGVkLlxuICAgIGNvbnN0IGFsbENoZWNrZWQgPSB0ZW1wLmxlbmd0aCA9PT0gMDtcbiAgICAvLyBXaGlsZSBzZWFyY2hpbmcsIHRoZSBcIkFsbFwiIHJvdyBpcyBtZWFuaW5nbGVzcyDigJQgaGlkZSBpdCBzbyBhIG5vLW1hdGNoIHNlYXJjaFxuICAgIC8vIHNob3dzIHRoZSBlbXB0eSBzdGF0ZSBpbnN0ZWFkIG9mIGEgbG9uZSBcIkFsbFwiIHJvdy5cbiAgICBjb25zdCBzZWFyY2hpbmcgPSBzZWFyY2ggJiYga2V5d29yZC50cmltKCkubGVuZ3RoID4gMDtcbiAgICBjb25zdCBkZWZhdWx0RmlsdGVyT3B0aW9uID0gdXNlQ2FsbGJhY2soKHNlYXJjaFZhbHVlLCBvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdGVybSA9IHNlYXJjaFZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoIXRlcm0pXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBvcHRpb24uc2VhcmNoVGV4dCA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gb3B0aW9uLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9LCBbXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgICAgICB9LFxuICAgIH0pLCBbb25SZXNldF0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdENoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZXMgPSAoQXJyYXkuaXNBcnJheShuZXh0KSA/IG5leHQgOiBbXSkubWFwKFN0cmluZyk7XG4gICAgICAgIC8vIFNlbGVjdGluZyBldmVyeSBjb25jcmV0ZSBvcHRpb24gY29sbGFwc2VzIHRvIFwiYWxsXCIgKFtdKSwgbWF0Y2hpbmcgdGhlXG4gICAgICAgIC8vIGJhY2tlbmQgY29udmVudGlvbiB0aGF0IGVtcHR5ID09IG5vIGZpbHRlci5cbiAgICAgICAgY29uc3QgY29sbGFwc2UgPSBuZXh0VmFsdWVzLmxlbmd0aCA9PT0gYWxsVmFsdWVzLmxlbmd0aDtcbiAgICAgICAgc2V0VGVtcChjb2xsYXBzZSA/IFtdIDogbmV4dFZhbHVlcyk7XG4gICAgfSwgW2FsbFZhbHVlc10pO1xuICAgIGNvbnN0IGhhbmRsZUFsbENsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAvLyBUaGUgXCJBbGxcIiByb3cgaXMgZXhjbHVzaXZlOiB0dXJuaW5nIGl0IG9uIGNsZWFycyBzcGVjaWZpYyBwaWNrcy5cbiAgICAgICAgc2V0VGVtcChbXSk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUFwcGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBzZXRDb21taXR0ZWQodGVtcCk7XG4gICAgICAgIG9uQXBwbHkodGVtcCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFt0ZW1wLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgaGFuZGxlUmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFRlbXAoW10pO1xuICAgICAgICBzZXRDb21taXR0ZWQoW10pO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgIH0sIFtvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBDbG9zaW5nIHdpdGhvdXQgQXBwbHkgZGlzY2FyZHMgdGhlIGRyYWZ0LlxuICAgICAgICBzZXRUZW1wKGNvbW1pdHRlZCk7XG4gICAgICAgIHNldEtleXdvcmQoJycpO1xuICAgIH0sIFtjb21taXR0ZWRdKTtcbiAgICAvLyBUaGUgdHJpZ2dlciByZWZsZWN0cyB0aGUgQ09NTUlUVEVEIHNlbGVjdGlvbiBvbmx5IOKAlCBgdGVtcGAgaXMgdGhlIGluLXBhbmVsXG4gICAgLy8gZHJhZnQgYW5kIG11c3Qgbm90IGxlYWsgaW50byB0aGUgdHJpZ2dlciBiZWZvcmUgQXBwbHkuIEFuIGVtcHR5IGBjb21taXR0ZWRgXG4gICAgLy8gbWVhbnMgXCJhbGxcIiAodGhlIGBhbGxMYWJlbGApLiBgcmVuZGVyVmFsdWVgIHNob3J0LWNpcmN1aXRzIFNlbGVjdCdzIG93blxuICAgIC8vIHBsYWNlaG9sZGVyIGhhbmRsaW5nLCBzbyB0aGUgZW1wdHkgc3RhdGUgbXVzdCByZXR1cm4gYGFsbExhYmVsYCBleHBsaWNpdGx5LlxuICAgIGNvbnN0IHJlbmRlclZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoY29tbWl0dGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gYGFsbExhYmVsYCBpcyB0aGUgZGVmYXVsdCBmaWx0ZXIgdmFsdWUsIG5vdCBhbiBlbXB0eSBwbGFjZWhvbGRlci4gVGhlXG4gICAgICAgICAgICAvLyB0cmlnZ2VyJ3MgZW1wdHkgYHZhbHVlYCBtYWtlcyBTZWxlY3Qgd3JhcCB0aGlzIGluIGl0cyBncmV5IHBsYWNlaG9sZGVyXG4gICAgICAgICAgICAvLyBjbGFzcywgc28gZm9yY2UgdGhlIGRlZmF1bHQgZGFyayB0ZXh0IHRvIG1hdGNoIERhdGVSYW5nZS5cbiAgICAgICAgICAgIHJldHVybiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWVgLCBjaGlsZHJlbjogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogYWxsTGFiZWwgfSkgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gb3B0aW9uQnlWYWx1ZS5nZXQoY29tbWl0dGVkWzBdKTtcbiAgICAgICAgY29uc3QgZmlyc3RMYWJlbCA9IGZpcnN0ID8gZmlyc3QubGFiZWwgOiBjb21taXR0ZWRbMF07XG4gICAgICAgIGNvbnN0IGV4dHJhID0gY29tbWl0dGVkLmxlbmd0aCAtIDE7XG4gICAgICAgIHJldHVybiAoX2pzeHMoVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IFtfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZS1sYWJlbGAsIGNoaWxkcmVuOiBmaXJzdExhYmVsIH0pLCBleHRyYSA+IDAgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbW9yZWAsIGNoaWxkcmVuOiBNT1JFX1NVRkZJWChleHRyYSkgfSldIH0pKTtcbiAgICB9LCBbYWxsTGFiZWwsIGNvbW1pdHRlZCwgb3B0aW9uQnlWYWx1ZV0pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbXVsdGlwbGU6IHRydWUsIHNpemU6IHNpemUsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBqb2luQ2xzKFBBTkVMX0NMUywgcGFuZWxDbGFzc05hbWUpLCB2YWx1ZTogdGVtcCwgb3Blbjogb3Blbiwgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLCBvbkNoYW5nZTogaGFuZGxlU2VsZWN0Q2hhbmdlLCBzZWFyY2hhYmxlOiBzZWFyY2gsIHNlYXJjaFBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoVmFsdWU6IGtleXdvcmQsIG9uU2VhcmNoQ2hhbmdlOiBzZXRLZXl3b3JkLCBmaWx0ZXJPcHRpb246IGZpbHRlck9wdGlvbiAhPT0gbnVsbCAmJiBmaWx0ZXJPcHRpb24gIT09IHZvaWQgMCA/IGZpbHRlck9wdGlvbiA6IGRlZmF1bHRGaWx0ZXJPcHRpb24sIG9wdGlvbnM6IG9wdGlvbnMsIHBhbmVsSGVhZGVyOiBzZWFyY2hpbmcgPyB1bmRlZmluZWQgOiAoX2pzeHMoXCJidXR0b25cIiwgeyB0eXBlOiAnYnV0dG9uJywgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9fYWxsYCwgYWxsQ2hlY2tlZCAmJiBgJHtXUkFQX0NMU31fX2FsbC0tY2hlY2tlZGApLCBvbkNsaWNrOiBoYW5kbGVBbGxDbGljaywgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2hpbGRyZW46IGFsbExhYmVsIH0pLCBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGFsbENoZWNrZWQsIHJlYWRPbmx5OiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LWNoZWNrYCB9KV0gfSkpLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJPcHRpb246IChvcHRpb24sIG1ldGEpID0+IHJlbmRlclJvdyhvcHRpb24sIG1ldGEuc2VsZWN0ZWQpLCBwYW5lbEZvb3RlcjogX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiBoYW5kbGVSZXNldCwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogaGFuZGxlQXBwbHksIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgRmlsdGVyID0gbWVtbyhGaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
266
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRmlsdGVyL0ZpbHRlci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRmlsdGVyL0ZpbHRlci50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIkNoZWNrYm94IiwiRW1wdHkiLCJGbGV4IiwiSWNvbnMiLCJTZWxlY3QiLCJUeXBvZ3JhcGh5Qm9keSIsImpvaW5DbHMiLCJXUkFQX0NMUyIsIlBBTkVMX0NMUyIsImNvbmNhdCIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJERUZBVUxUX0FMTF9MQUJFTCIsIkRFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSIiwiREVGQVVMVF9FTVBUWSIsInZhcmlhbnQiLCJpY29uIiwibmFtZSIsInNpemUiLCJjb2xvciIsInRpdGxlIiwic3Ryb25nIiwiY2hpbGRyZW4iLCJkZXNjcmlwdGlvbiIsInN0eWxlIiwicGFkZGluZyIsIk1PUkVfU1VGRklYIiwiY291bnQiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsImlzR3JvdXAiLCJpdGVtIiwiX3R5cGVvZiIsIkFycmF5IiwiaXNBcnJheSIsIm9wdGlvbnMiLCJmbGF0dGVuT3B0aW9ucyIsImRhdGEiLCJmbGF0TWFwIiwiRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwicGFuZWxDbGFzc05hbWUiLCJfYSRzaXplIiwibGFiZWwiLCJwbGFjZWhvbGRlciIsIl9hJGFsbExhYmVsIiwiYWxsTGFiZWwiLCJfYSRzZWFyY2giLCJzZWFyY2giLCJfYSRzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFBsYWNlaG9sZGVyIiwiZmlsdGVyT3B0aW9uIiwiX2EkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicmVuZGVyUm93Iiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiZmxhdE9wdGlvbnMiLCJhbGxWYWx1ZXMiLCJtYXAiLCJvcHRpb24iLCJTdHJpbmciLCJ2YWx1ZSIsIm9wdGlvbkJ5VmFsdWUiLCJNYXAiLCJmb3JFYWNoIiwic2V0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3BlbiIsInNldE9wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImtleXdvcmQiLCJzZXRLZXl3b3JkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0ZW1wIiwic2V0VGVtcCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29tbWl0dGVkIiwic2V0Q29tbWl0dGVkIiwiYWxsQ2hlY2tlZCIsInNlYXJjaGluZyIsInRyaW0iLCJkZWZhdWx0RmlsdGVyT3B0aW9uIiwic2VhcmNoVmFsdWUiLCJ0ZXJtIiwidG9Mb3dlckNhc2UiLCJzZWFyY2hUZXh0IiwiaW5jbHVkZXMiLCJjbGVhciIsInJlc2V0IiwiaGFuZGxlU2VsZWN0Q2hhbmdlIiwibmV4dCIsIm5leHRWYWx1ZXMiLCJjb2xsYXBzZSIsImhhbmRsZUFsbENsaWNrIiwiaGFuZGxlQXBwbHkiLCJoYW5kbGVSZXNldCIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsInJlbmRlclZhbHVlIiwiX29wdGlvbiIsIm1ldGEiLCJmb250U2l6ZSIsImZpcnN0IiwiZ2V0IiwiZmlyc3RMYWJlbCIsImV4dHJhIiwiYXNzaWduIiwibXVsdGlwbGUiLCJvbk9wZW5DaGFuZ2UiLCJvbkNoYW5nZSIsInNlYXJjaGFibGUiLCJvblNlYXJjaENoYW5nZSIsInBhbmVsSGVhZGVyIiwidW5kZWZpbmVkIiwidHlwZSIsIm9uQ2xpY2siLCJjaGVja2VkIiwicmVhZE9ubHkiLCJyZW5kZXJPcHRpb24iLCJzZWxlY3RlZCIsInBhbmVsRm9vdGVyIiwiZ2FwIiwiRmlsdGVyIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT1IsQ0FBQztBQUNaLENBQUM7QUFDRCxTQUFTVyxH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RXJCLFdBQVc7UUFBQWpGLFFBQUEsRUFDL0VYO01BQVcsQ0FBQSxDQUNMO0lBQUEsQ0FBQTtFQUNKLENBQUEsQ0FBQSxDQUVUO0FBRU4sQ0FBQztBQUVELE9BQU8sSUFBTXdILE1BQU0sZ0JBQUd6SSxJQUFJLENBQUM2QyxVQUFVLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9GaWx0ZXIvRmlsdGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uL0NoZWNrYm94JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vRW1wdHknO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWZpbHRlcic7XG4vLyBUaGUgcGFuZWwgaXMgcG9ydGFsZWQgdG8gPGJvZHk+LCBzbyBwYW5lbC1zY29wZWQgb3ZlcnJpZGVzIGFyZSBrZXllZCBvZmYgdGhpc1xuLy8gY2xhc3MgKHBhc3NlZCBhcyBgcGFuZWxDbGFzc05hbWVgKSByYXRoZXIgdGhhbiB0aGUgdHJpZ2dlciByb290LlxuY29uc3QgUEFORUxfQ0xTID0gYCR7V1JBUF9DTFN9LXBhbmVsYDtcbmNvbnN0IFJFU0VUX0xBQkVMID0gJ1Jlc2V0JztcbmNvbnN0IEFQUExZX0xBQkVMID0gJ0FwcGx5JztcbmNvbnN0IERFRkFVTFRfQUxMX0xBQkVMID0gJ0FsbCc7XG5jb25zdCBERUZBVUxUX1NFQVJDSF9QTEFDRUhPTERFUiA9ICdTZWFyY2gnO1xuY29uc3QgREVGQVVMVF9FTVBUWSA9IChfanN4KEVtcHR5LCB7IHZhcmlhbnQ6ICdmaWxsJywgaWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMTYsIGNvbG9yOiAnY3VycmVudENvbG9yJyB9KSwgXG4gICAgLy8gRmlnbWEgZW1wdHktc3RhdGUgdGV4dCBpcyBCb2R5IFNtYWxsICgxMnB4KTsgRW1wdHkncyBzdHJpbmcgcGF0aCB3b3VsZFxuICAgIC8vIHJlbmRlciBUaXRsZSBzbSAvIEJvZHkgbWQgKDE0cHgpLCBzbyBwYXNzIDEycHggbm9kZXMgZXhwbGljaXRseS5cbiAgICB0aXRsZTogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnbmV1dHJhbC1zZWNvbmRhcnknLCBjaGlsZHJlbjogXCJObyByZXN1bHRzXCIgfSksIGRlc2NyaXB0aW9uOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnbmV1dHJhbC1zZWNvbmRhcnknLCBjaGlsZHJlbjogXCJUcnkgYSBkaWZmZXJlbnQgbmFtZSBvciBhZGp1c3QgeW91ciBzZWFyY2ggZmlsdGVycy5cIiB9KSwgc3R5bGU6IHsgcGFkZGluZzogMCB9IH0pKTtcbmNvbnN0IE1PUkVfU1VGRklYID0gKGNvdW50KSA9PiBgKyAke2NvdW50fSBtb3JlYDtcbmNvbnN0IEZVTExfV0lEVEhfU1RZTEUgPSB7IGZsZXg6IDEgfTtcbmNvbnN0IGlzR3JvdXAgPSAoaXRlbSkgPT4gISFpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KGl0ZW0ub3B0aW9ucyk7XG4vLyBGbGF0dGVuIGZsYXQvZ3JvdXBlZCBvcHRpb25zIGludG8gYSBzaW5nbGUgb3JkZXJlZCBvcHRpb24gbGlzdCDigJQgdXNlZCBmb3IgdGhlXG4vLyB2YWx1ZeKGkmxhYmVsIGxvb2t1cCBhbmQgdGhlIFwiZXZlcnkgb3B0aW9uIHNlbGVjdGVkXCIgY291bnQuXG5jb25zdCBmbGF0dGVuT3B0aW9ucyA9IChkYXRhKSA9PiBkYXRhLmZsYXRNYXAoKGl0ZW0pID0+IChpc0dyb3VwKGl0ZW0pID8gaXRlbS5vcHRpb25zIDogW2l0ZW1dKSk7XG5jb25zdCBGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIHBhbmVsQ2xhc3NOYW1lLCBzaXplID0gJ2V4dHJhLXNtYWxsJywgbGFiZWwsIHBsYWNlaG9sZGVyLCBvcHRpb25zLCBhbGxMYWJlbCA9IERFRkFVTFRfQUxMX0xBQkVMLCBzZWFyY2ggPSB0cnVlLCBzZWFyY2hQbGFjZWhvbGRlciA9IERFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSLCBmaWx0ZXJPcHRpb24sIGVtcHR5Q29udGVudCA9IERFRkFVTFRfRU1QVFksIHJlbmRlclJvdywgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInBhbmVsQ2xhc3NOYW1lXCIsIFwic2l6ZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJvcHRpb25zXCIsIFwiYWxsTGFiZWxcIiwgXCJzZWFyY2hcIiwgXCJzZWFyY2hQbGFjZWhvbGRlclwiLCBcImZpbHRlck9wdGlvblwiLCBcImVtcHR5Q29udGVudFwiLCBcInJlbmRlclJvd1wiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBmbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbnMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gdXNlTWVtbygoKSA9PiBmbGF0T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gU3RyaW5nKG9wdGlvbi52YWx1ZSkpLCBbZmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBvcHRpb25CeVZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgZmxhdE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBtYXAuc2V0KFN0cmluZyhvcHRpb24udmFsdWUpLCBvcHRpb24pKTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBbZmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2tleXdvcmQsIHNldEtleXdvcmRdID0gdXNlU3RhdGUoJycpO1xuICAgIC8vIGB0ZW1wYCBpcyB0aGUgaW4tcGFuZWwgZHJhZnQ7IGBjb21taXR0ZWRgIGlzIHRoZSBsYXN0IEFwcGxpZWQgc2VsZWN0aW9uLlxuICAgIC8vIE9ubHkgQXBwbHkgcHJvbW90ZXMgYHRlbXBgIOKGkiBgY29tbWl0dGVkYCBhbmQgbm90aWZpZXMgdGhlIHBhcmVudC4gV2l0aCBhblxuICAgIC8vIFwiQWxsXCIgcm93LCBcImFsbCBzZWxlY3RlZFwiIGlzIHJlcHJlc2VudGVkIGJ5IGFuIGVtcHR5IGFycmF5LlxuICAgIGNvbnN0IFt0ZW1wLCBzZXRUZW1wXSA9IHVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbY29tbWl0dGVkLCBzZXRDb21taXR0ZWRdID0gdXNlU3RhdGUoW10pO1xuICAgIC8vIFRoZSBcIkFsbFwiIHJvdyBpcyBjaGVja2VkIGV4YWN0bHkgd2hlbiBub3RoaW5nIHNwZWNpZmljIGlzIHNlbGVjdGVkLlxuICAgIGNvbnN0IGFsbENoZWNrZWQgPSB0ZW1wLmxlbmd0aCA9PT0gMDtcbiAgICAvLyBXaGlsZSBzZWFyY2hpbmcsIHRoZSBcIkFsbFwiIHJvdyBpcyBtZWFuaW5nbGVzcyDigJQgaGlkZSBpdCBzbyBhIG5vLW1hdGNoIHNlYXJjaFxuICAgIC8vIHNob3dzIHRoZSBlbXB0eSBzdGF0ZSBpbnN0ZWFkIG9mIGEgbG9uZSBcIkFsbFwiIHJvdy5cbiAgICBjb25zdCBzZWFyY2hpbmcgPSBzZWFyY2ggJiYga2V5d29yZC50cmltKCkubGVuZ3RoID4gMDtcbiAgICBjb25zdCBkZWZhdWx0RmlsdGVyT3B0aW9uID0gdXNlQ2FsbGJhY2soKHNlYXJjaFZhbHVlLCBvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgdGVybSA9IHNlYXJjaFZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoIXRlcm0pXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBvcHRpb24uc2VhcmNoVGV4dCA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gb3B0aW9uLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9LCBbXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgICAgICB9LFxuICAgIH0pLCBbb25SZXNldF0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdENoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZXMgPSAoQXJyYXkuaXNBcnJheShuZXh0KSA/IG5leHQgOiBbXSkubWFwKFN0cmluZyk7XG4gICAgICAgIC8vIFNlbGVjdGluZyBldmVyeSBjb25jcmV0ZSBvcHRpb24gY29sbGFwc2VzIHRvIFwiYWxsXCIgKFtdKSwgbWF0Y2hpbmcgdGhlXG4gICAgICAgIC8vIGJhY2tlbmQgY29udmVudGlvbiB0aGF0IGVtcHR5ID09IG5vIGZpbHRlci5cbiAgICAgICAgY29uc3QgY29sbGFwc2UgPSBuZXh0VmFsdWVzLmxlbmd0aCA9PT0gYWxsVmFsdWVzLmxlbmd0aDtcbiAgICAgICAgc2V0VGVtcChjb2xsYXBzZSA/IFtdIDogbmV4dFZhbHVlcyk7XG4gICAgfSwgW2FsbFZhbHVlc10pO1xuICAgIGNvbnN0IGhhbmRsZUFsbENsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAvLyBUaGUgXCJBbGxcIiByb3cgaXMgZXhjbHVzaXZlOiB0dXJuaW5nIGl0IG9uIGNsZWFycyBzcGVjaWZpYyBwaWNrcy5cbiAgICAgICAgc2V0VGVtcChbXSk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUFwcGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBzZXRDb21taXR0ZWQodGVtcCk7XG4gICAgICAgIG9uQXBwbHkodGVtcCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFt0ZW1wLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgaGFuZGxlUmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFRlbXAoW10pO1xuICAgICAgICBzZXRDb21taXR0ZWQoW10pO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgIH0sIFtvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBDbG9zaW5nIHdpdGhvdXQgQXBwbHkgZGlzY2FyZHMgdGhlIGRyYWZ0LlxuICAgICAgICBzZXRUZW1wKGNvbW1pdHRlZCk7XG4gICAgICAgIHNldEtleXdvcmQoJycpO1xuICAgIH0sIFtjb21taXR0ZWRdKTtcbiAgICAvLyBUaGUgdHJpZ2dlciByZWZsZWN0cyB0aGUgQ09NTUlUVEVEIHNlbGVjdGlvbiBvbmx5IOKAlCBgdGVtcGAgaXMgdGhlIGluLXBhbmVsXG4gICAgLy8gZHJhZnQgYW5kIG11c3Qgbm90IGxlYWsgaW50byB0aGUgdHJpZ2dlciBiZWZvcmUgQXBwbHkuIEFuIGVtcHR5IGBjb21taXR0ZWRgXG4gICAgLy8gbWVhbnMgXCJhbGxcIiAodGhlIGBhbGxMYWJlbGApLiBgcmVuZGVyVmFsdWVgIHNob3J0LWNpcmN1aXRzIFNlbGVjdCdzIG93blxuICAgIC8vIHBsYWNlaG9sZGVyIGhhbmRsaW5nLCBzbyB0aGUgZW1wdHkgc3RhdGUgbXVzdCByZXR1cm4gYGFsbExhYmVsYCBleHBsaWNpdGx5LlxuICAgIGNvbnN0IHJlbmRlclZhbHVlID0gdXNlQ2FsbGJhY2soKF9vcHRpb24sIG1ldGEpID0+IHtcbiAgICAgICAgaWYgKGNvbW1pdHRlZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIGBhbGxMYWJlbGAgaXMgdGhlIGRlZmF1bHQgZmlsdGVyIHZhbHVlLCBub3QgYW4gZW1wdHkgcGxhY2Vob2xkZXIuIFRoZVxuICAgICAgICAgICAgLy8gdHJpZ2dlcidzIGVtcHR5IGB2YWx1ZWAgbWFrZXMgU2VsZWN0IHdyYXAgdGhpcyBpbiBpdHMgZ3JleSBwbGFjZWhvbGRlclxuICAgICAgICAgICAgLy8gY2xhc3MsIHNvIGZvcmNlIHRoZSBkZWZhdWx0IGRhcmsgdGV4dCB0byBtYXRjaCBEYXRlUmFuZ2UuXG4gICAgICAgICAgICByZXR1cm4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogbWV0YS5mb250U2l6ZSwgY29sb3I6ICdkZWZhdWx0JywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlLWxhYmVsYCwgY2hpbGRyZW46IGFsbExhYmVsIH0pIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaXJzdCA9IG9wdGlvbkJ5VmFsdWUuZ2V0KGNvbW1pdHRlZFswXSk7XG4gICAgICAgIGNvbnN0IGZpcnN0TGFiZWwgPSBmaXJzdCA/IGZpcnN0LmxhYmVsIDogY29tbWl0dGVkWzBdO1xuICAgICAgICBjb25zdCBleHRyYSA9IGNvbW1pdHRlZC5sZW5ndGggLSAxO1xuICAgICAgICByZXR1cm4gKF9qc3hzKFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IG1ldGEuZm9udFNpemUsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZWAsIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogZmlyc3RMYWJlbCB9KSwgZXh0cmEgPiAwICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlLW1vcmVgLCBjaGlsZHJlbjogTU9SRV9TVUZGSVgoZXh0cmEpIH0pXSB9KSk7XG4gICAgfSwgW2FsbExhYmVsLCBjb21taXR0ZWQsIG9wdGlvbkJ5VmFsdWVdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IG11bHRpcGxlOiB0cnVlLCBzaXplOiBzaXplLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogam9pbkNscyhQQU5FTF9DTFMsIHBhbmVsQ2xhc3NOYW1lKSwgdmFsdWU6IHRlbXAsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgb25DaGFuZ2U6IGhhbmRsZVNlbGVjdENoYW5nZSwgc2VhcmNoYWJsZTogc2VhcmNoLCBzZWFyY2hQbGFjZWhvbGRlcjogc2VhcmNoUGxhY2Vob2xkZXIsIHNlYXJjaFZhbHVlOiBrZXl3b3JkLCBvblNlYXJjaENoYW5nZTogc2V0S2V5d29yZCwgZmlsdGVyT3B0aW9uOiBmaWx0ZXJPcHRpb24gIT09IG51bGwgJiYgZmlsdGVyT3B0aW9uICE9PSB2b2lkIDAgPyBmaWx0ZXJPcHRpb24gOiBkZWZhdWx0RmlsdGVyT3B0aW9uLCBvcHRpb25zOiBvcHRpb25zLCBwYW5lbEhlYWRlcjogc2VhcmNoaW5nID8gdW5kZWZpbmVkIDogKF9qc3hzKFwiYnV0dG9uXCIsIHsgdHlwZTogJ2J1dHRvbicsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2FsbGAsIGFsbENoZWNrZWQgJiYgYCR7V1JBUF9DTFN9X19hbGwtLWNoZWNrZWRgKSwgb25DbGljazogaGFuZGxlQWxsQ2xpY2ssIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBhbGxMYWJlbCB9KSwgX2pzeChDaGVja2JveCwgeyBjaGVja2VkOiBhbGxDaGVja2VkLCByZWFkT25seTogdHJ1ZSwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3Jvdy1jaGVja2AgfSldIH0pKSwgZW1wdHlDb250ZW50OiBlbXB0eUNvbnRlbnQsIHJlbmRlclZhbHVlOiByZW5kZXJWYWx1ZSwgcmVuZGVyT3B0aW9uOiAob3B0aW9uLCBtZXRhKSA9PiByZW5kZXJSb3cob3B0aW9uLCBtZXRhLnNlbGVjdGVkKSwgcGFuZWxGb290ZXI6IF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogaGFuZGxlUmVzZXQsIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIG9uQ2xpY2s6IGhhbmRsZUFwcGx5LCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IEZpbHRlciA9IG1lbW8oRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
letter-spacing: var(--om-body-lg-letter-spacing);
|
|
166
166
|
font-weight: var(--om-body-lg-strong-font-weight);
|
|
167
167
|
}
|
|
168
|
-
.om-component-ui-select-value-small
|
|
168
|
+
.om-component-ui-select-value-small {
|
|
169
169
|
font-size: var(--om-body-md-font-size);
|
|
170
170
|
font-family: var(--om-body-md-font-family);
|
|
171
171
|
line-height: var(--om-body-md-line-height);
|
|
@@ -173,6 +173,14 @@
|
|
|
173
173
|
font-weight: var(--om-body-md-strong-font-weight);
|
|
174
174
|
line-height: 18px;
|
|
175
175
|
}
|
|
176
|
+
.om-component-ui-select-value-extra-small {
|
|
177
|
+
font-size: var(--om-body-sm-font-size);
|
|
178
|
+
font-family: var(--om-body-sm-font-family);
|
|
179
|
+
line-height: var(--om-body-sm-line-height);
|
|
180
|
+
letter-spacing: var(--om-body-sm-letter-spacing);
|
|
181
|
+
font-weight: var(--om-body-sm-strong-font-weight);
|
|
182
|
+
line-height: 16px;
|
|
183
|
+
}
|
|
176
184
|
.om-component-ui-select-placeholder-large {
|
|
177
185
|
font-size: var(--om-body-lg-font-size);
|
|
178
186
|
font-family: var(--om-body-lg-font-family);
|
|
@@ -180,7 +188,7 @@
|
|
|
180
188
|
letter-spacing: var(--om-body-lg-letter-spacing);
|
|
181
189
|
font-weight: var(--om-body-lg-font-weight);
|
|
182
190
|
}
|
|
183
|
-
.om-component-ui-select-placeholder-small
|
|
191
|
+
.om-component-ui-select-placeholder-small {
|
|
184
192
|
font-size: var(--om-body-md-font-size);
|
|
185
193
|
font-family: var(--om-body-md-font-family);
|
|
186
194
|
line-height: var(--om-body-md-line-height);
|
|
@@ -188,6 +196,14 @@
|
|
|
188
196
|
font-weight: var(--om-body-md-font-weight);
|
|
189
197
|
line-height: 18px;
|
|
190
198
|
}
|
|
199
|
+
.om-component-ui-select-placeholder-extra-small {
|
|
200
|
+
font-size: var(--om-body-sm-font-size);
|
|
201
|
+
font-family: var(--om-body-sm-font-family);
|
|
202
|
+
line-height: var(--om-body-sm-line-height);
|
|
203
|
+
letter-spacing: var(--om-body-sm-letter-spacing);
|
|
204
|
+
font-weight: var(--om-body-sm-font-weight);
|
|
205
|
+
line-height: 16px;
|
|
206
|
+
}
|
|
191
207
|
.om-component-ui-select-value {
|
|
192
208
|
color: var(--om-text-default, #131313);
|
|
193
209
|
}
|
|
@@ -472,7 +488,7 @@
|
|
|
472
488
|
font-weight: var(--om-body-lg-font-weight);
|
|
473
489
|
color: var(--om-text-default-tertiary, #646465);
|
|
474
490
|
}
|
|
475
|
-
.om-component-ui-select-frameless .om-component-ui-select-value-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-small
|
|
491
|
+
.om-component-ui-select-frameless .om-component-ui-select-value-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-small {
|
|
476
492
|
font-size: var(--om-body-md-font-size);
|
|
477
493
|
font-family: var(--om-body-md-font-family);
|
|
478
494
|
line-height: var(--om-body-md-line-height);
|
|
@@ -480,6 +496,14 @@
|
|
|
480
496
|
font-weight: var(--om-body-md-font-weight);
|
|
481
497
|
color: var(--om-text-default-tertiary, #646465);
|
|
482
498
|
}
|
|
499
|
+
.om-component-ui-select-frameless .om-component-ui-select-value-extra-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-extra-small {
|
|
500
|
+
font-size: var(--om-body-sm-font-size);
|
|
501
|
+
font-family: var(--om-body-sm-font-family);
|
|
502
|
+
line-height: var(--om-body-sm-line-height);
|
|
503
|
+
letter-spacing: var(--om-body-sm-letter-spacing);
|
|
504
|
+
font-weight: var(--om-body-sm-font-weight);
|
|
505
|
+
color: var(--om-text-default-tertiary, #646465);
|
|
506
|
+
}
|
|
483
507
|
.om-component-ui-select-frameless.om-component-ui-select-disabled {
|
|
484
508
|
color: var(--om-text-disabled, #bbbdc1);
|
|
485
509
|
}
|
|
@@ -3,13 +3,15 @@ export function normalizeSize(size) {
|
|
|
3
3
|
if (size === 'small' || size === 'extra-small') return size;
|
|
4
4
|
return 'large';
|
|
5
5
|
}
|
|
6
|
-
// `extra-small` is a 32px trigger
|
|
7
|
-
//
|
|
8
|
-
//
|
|
6
|
+
// `extra-small` is a 32px trigger that renders its value at `body sm` (12px) so
|
|
7
|
+
// the collapsed trigger matches the 12px option rows the Filter dropdowns
|
|
8
|
+
// (OptionFilter/DateRange/Asset/Account) render in the open panel. This size
|
|
9
|
+
// also flows into `renderValueMeta.fontSize`, keeping custom trigger/option
|
|
10
|
+
// content aligned with the trigger typography.
|
|
9
11
|
var FONT_SIZE_BY_SELECT_SIZE = {
|
|
10
12
|
large: 'lg',
|
|
11
13
|
small: 'md',
|
|
12
|
-
'extra-small': '
|
|
14
|
+
'extra-small': 'sm'
|
|
13
15
|
};
|
|
14
16
|
export function getFontSize(size) {
|
|
15
17
|
return FONT_SIZE_BY_SELECT_SIZE[size];
|
|
@@ -149,4 +151,4 @@ export function removeMultipleValue(currentValue, optionValue) {
|
|
|
149
151
|
export function isOptionSelected(value, multiple, optionValue) {
|
|
150
152
|
return isSelectMultipleValue(value, multiple) ? value.includes(optionValue) : value === optionValue;
|
|
151
153
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3V0aWxzLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXRpbHMuanMiXSwibmFtZXMiOlsibm9ybWFsaXplU2l6ZSIsInNpemUiLCJGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUiLCJsYXJnZSIsInNtYWxsIiwiZ2V0Rm9udFNpemUiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9wdGlvbiIsImxhYmVsIiwiU3RyaW5nIiwidmFsdWUiLCJleHRyYWN0Tm9kZVRleHQiLCJpc1NlbGVjdE11bHRpcGxlVmFsdWUiLCJtdWx0aXBsZSIsIkFycmF5IiwiaXNBcnJheSIsImlzU2VsZWN0T3B0aW9uR3JvdXAiLCJvcHRpb25zIiwiZmluZE9wdGlvbkJ5VmFsdWUiLCJfYSIsImZpbmQiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJtYXAiLCJpdGVtIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwibWF0Y2hlZCIsImdldE9wdGlvblRhZ0xhYmVsIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiZ3JvdXBzIiwidW5ncm91cGVkT3B0aW9ucyIsInVuZ3JvdXBlZEdyb3VwSW5kZXgiLCJwdXNoVW5ncm91cGVkT3B0aW9ucyIsImxlbmd0aCIsInB1c2giLCJrZXkiLCJjb25jYXQiLCJmb3JFYWNoIiwiaW5kZXgiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwiZmxhdE1hcCIsImdyb3VwIiwiZ2V0T3B0aW9uU2VhcmNoVGV4dCIsImRlc2NyaXB0aW9uIiwic2VhcmNoVGV4dCIsIkJvb2xlYW4iLCJqb2luIiwidHJpbSIsIm1hdGNoZXNPcHRpb25TZWFyY2giLCJzZWFyY2hWYWx1ZSIsImZpbHRlck9wdGlvbiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJub3JtYWxpemVkU2VhcmNoVmFsdWUiLCJyZWR1Y2UiLCJyZXN1bHQiLCJncm91cExhYmVsVGV4dCIsIm1hdGNoZWRPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImdldE9wdGlvbnNCeVZhbHVlcyIsInZhbHVlcyIsInRvZ2dsZU11bHRpcGxlVmFsdWUiLCJjdXJyZW50VmFsdWUiLCJvcHRpb25WYWx1ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJpc09wdGlvblNlbGVjdGVkIl0sIm1hcHBpbmdzIjoiO0FBbUJBLE9BQU0sU0FBVUEsYUFBYUEsQ0FBQ0MsSUFBMEIsRUFBQTtFQUN0RCxJQUFJQSxJQUFJLEtBQUssT0FBTyxJQUFJQSxJQUFJLEtBQUssYUFBYSxFQUFFLE9BQU9BLElBQUk7RUFDM0QsT0FBTyxPQUFPO0FBQ2hCO0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsd0JBQXdCLEdBQTJDO0VBQ3ZFQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRTtBQ2xCakIsQ0RtQkM7QUFFRCxPQUFNLFNBQVVDLFdBQVdBLENBQUNKLElBQWdCLEVBQUE7RUFDMUMsT0FBT0Msd0JBQXdCLENBQUNELElBQUksQ0FBQztBQUN2QztBQUVBLE9BQU0sU0FBVUssaUJBQWlCQSxDQUFDQyxNQUFvQixFQUFBO0VBQ3BELElBQUksT0FBT0EsTUFBTSxDQUFDQyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU9ELE1BQU0sQ0FBQ0MsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUN4RSxPQUFPQyxNQUFNLENBQUNGLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO0VBQzdCO0VBRUEsT0FBT0MsTUFBTSxDQUFDRixNQUFNLENBQUNHLEtBQUssQ0FBQztBQUM3QjtBQUVBLFNBQVNDLGVBQWVBLENBQUNELEtBQTJELEVBQUE7RUFDbEYsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7SUFDMUQsT0FBT0QsTUFBTSxDQUFDQyxLQUFLLENBQUM7RUFDdEI7RUFFQSxPQUFPLEVBQUU7QUFDWDtBQUVBLE9BQU0sU0FBVUUs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InNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVNpemUoc2l6ZSkge1xuICAgIGlmIChzaXplID09PSAnc21hbGwnIHx8IHNpemUgPT09ICdleHRyYS1zbWFsbCcpXG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIHJldHVybiAnbGFyZ2UnO1xufVxuLy8gYGV4dHJhLXNtYWxsYCBpcyBhIDMycHggdHJpZ2dlciBidXQga2VlcHMgdGhlIGBzbWFsbGAgYm9keS1tZCAoMTRweCkgdmFsdWVcbi8vIGZvbnQ6IHRoZSBvbmx5IGNvbnN1bWVycyAoRmlsdGVyL0RhdGVSYW5nZSkgcmVuZGVyIHRoZSB0cmlnZ2VyIHZhbHVlIGF0IDE0cHgsXG4vLyBzbyBtYXRjaGluZyBpdCBoZXJlIG1ha2VzIHRoZSAzMnB4IHNpemUgYSBiZWhhdmlvci1wcmVzZXJ2aW5nIGRyb3AtaW4uXG5jb25zdCBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUgPSB7XG4gICAgbGFyZ2U6ICdsZycsXG4gICAgc21hbGw6ICdtZCcsXG4gICAgJ2V4dHJhLXNtYWxsJzogJ21kJyxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9udFNpemUoc2l6ZSkge1xuICAgIHJldHVybiBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkVbc2l6ZV07XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcob3B0aW9uLmxhYmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyhvcHRpb24udmFsdWUpO1xufVxuZnVuY3Rpb24gZXh0cmFjdE5vZGVUZXh0KHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpIHtcbiAgICByZXR1cm4gbXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pIHtcbiAgICByZXR1cm4gJ29wdGlvbnMnIGluIG9wdGlvbiAmJiBBcnJheS5pc0FycmF5KG9wdGlvbi5vcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGw7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25zKG9wdGlvbnMsIHZhbHVlLCBtdWx0aXBsZSkge1xuICAgIGlmIChpc1NlbGVjdE11bHRpcGxlVmFsdWUodmFsdWUsIG11bHRpcGxlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIGl0ZW0pKVxuICAgICAgICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24gIT09IG51bGwpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgbWF0Y2hlZCA9IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKTtcbiAgICByZXR1cm4gbWF0Y2hlZCA/IFttYXRjaGVkXSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblRhZ0xhYmVsKG9wdGlvbikge1xuICAgIHJldHVybiBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSB7XG4gICAgY29uc3QgZ3JvdXBzID0gW107XG4gICAgbGV0IHVuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICBsZXQgdW5ncm91cGVkR3JvdXBJbmRleCA9IDA7XG4gICAgY29uc3QgcHVzaFVuZ3JvdXBlZE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgICAgIGlmICh1bmdyb3VwZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYHVuZ3JvdXBlZC0ke3VuZ3JvdXBlZEdyb3VwSW5kZXh9YCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHVuZ3JvdXBlZE9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB1bmdyb3VwZWRPcHRpb25zID0gW107XG4gICAgICAgIHVuZ3JvdXBlZEdyb3VwSW5kZXggKz0gMTtcbiAgICB9O1xuICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pKSB7XG4gICAgICAgICAgICBwdXNoVW5ncm91cGVkT3B0aW9ucygpO1xuICAgICAgICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogb3B0aW9uLmtleSA/IFN0cmluZyhvcHRpb24ua2V5KSA6IGBncm91cC0ke2luZGV4fWAsXG4gICAgICAgICAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZ3JvdXBlZE9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH0pO1xuICAgIHB1c2hVbmdyb3VwZWRPcHRpb25zKCk7XG4gICAgcmV0dXJuIGdyb3Vwcztcbn1cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuT3B0aW9uR3JvdXBzKGdyb3Vwcykge1xuICAgIHJldHVybiBncm91cHMuZmxhdE1hcCgoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNlYXJjaFRleHQob3B0aW9uKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSxcbiAgICAgICAgZXh0cmFjdE5vZGVUZXh0KG9wdGlvbi5kZXNjcmlwdGlvbiksXG4gICAgICAgIG9wdGlvbi5zZWFyY2hUZXh0LFxuICAgICAgICBTdHJpbmcob3B0aW9uLnZhbHVlKSxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudHJpbSgpO1xufVxuZnVuY3Rpb24gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xuICAgICAgICByZXR1cm4gZmlsdGVyT3B0aW9uKHNlYXJjaFZhbHVlLCBvcHRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0T3B0aW9uU2VhcmNoVGV4dChvcHRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck9wdGlvbkdyb3Vwcyhncm91cHMsIHNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gZ3JvdXBzO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgocmVzdWx0LCBncm91cCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cExhYmVsVGV4dCA9IGV4dHJhY3ROb2RlVGV4dChncm91cC5sYWJlbCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnMgPSBncm91cExhYmVsVGV4dC5pbmNsdWRlcyhub3JtYWxpemVkU2VhcmNoVmFsdWUpXG4gICAgICAgICAgICA/IGdyb3VwLm9wdGlvbnNcbiAgICAgICAgICAgIDogZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pKTtcbiAgICAgICAgaWYgKG1hdGNoZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdyb3VwKSwgeyBvcHRpb25zOiBtYXRjaGVkT3B0aW9ucyB9KSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpcGxlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnNCeVZhbHVlcyhvcHRpb25zLCB2YWx1ZXMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gdmFsdWVzLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGdldE11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlKTtcbiAgICBpZiAodmFsdWVzLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gb3B0aW9uVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLnZhbHVlcywgb3B0aW9uVmFsdWVdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIHJldHVybiBnZXRNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBvcHRpb25WYWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNPcHRpb25TZWxlY3RlZCh2YWx1ZSwgbXVsdGlwbGUsIG9wdGlvblZhbHVlKSB7XG4gICAgcmV0dXJuIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpXG4gICAgICAgID8gdmFsdWUuaW5jbHVkZXMob3B0aW9uVmFsdWUpXG4gICAgICAgIDogdmFsdWUgPT09IG9wdGlvblZhbHVlO1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3V0aWxzLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXRpbHMuanMiXSwibmFtZXMiOlsibm9ybWFsaXplU2l6ZSIsInNpemUiLCJGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUiLCJsYXJnZSIsInNtYWxsIiwiZ2V0Rm9udFNpemUiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9wdGlvbiIsImxhYmVsIiwiU3RyaW5nIiwidmFsdWUiLCJleHRyYWN0Tm9kZVRleHQiLCJpc1NlbGVjdE11bHRpcGxlVmFsdWUiLCJtdWx0aXBsZSIsIkFycmF5IiwiaXNBcnJheSIsImlzU2VsZWN0T3B0aW9uR3JvdXAiLCJvcHRpb25zIiwiZmluZE9wdGlvbkJ5VmFsdWUiLCJfYSIsImZpbmQiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJtYXAiLCJpdGVtIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwibWF0Y2hlZCIsImdldE9wdGlvblRhZ0xhYmVsIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiZ3JvdXBzIiwidW5ncm91cGVkT3B0aW9ucyIsInVuZ3JvdXBlZEdyb3VwSW5kZXgiLCJwdXNoVW5ncm91cGVkT3B0aW9ucyIsImxlbmd0aCIsInB1c2giLCJrZXkiLCJjb25jYXQiLCJmb3JFYWNoIiwiaW5kZXgiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwiZmxhdE1hcCIsImdyb3VwIiwiZ2V0T3B0aW9uU2VhcmNoVGV4dCIsImRlc2NyaXB0aW9uIiwic2VhcmNoVGV4dCIsIkJvb2xlYW4iLCJqb2luIiwidHJpbSIsIm1hdGNoZXNPcHRpb25TZWFyY2giLCJzZWFyY2hWYWx1ZSIsImZpbHRlck9wdGlvbiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJub3JtYWxpemVkU2VhcmNoVmFsdWUiLCJyZWR1Y2UiLCJyZXN1bHQiLCJncm91cExhYmVsVGV4dCIsIm1hdGNoZWRPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImdldE9wdGlvbnNCeVZhbHVlcyIsInZhbHVlcyIsInRvZ2dsZU11bHRpcGxlVmFsdWUiLCJjdXJyZW50VmFsdWUiLCJvcHRpb25WYWx1ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJpc09wdGlvblNlbGVjdGVkIl0sIm1hcHBpbmdzIjoiO0FBbUJBLE9BQU0sU0FBVUEsYUFBYUEsQ0FBQ0MsSUFBMEIsRUFBQTtFQUN0RCxJQUFJQSxJQUFJLEtBQUssT0FBTyxJQUFJQSxJQUFJLEtBQUssYUFBYSxFQUFFLE9BQU9BLElBQUk7RUFDM0QsT0FBTyxPQUFPO0FBQ2hCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1DLHdCQUF3QixHQUEyQztFQUN2RUMsS0FBSyxFQUFFLElBQUk7RUFDWEMsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUU7QUNsQmpCLENEbUJDO0FBRUQsT0FBTSxTQUFVQyxXQUFXQSxDQUFDSixJQUFnQixFQUFBO0VBQzFDLE9BQU9DLHdCQUF3QixDQUFDRCxJQUFJLENBQUM7QUFDdkM7QUFFQSxPQUFNLFNBQVVLLGlCQUFpQkEsQ0FBQ0MsTUFBb0IsRUFBQTtFQUNwRCxJQUFJLE9BQU9BLE1BQU0sQ0FBQ0MsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPRCxNQUFNLENBQUNDLEtBQUssS0FBSyxRQUFRLEVBQUU7SUFDeEUsT0FBT0MsTUFBTSxDQUFDRixNQUFNLENBQUNDLEtBQUssQ0FBQztFQUM3QjtFQUVBLE9BQU9DLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDRyxLQUFLLENBQUM7QUFDN0I7QUFFQSxTQUFTQyxlQUFlQSxDQUFDRCxLQUEyRCxFQUFBO0VBQ2xGLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQzFELE9BQU9ELE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO0VBQ3RCO0VBRUEsT0FBTyxFQUFFO0FBQ1g7QUFFQSxP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dXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVTaXplKHNpemUpIHtcbiAgICBpZiAoc2l6ZSA9PT0gJ3NtYWxsJyB8fCBzaXplID09PSAnZXh0cmEtc21hbGwnKVxuICAgICAgICByZXR1cm4gc2l6ZTtcbiAgICByZXR1cm4gJ2xhcmdlJztcbn1cbi8vIGBleHRyYS1zbWFsbGAgaXMgYSAzMnB4IHRyaWdnZXIgdGhhdCByZW5kZXJzIGl0cyB2YWx1ZSBhdCBgYm9keSBzbWAgKDEycHgpIHNvXG4vLyB0aGUgY29sbGFwc2VkIHRyaWdnZXIgbWF0Y2hlcyB0aGUgMTJweCBvcHRpb24gcm93cyB0aGUgRmlsdGVyIGRyb3Bkb3duc1xuLy8gKE9wdGlvbkZpbHRlci9EYXRlUmFuZ2UvQXNzZXQvQWNjb3VudCkgcmVuZGVyIGluIHRoZSBvcGVuIHBhbmVsLiBUaGlzIHNpemVcbi8vIGFsc28gZmxvd3MgaW50byBgcmVuZGVyVmFsdWVNZXRhLmZvbnRTaXplYCwga2VlcGluZyBjdXN0b20gdHJpZ2dlci9vcHRpb25cbi8vIGNvbnRlbnQgYWxpZ25lZCB3aXRoIHRoZSB0cmlnZ2VyIHR5cG9ncmFwaHkuXG5jb25zdCBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUgPSB7XG4gICAgbGFyZ2U6ICdsZycsXG4gICAgc21hbGw6ICdtZCcsXG4gICAgJ2V4dHJhLXNtYWxsJzogJ3NtJyxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9udFNpemUoc2l6ZSkge1xuICAgIHJldHVybiBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkVbc2l6ZV07XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcob3B0aW9uLmxhYmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyhvcHRpb24udmFsdWUpO1xufVxuZnVuY3Rpb24gZXh0cmFjdE5vZGVUZXh0KHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpIHtcbiAgICByZXR1cm4gbXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pIHtcbiAgICByZXR1cm4gJ29wdGlvbnMnIGluIG9wdGlvbiAmJiBBcnJheS5pc0FycmF5KG9wdGlvbi5vcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGw7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25zKG9wdGlvbnMsIHZhbHVlLCBtdWx0aXBsZSkge1xuICAgIGlmIChpc1NlbGVjdE11bHRpcGxlVmFsdWUodmFsdWUsIG11bHRpcGxlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIGl0ZW0pKVxuICAgICAgICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24gIT09IG51bGwpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgbWF0Y2hlZCA9IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKTtcbiAgICByZXR1cm4gbWF0Y2hlZCA/IFttYXRjaGVkXSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblRhZ0xhYmVsKG9wdGlvbikge1xuICAgIHJldHVybiBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSB7XG4gICAgY29uc3QgZ3JvdXBzID0gW107XG4gICAgbGV0IHVuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICBsZXQgdW5ncm91cGVkR3JvdXBJbmRleCA9IDA7XG4gICAgY29uc3QgcHVzaFVuZ3JvdXBlZE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgICAgIGlmICh1bmdyb3VwZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYHVuZ3JvdXBlZC0ke3VuZ3JvdXBlZEdyb3VwSW5kZXh9YCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHVuZ3JvdXBlZE9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB1bmdyb3VwZWRPcHRpb25zID0gW107XG4gICAgICAgIHVuZ3JvdXBlZEdyb3VwSW5kZXggKz0gMTtcbiAgICB9O1xuICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pKSB7XG4gICAgICAgICAgICBwdXNoVW5ncm91cGVkT3B0aW9ucygpO1xuICAgICAgICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogb3B0aW9uLmtleSA/IFN0cmluZyhvcHRpb24ua2V5KSA6IGBncm91cC0ke2luZGV4fWAsXG4gICAgICAgICAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZ3JvdXBlZE9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH0pO1xuICAgIHB1c2hVbmdyb3VwZWRPcHRpb25zKCk7XG4gICAgcmV0dXJuIGdyb3Vwcztcbn1cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuT3B0aW9uR3JvdXBzKGdyb3Vwcykge1xuICAgIHJldHVybiBncm91cHMuZmxhdE1hcCgoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNlYXJjaFRleHQob3B0aW9uKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSxcbiAgICAgICAgZXh0cmFjdE5vZGVUZXh0KG9wdGlvbi5kZXNjcmlwdGlvbiksXG4gICAgICAgIG9wdGlvbi5zZWFyY2hUZXh0LFxuICAgICAgICBTdHJpbmcob3B0aW9uLnZhbHVlKSxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudHJpbSgpO1xufVxuZnVuY3Rpb24gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xuICAgICAgICByZXR1cm4gZmlsdGVyT3B0aW9uKHNlYXJjaFZhbHVlLCBvcHRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0T3B0aW9uU2VhcmNoVGV4dChvcHRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck9wdGlvbkdyb3Vwcyhncm91cHMsIHNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gZ3JvdXBzO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgocmVzdWx0LCBncm91cCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cExhYmVsVGV4dCA9IGV4dHJhY3ROb2RlVGV4dChncm91cC5sYWJlbCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnMgPSBncm91cExhYmVsVGV4dC5pbmNsdWRlcyhub3JtYWxpemVkU2VhcmNoVmFsdWUpXG4gICAgICAgICAgICA/IGdyb3VwLm9wdGlvbnNcbiAgICAgICAgICAgIDogZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pKTtcbiAgICAgICAgaWYgKG1hdGNoZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdyb3VwKSwgeyBvcHRpb25zOiBtYXRjaGVkT3B0aW9ucyB9KSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpcGxlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnNCeVZhbHVlcyhvcHRpb25zLCB2YWx1ZXMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gdmFsdWVzLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGdldE11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlKTtcbiAgICBpZiAodmFsdWVzLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gb3B0aW9uVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLnZhbHVlcywgb3B0aW9uVmFsdWVdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIHJldHVybiBnZXRNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBvcHRpb25WYWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNPcHRpb25TZWxlY3RlZCh2YWx1ZSwgbXVsdGlwbGUsIG9wdGlvblZhbHVlKSB7XG4gICAgcmV0dXJuIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpXG4gICAgICAgID8gdmFsdWUuaW5jbHVkZXMob3B0aW9uVmFsdWUpXG4gICAgICAgIDogdmFsdWUgPT09IG9wdGlvblZhbHVlO1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|