@gravitee/ui-components 3.25.1 → 3.25.3-typescript-ad6021f
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/CHANGELOG.md +1292 -0
- package/LICENSE.txt +202 -0
- package/README.md +195 -0
- package/package.json +17 -4
- package/src/.eslintrc.js +19 -0
- package/src/atoms/gv-autocomplete.js +156 -132
- package/src/atoms/gv-button.js +248 -73
- package/src/atoms/gv-checkbox.js +103 -45
- package/src/atoms/gv-date-picker-calendar.js +393 -312
- package/src/atoms/gv-date-picker-cell.js +81 -57
- package/src/atoms/gv-date-picker.js +319 -180
- package/src/atoms/gv-file-upload.js +195 -85
- package/src/atoms/gv-icon.js +34 -13
- package/src/atoms/gv-image.js +66 -31
- package/src/atoms/gv-input-message.js +37 -12
- package/src/atoms/gv-input.js +148 -117
- package/src/atoms/gv-link.js +125 -47
- package/src/atoms/gv-message.js +69 -18
- package/src/atoms/gv-metric.js +68 -19
- package/src/atoms/gv-relative-time.js +38 -67
- package/src/atoms/gv-select-native.js +215 -96
- package/src/atoms/gv-select.js +230 -110
- package/src/atoms/gv-spinner.js +26 -5
- package/src/atoms/gv-state.js +66 -25
- package/src/atoms/gv-switch.js +160 -40
- package/src/atoms/gv-tag.js +78 -26
- package/src/atoms/gv-text.js +83 -22
- package/src/charts/gv-chart-bar.js +18 -22
- package/src/charts/gv-chart-gauge.js +31 -28
- package/src/charts/gv-chart-histogram.js +10 -18
- package/src/charts/gv-chart-line.js +59 -70
- package/src/charts/gv-chart-map.js +42 -44
- package/src/charts/gv-chart-pie.js +14 -18
- package/src/index.js +0 -1
- package/src/lib/cron-expression.js +35 -40
- package/src/lib/date.js +1 -10
- package/src/lib/events.js +1 -3
- package/src/lib/http-client-schema-form.js +12 -13
- package/src/lib/http.js +56 -57
- package/src/lib/i18n.js +22 -30
- package/src/lib/item.js +12 -13
- package/src/lib/properties.js +42 -77
- package/src/lib/schema-form.js +5 -4
- package/src/lib/studio.js +60 -13
- package/src/lib/style.js +8 -8
- package/src/lib/text-format.js +7 -14
- package/src/lib/theme.js +5 -8
- package/src/lib/utils.js +18 -17
- package/src/mixins/chart-element.js +54 -31
- package/src/mixins/input-element.js +47 -60
- package/src/mixins/item-resource.js +32 -34
- package/src/mixins/keyboard-element.js +5 -6
- package/src/mixins/update-after-browser.js +1 -4
- package/src/mixins/with-resize-observer.js +13 -23
- package/src/mixins/with-skeleton-attribute.js +48 -54
- package/src/molecules/gv-card-full.js +147 -26
- package/src/molecules/gv-card-list.js +42 -13
- package/src/molecules/gv-card.js +91 -17
- package/src/molecules/gv-category-list.js +17 -6
- package/src/molecules/gv-category.js +103 -23
- package/src/molecules/gv-code.js +142 -80
- package/src/molecules/gv-confirm.js +71 -41
- package/src/molecules/gv-cron-editor.js +389 -143
- package/src/molecules/gv-dropdown-menu.js +46 -14
- package/src/molecules/gv-expandable.js +59 -31
- package/src/molecules/gv-expression-language.js +138 -176
- package/src/molecules/gv-identity-picture.js +66 -43
- package/src/molecules/gv-list.js +134 -42
- package/src/molecules/gv-metrics.js +49 -37
- package/src/molecules/gv-modal.js +95 -28
- package/src/molecules/gv-nav.js +75 -49
- package/src/molecules/gv-option.js +130 -57
- package/src/molecules/gv-plans.js +209 -86
- package/src/molecules/gv-popover.js +177 -57
- package/src/molecules/gv-promote.js +146 -28
- package/src/molecules/gv-rating-list.js +195 -69
- package/src/molecules/gv-rating.js +105 -52
- package/src/molecules/gv-row-expandable.js +11 -5
- package/src/molecules/gv-row.js +147 -21
- package/src/molecules/gv-stats.js +48 -23
- package/src/molecules/gv-stepper.js +187 -43
- package/src/molecules/gv-table.js +309 -199
- package/src/molecules/gv-tree.js +156 -33
- package/src/organisms/gv-documentation.js +127 -44
- package/src/organisms/gv-header.js +195 -37
- package/src/organisms/gv-http-client.js +168 -32
- package/src/organisms/gv-menu.js +158 -37
- package/src/organisms/gv-newsletter-subscription.js +189 -48
- package/src/organisms/gv-pagination.js +77 -49
- package/src/organisms/gv-properties.js +492 -271
- package/src/organisms/gv-resizable-views.js +259 -41
- package/src/organisms/gv-resources.js +275 -168
- package/src/organisms/gv-schema-form-array.js +159 -49
- package/src/organisms/gv-schema-form-control-object.js +73 -59
- package/src/organisms/gv-schema-form-control.js +134 -107
- package/src/organisms/gv-schema-form.js +313 -208
- package/src/organisms/gv-tabs.js +98 -66
- package/src/organisms/gv-user-menu.js +201 -36
- package/src/organisms/gv-vertical-menu.js +61 -20
- package/src/policy-studio/gv-flow-step.js +265 -105
- package/src/policy-studio/gv-flow.js +304 -125
- package/src/policy-studio/gv-policy-studio-menu.js +471 -157
- package/src/policy-studio/gv-policy-studio.js +774 -710
- package/src/styles/empty.js +20 -3
- package/src/styles/input.js +247 -3
- package/src/styles/link.js +16 -3
- package/src/styles/shapes.js +0 -1
- package/src/styles/skeleton.js +37 -3
- package/src/styles/zoom.js +24 -3
- package/src/theme/definition.json +1762 -0
- package/src/theme/gv-theme.js +60 -21
package/src/lib/properties.js
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
16
|
/**
|
|
18
17
|
* Thanks to https://github.com/CleverCloud/clever-client.js
|
|
19
18
|
*
|
|
@@ -26,16 +25,19 @@
|
|
|
26
25
|
* /^[a-zA-Z_][a-zA-Z0-9_]*$/
|
|
27
26
|
*/
|
|
28
27
|
export const ENV_VAR_NAME_REGEX = /^[a-zA-Z0-9-_.]+$/;
|
|
28
|
+
|
|
29
29
|
export function validateName(name) {
|
|
30
30
|
// return ENV_VAR_NAME_REGEX.test(name);
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
+
|
|
33
34
|
export const ERROR_TYPES = {
|
|
34
35
|
INVALID_NAME: 0,
|
|
35
36
|
DUPLICATED_NAME: 1,
|
|
36
37
|
INVALID_LINE: 2,
|
|
37
|
-
INVALID_VALUE: 3
|
|
38
|
+
INVALID_VALUE: 3,
|
|
38
39
|
};
|
|
40
|
+
|
|
39
41
|
const NEW_LINE = '\n';
|
|
40
42
|
const SIMPLE_QUOTE = "'";
|
|
41
43
|
const EQUAL = '=';
|
|
@@ -47,16 +49,13 @@ const DOUBLE_QUOTE_REPLACE = /([\\]*)"/g;
|
|
|
47
49
|
function nextIndex(text, char, start = 0) {
|
|
48
50
|
let i = start;
|
|
49
51
|
let escaped = false;
|
|
50
|
-
|
|
51
52
|
while (i < text.length) {
|
|
52
53
|
if (text[i] === char && !escaped) {
|
|
53
54
|
return i;
|
|
54
55
|
}
|
|
55
|
-
|
|
56
56
|
escaped = text[i] === '\\';
|
|
57
57
|
i += 1;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
59
|
return i;
|
|
61
60
|
}
|
|
62
61
|
|
|
@@ -72,39 +71,34 @@ function getPosition(text, index) {
|
|
|
72
71
|
const lines = text.substring(0, index).split(NEW_LINE);
|
|
73
72
|
const line = lines.length;
|
|
74
73
|
const column = lines.slice(-1)[0].length;
|
|
75
|
-
return {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
} // Here we surround a string with double quotes,
|
|
74
|
+
return { line, column };
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Here we surround a string with double quotes,
|
|
80
78
|
// it means we need to escape existing double quotes,
|
|
81
79
|
// we need to do so in a way that is compatible with shells and environment variables,
|
|
82
80
|
// this is why we have (slashes * 2 + 1).
|
|
83
|
-
|
|
84
|
-
|
|
85
81
|
function doubleQuoteString(str) {
|
|
86
82
|
const escapedString = str.replace(DOUBLE_QUOTE_REPLACE, (m, slashes) => {
|
|
87
83
|
return SLASH.repeat(slashes.length * 2 + 1) + DOUBLE_QUOTE;
|
|
88
84
|
});
|
|
89
85
|
return DOUBLE_QUOTE + escapedString + DOUBLE_QUOTE;
|
|
90
|
-
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Here we must be able to reverse what doubleQuoteString() does,
|
|
91
89
|
// with the same logic,
|
|
92
90
|
// we also want it to work with simple quotes.
|
|
93
|
-
|
|
94
|
-
|
|
95
91
|
function unquoteString(firstChar, str) {
|
|
96
92
|
if (firstChar === SIMPLE_QUOTE) {
|
|
97
93
|
return str.replace(SIMPLE_QUOTE_REPLACE, (match, slashes) => {
|
|
98
94
|
return SLASH.repeat((slashes.length - 1) / 2) + SIMPLE_QUOTE;
|
|
99
95
|
});
|
|
100
96
|
}
|
|
101
|
-
|
|
102
97
|
if (firstChar === DOUBLE_QUOTE) {
|
|
103
98
|
return str.replace(DOUBLE_QUOTE_REPLACE, (match, slashes) => {
|
|
104
99
|
return SLASH.repeat((slashes.length - 1) / 2) + DOUBLE_QUOTE;
|
|
105
100
|
});
|
|
106
101
|
}
|
|
107
|
-
|
|
108
102
|
return str;
|
|
109
103
|
}
|
|
110
104
|
|
|
@@ -112,8 +106,8 @@ export function parseRaw(rawInput = '') {
|
|
|
112
106
|
const parsedVariables = [];
|
|
113
107
|
const parsingErrors = [];
|
|
114
108
|
const allNames = new Set();
|
|
115
|
-
let startIdx = 0;
|
|
116
109
|
|
|
110
|
+
let startIdx = 0;
|
|
117
111
|
while (startIdx < rawInput.length) {
|
|
118
112
|
const nextNewLineIdx = nextIndex(rawInput, NEW_LINE, startIdx);
|
|
119
113
|
const line = rawInput.substring(startIdx, nextNewLineIdx);
|
|
@@ -124,10 +118,7 @@ export function parseRaw(rawInput = '') {
|
|
|
124
118
|
}
|
|
125
119
|
|
|
126
120
|
if (!line.includes(EQUAL)) {
|
|
127
|
-
parsingErrors.push({
|
|
128
|
-
type: ERROR_TYPES.INVALID_LINE,
|
|
129
|
-
pos: getPosition(rawInput, startIdx)
|
|
130
|
-
});
|
|
121
|
+
parsingErrors.push({ type: ERROR_TYPES.INVALID_LINE, pos: getPosition(rawInput, startIdx) });
|
|
131
122
|
startIdx = nextNewLineIdx + 1;
|
|
132
123
|
continue;
|
|
133
124
|
}
|
|
@@ -136,89 +127,63 @@ export function parseRaw(rawInput = '') {
|
|
|
136
127
|
const key = rawInput.substring(startIdx, nextEqualIdx);
|
|
137
128
|
|
|
138
129
|
if (!validateName(key)) {
|
|
139
|
-
parsingErrors.push({
|
|
140
|
-
type: ERROR_TYPES.INVALID_NAME,
|
|
141
|
-
key,
|
|
142
|
-
pos: getPosition(rawInput, startIdx)
|
|
143
|
-
});
|
|
130
|
+
parsingErrors.push({ type: ERROR_TYPES.INVALID_NAME, key, pos: getPosition(rawInput, startIdx) });
|
|
144
131
|
}
|
|
145
132
|
|
|
146
133
|
if (allNames.has(key)) {
|
|
147
|
-
parsingErrors.push({
|
|
148
|
-
type: ERROR_TYPES.DUPLICATED_NAME,
|
|
149
|
-
key,
|
|
150
|
-
pos: getPosition(rawInput, startIdx)
|
|
151
|
-
});
|
|
134
|
+
parsingErrors.push({ type: ERROR_TYPES.DUPLICATED_NAME, key, pos: getPosition(rawInput, startIdx) });
|
|
152
135
|
} else {
|
|
153
136
|
allNames.add(key);
|
|
154
137
|
}
|
|
155
138
|
|
|
156
139
|
const valueFirstChar = rawInput[nextEqualIdx + 1];
|
|
157
|
-
|
|
158
140
|
if (valueFirstChar === SIMPLE_QUOTE || valueFirstChar === DOUBLE_QUOTE) {
|
|
159
141
|
const nextQuoteIdx = nextIndex(rawInput, valueFirstChar, nextEqualIdx + 2);
|
|
160
142
|
const rawValue = rawInput.substring(nextEqualIdx + 2, nextQuoteIdx);
|
|
161
143
|
const value = unquoteString(valueFirstChar, rawValue);
|
|
162
|
-
parsedVariables.push({
|
|
163
|
-
key,
|
|
164
|
-
value
|
|
165
|
-
});
|
|
166
|
-
|
|
144
|
+
parsedVariables.push({ key, value });
|
|
167
145
|
if (nextNewLineIdx > nextQuoteIdx + 1 || nextQuoteIdx + 1 > rawInput.length) {
|
|
168
|
-
parsingErrors.push({
|
|
169
|
-
type: ERROR_TYPES.INVALID_VALUE,
|
|
170
|
-
key,
|
|
171
|
-
pos: getPosition(rawInput, nextQuoteIdx + 1)
|
|
172
|
-
});
|
|
146
|
+
parsingErrors.push({ type: ERROR_TYPES.INVALID_VALUE, key, pos: getPosition(rawInput, nextQuoteIdx + 1) });
|
|
173
147
|
startIdx = nextNewLineIdx + 1;
|
|
174
148
|
} else {
|
|
175
149
|
startIdx = nextQuoteIdx + 1;
|
|
176
150
|
}
|
|
177
151
|
} else {
|
|
178
152
|
const value = rawInput.substring(nextEqualIdx + 1, nextNewLineIdx);
|
|
179
|
-
parsedVariables.push({
|
|
180
|
-
key,
|
|
181
|
-
value
|
|
182
|
-
});
|
|
153
|
+
parsedVariables.push({ key, value });
|
|
183
154
|
startIdx = nextNewLineIdx + 1;
|
|
184
155
|
}
|
|
185
|
-
}
|
|
186
|
-
|
|
156
|
+
}
|
|
187
157
|
|
|
158
|
+
// WARN: Array.prototype.sort edits in place
|
|
188
159
|
parsedVariables.sort((a, b) => a.key.localeCompare(b.key));
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
160
|
+
|
|
161
|
+
return { variables: parsedVariables, errors: parsingErrors };
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// automatically merges duplicated named (keeps last value)
|
|
194
165
|
// automatically removes variables with invalid names
|
|
195
166
|
// always double quote values (with proper escaping)
|
|
196
|
-
|
|
197
167
|
export function toNameEqualsValueString(variables, options = {}) {
|
|
198
|
-
const {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}).join('\n');
|
|
209
|
-
} // automatically merges duplicated named (keeps last value)
|
|
210
|
-
// automatically removes variables with invalid names
|
|
168
|
+
const { addExports = false } = options;
|
|
169
|
+
return variables
|
|
170
|
+
.sort((a, b) => a.key.localeCompare(b.key))
|
|
171
|
+
.map(({ key, value }) => {
|
|
172
|
+
const quotedValue = doubleQuoteString(value);
|
|
173
|
+
const nameValue = `${key}=${quotedValue}`;
|
|
174
|
+
return addExports ? `export ${nameValue};` : nameValue;
|
|
175
|
+
})
|
|
176
|
+
.join('\n');
|
|
177
|
+
}
|
|
211
178
|
|
|
179
|
+
// automatically merges duplicated named (keeps last value)
|
|
180
|
+
// automatically removes variables with invalid names
|
|
212
181
|
export function toNameValueObject(variables) {
|
|
213
182
|
const keyValueObject = {};
|
|
214
|
-
variables
|
|
215
|
-
name
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}) => {
|
|
220
|
-
keyValueObject[name] = value;
|
|
221
|
-
});
|
|
183
|
+
variables
|
|
184
|
+
.filter(({ name }) => validateName(name))
|
|
185
|
+
.forEach(({ name, value }) => {
|
|
186
|
+
keyValueObject[name] = value;
|
|
187
|
+
});
|
|
222
188
|
return keyValueObject;
|
|
223
189
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi9wcm9wZXJ0aWVzLmpzIl0sIm5hbWVzIjpbIkVOVl9WQVJfTkFNRV9SRUdFWCIsInZhbGlkYXRlTmFtZSIsIm5hbWUiLCJFUlJPUl9UWVBFUyIsIklOVkFMSURfTkFNRSIsIkRVUExJQ0FURURfTkFNRSIsIklOVkFMSURfTElORSIsIklOVkFMSURfVkFMVUUiLCJORVdfTElORSIsIlNJTVBMRV9RVU9URSIsIkVRVUFMIiwiU0xBU0giLCJTSU1QTEVfUVVPVEVfUkVQTEFDRSIsIkRPVUJMRV9RVU9URSIsIkRPVUJMRV9RVU9URV9SRVBMQUNFIiwibmV4dEluZGV4IiwidGV4dCIsImNoYXIiLCJzdGFydCIsImkiLCJlc2NhcGVkIiwibGVuZ3RoIiwiaXNFbXB0eUxpbmUiLCJsaW5lIiwidHJpbSIsImlzQ29tbWVudExpbmUiLCJzdGFydHNXaXRoIiwiZ2V0UG9zaXRpb24iLCJpbmRleCIsImxpbmVzIiwic3Vic3RyaW5nIiwic3BsaXQiLCJjb2x1bW4iLCJzbGljZSIsImRvdWJsZVF1b3RlU3RyaW5nIiwic3RyIiwiZXNjYXBlZFN0cmluZyIsInJlcGxhY2UiLCJtIiwic2xhc2hlcyIsInJlcGVhdCIsInVucXVvdGVTdHJpbmciLCJmaXJzdENoYXIiLCJtYXRjaCIsInBhcnNlUmF3IiwicmF3SW5wdXQiLCJwYXJzZWRWYXJpYWJsZXMiLCJwYXJzaW5nRXJyb3JzIiwiYWxsTmFtZXMiLCJTZXQiLCJzdGFydElkeCIsIm5leHROZXdMaW5lSWR4IiwiaW5jbHVkZXMiLCJwdXNoIiwidHlwZSIsInBvcyIsIm5leHRFcXVhbElkeCIsImtleSIsImhhcyIsImFkZCIsInZhbHVlRmlyc3RDaGFyIiwibmV4dFF1b3RlSWR4IiwicmF3VmFsdWUiLCJ2YWx1ZSIsInNvcnQiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiLCJ2YXJpYWJsZXMiLCJlcnJvcnMiLCJ0b05hbWVFcXVhbHNWYWx1ZVN0cmluZyIsIm9wdGlvbnMiLCJhZGRFeHBvcnRzIiwibWFwIiwicXVvdGVkVmFsdWUiLCJuYW1lVmFsdWUiLCJqb2luIiwidG9OYW1lVmFsdWVPYmplY3QiLCJrZXlWYWx1ZU9iamVjdCIsImZpbHRlciIsImZvckVhY2giXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxNQUFNQSxrQkFBa0IsR0FBRyxtQkFBM0I7QUFFUCxPQUFPLFNBQVNDLFlBQVQsQ0FBc0JDLElBQXRCLEVBQTRCO0FBQ2pDO0FBQ0EsU0FBTyxJQUFQO0FBQ0Q7QUFFRCxPQUFPLE1BQU1DLFdBQVcsR0FBRztBQUN6QkMsRUFBQUEsWUFBWSxFQUFFLENBRFc7QUFFekJDLEVBQUFBLGVBQWUsRUFBRSxDQUZRO0FBR3pCQyxFQUFBQSxZQUFZLEVBQUUsQ0FIVztBQUl6QkMsRUFBQUEsYUFBYSxFQUFFO0FBSlUsQ0FBcEI7QUFPUCxNQUFNQyxRQUFRLEdBQUcsSUFBakI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsR0FBckI7QUFDQSxNQUFNQyxLQUFLLEdBQUcsR0FBZDtBQUNBLE1BQU1DLEtBQUssR0FBRyxJQUFkO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsV0FBN0I7QUFDQSxNQUFNQyxZQUFZLEdBQUcsR0FBckI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxXQUE3Qjs7QUFFQSxTQUFTQyxTQUFULENBQW1CQyxJQUFuQixFQUF5QkMsSUFBekIsRUFBK0JDLEtBQUssR0FBRyxDQUF2QyxFQUEwQztBQUN4QyxNQUFJQyxDQUFDLEdBQUdELEtBQVI7QUFDQSxNQUFJRSxPQUFPLEdBQUcsS0FBZDs7QUFDQSxTQUFPRCxDQUFDLEdBQUdILElBQUksQ0FBQ0ssTUFBaEIsRUFBd0I7QUFDdEIsUUFBSUwsSUFBSSxDQUFDRyxDQUFE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V0FBWSxFQUF4QztBQUNBLFdBQU9GLFVBQVUsR0FBSSxVQUFTRyxTQUFVLEdBQXZCLEdBQTRCQSxTQUE3QztBQUNELEdBTkksRUFPSkMsSUFQSSxDQU9DLElBUEQsQ0FBUDtBQVFELEMsQ0FFRDtBQUNBOztBQUNBLE9BQU8sU0FBU0MsaUJBQVQsQ0FBMkJULFNBQTNCLEVBQXNDO0FBQzNDLFFBQU1VLGNBQWMsR0FBRyxFQUF2QjtBQUNBVixFQUFBQSxTQUFTLENBQ05XLE1BREgsQ0FDVSxDQUFDO0FBQUU3RSxJQUFBQTtBQUFGLEdBQUQsS0FBY0QsWUFBWSxDQUFDQyxJQUFELENBRHBDLEVBRUc4RSxPQUZILENBRVcsQ0FBQztBQUFFOUUsSUFBQUEsSUFBRjtBQUFRNkQsSUFBQUE7QUFBUixHQUFELEtBQXFCO0FBQzVCZSxJQUFBQSxjQUFjLENBQUM1RSxJQUFELENBQWQsR0FBdUI2RCxLQUF2QjtBQUNELEdBSkg7QUFLQSxTQUFPZSxjQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBUaGFua3MgdG8gaHR0cHM6Ly9naXRodWIuY29tL0NsZXZlckNsb3VkL2NsZXZlci1jbGllbnQuanNcbiAqXG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yODIxMDQzL2FsbG93ZWQtY2hhcmFjdGVycy1pbi1saW51eC1lbnZpcm9ubWVudC12YXJpYWJsZS1uYW1lc1xuICogRGVmYXVsdCBiYXNoL0xpbnV4IHJ1bGVzIGFyZTpcbiAqIGxldHRlcnMgKHVwcGVyIGNhc2Ugb25seSlcbiAqIGRpZ2l0cyAoYnV0IG5vdCBmb3IgZmlyc3QgY2hhcilcbiAqIHVuZGVyc2NvcmVzXG4gKiBub3RoaW5nIGVsc2VcbiAqIC9eW2EtekEtWl9dW2EtekEtWjAtOV9dKiQvXG4gKi9cbmV4cG9ydCBjb25zdCBFTlZfVkFSX05BTUVfUkVHRVggPSAvXlthLXpBLVowLTktXy5dKyQvO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOYW1lKG5hbWUpIHtcbiAgLy8gcmV0dXJuIEVOVl9WQVJfTkFNRV9SRUdFWC50ZXN0KG5hbWUpO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IEVSUk9SX1RZUEVTID0ge1xuICBJTlZBTElEX05BTUU6IDAsXG4gIERVUExJQ0FURURfTkFNRTogMSxcbiAgSU5WQUxJRF9MSU5FOiAyLFxuICBJTlZBTElEX1ZBTFVFOiAzLFxufTtcblxuY29uc3QgTkVXX0xJTkUgPSAnXFxuJztcbmNvbnN0IFNJTVBMRV9RVU9URSA9IFwiJ1wiO1xuY29uc3QgRVFVQUwgPSAnPSc7XG5jb25zdCBTTEFTSCA9ICdcXFxcJztcbmNvbnN0IFNJTVBMRV9RVU9URV9SRVBMQUNFID0gLyhbXFxcXF0qKScvZztcbmNvbnN0IERPVUJMRV9RVU9URSA9ICdcIic7XG5jb25zdCBET1VCTEVfUVVPVEVfUkVQTEFDRSA9IC8oW1xcXFxdKilcIi9nO1xuXG5mdW5jdGlvbiBuZXh0SW5kZXgodGV4dCwgY2hhciwgc3RhcnQgPSAwKSB7XG4gIGxldCBpID0gc3RhcnQ7XG4gIGxldCBlc2NhcGVkID0gZmFsc2U7XG4gIHdoaWxlIChpIDwgdGV4dC5sZW5ndGgpIHtcbiAgICBpZiAodGV4dFtpXSA9PT0gY2hhciAmJiAhZXNjYXBlZCkge1xuICAgICAgcmV0dXJuIGk7XG4gICAgfVxuICAgIGVzY2FwZWQgPSB0ZXh0W2ldID09PSAnXFxcXCc7XG4gICAgaSArPSAxO1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5mdW5jdGlvbiBpc0VtcHR5TGluZShsaW5lKSB7XG4gIHJldHVybiBsaW5lLnRyaW0oKSA9PT0gJyc7XG59XG5cbmZ1bmN0aW9uIGlzQ29tbWVudExpbmUobGluZSkge1xuICByZXR1cm4gbGluZS50cmltKCkuc3RhcnRzV2l0aCgnIycpO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NpdGlvbih0ZXh0LCBpbmRleCkge1xuICBjb25zdCBsaW5lcyA9IHRleHQuc3Vic3RyaW5nKDAsIGluZGV4KS5zcGxpdChORVdfTElORSk7XG4gIGNvbnN0IGxpbmUgPSBsaW5lcy5sZW5ndGg7XG4gIGNvbnN0IGNvbHVtbiA9IGxpbmVzLnNsaWNlKC0xKVswXS5sZW5ndGg7XG4gIHJldHVybiB7IGxpbmUsIGNvbHVtbiB9O1xufVxuXG4vLyBIZXJlIHdlIHN1cnJvdW5kIGEgc3RyaW5nIHdpdGggZG91YmxlIHF1b3Rlcyxcbi8vIGl0IG1lYW5zIHdlIG5lZWQgdG8gZXNjYXBlIGV4aXN0aW5nIGRvdWJsZSBxdW90ZXMsXG4vLyB3ZSBuZWVkIHRvIGRvIHNvIGluIGEgd2F5IHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIHNoZWxscyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzLFxuLy8gdGhpcyBpcyB3aHkgd2UgaGF2ZSAoc2xhc2hlcyAqIDIgKyAxKS5cbmZ1bmN0aW9uIGRvdWJsZVF1b3RlU3RyaW5nKHN0cikge1xuICBjb25zdCBlc2NhcGVkU3RyaW5nID0gc3RyLnJlcGxhY2UoRE9VQkxFX1FVT1RFX1JFUExBQ0UsIChtLCBzbGFzaGVzKSA9PiB7XG4gICAgcmV0dXJuIFNMQVNILnJlcGVhdChzbGFzaGVzLmxlbmd0aCAqIDIgKyAxKSArIERPVUJMRV9RVU9URTtcbiAgfSk7XG4gIHJldHVybiBET1VCTEVfUVVPVEUgKyBlc2NhcGVkU3RyaW5nICsgRE9VQkxFX1FVT1RFO1xufVxuXG4vLyBIZXJlIHdlIG11c3QgYmUgYWJsZSB0byByZXZlcnNlIHdoYXQgZG91YmxlUXVvdGVTdHJpbmcoKSBkb2VzLFxuLy8gd2l0aCB0aGUgc2FtZSBsb2dpYyxcbi8vIHdlIGFsc28gd2FudCBpdCB0byB3b3JrIHdpdGggc2ltcGxlIHF1b3Rlcy5cbmZ1bmN0aW9uIHVucXVvdGVTdHJpbmcoZmlyc3RDaGFyLCBzdHIpIHtcbiAgaWYgKGZpcnN0Q2hhciA9PT0gU0lNUExFX1FVT1RFKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKFNJTVBMRV9RVU9URV9SRVBMQUNFLCAobWF0Y2gsIHNsYXNoZXMpID0+IHtcbiAgICAgIHJldHVybiBTTEFTSC5yZXBlYXQoKHNsYXNoZXMubGVuZ3RoIC0gMSkgLyAyKSArIFNJTVBMRV9RVU9URTtcbiAgICB9KTtcbiAgfVxuICBpZiAoZmlyc3RDaGFyID09PSBET1VCTEVfUVVPVEUpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoRE9VQkxFX1FVT1RFX1JFUExBQ0UsIChtYXRjaCwgc2xhc2hlcykgPT4ge1xuICAgICAgcmV0dXJuIFNMQVNILnJlcGVhdCgoc2xhc2hlcy5sZW5ndGggLSAxKSAvIDIpICsgRE9VQkxFX1FVT1RFO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJhdyhyYXdJbnB1dCA9ICcnKSB7XG4gIGNvbnN0IHBhcnNlZFZhcmlhYmxlcyA9IFtdO1xuICBjb25zdCBwYXJzaW5nRXJyb3JzID0gW107XG4gIGNvbnN0IGFsbE5hbWVzID0gbmV3IFNldCgpO1xuXG4gIGxldCBzdGFydElkeCA9IDA7XG4gIHdoaWxlIChzdGFydElkeCA8IHJhd0lucHV0Lmxlbmd0aCkge1xuICAgIGNvbnN0IG5leHROZXdMaW5lSWR4ID0gbmV4dEluZGV4KHJhd0lucHV0LCBORVdfTElORSwgc3RhcnRJZHgpO1xuICAgIGNvbnN0IGxpbmUgPSByYXdJbnB1dC5zdWJzdHJpbmcoc3RhcnRJZHgsIG5leHROZXdMaW5lSWR4KTtcblxuICAgIGlmIChpc0VtcHR5TGluZShsaW5lKSB8fCBpc0NvbW1lbnRMaW5lKGxpbmUpKSB7XG4gICAgICBzdGFydElkeCA9IG5leHROZXdMaW5lSWR4ICsgMTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghbGluZS5pbmNsdWRlcyhFUVVBTCkpIHtcbiAgICAgIHBhcnNpbmdFcnJvcnMucHVzaCh7IHR5cGU6IEVSUk9SX1RZUEVTLklOVkFMSURfTElORSwgcG9zOiBnZXRQb3NpdGlvbihyYXdJbnB1dCwgc3RhcnRJZHgpIH0pO1xuICAgICAgc3RhcnRJZHggPSBuZXh0TmV3TGluZUlkeCArIDE7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0RXF1YWxJZHggPSBuZXh0SW5kZXgocmF3SW5wdXQsIEVRVUFMLCBzdGFydElkeCk7XG4gICAgY29uc3Qga2V5ID0gcmF3SW5wdXQuc3Vic3RyaW5nKHN0YXJ0SWR4LCBuZXh0RXF1YWxJZHgpO1xuXG4gICAgaWYgKCF2YWxpZGF0ZU5hbWUoa2V5KSkge1xuICAgICAgcGFyc2luZ0Vycm9ycy5wdXNoKHsgdHlwZTogRVJST1JfVFlQRVMuSU5WQUxJRF9OQU1FLCBrZXksIHBvczogZ2V0UG9zaXRpb24ocmF3SW5wdXQsIHN0YXJ0SWR4KSB9KTtcbiAgICB9XG5cbiAgICBpZiAoYWxsTmFtZXMuaGFzKGtleSkpIHtcbiAgICAgIHBhcnNpbmdFcnJvcnMucHVzaCh7IHR5cGU6IEVSUk9SX1RZUEVTLkRVUExJQ0FURURfTkFNRSwga2V5LCBwb3M6IGdldFBvc2l0aW9uKHJhd0lucHV0LCBzdGFydElkeCkgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFsbE5hbWVzLmFkZChrZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlRmlyc3RDaGFyID0gcmF3SW5wdXRbbmV4dEVxdWFsSWR4ICsgMV07XG4gICAgaWYgKHZhbHVlRmlyc3RDaGFyID09PSBTSU1QTEVfUVVPVEUgfHwgdmFsdWVGaXJzdENoYXIgPT09IERPVUJMRV9RVU9URSkge1xuICAgICAgY29uc3QgbmV4dFF1b3RlSWR4ID0gbmV4dEluZGV4KHJhd0lucHV0LCB2YWx1ZUZpcnN0Q2hhciwgbmV4dEVxdWFsSWR4ICsgMik7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHJhd0lucHV0LnN1YnN0cmluZyhuZXh0RXF1YWxJZHggKyAyLCBuZXh0UXVvdGVJZHgpO1xuICAgICAgY29uc3QgdmFsdWUgPSB1bnF1b3RlU3RyaW5nKHZhbHVlRmlyc3RDaGFyLCByYXdWYWx1ZSk7XG4gICAgICBwYXJzZWRWYXJpYWJsZXMucHVzaCh7IGtleSwgdmFsdWUgfSk7XG4gICAgICBpZiAobmV4dE5ld0xpbmVJZHggPiBuZXh0UXVvdGVJZHggKyAxIHx8IG5leHRRdW90ZUlkeCArIDEgPiByYXdJbnB1dC5sZW5ndGgpIHtcbiAgICAgICAgcGFyc2luZ0Vycm9ycy5wdXNoKHsgdHlwZTogRVJST1JfVFlQRVMuSU5WQUxJRF9WQUxVRSwga2V5LCBwb3M6IGdldFBvc2l0aW9uKHJhd0lucHV0LCBuZXh0UXVvdGVJZHggKyAxKSB9KTtcbiAgICAgICAgc3RhcnRJZHggPSBuZXh0TmV3TGluZUlkeCArIDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydElkeCA9IG5leHRRdW90ZUlkeCArIDE7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmF3SW5wdXQuc3Vic3RyaW5nKG5leHRFcXVhbElkeCArIDEsIG5leHROZXdMaW5lSWR4KTtcbiAgICAgIHBhcnNlZFZhcmlhYmxlcy5wdXNoKHsga2V5LCB2YWx1ZSB9KTtcbiAgICAgIHN0YXJ0SWR4ID0gbmV4dE5ld0xpbmVJZHggKyAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdBUk46IEFycmF5LnByb3RvdHlwZS5zb3J0IGVkaXRzIGluIHBsYWNlXG4gIHBhcnNlZFZhcmlhYmxlcy5zb3J0KChhLCBiKSA9PiBhLmtleS5sb2NhbGVDb21wYXJlKGIua2V5KSk7XG5cbiAgcmV0dXJuIHsgdmFyaWFibGVzOiBwYXJzZWRWYXJpYWJsZXMsIGVycm9yczogcGFyc2luZ0Vycm9ycyB9O1xufVxuXG4vLyBhdXRvbWF0aWNhbGx5IG1lcmdlcyBkdXBsaWNhdGVkIG5hbWVkIChrZWVwcyBsYXN0IHZhbHVlKVxuLy8gYXV0b21hdGljYWxseSByZW1vdmVzIHZhcmlhYmxlcyB3aXRoIGludmFsaWQgbmFtZXNcbi8vIGFsd2F5cyBkb3VibGUgcXVvdGUgdmFsdWVzICh3aXRoIHByb3BlciBlc2NhcGluZylcbmV4cG9ydCBmdW5jdGlvbiB0b05hbWVFcXVhbHNWYWx1ZVN0cmluZyh2YXJpYWJsZXMsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCB7IGFkZEV4cG9ydHMgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgcmV0dXJuIHZhcmlhYmxlc1xuICAgIC5zb3J0KChhLCBiKSA9PiBhLmtleS5sb2NhbGVDb21wYXJlKGIua2V5KSlcbiAgICAubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4ge1xuICAgICAgY29uc3QgcXVvdGVkVmFsdWUgPSBkb3VibGVRdW90ZVN0cmluZyh2YWx1ZSk7XG4gICAgICBjb25zdCBuYW1lVmFsdWUgPSBgJHtrZXl9PSR7cXVvdGVkVmFsdWV9YDtcbiAgICAgIHJldHVybiBhZGRFeHBvcnRzID8gYGV4cG9ydCAke25hbWVWYWx1ZX07YCA6IG5hbWVWYWx1ZTtcbiAgICB9KVxuICAgIC5qb2luKCdcXG4nKTtcbn1cblxuLy8gYXV0b21hdGljYWxseSBtZXJnZXMgZHVwbGljYXRlZCBuYW1lZCAoa2VlcHMgbGFzdCB2YWx1ZSlcbi8vIGF1dG9tYXRpY2FsbHkgcmVtb3ZlcyB2YXJpYWJsZXMgd2l0aCBpbnZhbGlkIG5hbWVzXG5leHBvcnQgZnVuY3Rpb24gdG9OYW1lVmFsdWVPYmplY3QodmFyaWFibGVzKSB7XG4gIGNvbnN0IGtleVZhbHVlT2JqZWN0ID0ge307XG4gIHZhcmlhYmxlc1xuICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiB2YWxpZGF0ZU5hbWUobmFtZSkpXG4gICAgLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgICAga2V5VmFsdWVPYmplY3RbbmFtZV0gPSB2YWx1ZTtcbiAgICB9KTtcbiAgcmV0dXJuIGtleVZhbHVlT2JqZWN0O1xufVxuIl19
|
package/src/lib/schema-form.js
CHANGED
|
@@ -16,18 +16,20 @@
|
|
|
16
16
|
export function isCodemirror(control) {
|
|
17
17
|
return control['x-schema-form'] && control['x-schema-form'].type === 'codemirror';
|
|
18
18
|
}
|
|
19
|
+
|
|
19
20
|
export function isObject(control) {
|
|
20
21
|
return control.type === 'object';
|
|
21
22
|
}
|
|
23
|
+
|
|
22
24
|
export function isComplexArray(control) {
|
|
23
25
|
return control.type === 'array' && !control.items.enum;
|
|
24
26
|
}
|
|
27
|
+
|
|
25
28
|
export function canInline(schema) {
|
|
26
29
|
if (schema.properties) {
|
|
27
30
|
const keys = Object.keys(schema.properties);
|
|
28
|
-
return keys.length === 2 && keys.filter(key => _canInline(schema, key)).length === keys.length;
|
|
31
|
+
return keys.length === 2 && keys.filter((key) => _canInline(schema, key)).length === keys.length;
|
|
29
32
|
}
|
|
30
|
-
|
|
31
33
|
return true;
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -38,6 +40,5 @@ function _canInline(schema, key) {
|
|
|
38
40
|
|
|
39
41
|
export function canGrid(schema) {
|
|
40
42
|
const keys = Object.keys(schema.properties);
|
|
41
|
-
return keys.length > 2 && keys.filter(key => _canInline(schema, key)).length === keys.length;
|
|
43
|
+
return keys.length > 2 && keys.filter((key) => _canInline(schema, key)).length === keys.length;
|
|
42
44
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi9zY2hlbWEtZm9ybS5qcyJdLCJuYW1lcyI6WyJpc0NvZGVtaXJyb3IiLCJjb250cm9sIiwidHlwZSIsImlzT2JqZWN0IiwiaXNDb21wbGV4QXJyYXkiLCJpdGVtcyIsImVudW0iLCJjYW5JbmxpbmUiLCJzY2hlbWEiLCJwcm9wZXJ0aWVzIiwia2V5cyIsIk9iamVjdCIsImxlbmd0aCIsImZpbHRlciIsImtleSIsIl9jYW5JbmxpbmUiLCJwcm9wZXJ0eSIsImNhbkdyaWQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0EsWUFBVCxDQUFzQkMsT0FBdEIsRUFBK0I7QUFDcEMsU0FBT0EsT0FBTyxDQUFDLGVBQUQsQ0FBUCxJQUE0QkEsT0FBTyxDQUFDLGVBQUQsQ0FBUCxDQUF5QkMsSUFBekIsS0FBa0MsWUFBckU7QUFDRDtBQUVELE9BQU8sU0FBU0MsUUFBVCxDQUFrQkYsT0FBbEIsRUFBMkI7QUFDaEMsU0FBT0EsT0FBTyxDQUFDQyxJQUFSLEtBQWlCLFFBQXhCO0FBQ0Q7QUFFRCxPQUFPLFNBQVNFLGNBQVQsQ0FBd0JILE9BQXhCLEVBQWlDO0FBQ3RDLFNBQU9BLE9BQU8sQ0FBQ0MsSUFBUixLQUFpQixPQUFqQixJQUE0QixDQUFDRCxPQUFPLENBQUNJLEtBQVIsQ0FBY0MsSUFBbEQ7QUFDRDtBQUVELE9BQU8sU0FBU0MsU0FBVCxDQUFtQkMsTUFBbkIsRUFBMkI7QUFDaEMsTUFBSUEsTUFBTSxDQUFDQyxVQUFYLEVBQXVCO0FBQ3JCLFVBQU1DLElBQUksR0FBR0MsTUFBTSxDQUFDRCxJQUFQLENBQVlGLE1BQU0sQ0FBQ0MsVUFBbkIsQ0FBYjtBQUNBLFdBQU9DLElBQUksQ0FBQ0UsTUFBTCxLQUFnQixDQUFoQixJQUFxQkYsSUFBSSxDQUFDRyxNQUFMLENBQWFDLEdBQUQsSUFBU0MsVUFBVSxDQUFDUCxNQUFELEVBQVNNLEdBQVQsQ0FBL0IsRUFBOENGLE1BQTlDLEtBQXlERixJQUFJLENBQUNFLE1BQTFGO0FBQ0Q7O0FBQ0QsU0FBTyxJQUFQO0FBQ0Q7O0FBRUQsU0FBU0csVUFBVCxDQUFvQlAsTUFBcEIsRUFBNEJNLEdBQTVCLEVBQWlDO0FBQy9CLFFBQU1FLFFBQVEsR0FBR1IsTUFBTSxDQUFDQyxVQUFQLENBQWtCSyxHQUFsQixDQUFqQjtBQUNBLFNBQU8sQ0FBQ2QsWUFBWSxDQUFDZ0IsUUFBRCxDQUFiLElBQTJCLENBQUNiLFFBQVEsQ0FBQ2EsUUFBRCxDQUFwQyxJQUFrRCxDQUFDWixjQUFjLENBQUNZLFFBQUQsQ0FBeEU7QUFDRDs7QUFFRCxPQUFPLFNBQVNDLE9BQVQsQ0FBaUJULE1BQWpCLEVBQXlCO0FBQzlCLFFBQU1FLElBQUksR0FBR0MsTUFBTSxDQUFDRCxJQUFQLENBQVlGLE1BQU0sQ0FBQ0MsVUFBbkIsQ0FBYjtBQUNBLFNBQU9DLElBQUksQ0FBQ0UsTUFBTCxHQUFjLENBQWQsSUFBbUJGLElBQUksQ0FBQ0csTUFBTCxDQUFhQyxHQUFELElBQVNDLFVBQVUsQ0FBQ1AsTUFBRCxFQUFTTSxHQUFULENBQS9CLEVBQThDRixNQUE5QyxLQUF5REYsSUFBSSxDQUFDRSxNQUF4RjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NvZGVtaXJyb3IoY29udHJvbCkge1xuICByZXR1cm4gY29udHJvbFsneC1zY2hlbWEtZm9ybSddICYmIGNvbnRyb2xbJ3gtc2NoZW1hLWZvcm0nXS50eXBlID09PSAnY29kZW1pcnJvcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdChjb250cm9sKSB7XG4gIHJldHVybiBjb250cm9sLnR5cGUgPT09ICdvYmplY3QnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wbGV4QXJyYXkoY29udHJvbCkge1xuICByZXR1cm4gY29udHJvbC50eXBlID09PSAnYXJyYXknICYmICFjb250cm9sLml0ZW1zLmVudW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5JbmxpbmUoc2NoZW1hKSB7XG4gIGlmIChzY2hlbWEucHJvcGVydGllcykge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzY2hlbWEucHJvcGVydGllcyk7XG4gICAgcmV0dXJuIGtleXMubGVuZ3RoID09PSAyICYmIGtleXMuZmlsdGVyKChrZXkpID0+IF9jYW5JbmxpbmUoc2NoZW1hLCBrZXkpKS5sZW5ndGggPT09IGtleXMubGVuZ3RoO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBfY2FuSW5saW5lKHNjaGVtYSwga2V5KSB7XG4gIGNvbnN0IHByb3BlcnR5ID0gc2NoZW1hLnByb3BlcnRpZXNba2V5XTtcbiAgcmV0dXJuICFpc0NvZGVtaXJyb3IocHJvcGVydHkpICYmICFpc09iamVjdChwcm9wZXJ0eSkgJiYgIWlzQ29tcGxleEFycmF5KHByb3BlcnR5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbkdyaWQoc2NoZW1hKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzY2hlbWEucHJvcGVydGllcyk7XG4gIHJldHVybiBrZXlzLmxlbmd0aCA+IDIgJiYga2V5cy5maWx0ZXIoKGtleSkgPT4gX2NhbklubGluZShzY2hlbWEsIGtleSkpLmxlbmd0aCA9PT0ga2V5cy5sZW5ndGg7XG59XG4iXX0=
|
package/src/lib/studio.js
CHANGED
|
@@ -16,22 +16,74 @@
|
|
|
16
16
|
import { html, css } from 'lit';
|
|
17
17
|
import { classMap } from 'lit/directives/class-map';
|
|
18
18
|
import '../atoms/gv-icon';
|
|
19
|
-
import '../atoms/gv-tag';
|
|
19
|
+
import '../atoms/gv-tag';
|
|
20
|
+
|
|
21
|
+
// language=CSS
|
|
22
|
+
export const methods = css`
|
|
23
|
+
gv-tag {
|
|
24
|
+
font-family: monospace;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
gv-tag.ALL {
|
|
28
|
+
--gv-tag--bdc: #262626;
|
|
29
|
+
--gv-tag--bgc: #262626;
|
|
30
|
+
--gv-tag--c: white;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
gv-tag.POST {
|
|
34
|
+
--gv-tag--bdc: #fb8c00;
|
|
35
|
+
--gv-tag--bgc: #fb8c00;
|
|
36
|
+
--gv-tag--c: white;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
gv-tag.PUT {
|
|
40
|
+
--gv-tag--bdc: #039be5;
|
|
41
|
+
--gv-tag--bgc: #039be5;
|
|
42
|
+
--gv-tag--c: white;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
gv-tag.GET {
|
|
46
|
+
--gv-tag--bdc: #43a047;
|
|
47
|
+
--gv-tag--bgc: #43a047;
|
|
48
|
+
--gv-tag--c: white;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
gv-tag.DELETE {
|
|
52
|
+
--gv-tag--bdc: #e53935;
|
|
53
|
+
--gv-tag--bgc: #e53935;
|
|
54
|
+
--gv-tag--c: white;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.flow-path,
|
|
58
|
+
.plan-name {
|
|
59
|
+
margin-left: 0.2rem;
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.collection-name {
|
|
65
|
+
margin-right: 0.5rem;
|
|
66
|
+
--gv-icon--s: 26px;
|
|
67
|
+
--gv-icon--c: #5a7684;
|
|
68
|
+
--gv-icon-opacity--c: #5a7684;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.icon-type {
|
|
72
|
+
--gv-icon--s: 26px;
|
|
73
|
+
--gv-icon--c: #383e3f;
|
|
74
|
+
--gv-icon-opacity--c: #5a7684;
|
|
75
|
+
}
|
|
76
|
+
`;
|
|
20
77
|
|
|
21
|
-
export const methods = css`gv-tag{font-family:monospace}gv-tag.ALL{--gv-tag--bdc:#262626;--gv-tag--bgc:#262626;--gv-tag--c:white}gv-tag.POST{--gv-tag--bdc:#fb8c00;--gv-tag--bgc:#fb8c00;--gv-tag--c:white}gv-tag.PUT{--gv-tag--bdc:#039be5;--gv-tag--bgc:#039be5;--gv-tag--c:white}gv-tag.GET{--gv-tag--bdc:#43a047;--gv-tag--bgc:#43a047;--gv-tag--c:white}gv-tag.DELETE{--gv-tag--bdc:#e53935;--gv-tag--bgc:#e53935;--gv-tag--c:white}.flow-path,.plan-name{margin-left:.2rem;display:flex;align-items:center}.collection-name{margin-right:.5rem;--gv-icon--s:26px;--gv-icon--c:#5a7684;--gv-icon-opacity--c:#5a7684}.icon-type{--gv-icon--s:26px;--gv-icon--c:#383e3f;--gv-icon-opacity--c:#5a7684}`;
|
|
22
78
|
export function getFlowName(flow, collectionName, withMethods = true, draggable = false, compact = true) {
|
|
23
79
|
let rendering = [];
|
|
24
|
-
|
|
25
80
|
if (flow) {
|
|
26
81
|
if (draggable) {
|
|
27
82
|
rendering.push(html`<gv-icon title="Drag for reorder" class="draggable-icon" shape="general:sort"></gv-icon>`);
|
|
28
83
|
}
|
|
29
|
-
|
|
30
84
|
const methods = flow.methods || [];
|
|
31
|
-
|
|
32
85
|
if (flow.type != null) {
|
|
33
86
|
let shape = null;
|
|
34
|
-
|
|
35
87
|
if (flow.type.toUpperCase() === 'ROOT') {
|
|
36
88
|
shape = 'home:earth';
|
|
37
89
|
} else if (flow.type.toUpperCase() === 'LOGIN') {
|
|
@@ -46,8 +98,7 @@ export function getFlowName(flow, collectionName, withMethods = true, draggable
|
|
|
46
98
|
rendering = [...rendering, html`<gv-icon title="${flow.type}" shape="${shape}" class="icon-type"></gv-icon>`];
|
|
47
99
|
}
|
|
48
100
|
} else if (withMethods) {
|
|
49
|
-
const renderingMethods = methods.map(method => html`<gv-tag class="${method.toUpperCase()}">${method.toUpperCase()}</gv-tag>`);
|
|
50
|
-
|
|
101
|
+
const renderingMethods = methods.map((method) => html`<gv-tag class="${method.toUpperCase()}">${method.toUpperCase()}</gv-tag>`);
|
|
51
102
|
if (compact && (renderingMethods.length === 9 || renderingMethods.length === 0)) {
|
|
52
103
|
rendering = [...rendering, html`<gv-tag major title="${methods.join('\n')}">ALL</gv-tag>`];
|
|
53
104
|
} else if (compact && renderingMethods.length >= 3) {
|
|
@@ -61,7 +112,7 @@ export function getFlowName(flow, collectionName, withMethods = true, draggable
|
|
|
61
112
|
|
|
62
113
|
const classes = {
|
|
63
114
|
'flow-path': true,
|
|
64
|
-
disabled: flow.disabled
|
|
115
|
+
disabled: flow.disabled,
|
|
65
116
|
};
|
|
66
117
|
|
|
67
118
|
if (flow.name != null && flow.name.trim() !== '') {
|
|
@@ -72,10 +123,8 @@ export function getFlowName(flow, collectionName, withMethods = true, draggable
|
|
|
72
123
|
}
|
|
73
124
|
} else if (flow['path-operator']) {
|
|
74
125
|
const path = flow['path-operator'].path || '/';
|
|
75
|
-
|
|
76
126
|
if (path) {
|
|
77
127
|
const pathWithOperator = flow['path-operator'].operator === 'STARTS_WITH' ? `${path.endsWith('/') ? path : `${path}/`}**` : path;
|
|
78
|
-
|
|
79
128
|
if (flow._dirty) {
|
|
80
129
|
rendering.push(html`<div class="${classMap(classes)}"><mark>${pathWithOperator}</mark></div>`);
|
|
81
130
|
} else {
|
|
@@ -88,7 +137,5 @@ export function getFlowName(flow, collectionName, withMethods = true, draggable
|
|
|
88
137
|
rendering.push(html`<div class="collection-name">${collectionName}</div>`);
|
|
89
138
|
}
|
|
90
139
|
}
|
|
91
|
-
|
|
92
140
|
return rendering;
|
|
93
141
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi9zdHVkaW8uanMiXSwibmFtZXMiOlsiaHRtbCIsImNzcyIsImNsYXNzTWFwIiwibWV0aG9kcyIsImdldEZsb3dOYW1lIiwiZmxvdyIsImNvbGxlY3Rpb25OYW1lIiwid2l0aE1ldGhvZHMiLCJkcmFnZ2FibGUiLCJjb21wYWN0IiwicmVuZGVyaW5nIiwicHVzaCIsInR5cGUiLCJzaGFwZSIsInRvVXBwZXJDYXNlIiwicmVuZGVyaW5nTWV0aG9kcyIsIm1hcCIsIm1ldGhvZCIsImxlbmd0aCIsImpvaW4iLCJyZW5kZXJpbmdNZXRob2RzQ29tcGFjdCIsInNsaWNlIiwiY2xhc3NlcyIsImRpc2FibGVkIiwibmFtZSIsInRyaW0iLCJfZGlydHkiLCJwYXRoIiwicGF0aFdpdGhPcGVyYXRvciIsIm9wZXJhdG9yIiwiZW5kc1dpdGgiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLElBQVQsRUFBZUMsR0FBZixRQUEwQixLQUExQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsT0FBTyxrQkFBUDtBQUNBLE9BQU8saUJBQVAsQyxDQUVBOztBQUNBLE9BQU8sTUFBTUMsT0FBTyxHQUFHRixHQUFHLCtvQkFBbkI7QUF3RFAsT0FBTyxTQUFTRyxXQUFULENBQXFCQyxJQUFyQixFQUEyQkMsY0FBM0IsRUFBMkNDLFdBQVcsR0FBRyxJQUF6RCxFQUErREMsU0FBUyxHQUFHLEtBQTNFLEVBQWtGQyxPQUFPLEdBQUcsSUFBNUYsRUFBa0c7QUFDdkcsTUFBSUMsU0FBUyxHQUFHLEVBQWhCOztBQUNBLE1BQUlMLElBQUosRUFBVTtBQUNSLFFBQUlHLFNBQUosRUFBZTtBQUNiRSxNQUFBQSxTQUFTLENBQUNDLElBQVYsQ0FBZVgsSUFBSSwwRkFBbkI7QUFD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ZUFBZUUsUUFBUSxDQUFDb0IsT0FBRCxDQUF2QixLQUFxQ2pCLElBQUksQ0FBQ21CLElBQTFDLFFBQW5CO0FBQ0Q7QUFDRixLQU5ELE1BTU8sSUFBSW5CLElBQUksQ0FBQyxlQUFELENBQVIsRUFBMkI7QUFDaEMsWUFBTXNCLElBQUksR0FBR3RCLElBQUksQ0FBQyxlQUFELENBQUosQ0FBc0JzQixJQUF0QixJQUE4QixHQUEzQzs7QUFDQSxVQUFJQSxJQUFKLEVBQVU7QUFDUixjQUFNQyxnQkFBZ0IsR0FBR3ZCLElBQUksQ0FBQyxlQUFELENBQUosQ0FBc0J3QixRQUF0QixLQUFtQyxhQUFuQyxHQUFvRCxHQUFFRixJQUFJLENBQUNHLFFBQUwsQ0FBYyxHQUFkLElBQXFCSCxJQUFyQixHQUE2QixHQUFFQSxJQUFLLEdBQUcsSUFBN0YsR0FBbUdBLElBQTVIOztBQUNBLFlBQUl0QixJQUFJLENBQUNxQixNQUFULEVBQWlCO0FBQ2ZoQixVQUFBQSxTQUFTLENBQUNDLElBQVYsQ0FBZVgsSUFBSSxlQUFlRSxRQUFRLENBQUNvQixPQUFELENBQXZCLFdBQTJDTSxnQkFBM0MsZUFBbkI7QUFDRCxTQUZELE1BRU87QUFDTGxCLFVBQUFBLFNBQVMsQ0FBQ0MsSUFBVixDQUFlWCxJQUFJLGVBQWVFLFFBQVEsQ0FBQ29CLE9BQUQsQ0FBdkIsS0FBcUNNLGdCQUFyQyxRQUFuQjtBQUNEO0FBQ0Y7QUFDRjs7QUFFRCxRQUFJdEIsY0FBSixFQUFvQjtBQUNsQkksTUFBQUEsU0FBUyxDQUFDQyxJQUFWLENBQWVYLElBQUksZ0NBQWdDTSxjQUFoQyxRQUFuQjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT0ksU0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGh0bWwsIGNzcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWljb24nO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi10YWcnO1xuXG4vLyBsYW5ndWFnZT1DU1NcbmV4cG9ydCBjb25zdCBtZXRob2RzID0gY3NzYFxuICBndi10YWcge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIH1cblxuICBndi10YWcuQUxMIHtcbiAgICAtLWd2LXRhZy0tYmRjOiAjMjYyNjI2O1xuICAgIC0tZ3YtdGFnLS1iZ2M6ICMyNjI2MjY7XG4gICAgLS1ndi10YWctLWM6IHdoaXRlO1xuICB9XG5cbiAgZ3YtdGFnLlBPU1Qge1xuICAgIC0tZ3YtdGFnLS1iZGM6ICNmYjhjMDA7XG4gICAgLS1ndi10YWctLWJnYzogI2ZiOGMwMDtcbiAgICAtLWd2LXRhZy0tYzogd2hpdGU7XG4gIH1cblxuICBndi10YWcuUFVUIHtcbiAgICAtLWd2LXRhZy0tYmRjOiAjMDM5YmU1O1xuICAgIC0tZ3YtdGFnLS1iZ2M6ICMwMzliZTU7XG4gICAgLS1ndi10YWctLWM6IHdoaXRlO1xuICB9XG5cbiAgZ3YtdGFnLkdFVCB7XG4gICAgLS1ndi10YWctLWJkYzogIzQzYTA0NztcbiAgICAtLWd2LXRhZy0tYmdjOiAjNDNhMDQ3O1xuICAgIC0tZ3YtdGFnLS1jOiB3aGl0ZTtcbiAgfVxuXG4gIGd2LXRhZy5ERUxFVEUge1xuICAgIC0tZ3YtdGFnLS1iZGM6ICNlNTM5MzU7XG4gICAgLS1ndi10YWctLWJnYzogI2U1MzkzNTtcbiAgICAtLWd2LXRhZy0tYzogd2hpdGU7XG4gIH1cblxuICAuZmxvdy1wYXRoLFxuICAucGxhbi1uYW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5jb2xsZWN0aW9uLW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIC0tZ3YtaWNvbi0tczogMjZweDtcbiAgICAtLWd2LWljb24tLWM6ICM1YTc2ODQ7XG4gICAgLS1ndi1pY29uLW9wYWNpdHktLWM6ICM1YTc2ODQ7XG4gIH1cblxuICAuaWNvbi10eXBlIHtcbiAgICAtLWd2LWljb24tLXM6IDI2cHg7XG4gICAgLS1ndi1pY29uLS1jOiAjMzgzZTNmO1xuICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiAjNWE3Njg0O1xuICB9XG5gO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rmxvd05hbWUoZmxvdywgY29sbGVjdGlvbk5hbWUsIHdpdGhNZXRob2RzID0gdHJ1ZSwgZHJhZ2dhYmxlID0gZmFsc2UsIGNvbXBhY3QgPSB0cnVlKSB7XG4gIGxldCByZW5kZXJpbmcgPSBbXTtcbiAgaWYgKGZsb3cpIHtcbiAgICBpZiAoZHJhZ2dhYmxlKSB7XG4gICAgICByZW5kZXJpbmcucHVzaChodG1sYDxndi1pY29uIHRpdGxlPVwiRHJhZyBmb3IgcmVvcmRlclwiIGNsYXNzPVwiZHJhZ2dhYmxlLWljb25cIiBzaGFwZT1cImdlbmVyYWw6c29ydFwiPjwvZ3YtaWNvbj5gKTtcbiAgICB9XG4gICAgY29uc3QgbWV0aG9kcyA9IGZsb3cubWV0aG9kcyB8fCBbXTtcbiAgICBpZiAoZmxvdy50eXBlICE9IG51bGwpIHtcbiAgICAgIGxldCBzaGFwZSA9IG51bGw7XG4gICAgICBpZiAoZmxvdy50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdST09UJykge1xuICAgICAgICBzaGFwZSA9ICdob21lOmVhcnRoJztcbiAgICAgIH0gZWxzZSBpZiAoZmxvdy50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdMT0dJTicpIHtcbiAgICAgICAgc2hhcGUgPSAnZ2VuZXJhbDpzaGllbGQtcHJvdGVjdGVkJztcbiAgICAgIH0gZWxzZSBpZiAoZmxvdy50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdDT05TRU5UJykge1xuICAgICAgICBzaGFwZSA9ICdnZW5lcmFsOnNoaWVsZC1jaGVjayc7XG4gICAgICB9IGVsc2UgaWYgKGZsb3cudHlwZS50b1VwcGVyQ2FzZSgpID09PSAnUkVHSVNURVInKSB7XG4gICAgICAgIHNoYXBlID0gJ2NvbW11bmljYXRpb246c2hpZWxkLXVzZXInO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hhcGUgIT0gbnVsbCkge1xuICAgICAgICByZW5kZXJpbmcgPSBbLi4ucmVuZGVyaW5nLCBodG1sYDxndi1pY29uIHRpdGxlPVwiJHtmbG93LnR5cGV9XCIgc2hhcGU9XCIke3NoYXBlfVwiIGNsYXNzPVwiaWNvbi10eXBlXCI+PC9ndi1pY29uPmBdO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAod2l0aE1ldGhvZHMpIHtcbiAgICAgIGNvbnN0IHJlbmRlcmluZ01ldGhvZHMgPSBtZXRob2RzLm1hcCgobWV0aG9kKSA9PiBodG1sYDxndi10YWcgY2xhc3M9XCIke21ldGhvZC50b1VwcGVyQ2FzZSgpfVwiPiR7bWV0aG9kLnRvVXBwZXJDYXNlKCl9PC9ndi10YWc+YCk7XG4gICAgICBpZiAoY29tcGFjdCAmJiAocmVuZGVyaW5nTWV0aG9kcy5sZW5ndGggPT09IDkgfHwgcmVuZGVyaW5nTWV0aG9kcy5sZW5ndGggPT09IDApKSB7XG4gICAgICAgIHJlbmRlcmluZyA9IFsuLi5yZW5kZXJpbmcsIGh0bWxgPGd2LXRhZyBtYWpvciB0aXRsZT1cIiR7bWV0aG9kcy5qb2luKCdcXG4nKX1cIj5BTEw8L2d2LXRhZz5gXTtcbiAgICAgIH0gZWxzZSBpZiAoY29tcGFjdCAmJiByZW5kZXJpbmdNZXRob2RzLmxlbmd0aCA+PSAzKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmluZ01ldGhvZHNDb21wYWN0ID0gcmVuZGVyaW5nTWV0aG9kcy5zbGljZSgwLCAyKTtcbiAgICAgICAgcmVuZGVyaW5nTWV0aG9kc0NvbXBhY3QucHVzaChodG1sYDxndi10YWcgbWlub3IgdGl0bGU9XCIke21ldGhvZHMuam9pbignXFxuJyl9XCI+KyR7cmVuZGVyaW5nTWV0aG9kcy5sZW5ndGggLSAyfTwvZ3YtdGFnPmApO1xuICAgICAgICByZW5kZXJpbmcgPSBbLi4ucmVuZGVyaW5nLCAuLi5yZW5kZXJpbmdNZXRob2RzQ29tcGFjdF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZW5kZXJpbmcgPSBbLi4ucmVuZGVyaW5nLCAuLi5yZW5kZXJpbmdNZXRob2RzXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgJ2Zsb3ctcGF0aCc6IHRydWUsXG4gICAgICBkaXNhYmxlZDogZmxvdy5kaXNhYmxlZCxcbiAgICB9O1xuXG4gICAgaWYgKGZsb3cubmFtZSAhPSBudWxsICYmIGZsb3cubmFtZS50cmltKCkgIT09ICcnKSB7XG4gICAgICBpZiAoZmxvdy5fZGlydHkpIHtcbiAgICAgICAgcmVuZGVyaW5nLnB1c2goaHRtbGA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIj48bWFyaz4ke2Zsb3cubmFtZX08L21hcms+PC9kaXY+YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZW5kZXJpbmcucHVzaChodG1sYDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiPiR7Zmxvdy5uYW1lfTwvZGl2PmApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZmxvd1sncGF0aC1vcGVyYXRvciddKSB7XG4gICAgICBjb25zdCBwYXRoID0gZmxvd1sncGF0aC1vcGVyYXRvciddLnBhdGggfHwgJy8nO1xuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgY29uc3QgcGF0aFdpdGhPcGVyYXRvciA9IGZsb3dbJ3BhdGgtb3BlcmF0b3InXS5vcGVyYXRvciA9PT0gJ1NUQVJUU19XSVRIJyA/IGAke3BhdGguZW5kc1dpdGgoJy8nKSA/IHBhdGggOiBgJHtwYXRofS9gfSoqYCA6IHBhdGg7XG4gICAgICAgIGlmIChmbG93Ll9kaXJ0eSkge1xuICAgICAgICAgIHJlbmRlcmluZy5wdXNoKGh0bWxgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCI+PG1hcms+JHtwYXRoV2l0aE9wZXJhdG9yfTwvbWFyaz48L2Rpdj5gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW5kZXJpbmcucHVzaChodG1sYDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiPiR7cGF0aFdpdGhPcGVyYXRvcn08L2Rpdj5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb2xsZWN0aW9uTmFtZSkge1xuICAgICAgcmVuZGVyaW5nLnB1c2goaHRtbGA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi1uYW1lXCI+JHtjb2xsZWN0aW9uTmFtZX08L2Rpdj5gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlbmRlcmluZztcbn1cbiJdfQ==
|
package/src/lib/style.js
CHANGED
|
@@ -24,18 +24,18 @@ export const getCssVar = function getCssVar(element, variableName, defaultValue)
|
|
|
24
24
|
if (variableName.startsWith('--')) {
|
|
25
25
|
return getPropertyValue(element, variableName, defaultValue);
|
|
26
26
|
}
|
|
27
|
-
|
|
28
27
|
return getPropertyValue(element, `--${variableName}`, defaultValue);
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
return defaultValue;
|
|
32
30
|
};
|
|
31
|
+
|
|
33
32
|
export function hexToRGB(hex) {
|
|
34
33
|
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex.trim());
|
|
35
|
-
return result
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
return result
|
|
35
|
+
? {
|
|
36
|
+
r: parseInt(result[1], 16),
|
|
37
|
+
g: parseInt(result[2], 16),
|
|
38
|
+
b: parseInt(result[3], 16),
|
|
39
|
+
}
|
|
40
|
+
: null;
|
|
40
41
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi9zdHlsZS5qcyJdLCJuYW1lcyI6WyJnZXRQcm9wZXJ0eVZhbHVlIiwiZWxlbWVudCIsInByb3BlcnR5TmFtZSIsImRlZmF1bHRWYWx1ZSIsInZhbHVlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInRyaW0iLCJnZXRDc3NWYXIiLCJ2YXJpYWJsZU5hbWUiLCJzdGFydHNXaXRoIiwiaGV4VG9SR0IiLCJoZXgiLCJyZXN1bHQiLCJleGVjIiwiciIsInBhcnNlSW50IiwiZyIsImIiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLGdCQUFULENBQTBCQyxPQUExQixFQUFtQ0MsWUFBbkMsRUFBaURDLFlBQWpELEVBQStEO0FBQzdEO0FBQ0EsUUFBTUMsS0FBSyxHQUFHQyxnQkFBZ0IsQ0FBQ0osT0FBRCxDQUFoQixDQUEwQkQsZ0JBQTFCLENBQTJDRSxZQUEzQyxDQUFkO0FBQ0EsU0FBT0UsS0FBSyxDQUFDRSxJQUFOLE1BQWdCSCxZQUF2QjtBQUNEOztBQUVELE9BQU8sTUFBTUksU0FBUyxHQUFHLFNBQVNBLFNBQVQsQ0FBbUJOLE9BQW5CLEVBQTRCTyxZQUE1QixFQUEwQ0wsWUFBMUMsRUFBd0Q7QUFDL0UsTUFBSUYsT0FBSixFQUFhO0FBQ1gsUUFBSU8sWUFBWSxDQUFDQyxVQUFiLENBQXdCLElBQXhCLENBQUosRUFBbUM7QUFDakMsYUFBT1QsZ0JBQWdCLENBQUNDLE9BQUQsRUFBVU8sWUFBVixFQUF3QkwsWUFBeEIsQ0FBdkI7QUFDRDs7QUFDRCxXQUFPSCxnQkFBZ0IsQ0FBQ0MsT0FBRCxFQUFXLEtBQUlPLFlBQWEsRUFBNUIsRUFBK0JMLFlBQS9CLENBQXZCO0FBQ0Q7O0FBQ0QsU0FBT0EsWUFBUDtBQUNELENBUk07QUFVUCxPQUFPLFNBQVNPLFFBQVQsQ0FBa0JDLEdBQWxCLEVBQXVCO0FBQzVCLFFBQU1DLE1BQU0sR0FBRyw0Q0FBNENDLElBQTVDLENBQWlERixHQUFHLENBQUNMLElBQUosRUFBakQsQ0FBZjtBQUNBLFNBQU9NLE1BQU0sR0FDVDtBQUNFRSxJQUFBQSxDQUFDLEVBQUVDLFFBQVEsQ0FBQ0gsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZLEVBQVosQ0FEYjtBQUVFSSxJQUFBQSxDQUFDLEVBQUVELFFBQVEsQ0FBQ0gsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZLEVBQVosQ0FGYjtBQUdFSyxJQUFBQSxDQUFDLEVBQUVGLFFBQVEsQ0FBQ0gsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZLEVBQVo7QUFIYixHQURTLEdBTVQsSUFOSjtBQU9EIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmZ1bmN0aW9uIGdldFByb3BlcnR5VmFsdWUoZWxlbWVudCwgcHJvcGVydHlOYW1lLCBkZWZhdWx0VmFsdWUpIHtcbiAgLyogZ2xvYmFsIGdldENvbXB1dGVkU3R5bGUgKi9cbiAgY29uc3QgdmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlOYW1lKTtcbiAgcmV0dXJuIHZhbHVlLnRyaW0oKSB8fCBkZWZhdWx0VmFsdWU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDc3NWYXIgPSBmdW5jdGlvbiBnZXRDc3NWYXIoZWxlbWVudCwgdmFyaWFibGVOYW1lLCBkZWZhdWx0VmFsdWUpIHtcbiAgaWYgKGVsZW1lbnQpIHtcbiAgICBpZiAodmFyaWFibGVOYW1lLnN0YXJ0c1dpdGgoJy0tJykpIHtcbiAgICAgIHJldHVybiBnZXRQcm9wZXJ0eVZhbHVlKGVsZW1lbnQsIHZhcmlhYmxlTmFtZSwgZGVmYXVsdFZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFByb3BlcnR5VmFsdWUoZWxlbWVudCwgYC0tJHt2YXJpYWJsZU5hbWV9YCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdFZhbHVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvUkdCKGhleCkge1xuICBjb25zdCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4LnRyaW0oKSk7XG4gIHJldHVybiByZXN1bHRcbiAgICA/IHtcbiAgICAgICAgcjogcGFyc2VJbnQocmVzdWx0WzFdLCAxNiksXG4gICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgICAgICBiOiBwYXJzZUludChyZXN1bHRbM10sIDE2KSxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG4iXX0=
|
package/src/lib/text-format.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
|
|
16
17
|
export function loadAsciiDoctor() {
|
|
17
18
|
if (window._gvAsciidoctor == null) {
|
|
18
19
|
return Promise.all([import('asciidoctor'), import('asciidoctor-highlight.js')]).then(([asciidoctor, highlightJsExt]) => {
|
|
@@ -21,28 +22,27 @@ export function loadAsciiDoctor() {
|
|
|
21
22
|
return setAsciiDoctorAsGlobal(asciidoctor.default, highlightJsExt.default);
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
|
-
|
|
25
25
|
return Promise.resolve(window._gvAsciidoctor);
|
|
26
26
|
}
|
|
27
|
+
|
|
27
28
|
export function setAsciiDoctorAsGlobal(asciidoctor, highlightJsExt) {
|
|
28
29
|
if (window._gvAsciidoctor == null) {
|
|
29
30
|
window._gvAsciidoctor = asciidoctor();
|
|
30
31
|
highlightJsExt.register(window._gvAsciidoctor.Extensions);
|
|
31
32
|
}
|
|
32
|
-
|
|
33
33
|
return window._gvAsciidoctor;
|
|
34
34
|
}
|
|
35
|
+
|
|
35
36
|
export function toDom(text, type = 'adoc', small = false) {
|
|
36
|
-
return loadAsciiDoctor().then(asciidoctor => {
|
|
37
|
+
return loadAsciiDoctor().then((asciidoctor) => {
|
|
37
38
|
if (text) {
|
|
38
39
|
let innerHTML = '';
|
|
39
|
-
|
|
40
40
|
if (type === 'adoc') {
|
|
41
41
|
innerHTML = asciidoctor.convert(text, {
|
|
42
42
|
attributes: {
|
|
43
43
|
showtitle: true,
|
|
44
|
-
'source-highlighter': 'highlightjs-ext'
|
|
45
|
-
}
|
|
44
|
+
'source-highlighter': 'highlightjs-ext',
|
|
45
|
+
},
|
|
46
46
|
});
|
|
47
47
|
} else {
|
|
48
48
|
throw new Error(`Library not found for type : '${type}' | ${text}`);
|
|
@@ -54,23 +54,16 @@ export function toDom(text, type = 'adoc', small = false) {
|
|
|
54
54
|
element.style.maxWidth = '1000px';
|
|
55
55
|
element.style.margin = '0 auto';
|
|
56
56
|
element.classList.add('markdown-body');
|
|
57
|
-
|
|
58
57
|
if (small) {
|
|
59
58
|
element.classList.add('small');
|
|
60
59
|
}
|
|
61
|
-
|
|
62
60
|
const titleElement = element.querySelector('h1');
|
|
63
61
|
let title = '';
|
|
64
|
-
|
|
65
62
|
if (titleElement) {
|
|
66
63
|
title = titleElement.textContent;
|
|
67
64
|
}
|
|
68
65
|
|
|
69
|
-
return {
|
|
70
|
-
title,
|
|
71
|
-
element
|
|
72
|
-
};
|
|
66
|
+
return { title, element };
|
|
73
67
|
}
|
|
74
68
|
});
|
|
75
69
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi90ZXh0LWZvcm1hdC5qcyJdLCJuYW1lcyI6WyJsb2FkQXNjaWlEb2N0b3IiLCJ3aW5kb3ciLCJfZ3ZBc2NpaWRvY3RvciIsIlByb21pc2UiLCJhbGwiLCJ0aGVuIiwiYXNjaWlkb2N0b3IiLCJoaWdobGlnaHRKc0V4dCIsImRlZmF1bHQiLCJyZWdpc3RlciIsIkV4dGVuc2lvbnMiLCJzZXRBc2NpaURvY3RvckFzR2xvYmFsIiwicmVzb2x2ZSIsInRvRG9tIiwidGV4dCIsInR5cGUiLCJzbWFsbCIsImlubmVySFRNTCIsImNvbnZlcnQiLCJhdHRyaWJ1dGVzIiwic2hvd3RpdGxlIiwiRXJyb3IiLCJlbGVtZW50IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJ3aWR0aCIsIm1heFdpZHRoIiwibWFyZ2luIiwiY2xhc3NMaXN0IiwiYWRkIiwidGl0bGVFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInRpdGxlIiwidGV4dENvbnRlbnQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLE9BQU8sU0FBU0EsZUFBVCxHQUEyQjtBQUNoQyxNQUFJQyxNQUFNLENBQUNDLGNBQVAsSUFBeUIsSUFBN0IsRUFBbUM7QUFDakMsV0FBT0MsT0FBTyxDQUFDQyxHQUFSLENBQVksQ0FBQyxPQUFPLGFBQVAsQ0FBRCxFQUF3QixPQUFPLDBCQUFQLENBQXhCLENBQVosRUFBeUVDLElBQXpFLENBQThFLENBQUMsQ0FBQ0MsV0FBRCxFQUFjQyxjQUFkLENBQUQsS0FBbUM7QUFDdEhOLE1BQUFBLE1BQU0sQ0FBQ0MsY0FBUCxHQUF3QkksV0FBVyxDQUFDRSxPQUFaLEVBQXhCO0FBQ0FELE1BQUFBLGNBQWMsQ0FBQ0MsT0FBZixDQUF1QkMsUUFBdkIsQ0FBZ0NSLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQlEsVUFBdEQ7QUFDQSxhQUFPQyxzQkFBc0IsQ0FBQ0wsV0FBVyxDQUFDRSxPQUFiLEVBQXNCRCxjQUFjLENBQUNDLE9BQXJDLENBQTdCO0FBQ0QsS0FKTSxDQUFQO0FBS0Q7O0FBQ0QsU0FBT0wsT0FBTyxDQUFDUyxPQUFSLENBQWdCWCxNQUFNLENBQUNDLGNBQXZCLENBQVA7QUFDRDtBQUVELE9BQU8sU0FBU1Msc0JBQVQsQ0FBZ0NMLFdBQWhDLEVBQTZDQyxjQUE3QyxFQUE2RDtBQUNsRSxNQUFJTixNQUFNLENBQUNDLGNBQVAsSUFBeUIsSUFBN0IsRUFBbUM7QUFDakNELElBQUFBLE1BQU0sQ0FBQ0MsY0FBUCxHQUF3QkksV0FBVyxFQUFuQztBQUNBQyxJQUFBQSxjQUFjLENBQUNFLFFBQWYsQ0FBd0JSLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQlEsVUFBOUM7QUFDRDs7QUFDRCxTQUFPVCxNQUFNLENBQUNDLGNBQWQ7QUFDRDtBQUVELE9BQU8sU0FBU1csS0FBVCxDQUFlQyxJQUFmLEVBQXFCQyxJQUFJLEdBQUcsTUFBNUIsRUFBb0NDLEtBQUssR0FBRyxLQUE1QyxFQUFtRDtBQUN4RCxTQUFPaEIsZUFBZSxHQUFHSyxJQUFsQixDQUF3QkMsV0FBRCxJQUFpQjtBQUM3QyxRQUFJUSxJQUFKLEVBQVU7QUFDUixVQUFJRyxTQUFTLEdBQUcsRUFBaEI7O0FBQ0EsVUFBSUYsSUFBSSxLQUFLLE1BQWIsRUFBcUI7QUFDbkJFLFFBQUFBLFNBQVMsR0FBR1gsV0FBVyxDQUFDWSxPQUFaLENBQW9CSixJQUFwQixFQUEwQjtBQUNwQ0ssVUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLFlBQUFBLFNBQVMsRUFBRSxJQUREO0FBRVYsa0NBQXNCO0FBRlo7QUFEd0IsU0FBMUIsQ0FBWjtBQU1ELE9BUEQsTUFPTztBQUNMLGNBQU0sSUFBSUMsS0FBSixDQUFXLGlDQUFnQ04sSUFBSyxPQUFNRCxJQUFLLEVBQTNELENBQU47QUFDRDs7QUFFRCxZQUFNUSxPQUFPLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixLQUF2QixDQUFoQjtBQUNBRixNQUFBQSxPQUFPLENBQUNMLFNBQVIsR0FBb0JBLFNBQXBCO0FBQ0FLLE1BQUFBLE9BQU8sQ0FBQ0csS0FBUixDQUFjQyxLQUFkLEdBQXNCLE1BQXRCO0FBQ0FKLE1BQUFBLE9BQU8sQ0FBQ0csS0FBUixDQUFjRSxRQUFkLEdBQXlCLFFBQXpCO0FBQ0FMLE1BQUFBLE9BQU8sQ0FBQ0csS0FBUixDQUFjRyxNQUFkLEdBQXVCLFFBQXZCO0FBQ0FOLE1BQUFBLE9BQU8sQ0FBQ08sU0FBUixDQUFrQkMsR0FBbEIsQ0FBc0IsZUFBdEI7O0FBQ0EsVUFBSWQsS0FBSixFQUFXO0FBQ1RNLFFBQUFBLE9BQU8sQ0FBQ08sU0FBUixDQUFrQkMsR0FBbEIsQ0FBc0IsT0FBdEI7QUFDRDs7QUFDRCxZQUFNQyxZQUFZLEdBQUdULE9BQU8sQ0FBQ1UsYUFBUixDQUFzQixJQUF0QixDQUFyQjtBQUNBLFVBQUlDLEtBQUssR0FBRyxFQUFaOztBQUNBLFVBQUlGLFlBQUosRUFBa0I7QUFDaEJFLFFBQUFBLEtBQUssR0FBR0YsWUFBWSxDQUFDRyxXQUFyQjtBQUNEOztBQUVELGFBQU87QUFBRUQsUUFBQUEsS0FBRjtBQUFTWCxRQUFBQTtBQUFULE9BQVA7QUFDRDtBQUNGLEdBL0JNLENBQVA7QUFnQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFzY2lpRG9jdG9yKCkge1xuICBpZiAod2luZG93Ll9ndkFzY2lpZG9jdG9yID09IG51bGwpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW2ltcG9ydCgnYXNjaWlkb2N0b3InKSwgaW1wb3J0KCdhc2NpaWRvY3Rvci1oaWdobGlnaHQuanMnKV0pLnRoZW4oKFthc2NpaWRvY3RvciwgaGlnaGxpZ2h0SnNFeHRdKSA9PiB7XG4gICAgICB3aW5kb3cuX2d2QXNjaWlkb2N0b3IgPSBhc2NpaWRvY3Rvci5kZWZhdWx0KCk7XG4gICAgICBoaWdobGlnaHRKc0V4dC5kZWZhdWx0LnJlZ2lzdGVyKHdpbmRvdy5fZ3ZBc2NpaWRvY3Rvci5FeHRlbnNpb25zKTtcbiAgICAgIHJldHVybiBzZXRBc2NpaURvY3RvckFzR2xvYmFsKGFzY2lpZG9jdG9yLmRlZmF1bHQsIGhpZ2hsaWdodEpzRXh0LmRlZmF1bHQpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUod2luZG93Ll9ndkFzY2lpZG9jdG9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFzY2lpRG9jdG9yQXNHbG9iYWwoYXNjaWlkb2N0b3IsIGhpZ2hsaWdodEpzRXh0KSB7XG4gIGlmICh3aW5kb3cuX2d2QXNjaWlkb2N0b3IgPT0gbnVsbCkge1xuICAgIHdpbmRvdy5fZ3ZBc2NpaWRvY3RvciA9IGFzY2lpZG9jdG9yKCk7XG4gICAgaGlnaGxpZ2h0SnNFeHQucmVnaXN0ZXIod2luZG93Ll9ndkFzY2lpZG9jdG9yLkV4dGVuc2lvbnMpO1xuICB9XG4gIHJldHVybiB3aW5kb3cuX2d2QXNjaWlkb2N0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RvbSh0ZXh0LCB0eXBlID0gJ2Fkb2MnLCBzbWFsbCA9IGZhbHNlKSB7XG4gIHJldHVybiBsb2FkQXNjaWlEb2N0b3IoKS50aGVuKChhc2NpaWRvY3RvcikgPT4ge1xuICAgIGlmICh0ZXh0KSB7XG4gICAgICBsZXQgaW5uZXJIVE1MID0gJyc7XG4gICAgICBpZiAodHlwZSA9PT0gJ2Fkb2MnKSB7XG4gICAgICAgIGlubmVySFRNTCA9IGFzY2lpZG9jdG9yLmNvbnZlcnQodGV4dCwge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIHNob3d0aXRsZTogdHJ1ZSxcbiAgICAgICAgICAgICdzb3VyY2UtaGlnaGxpZ2h0ZXInOiAnaGlnaGxpZ2h0anMtZXh0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTGlicmFyeSBub3QgZm91bmQgZm9yIHR5cGUgOiAnJHt0eXBlfScgfCAke3RleHR9YCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gaW5uZXJIVE1MO1xuICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICAgIGVsZW1lbnQuc3R5bGUubWF4V2lkdGggPSAnMTAwMHB4JztcbiAgICAgIGVsZW1lbnQuc3R5bGUubWFyZ2luID0gJzAgYXV0byc7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hcmtkb3duLWJvZHknKTtcbiAgICAgIGlmIChzbWFsbCkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3NtYWxsJyk7XG4gICAgICB9XG4gICAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2gxJyk7XG4gICAgICBsZXQgdGl0bGUgPSAnJztcbiAgICAgIGlmICh0aXRsZUVsZW1lbnQpIHtcbiAgICAgICAgdGl0bGUgPSB0aXRsZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IHRpdGxlLCBlbGVtZW50IH07XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
|
package/src/lib/theme.js
CHANGED
|
@@ -23,44 +23,41 @@ export function applyTheme(theme) {
|
|
|
23
23
|
updateImage('--gv-theme-homepage-background-image', backgroundImage, `none`);
|
|
24
24
|
const favicon = theme._links ? theme._links.favicon : theme.favicon;
|
|
25
25
|
updateFavicon(favicon, 'images/gravitee-favicon.png');
|
|
26
|
-
theme.definition.data.forEach(component => {
|
|
27
|
-
component.css.forEach(cssProperty => {
|
|
26
|
+
theme.definition.data.forEach((component) => {
|
|
27
|
+
component.css.forEach((cssProperty) => {
|
|
28
28
|
document.documentElement.style.setProperty(cssProperty.name, cssProperty.value);
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
|
|
33
34
|
export function updateImage(name, value, defaultValue) {
|
|
34
35
|
setTimeout(() => {
|
|
35
36
|
const propertyValue = value ? `url(${value})` : 'none';
|
|
36
37
|
document.documentElement.style.setProperty(name, propertyValue);
|
|
37
38
|
}, 0);
|
|
38
39
|
}
|
|
40
|
+
|
|
39
41
|
export function updateFavicon(value, defaultValue) {
|
|
40
42
|
let link = document.querySelector("link[rel~='icon']");
|
|
41
|
-
|
|
42
43
|
if (!link) {
|
|
43
44
|
link = document.createElement('link');
|
|
44
45
|
link.rel = 'icon';
|
|
45
46
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
46
47
|
}
|
|
47
|
-
|
|
48
48
|
link.href = value || defaultValue;
|
|
49
49
|
}
|
|
50
|
+
|
|
50
51
|
export function getApplicationTypeIcon(type) {
|
|
51
52
|
switch (type.toLowerCase()) {
|
|
52
53
|
case 'browser':
|
|
53
54
|
case 'web':
|
|
54
55
|
return 'devices:laptop';
|
|
55
|
-
|
|
56
56
|
case 'native':
|
|
57
57
|
return 'devices:android';
|
|
58
|
-
|
|
59
58
|
case 'backend_to_backend':
|
|
60
59
|
return 'devices:server';
|
|
61
|
-
|
|
62
60
|
default:
|
|
63
61
|
return 'layout:layout-top-panel-2';
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi90aGVtZS5qcyJdLCJuYW1lcyI6WyJhcHBseVRoZW1lIiwidGhlbWUiLCJsb2dvIiwiX2xpbmtzIiwib3B0aW9uYWxMb2dvIiwiYmFja2dyb3VuZEltYWdlIiwidXBkYXRlSW1hZ2UiLCJmYXZpY29uIiwidXBkYXRlRmF2aWNvbiIsImRlZmluaXRpb24iLCJkYXRhIiwiZm9yRWFjaCIsImNvbXBvbmVudCIsImNzcyIsImNzc1Byb3BlcnR5IiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzdHlsZSIsInNldFByb3BlcnR5IiwibmFtZSIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwic2V0VGltZW91dCIsInByb3BlcnR5VmFsdWUiLCJsaW5rIiwicXVlcnlTZWxlY3RvciIsImNyZWF0ZUVsZW1lbnQiLCJyZWwiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImFwcGVuZENoaWxkIiwiaHJlZiIsImdldEFwcGxpY2F0aW9uVHlwZUljb24iLCJ0eXBlIiwidG9Mb3dlckNhc2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0EsVUFBVCxDQUFvQkMsS0FBcEIsRUFBMkI7QUFDaEMsTUFBSUEsS0FBSixFQUFXO0FBQ1QsVUFBTUMsSUFBSSxHQUFHRCxLQUFLLENBQUNFLE1BQU4sR0FBZUYsS0FBSyxDQUFDRSxNQUFOLENBQWFELElBQTVCLEdBQW1DRCxLQUFLLENBQUNDLElBQXREO0FBQ0EsVUFBTUUsWUFBWSxHQUFHSCxLQUFLLENBQUNFLE1BQU4sR0FBZUYsS0FBSyxDQUFDRSxNQUFOLENBQWFDLFlBQTVCLEdBQTJDSCxLQUFLLENBQUNHLFlBQXRFO0FBQ0EsVUFBTUMsZUFBZSxHQUFHSixLQUFLLENBQUNFLE1BQU4sR0FBZUYsS0FBSyxDQUFDRSxNQUFOLENBQWFFLGVBQTVCLEdBQThDSixLQUFLLENBQUNJLGVBQTVFO0FBQ0FDLElBQUFBLFdBQVcsQ0FBQyxpQkFBRCxFQUFvQkosSUFBcEIsRUFBMkIsdUNBQTNCLENBQVg7QUFDQUksSUFBQUEsV0FBVyxDQUFDLDBCQUFELEVBQTZCRixZQUE3QixFQUE0Qyx3Q0FBNUMsQ0FBWDtBQUNBRSxJQUFBQSxXQUFXLENBQUMsc0NBQUQsRUFBeUNELGVBQXpDLEVBQTJELE1BQTNELENBQVg7QUFDQSxVQUFNRSxPQUFPLEdBQUdOLEtBQUssQ0FBQ0UsTUFBTixHQUFlRixLQUFLLENBQUNFLE1BQU4sQ0FBYUksT0FBNUIsR0FBc0NOLEtBQUssQ0FBQ00sT0FBNUQ7QUFDQUMsSUFBQUEsYUFBYSxDQUFDRCxPQUFELEVBQVUsNkJBQVYsQ0FBYjtBQUNBTixJQUFBQSxLQUFLLENBQUNRLFVBQU4sQ0FBaUJDLElBQWpCLENBQXNCQyxPQUF0QixDQUErQkMsU0FBRCxJQUFlO0FBQzNDQSxNQUFBQSxTQUFTLENBQUNDLEdBQVYsQ0FBY0YsT0FBZCxDQUF1QkcsV0FBRCxJQUFpQjtBQUNyQ0MsUUFBQUEsUUFBUSxDQUFDQyxlQUFULENBQXlCQyxLQUF6QixDQUErQkMsV0FBL0IsQ0FBMkNKLFdBQVcsQ0FBQ0ssSUFBdkQsRUFBNkRMLFdBQVcsQ0FBQ00sS0FBekU7QUFDRCxPQUZEO0FBR0QsS0FKRDtBQUtEO0FBQ0Y7QUFFRCxPQUFPLFNBQVNkLFdBQVQsQ0FBcUJhLElBQXJCLEVBQTJCQyxLQUEzQixFQUFrQ0MsWUFBbEMsRUFBZ0Q7QUFDckRDLEVBQUFBLFVBQVUsQ0FBQyxNQUFNO0FBQ2YsVUFBTUMsYUFBYSxHQUFHSCxLQUFLLEdBQUksT0FBTUEsS0FBTSxHQUFoQixHQUFxQixNQUFoRDtBQUNBTCxJQUFBQSxRQUFRLENBQUNDLGVBQVQsQ0FBeUJDLEtBQXpCLENBQStCQyxXQUEvQixDQUEyQ0MsSUFBM0MsRUFBaURJLGFBQWpEO0FBQ0QsR0FIUyxFQUdQLENBSE8sQ0FBVjtBQUlEO0FBRUQsT0FBTyxTQUFTZixhQUFULENBQXVCWSxLQUF2QixFQUE4QkMsWUFBOUIsRUFBNEM7QUFDakQsTUFBSUcsSUFBSSxHQUFHVCxRQUFRLENBQUNVLGFBQVQsQ0FBdUIsbUJBQXZCLENBQVg7O0FBQ0EsTUFBSSxDQUFDRCxJQUFMLEVBQVc7QUFDVEEsSUFBQUEsSUFBSSxHQUFHVCxRQUFRLENBQUNXLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBUDtBQUNBRixJQUFBQSxJQUFJLENBQUNHLEdBQUwsR0FBVyxNQUFYO0FBQ0FaLElBQUFBLFFBQVEsQ0FBQ2Esb0JBQVQsQ0FBOEIsTUFBOUIsRUFBc0MsQ0FBdEMsRUFBeUNDLFdBQXpDLENBQXFETCxJQUFyRDtBQUNEOztBQUNEQSxFQUFBQSxJQUFJLENBQUNNLElBQUwsR0FBWVYsS0FBSyxJQUFJQyxZQUFyQjtBQUNEO0FBRUQsT0FBTyxTQUFTVSxzQkFBVCxDQUFnQ0MsSUFBaEMsRUFBc0M7QUFDM0MsVUFBUUEsSUFBSSxDQUFDQyxXQUFMLEVBQVI7QUFDRSxTQUFLLFNBQUw7QUFDQSxTQUFLLEtBQUw7QUFDRSxhQUFPLGdCQUFQOztBQUNGLFNBQUssUUFBTDtBQUNFLGFBQU8saUJBQVA7O0FBQ0YsU0FBSyxvQkFBTDtBQUNFLGFBQU8sZ0JBQVA7O0FBQ0Y7QUFDRSxhQUFPLDJCQUFQO0FBVEo7QUFXRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlUaGVtZSh0aGVtZSkge1xuICBpZiAodGhlbWUpIHtcbiAgICBjb25zdCBsb2dvID0gdGhlbWUuX2xpbmtzID8gdGhlbWUuX2xpbmtzLmxvZ28gOiB0aGVtZS5sb2dvO1xuICAgIGNvbnN0IG9wdGlvbmFsTG9nbyA9IHRoZW1lLl9saW5rcyA/IHRoZW1lLl9saW5rcy5vcHRpb25hbExvZ28gOiB0aGVtZS5vcHRpb25hbExvZ287XG4gICAgY29uc3QgYmFja2dyb3VuZEltYWdlID0gdGhlbWUuX2xpbmtzID8gdGhlbWUuX2xpbmtzLmJhY2tncm91bmRJbWFnZSA6IHRoZW1lLmJhY2tncm91bmRJbWFnZTtcbiAgICB1cGRhdGVJbWFnZSgnLS1ndi10aGVtZS1sb2dvJywgbG9nbywgYHVybCgnL2ltYWdlcy9ncmF2aXRlZS1sb2dvLWN5YW4uc3ZnJylgKTtcbiAgICB1cGRhdGVJbWFnZSgnLS1ndi10aGVtZS1vcHRpb25hbC1sb2dvJywgb3B0aW9uYWxMb2dvLCBgdXJsKCcvaW1hZ2VzL2dyYXZpdGVlLWxvZ28td2hpdGUuc3ZnJylgKTtcbiAgICB1cGRhdGVJbWFnZSgnLS1ndi10aGVtZS1ob21lcGFnZS1iYWNrZ3JvdW5kLWltYWdlJywgYmFja2dyb3VuZEltYWdlLCBgbm9uZWApO1xuICAgIGNvbnN0IGZhdmljb24gPSB0aGVtZS5fbGlua3MgPyB0aGVtZS5fbGlua3MuZmF2aWNvbiA6IHRoZW1lLmZhdmljb247XG4gICAgdXBkYXRlRmF2aWNvbihmYXZpY29uLCAnaW1hZ2VzL2dyYXZpdGVlLWZhdmljb24ucG5nJyk7XG4gICAgdGhlbWUuZGVmaW5pdGlvbi5kYXRhLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY29tcG9uZW50LmNzcy5mb3JFYWNoKChjc3NQcm9wZXJ0eSkgPT4ge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoY3NzUHJvcGVydHkubmFtZSwgY3NzUHJvcGVydHkudmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUltYWdlKG5hbWUsIHZhbHVlLCBkZWZhdWx0VmFsdWUpIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlWYWx1ZSA9IHZhbHVlID8gYHVybCgke3ZhbHVlfSlgIDogJ25vbmUnO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgfSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGYXZpY29uKHZhbHVlLCBkZWZhdWx0VmFsdWUpIHtcbiAgbGV0IGxpbmsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibGlua1tyZWx+PSdpY29uJ11cIik7XG4gIGlmICghbGluaykge1xuICAgIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgbGluay5yZWwgPSAnaWNvbic7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgfVxuICBsaW5rLmhyZWYgPSB2YWx1ZSB8fCBkZWZhdWx0VmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBsaWNhdGlvblR5cGVJY29uKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdicm93c2VyJzpcbiAgICBjYXNlICd3ZWInOlxuICAgICAgcmV0dXJuICdkZXZpY2VzOmxhcHRvcCc7XG4gICAgY2FzZSAnbmF0aXZlJzpcbiAgICAgIHJldHVybiAnZGV2aWNlczphbmRyb2lkJztcbiAgICBjYXNlICdiYWNrZW5kX3RvX2JhY2tlbmQnOlxuICAgICAgcmV0dXJuICdkZXZpY2VzOnNlcnZlcic7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnbGF5b3V0OmxheW91dC10b3AtcGFuZWwtMic7XG4gIH1cbn1cbiJdfQ==
|