@gravitee/ui-components 3.24.5 → 3.25.0-fix-gvcode-15ce1d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +1270 -0
  2. package/LICENSE.txt +202 -0
  3. package/README.md +195 -0
  4. package/assets/i18n/en.json +3 -0
  5. package/assets/i18n/fr.json +3 -0
  6. package/assets/icons/design.svg +1 -1
  7. package/package.json +1 -1
  8. package/src/.eslintrc.js +19 -0
  9. package/src/atoms/gv-autocomplete.js +156 -132
  10. package/src/atoms/gv-button.js +248 -73
  11. package/src/atoms/gv-checkbox.js +103 -45
  12. package/src/atoms/gv-date-picker-calendar.js +393 -312
  13. package/src/atoms/gv-date-picker-cell.js +81 -57
  14. package/src/atoms/gv-date-picker.js +319 -180
  15. package/src/atoms/gv-file-upload.js +195 -85
  16. package/src/atoms/gv-icon.js +34 -13
  17. package/src/atoms/gv-image.js +66 -31
  18. package/src/atoms/gv-input-message.js +37 -12
  19. package/src/atoms/gv-input.js +148 -117
  20. package/src/atoms/gv-link.js +125 -47
  21. package/src/atoms/gv-message.js +69 -18
  22. package/src/atoms/gv-metric.js +68 -19
  23. package/src/atoms/gv-relative-time.js +38 -67
  24. package/src/atoms/gv-select-native.js +215 -96
  25. package/src/atoms/gv-select.js +230 -110
  26. package/src/atoms/gv-spinner.js +26 -5
  27. package/src/atoms/gv-state.js +66 -25
  28. package/src/atoms/gv-switch.js +160 -40
  29. package/src/atoms/gv-tag.js +78 -26
  30. package/src/atoms/gv-text.js +83 -22
  31. package/src/charts/gv-chart-bar.js +18 -22
  32. package/src/charts/gv-chart-gauge.js +31 -28
  33. package/src/charts/gv-chart-histogram.js +10 -18
  34. package/src/charts/gv-chart-line.js +59 -70
  35. package/src/charts/gv-chart-map.js +42 -44
  36. package/src/charts/gv-chart-pie.js +14 -18
  37. package/src/index.js +0 -1
  38. package/src/lib/cron-expression.js +35 -40
  39. package/src/lib/date.js +1 -10
  40. package/src/lib/events.js +1 -3
  41. package/src/lib/http-client-schema-form.js +12 -13
  42. package/src/lib/http.js +56 -57
  43. package/src/lib/i18n.js +22 -30
  44. package/src/lib/item.js +12 -13
  45. package/src/lib/properties.js +42 -77
  46. package/src/lib/schema-form.js +5 -4
  47. package/src/lib/studio.js +60 -13
  48. package/src/lib/style.js +8 -8
  49. package/src/lib/text-format.js +7 -14
  50. package/src/lib/theme.js +5 -8
  51. package/src/lib/utils.js +18 -17
  52. package/src/mixins/chart-element.js +54 -31
  53. package/src/mixins/input-element.js +47 -60
  54. package/src/mixins/item-resource.js +32 -34
  55. package/src/mixins/keyboard-element.js +5 -6
  56. package/src/mixins/update-after-browser.js +1 -4
  57. package/src/mixins/with-resize-observer.js +13 -23
  58. package/src/mixins/with-skeleton-attribute.js +48 -54
  59. package/src/molecules/gv-card-full.js +147 -26
  60. package/src/molecules/gv-card-list.js +42 -13
  61. package/src/molecules/gv-card.js +91 -17
  62. package/src/molecules/gv-category-list.js +17 -6
  63. package/src/molecules/gv-category.js +103 -23
  64. package/src/molecules/gv-code.js +143 -81
  65. package/src/molecules/gv-confirm.js +71 -41
  66. package/src/molecules/gv-cron-editor.js +389 -143
  67. package/src/molecules/gv-dropdown-menu.js +46 -14
  68. package/src/molecules/gv-expandable.js +59 -31
  69. package/src/molecules/gv-expression-language.js +138 -176
  70. package/src/molecules/gv-identity-picture.js +65 -42
  71. package/src/molecules/gv-list.js +134 -42
  72. package/src/molecules/gv-metrics.js +49 -37
  73. package/src/molecules/gv-modal.js +95 -28
  74. package/src/molecules/gv-nav.js +75 -49
  75. package/src/molecules/gv-option.js +130 -57
  76. package/src/molecules/gv-plans.js +209 -86
  77. package/src/molecules/gv-popover.js +177 -57
  78. package/src/molecules/gv-promote.js +146 -28
  79. package/src/molecules/gv-rating-list.js +195 -69
  80. package/src/molecules/gv-rating.js +105 -52
  81. package/src/molecules/gv-row-expandable.js +11 -5
  82. package/src/molecules/gv-row.js +147 -21
  83. package/src/molecules/gv-stats.js +48 -23
  84. package/src/molecules/gv-stepper.js +187 -43
  85. package/src/molecules/gv-table.js +309 -199
  86. package/src/molecules/gv-tree.js +156 -33
  87. package/src/organisms/gv-documentation.js +128 -45
  88. package/src/organisms/gv-header.js +195 -37
  89. package/src/organisms/gv-http-client.js +168 -32
  90. package/src/organisms/gv-menu.js +158 -37
  91. package/src/organisms/gv-newsletter-subscription.js +189 -48
  92. package/src/organisms/gv-pagination.js +77 -49
  93. package/src/organisms/gv-properties.js +492 -271
  94. package/src/organisms/gv-resizable-views.js +259 -41
  95. package/src/organisms/gv-resources.js +275 -168
  96. package/src/organisms/gv-schema-form-array.js +159 -49
  97. package/src/organisms/gv-schema-form-control-object.js +73 -59
  98. package/src/organisms/gv-schema-form-control.js +134 -107
  99. package/src/organisms/gv-schema-form.js +324 -195
  100. package/src/organisms/gv-tabs.js +98 -66
  101. package/src/organisms/gv-user-menu.js +201 -36
  102. package/src/organisms/gv-vertical-menu.js +61 -20
  103. package/src/policy-studio/gv-flow-step.js +266 -105
  104. package/src/policy-studio/gv-flow.js +304 -125
  105. package/src/policy-studio/gv-policy-studio-menu.js +471 -157
  106. package/src/policy-studio/gv-policy-studio.js +777 -686
  107. package/src/styles/empty.js +20 -3
  108. package/src/styles/input.js +247 -3
  109. package/src/styles/link.js +16 -3
  110. package/src/styles/shapes.js +0 -1
  111. package/src/styles/skeleton.js +37 -3
  112. package/src/styles/zoom.js +24 -3
  113. package/src/theme/definition.json +1762 -0
  114. package/src/theme/gv-theme.js +60 -21
@@ -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
- line,
77
- column
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
- } // Here we must be able to reverse what doubleQuoteString() does,
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
- } // WARN: Array.prototype.sort edits in place
186
-
156
+ }
187
157
 
158
+ // WARN: Array.prototype.sort edits in place
188
159
  parsedVariables.sort((a, b) => a.key.localeCompare(b.key));
189
- return {
190
- variables: parsedVariables,
191
- errors: parsingErrors
192
- };
193
- } // automatically merges duplicated named (keeps last value)
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
- addExports = false
200
- } = options;
201
- return variables.sort((a, b) => a.key.localeCompare(b.key)).map(({
202
- key,
203
- value
204
- }) => {
205
- const quotedValue = doubleQuoteString(value);
206
- const nameValue = `${key}=${quotedValue}`;
207
- return addExports ? `export ${nameValue};` : nameValue;
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.filter(({
215
- name
216
- }) => validateName(name)).forEach(({
217
- name,
218
- value
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
@@ -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'; // language=CSS
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
- r: parseInt(result[1], 16),
37
- g: parseInt(result[2], 16),
38
- b: parseInt(result[3], 16)
39
- } : null;
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=
@@ -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==