@agilemotion/oui-react-js 2.0.21 → 2.0.22
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/dist/InteractionPortalAppHome.js +18 -2
- package/dist/components/DataGrid.js +48 -7
- package/dist/components/dashboard/FoldingSideTabDashboard.js +5 -6
- package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.css +1 -2
- package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +133 -13
- package/dist/components/form/CurrencyField.js +121 -37
- package/dist/components/form/TextField.js +2 -1
- package/dist/event/Observable.js +3 -4
- package/dist/view/PortalDashboard.js +219 -6
- package/package.json +1 -1
- package/dist/components/dashboard/FoldingSideTabDashboard.bck.js +0 -333
- package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.bck.js +0 -316
|
@@ -5,23 +5,236 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
9
|
+
var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
|
|
10
|
+
var _RestUtils = require("../RestUtils");
|
|
11
|
+
var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
|
|
12
|
+
var _View = require("../components/layout/View");
|
|
8
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
const location = window.location.protocol + '//' + window.location.hostname;
|
|
20
|
+
let keyCounter = 0;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Friendly first name for the welcome banner. The user's first name(s) live on
|
|
24
|
+
* the `name` field (surname is the separate `surname` field; `profile` is org/
|
|
25
|
+
* role JSON, not name data). Falls back to the username local-part, else null.
|
|
26
|
+
*/
|
|
27
|
+
const resolveFirstName = () => {
|
|
28
|
+
try {
|
|
29
|
+
const details = _ApplicationManager.default.getUserDetails();
|
|
30
|
+
if (_Utils.default.isNull(details)) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const name = details.name;
|
|
34
|
+
if (!_Utils.default.isNull(name) && "".concat(name).trim().length) {
|
|
35
|
+
return "".concat(name).trim().split(/\s+/)[0];
|
|
36
|
+
}
|
|
37
|
+
const username = details.username;
|
|
38
|
+
if (!_Utils.default.isNull(username) && "".concat(username).length) {
|
|
39
|
+
const handle = "".concat(username).split('@')[0];
|
|
40
|
+
return handle.charAt(0).toUpperCase() + handle.slice(1);
|
|
41
|
+
}
|
|
42
|
+
} catch (e) {
|
|
43
|
+
console.error(e);
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Resolves a dashboard descriptor (type: "dashboard") to its content view and
|
|
50
|
+
* renders it inline, mirroring the VIEW-display branch of Dashboard.jsx's
|
|
51
|
+
* DashboardCard. The descriptor's contentPath points at the view to embed.
|
|
52
|
+
*/
|
|
53
|
+
const EmbeddedView = props => {
|
|
54
|
+
const [element, setElement] = _react.default.useState(null);
|
|
55
|
+
const [failed, setFailed] = _react.default.useState(false);
|
|
56
|
+
_react.default.useEffect(() => {
|
|
57
|
+
const base = location + _ApplicationManager.default.getContextRoot() + _ApplicationManager.default.getUIConfigPath();
|
|
58
|
+
const descriptorUrl = base + '/dashboard/get?version=1.0&id=' + props.descriptorPath;
|
|
59
|
+
(0, _RestUtils.sendRequest)(descriptorUrl, descriptor => {
|
|
60
|
+
if (_Utils.default.isNull(descriptor) || _Utils.default.isNull(descriptor.contentPath)) {
|
|
61
|
+
setFailed(true);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const viewUrl = base + '/view/get?version=1.0&id=' + descriptor.contentPath;
|
|
65
|
+
(0, _RestUtils.sendRequest)(viewUrl, data => {
|
|
66
|
+
data.id = data.id + '_' + keyCounter++;
|
|
67
|
+
const dashboardView = {
|
|
68
|
+
config: data,
|
|
69
|
+
parent: false,
|
|
70
|
+
popUp: false,
|
|
71
|
+
window: false,
|
|
72
|
+
handle: {
|
|
73
|
+
api: {
|
|
74
|
+
loaded: () => false
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
dashboardView.config.window = false;
|
|
79
|
+
_ApplicationManager.default.addDashboardView(dashboardView, descriptor.contentPath);
|
|
80
|
+
setElement(/*#__PURE__*/_react.default.createElement(_View.View, {
|
|
81
|
+
key: data.id,
|
|
82
|
+
config: data,
|
|
83
|
+
parameters: [],
|
|
84
|
+
handle: dashboardView.handle
|
|
85
|
+
}));
|
|
86
|
+
}, e => {
|
|
87
|
+
console.error(e);
|
|
88
|
+
setFailed(true);
|
|
89
|
+
});
|
|
90
|
+
}, e => {
|
|
91
|
+
console.error(e);
|
|
92
|
+
setFailed(true);
|
|
93
|
+
});
|
|
94
|
+
}, [props.descriptorPath]);
|
|
95
|
+
if (failed) {
|
|
96
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
97
|
+
style: {
|
|
98
|
+
padding: '16px',
|
|
99
|
+
color: '#9aa3b1',
|
|
100
|
+
fontSize: '13px'
|
|
101
|
+
}
|
|
102
|
+
}, "Unable to load.");
|
|
103
|
+
}
|
|
104
|
+
if (_Utils.default.isNull(element)) {
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
106
|
+
style: {
|
|
107
|
+
padding: '16px',
|
|
108
|
+
color: '#9aa3b1',
|
|
109
|
+
fontSize: '13px'
|
|
110
|
+
}
|
|
111
|
+
}, "Loading\u2026");
|
|
112
|
+
}
|
|
113
|
+
return element;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Panel wrapper giving each embedded card a titled, scrollable frame. Fills
|
|
118
|
+
* its parent slot; callers pass `style` to control its flex share/height
|
|
119
|
+
* within the grid columns.
|
|
120
|
+
*/
|
|
121
|
+
const DashboardPanel = props => /*#__PURE__*/_react.default.createElement(_Paper.default, {
|
|
122
|
+
style: _objectSpread({
|
|
123
|
+
display: 'flex',
|
|
124
|
+
flexDirection: 'column',
|
|
125
|
+
width: '100%',
|
|
126
|
+
height: '100%',
|
|
127
|
+
minHeight: 0,
|
|
128
|
+
overflow: 'hidden',
|
|
129
|
+
borderRadius: '6px',
|
|
130
|
+
boxShadow: '0 1px 3px rgba(20, 35, 60, 0.08)',
|
|
131
|
+
padding: '16px',
|
|
132
|
+
boxSizing: 'border-box'
|
|
133
|
+
}, props.style || {})
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
135
|
+
style: {
|
|
136
|
+
fontSize: '16px',
|
|
137
|
+
fontWeight: 600,
|
|
138
|
+
color: '#1a3c5e',
|
|
139
|
+
marginBottom: '12px'
|
|
140
|
+
}
|
|
141
|
+
}, props.title), /*#__PURE__*/_react.default.createElement("div", {
|
|
142
|
+
style: {
|
|
143
|
+
flex: '1 1 auto',
|
|
144
|
+
minHeight: 0,
|
|
145
|
+
overflow: 'auto'
|
|
146
|
+
}
|
|
147
|
+
}, props.children));
|
|
10
148
|
const PortalDashboard = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
11
149
|
const api = {
|
|
12
150
|
get id() {
|
|
13
|
-
return
|
|
151
|
+
return 'portal-dashboard';
|
|
14
152
|
}
|
|
15
153
|
};
|
|
16
154
|
const handle = {
|
|
17
|
-
|
|
155
|
+
api: api
|
|
18
156
|
};
|
|
157
|
+
const firstName = _react.default.useMemo(() => resolveFirstName(), []);
|
|
158
|
+
const greeting = _Utils.default.isNull(firstName) ? 'Welcome back' : "Hi ".concat(firstName, ", welcome back");
|
|
159
|
+
_react.default.useEffect(() => {
|
|
160
|
+
return () => {
|
|
161
|
+
keyCounter = 0;
|
|
162
|
+
};
|
|
163
|
+
}, []);
|
|
19
164
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
20
165
|
ref: ref,
|
|
21
166
|
style: {
|
|
22
|
-
|
|
167
|
+
padding: '16px',
|
|
168
|
+
boxSizing: 'border-box'
|
|
169
|
+
}
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
171
|
+
style: {
|
|
172
|
+
fontSize: '24px',
|
|
173
|
+
margin: '0 0 12px 4px',
|
|
174
|
+
color: '#1a3c5e'
|
|
175
|
+
}
|
|
176
|
+
}, greeting), /*#__PURE__*/_react.default.createElement("div", {
|
|
177
|
+
style: {
|
|
178
|
+
display: 'flex',
|
|
179
|
+
flexDirection: 'column',
|
|
180
|
+
gap: '10px',
|
|
181
|
+
height: 'calc(100dvh - var(--header-h, 64px) - 100px)'
|
|
182
|
+
}
|
|
183
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
184
|
+
style: {
|
|
185
|
+
flex: 1,
|
|
186
|
+
minHeight: 0,
|
|
187
|
+
display: 'flex',
|
|
188
|
+
gap: '10px'
|
|
189
|
+
}
|
|
190
|
+
}, /*#__PURE__*/_react.default.createElement(DashboardPanel, {
|
|
191
|
+
title: 'My Tasks',
|
|
192
|
+
style: {
|
|
193
|
+
flex: 1,
|
|
194
|
+
minWidth: 0
|
|
195
|
+
}
|
|
196
|
+
}, /*#__PURE__*/_react.default.createElement(EmbeddedView, {
|
|
197
|
+
descriptorPath: '/portal/dashboards/my-work-items.json'
|
|
198
|
+
})), /*#__PURE__*/_react.default.createElement(DashboardPanel, {
|
|
199
|
+
title: 'Calendar',
|
|
200
|
+
style: {
|
|
201
|
+
flex: 1,
|
|
202
|
+
minWidth: 0
|
|
203
|
+
}
|
|
204
|
+
}, /*#__PURE__*/_react.default.createElement(EmbeddedView, {
|
|
205
|
+
descriptorPath: '/portal/dashboards/my-calendar.json'
|
|
206
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
207
|
+
style: {
|
|
208
|
+
flex: 1,
|
|
209
|
+
minHeight: 0,
|
|
210
|
+
display: 'flex',
|
|
211
|
+
gap: '10px'
|
|
212
|
+
}
|
|
213
|
+
}, /*#__PURE__*/_react.default.createElement(DashboardPanel, {
|
|
214
|
+
title: 'Publications',
|
|
215
|
+
style: {
|
|
216
|
+
flex: 1,
|
|
217
|
+
minWidth: 0
|
|
218
|
+
}
|
|
219
|
+
}, /*#__PURE__*/_react.default.createElement(EmbeddedView, {
|
|
220
|
+
descriptorPath: '/portal/dashboards/publications.json'
|
|
221
|
+
})), /*#__PURE__*/_react.default.createElement(DashboardPanel, {
|
|
222
|
+
title: 'My Registrations',
|
|
223
|
+
style: {
|
|
224
|
+
flex: 1,
|
|
225
|
+
minWidth: 0
|
|
226
|
+
}
|
|
227
|
+
}, /*#__PURE__*/_react.default.createElement(EmbeddedView, {
|
|
228
|
+
descriptorPath: '/portal/dashboards/my-registrations.json'
|
|
229
|
+
})), /*#__PURE__*/_react.default.createElement(DashboardPanel, {
|
|
230
|
+
title: 'My Bids',
|
|
231
|
+
style: {
|
|
232
|
+
flex: 1,
|
|
233
|
+
minWidth: 0
|
|
23
234
|
}
|
|
24
|
-
}
|
|
235
|
+
}, /*#__PURE__*/_react.default.createElement(EmbeddedView, {
|
|
236
|
+
descriptorPath: '/portal/dashboards/my-bids.json'
|
|
237
|
+
})))));
|
|
25
238
|
}));
|
|
26
239
|
var _default = exports.default = PortalDashboard;
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImxvY2F0aW9uIiwid2luZG93IiwicHJvdG9jb2wiLCJob3N0bmFtZSIsIlBvcnRhbERhc2hib2FyZCIsIlJlYWN0IiwibWVtbyIsImZvcndhcmRSZWYiLCJwcm9wcyIsInJlZiIsImFwaSIsImlkIiwiaGFuZGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwibWFyZ2luIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi92aWV3L1BvcnRhbERhc2hib2FyZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmNvbnN0IGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG5jb25zdCBQb3J0YWxEYXNoYm9hcmQgPSBSZWFjdC5tZW1vKFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcblxuICAgIGNvbnN0IGFwaSA9IHtcbiAgICAgICAgZ2V0IGlkICgpIHtcbiAgICAgICAgICAgIHJldHVybiBcInBvcnRhbC1kYXNoYm9hcmRcIjtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGUgPSB7XG4gICAgICAgXCJhcGlcIjogYXBpXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgcmVmPXtyZWZ9IHN0eWxlPXt7bWFyZ2luOiAnNHB4IDAgMCAwJ319PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxEYXNoYm9hcmQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUMzQixNQUFNRyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0QsUUFBUSxDQUFDRSxRQUFRLEdBQUcsSUFBSSxHQUFHRCxNQUFNLENBQUNELFFBQVEsQ0FBQ0csUUFBUTtBQUUzRSxNQUFNQyxlQUFlLGdCQUFHQyxjQUFLLENBQUNDLElBQUksY0FBQ0QsY0FBSyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsS0FBSyxFQUFFQyxHQUFHLEtBQUs7RUFFaEUsTUFBTUMsR0FBRyxHQUFHO0lBQ1IsSUFBSUMsRUFBRUEsQ0FBQSxFQUFJO01BQ04sT0FBTyxrQkFBa0I7SUFDN0I7RUFDSixDQUFDO0VBRUQsTUFBTUMsTUFBTSxHQUFHO0lBQ1osS0FBSyxFQUFFRjtFQUNWLENBQUM7RUFFRCxvQkFDSWhCLE1BQUEsQ0FBQUssT0FBQSxDQUFBYyxhQUFBO0lBQUtKLEdBQUcsRUFBRUEsR0FBSTtJQUFDSyxLQUFLLEVBQUU7TUFBQ0MsTUFBTSxFQUFFO0lBQVc7RUFBRSxDQUN2QyxDQUFDO0FBRWQsQ0FBQyxDQUFDLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsQ0FBQWxCLE9BQUEsR0FFV0ssZUFBZSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9QYXBlciIsIl9SZXN0VXRpbHMiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX1ZpZXciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwibG9jYXRpb24iLCJ3aW5kb3ciLCJwcm90b2NvbCIsImhvc3RuYW1lIiwia2V5Q291bnRlciIsInJlc29sdmVGaXJzdE5hbWUiLCJkZXRhaWxzIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiZ2V0VXNlckRldGFpbHMiLCJVdGlscyIsImlzTnVsbCIsIm5hbWUiLCJjb25jYXQiLCJ0cmltIiwic3BsaXQiLCJ1c2VybmFtZSIsImhhbmRsZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJjb25zb2xlIiwiZXJyb3IiLCJFbWJlZGRlZFZpZXciLCJwcm9wcyIsImVsZW1lbnQiLCJzZXRFbGVtZW50IiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImZhaWxlZCIsInNldEZhaWxlZCIsInVzZUVmZmVjdCIsImJhc2UiLCJnZXRDb250ZXh0Um9vdCIsImdldFVJQ29uZmlnUGF0aCIsImRlc2NyaXB0b3JVcmwiLCJkZXNjcmlwdG9yUGF0aCIsInNlbmRSZXF1ZXN0IiwiZGVzY3JpcHRvciIsImNvbnRlbnRQYXRoIiwidmlld1VybCIsImRhdGEiLCJpZCIsImRhc2hib2FyZFZpZXciLCJjb25maWciLCJwYXJlbnQiLCJwb3BVcCIsImFwaSIsImxvYWRlZCIsImFkZERhc2hib2FyZFZpZXciLCJjcmVhdGVFbGVtZW50IiwiVmlldyIsImtleSIsInBhcmFtZXRlcnMiLCJzdHlsZSIsInBhZGRpbmciLCJjb2xvciIsImZvbnRTaXplIiwiRGFzaGJvYXJkUGFuZWwiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwibWluSGVpZ2h0Iiwib3ZlcmZsb3ciLCJib3JkZXJSYWRpdXMiLCJib3hTaGFkb3ciLCJib3hTaXppbmciLCJmb250V2VpZ2h0IiwibWFyZ2luQm90dG9tIiwidGl0bGUiLCJmbGV4IiwiY2hpbGRyZW4iLCJQb3J0YWxEYXNoYm9hcmQiLCJtZW1vIiwiZm9yd2FyZFJlZiIsInJlZiIsImZpcnN0TmFtZSIsInVzZU1lbW8iLCJncmVldGluZyIsIm1hcmdpbiIsImdhcCIsIm1pbldpZHRoIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi92aWV3L1BvcnRhbERhc2hib2FyZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQgUGFwZXIgZnJvbSAnQG11aS9tYXRlcmlhbC9QYXBlcic7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tICcuLi9SZXN0VXRpbHMnO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IHtWaWV3fSBmcm9tICcuLi9jb21wb25lbnRzL2xheW91dC9WaWV3JztcblxuY29uc3QgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG5sZXQga2V5Q291bnRlciA9IDA7XG5cbi8qKlxuICogRnJpZW5kbHkgZmlyc3QgbmFtZSBmb3IgdGhlIHdlbGNvbWUgYmFubmVyLiBUaGUgdXNlcidzIGZpcnN0IG5hbWUocykgbGl2ZSBvblxuICogdGhlIGBuYW1lYCBmaWVsZCAoc3VybmFtZSBpcyB0aGUgc2VwYXJhdGUgYHN1cm5hbWVgIGZpZWxkOyBgcHJvZmlsZWAgaXMgb3JnL1xuICogcm9sZSBKU09OLCBub3QgbmFtZSBkYXRhKS4gRmFsbHMgYmFjayB0byB0aGUgdXNlcm5hbWUgbG9jYWwtcGFydCwgZWxzZSBudWxsLlxuICovXG5jb25zdCByZXNvbHZlRmlyc3ROYW1lID0gKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0VXNlckRldGFpbHMoKTtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZXRhaWxzKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYW1lID0gZGV0YWlscy5uYW1lO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChuYW1lKSAmJiBgJHtuYW1lfWAudHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9YC50cmltKCkuc3BsaXQoL1xccysvKVswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVzZXJuYW1lID0gZGV0YWlscy51c2VybmFtZTtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwodXNlcm5hbWUpICYmIGAke3VzZXJuYW1lfWAubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGUgPSBgJHt1c2VybmFtZX1gLnNwbGl0KCdAJylbMF07XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgaGFuZGxlLnNsaWNlKDEpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIGRhc2hib2FyZCBkZXNjcmlwdG9yICh0eXBlOiBcImRhc2hib2FyZFwiKSB0byBpdHMgY29udGVudCB2aWV3IGFuZFxuICogcmVuZGVycyBpdCBpbmxpbmUsIG1pcnJvcmluZyB0aGUgVklFVy1kaXNwbGF5IGJyYW5jaCBvZiBEYXNoYm9hcmQuanN4J3NcbiAqIERhc2hib2FyZENhcmQuIFRoZSBkZXNjcmlwdG9yJ3MgY29udGVudFBhdGggcG9pbnRzIGF0IHRoZSB2aWV3IHRvIGVtYmVkLlxuICovXG5jb25zdCBFbWJlZGRlZFZpZXcgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbZWxlbWVudCwgc2V0RWxlbWVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbZmFpbGVkLCBzZXRGYWlsZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZSA9IGxvY2F0aW9uICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0VUlDb25maWdQYXRoKCk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3JVcmwgPSBiYXNlICsgJy9kYXNoYm9hcmQvZ2V0P3ZlcnNpb249MS4wJmlkPScgKyBwcm9wcy5kZXNjcmlwdG9yUGF0aDtcblxuICAgICAgICBzZW5kUmVxdWVzdChkZXNjcmlwdG9yVXJsLCAoZGVzY3JpcHRvcikgPT4ge1xuICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChkZXNjcmlwdG9yKSB8fCBVdGlscy5pc051bGwoZGVzY3JpcHRvci5jb250ZW50UGF0aCkpIHtcbiAgICAgICAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2aWV3VXJsID0gYmFzZSArICcvdmlldy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIGRlc2NyaXB0b3IuY29udGVudFBhdGg7XG4gICAgICAgICAgICBzZW5kUmVxdWVzdCh2aWV3VXJsLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGRhdGEuaWQgPSBkYXRhLmlkICsgJ18nICsga2V5Q291bnRlcisrO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhc2hib2FyZFZpZXcgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcG9wVXA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBoYW5kbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogKCkgPT4gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZGFzaGJvYXJkVmlldy5jb25maWcud2luZG93ID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkRGFzaGJvYXJkVmlldyhkYXNoYm9hcmRWaWV3LCBkZXNjcmlwdG9yLmNvbnRlbnRQYXRoKTtcbiAgICAgICAgICAgICAgICBzZXRFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICA8VmlldyBrZXk9e2RhdGEuaWR9IGNvbmZpZz17ZGF0YX0gcGFyYW1ldGVycz17W119IGhhbmRsZT17ZGFzaGJvYXJkVmlldy5oYW5kbGV9Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSwgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIHNldEZhaWxlZCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCAoZSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHNldEZhaWxlZCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW3Byb3BzLmRlc2NyaXB0b3JQYXRoXSk7XG5cbiAgICBpZiAoZmFpbGVkKSB7XG4gICAgICAgIHJldHVybiA8ZGl2IHN0eWxlPXt7cGFkZGluZzogJzE2cHgnLCBjb2xvcjogJyM5YWEzYjEnLCBmb250U2l6ZTogJzEzcHgnfX0+VW5hYmxlIHRvIGxvYWQuPC9kaXY+O1xuICAgIH1cblxuICAgIGlmIChVdGlscy5pc051bGwoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIDxkaXYgc3R5bGU9e3twYWRkaW5nOiAnMTZweCcsIGNvbG9yOiAnIzlhYTNiMScsIGZvbnRTaXplOiAnMTNweCd9fT5Mb2FkaW5n4oCmPC9kaXY+O1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50O1xufTtcblxuLyoqXG4gKiBQYW5lbCB3cmFwcGVyIGdpdmluZyBlYWNoIGVtYmVkZGVkIGNhcmQgYSB0aXRsZWQsIHNjcm9sbGFibGUgZnJhbWUuIEZpbGxzXG4gKiBpdHMgcGFyZW50IHNsb3Q7IGNhbGxlcnMgcGFzcyBgc3R5bGVgIHRvIGNvbnRyb2wgaXRzIGZsZXggc2hhcmUvaGVpZ2h0XG4gKiB3aXRoaW4gdGhlIGdyaWQgY29sdW1ucy5cbiAqL1xuY29uc3QgRGFzaGJvYXJkUGFuZWwgPSAocHJvcHMpID0+IChcbiAgICA8UGFwZXIgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIG1pbkhlaWdodDogMCxcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICBib3hTaGFkb3c6ICcwIDFweCAzcHggcmdiYSgyMCwgMzUsIDYwLCAwLjA4KScsXG4gICAgICAgIHBhZGRpbmc6ICcxNnB4JyxcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgIC4uLihwcm9wcy5zdHlsZSB8fCB7fSlcbiAgICB9fT5cbiAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgZm9udFNpemU6ICcxNnB4JyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgIGNvbG9yOiAnIzFhM2M1ZScsXG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMnB4J1xuICAgICAgICB9fT5cbiAgICAgICAgICAgIHtwcm9wcy50aXRsZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6ICcxIDEgYXV0bycsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2F1dG8nXG4gICAgICAgIH19PlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICA8L1BhcGVyPlxuKTtcblxuY29uc3QgUG9ydGFsRGFzaGJvYXJkID0gUmVhY3QubWVtbyhSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgYXBpID0ge1xuICAgICAgICBnZXQgaWQoKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3BvcnRhbC1kYXNoYm9hcmQnO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZSA9IHtcbiAgICAgICAgYXBpOiBhcGlcbiAgICB9O1xuXG4gICAgY29uc3QgZmlyc3ROYW1lID0gUmVhY3QudXNlTWVtbygoKSA9PiByZXNvbHZlRmlyc3ROYW1lKCksIFtdKTtcbiAgICBjb25zdCBncmVldGluZyA9IFV0aWxzLmlzTnVsbChmaXJzdE5hbWUpID8gJ1dlbGNvbWUgYmFjaycgOiBgSGkgJHtmaXJzdE5hbWV9LCB3ZWxjb21lIGJhY2tgO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGtleUNvdW50ZXIgPSAwO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgcmVmPXtyZWZ9IHN0eWxlPXt7cGFkZGluZzogJzE2cHgnLCBib3hTaXppbmc6ICdib3JkZXItYm94J319PlxuICAgICAgICAgICAgPHAgc3R5bGU9e3tmb250U2l6ZTogJzI0cHgnLCBtYXJnaW46ICcwIDAgMTJweCA0cHgnLCBjb2xvcjogJyMxYTNjNWUnfX0+e2dyZWV0aW5nfTwvcD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgZ2FwOiAnMTBweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDBkdmggLSB2YXIoLS1oZWFkZXItaCwgNjRweCkgLSAxMDBweCknXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7LyogUm93IDEg4oCUIE15IFRhc2tzIC8gQ2FsZW5kYXIgKDIgY29sdW1ucykgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTBweCdcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnTXkgVGFza3MnfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LXdvcmstaXRlbXMuanNvbid9Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9EYXNoYm9hcmRQYW5lbD5cbiAgICAgICAgICAgICAgICAgICAgPERhc2hib2FyZFBhbmVsIHRpdGxlPXsnQ2FsZW5kYXInfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LWNhbGVuZGFyLmpzb24nfS8+XG4gICAgICAgICAgICAgICAgICAgIDwvRGFzaGJvYXJkUGFuZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgey8qIFJvdyAyIOKAlCBQdWJsaWNhdGlvbnMgLyBNeSBSZWdpc3RyYXRpb25zIC8gTXkgQmlkcyAoMyBjb2x1bW5zKSAqL31cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICcxMHB4J1xuICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydQdWJsaWNhdGlvbnMnfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL3B1YmxpY2F0aW9ucy5qc29uJ30vPlxuICAgICAgICAgICAgICAgICAgICA8L0Rhc2hib2FyZFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8RGFzaGJvYXJkUGFuZWwgdGl0bGU9eydNeSBSZWdpc3RyYXRpb25zJ30gc3R5bGU9e3tmbGV4OiAxLCBtaW5XaWR0aDogMH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEVtYmVkZGVkVmlldyBkZXNjcmlwdG9yUGF0aD17Jy9wb3J0YWwvZGFzaGJvYXJkcy9teS1yZWdpc3RyYXRpb25zLmpzb24nfS8+XG4gICAgICAgICAgICAgICAgICAgIDwvRGFzaGJvYXJkUGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDxEYXNoYm9hcmRQYW5lbCB0aXRsZT17J015IEJpZHMnfSBzdHlsZT17e2ZsZXg6IDEsIG1pbldpZHRoOiAwfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RW1iZWRkZWRWaWV3IGRlc2NyaXB0b3JQYXRoPXsnL3BvcnRhbC9kYXNoYm9hcmRzL215LWJpZHMuanNvbid9Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9EYXNoYm9hcmRQYW5lbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBQb3J0YWxEYXNoYm9hcmQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLG1CQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFM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
|
package/package.json
CHANGED