@vgip/meta-ui 2.1.2 → 2.1.3

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 (111) hide show
  1. package/.eslintrc.json +57 -0
  2. package/karma.conf.js +35 -0
  3. package/ng-package.json +10 -0
  4. package/package.json +3 -15
  5. package/src/lib/common/fieldNormalizer/boolean.ts +11 -0
  6. package/src/lib/common/fieldNormalizer/datetime.ts +8 -0
  7. package/src/lib/common/fieldNormalizer/index.ts +171 -0
  8. package/src/lib/common/fieldNormalizer/number.ts +13 -0
  9. package/src/lib/common/fieldNormalizer/options.ts +48 -0
  10. package/src/lib/common/fieldNormalizer/radio.ts +29 -0
  11. package/src/lib/common/fieldNormalizer/reference.ts +32 -0
  12. package/src/lib/common/fieldNormalizer/richtext.ts +15 -0
  13. package/src/lib/common/fieldNormalizer/string.ts +23 -0
  14. package/src/lib/common/fieldNormalizer/text.ts +17 -0
  15. package/src/lib/common/fieldNormalizer/uniqueNameFilter.ts +21 -0
  16. package/src/lib/common/metaAutofocus.directive.ts +31 -0
  17. package/src/lib/common/metaContext.resolver.ts +25 -0
  18. package/src/lib/common/metaIcons.pipe.spec.ts +15 -0
  19. package/src/lib/common/metaIcons.pipe.ts +29 -0
  20. package/src/lib/common/metaModel.pipe.ts +19 -0
  21. package/src/lib/common/metaNormalizer.ts +366 -0
  22. package/src/lib/common/metaStripHtml.pipe.ts +18 -0
  23. package/src/lib/common/utils/colorThemes.ts +86 -0
  24. package/src/lib/common/utils/indexedDbStore/index.ts +244 -0
  25. package/src/lib/common/utils/indexedDbStore/indexedDbStore.spec.ts +149 -0
  26. package/src/lib/common/utils/relativeTimeBuilder.ts +49 -0
  27. package/src/lib/common/utils/resourceCardLabel.ts +25 -0
  28. package/src/lib/common/utils/smartProp.spec.ts +24 -0
  29. package/src/lib/common/utils/smartProp.ts +28 -0
  30. package/src/lib/common/utils/templateBuilder.ts +99 -0
  31. package/src/lib/field.scss +207 -0
  32. package/src/lib/fieldAbstract.ts +327 -0
  33. package/src/lib/fieldBoolean/index.ts +55 -0
  34. package/src/lib/fieldBoolean/style.scss +22 -0
  35. package/src/lib/fieldBoolean/test.spec.ts +43 -0
  36. package/src/lib/fieldBoolean/view.html +30 -0
  37. package/src/lib/fieldComposite/index.ts +86 -0
  38. package/src/lib/fieldComposite/style.scss +6 -0
  39. package/src/lib/fieldComposite/test.spec.ts +43 -0
  40. package/src/lib/fieldComposite/view.html +9 -0
  41. package/src/lib/fieldDatetime/index.ts +359 -0
  42. package/src/lib/fieldDatetime/style.scss +81 -0
  43. package/src/lib/fieldDatetime/test.spec.ts +43 -0
  44. package/src/lib/fieldDatetime/view.html +26 -0
  45. package/src/lib/fieldHidden/index.ts +15 -0
  46. package/src/lib/fieldHidden/view.html +0 -0
  47. package/src/lib/fieldInput/index.ts +477 -0
  48. package/src/lib/fieldInput/style.scss +128 -0
  49. package/src/lib/fieldInput/test.spec.ts +43 -0
  50. package/src/lib/fieldInput/view.html +81 -0
  51. package/src/lib/fieldList/index.ts +73 -0
  52. package/src/lib/fieldList/style.scss +26 -0
  53. package/src/lib/fieldList/test.spec.ts +43 -0
  54. package/src/lib/fieldList/view.html +25 -0
  55. package/src/lib/fieldRadio/index.ts +93 -0
  56. package/src/lib/fieldRadio/style.scss +32 -0
  57. package/src/lib/fieldRadio/test.spec.ts +43 -0
  58. package/src/lib/fieldRadio/view.html +24 -0
  59. package/src/lib/fieldReference/index.ts +871 -0
  60. package/src/lib/fieldReference/style.scss +273 -0
  61. package/src/lib/fieldReference/test.spec.ts +44 -0
  62. package/src/lib/fieldReference/view.html +163 -0
  63. package/src/lib/fieldRichtext/index.ts +98 -0
  64. package/src/lib/fieldRichtext/quill.scss +6 -0
  65. package/src/lib/fieldRichtext/style.scss +87 -0
  66. package/src/lib/fieldRichtext/test.spec.ts +43 -0
  67. package/src/lib/fieldRichtext/view.html +17 -0
  68. package/src/lib/fieldSelect/index.ts +597 -0
  69. package/src/lib/fieldSelect/style.scss +165 -0
  70. package/src/lib/fieldSelect/test.spec.ts +44 -0
  71. package/src/lib/fieldSelect/view.html +128 -0
  72. package/src/lib/fieldText/index.ts +86 -0
  73. package/src/lib/fieldText/style.scss +24 -0
  74. package/src/lib/fieldText/test.spec.ts +43 -0
  75. package/src/lib/fieldText/view.html +23 -0
  76. package/src/lib/fieldUnknown/index.ts +15 -0
  77. package/src/lib/fieldUnknown/test.spec.ts +34 -0
  78. package/src/lib/fieldUnknown/view.html +9 -0
  79. package/src/lib/index.ts +127 -0
  80. package/src/lib/layout/index.ts +255 -0
  81. package/src/lib/layout/style.scss +67 -0
  82. package/src/lib/layout/view.html +45 -0
  83. package/src/lib/metaField/index.ts +133 -0
  84. package/src/lib/metaField/test.spec.ts +32 -0
  85. package/src/lib/refDialog/index.ts +157 -0
  86. package/src/lib/refDialog/style.scss +154 -0
  87. package/src/lib/refDialog/view.html +24 -0
  88. package/src/lib/resource/index.ts +559 -0
  89. package/src/lib/resource/style.scss +132 -0
  90. package/src/lib/resource/view.html +70 -0
  91. package/src/lib/resourceCard/index.ts +44 -0
  92. package/src/lib/resourceCard/style.scss +7 -0
  93. package/src/lib/resourceCard/view.html +14 -0
  94. package/src/lib/services/metaContext/index.ts +61 -0
  95. package/src/lib/services/metaMsg/index.ts +84 -0
  96. package/src/lib/services/metaReference/index.ts +98 -0
  97. package/src/lib/services/metaResource/index.ts +163 -0
  98. package/src/lib/services/metaResource/metaHttpClient.ts +76 -0
  99. package/src/lib/services/metaResource/metaResource.spec.ts +24 -0
  100. package/src/lib/services/metaTracker/index.ts +38 -0
  101. package/src/lib/services/resourceDrafts/index.ts +81 -0
  102. package/src/lib/services/resourceDrafts/resourceDrafts.spec.ts +24 -0
  103. package/src/lib/styles.scss +13 -0
  104. package/src/public-api.ts +5 -0
  105. package/src/test.ts +17 -0
  106. package/tsconfig.lib.json +25 -0
  107. package/tsconfig.lib.prod.json +9 -0
  108. package/tsconfig.spec.json +17 -0
  109. package/fesm2022/vgip-meta-ui.mjs +0 -6079
  110. package/fesm2022/vgip-meta-ui.mjs.map +0 -1
  111. package/index.d.ts +0 -709
@@ -0,0 +1,366 @@
1
+ /*
2
+ * @Author: Alexander.Vangelov@vonage.com
3
+ * @Date: 2019-09-19 17:34:49
4
+ * @Last Modified by: Alexander.Vangelov@vonage.com
5
+ * @Last Modified time: 2023-02-10 09:44:59
6
+ */
7
+
8
+ import { fieldNormalizer } from './fieldNormalizer';
9
+ import { uniqueNameFilter } from './fieldNormalizer/uniqueNameFilter';
10
+
11
+ const sortObj = (obj) => {
12
+ if (typeof(obj) !== 'object' || obj === null) {
13
+ return obj;
14
+ }
15
+
16
+ if (Array.isArray(obj)) {
17
+ return obj.map((e) => sortObj(e)).sort();
18
+ }
19
+
20
+ return Object.keys(obj).sort().reduce((sorted, k) => {
21
+ sorted[k] = sortObj(obj[k]);
22
+ return sorted;
23
+ }, {});
24
+ };
25
+
26
+ export const metaNormalizer = (meta, integration, resourceType) => {
27
+ const uniqFieldNames = [];
28
+ const integrationCode = (integration || '').toUpperCase();
29
+ const metaV3: any = {
30
+ integration,
31
+ resourceType,
32
+ availableLayouts: meta.availableLayouts,
33
+ layout: {
34
+ id: meta.layout.id,
35
+ name: meta.layout.name,
36
+ label: meta.layout.label,
37
+ version: '3.0.0',
38
+ sections: (meta.layout.sections || []).map((s) => {
39
+ const section: any = {
40
+ label: s.label,
41
+ fields: uniqueNameFilter(s.fields || [], uniqFieldNames).map((v) => fieldNormalizer(v, uniqFieldNames)) // VIST-424
42
+ };
43
+ if (s.visible || s.alwaysVisible) {
44
+ section.visible = s.visible || s.alwaysVisible;
45
+ }
46
+ return section;
47
+ })
48
+ }
49
+ };
50
+ if (meta.layout.origLayoutId) {
51
+ metaV3.layout.origLayoutId = meta.layout.origLayoutId;
52
+ }
53
+ if (meta.drafts) {
54
+ metaV3.drafts = meta.drafts;
55
+ }
56
+ if (meta.layout.children) {
57
+ metaV3.layout.children = meta.layout.children;
58
+ }
59
+
60
+ const fieldFixesByIntegration = (f) => {
61
+ if (f.type === 'boolean' && ((typeof(f.default) !== 'boolean') && f.default && !f.default.value) ) {
62
+ delete f.default;
63
+ } else if (f.type === 'reference') {
64
+ const references = (f.reference instanceof Array) ? f.reference : [f.reference];
65
+ for (const r of references) {
66
+ if (r && r.creatable === false && typeof(r.updatable) === 'undefined') {
67
+ r.updatable = false; // User missing updatable, may be other too
68
+ }
69
+ }
70
+ }
71
+ switch (integrationCode) {
72
+ case 'BULLHORN': {
73
+ if (resourceType === 'Appointment') {
74
+ if (['dateBegin', 'dateEnd'].indexOf(f.name) !== -1) {
75
+ if (!f.validations) {
76
+ f.validations = { step: 1800 };
77
+ } else {
78
+ f.validations.step = 1800;
79
+ }
80
+ f.default = f.name === 'dateBegin' ? 'now' : '30.minutes';
81
+ if (!f.auto) {
82
+ f.auto = {};
83
+ }
84
+ f.auto[f.name === 'dateBegin' ? 'lt' : 'gt'] = {
85
+ against: f.name === 'dateBegin' ? 'dateEnd' : 'dateBegin',
86
+ offset: `${f.name === 'dateBegin' ? '-30' : '30'}.minutes`
87
+ };
88
+ }
89
+ }
90
+ if (f.name === 'comments') {
91
+ if (!f.validations) {
92
+ f.valudations = { required: true };
93
+ } else {
94
+ f.validations.required = true;
95
+ }
96
+ if (resourceType === 'Note') {
97
+ f.type = 'richtext';
98
+ }
99
+ }
100
+ if (f.name === 'address.state') {
101
+ f.creatable = false;
102
+ f.updatable = false;
103
+ }
104
+ break;
105
+ }
106
+ case 'GOOGLE': {
107
+ if (f.name === 'contactId') {
108
+ f.label = 'Contact';
109
+ } else if (['start', 'end'].indexOf(f.name) !== -1) {
110
+ if (!f.auto) {
111
+ f.auto = {};
112
+ }
113
+ f.auto[f.name === 'start' ? 'lt' : 'gt'] = {
114
+ against: f.name === 'start' ? 'end' : 'start',
115
+ offset: `${f.name === 'start' ? '-30' : '30'}.minutes`
116
+ };
117
+ }
118
+ break;
119
+ }
120
+ case 'OFFICE365': {
121
+ if (resourceType === 'Events') {
122
+ if (['start', 'end'].indexOf(f.name) !== -1) {
123
+ if (!f.validations) {
124
+ f.validations = { step: 1800 };
125
+ } else {
126
+ f.validations.step = 1800;
127
+ }
128
+ f.default = f.name === 'start' ? 'now' : '30.minutes';
129
+ }
130
+ }
131
+ if (resourceType === 'Tasks' && f.name === 'checklist') {
132
+ f.creatable = false;
133
+ }
134
+ if (f.name === 'description' && resourceType !== 'Tasks') {
135
+ f.type = 'richtext';
136
+ } else if (f.name === 'content') {
137
+ f.type = 'text';
138
+ }
139
+ break;
140
+ }
141
+ case 'SALESFORCE': {
142
+ if (resourceType === 'Task' && f.name === 'WhatId') {
143
+ f.disabled = {
144
+ 'WhoId.type': 'Lead'
145
+ };
146
+ }
147
+ if (['Description', 'ParentId'].indexOf(f.name) !== -1) {
148
+ if (!f.visible) {
149
+ f.visible = true;
150
+ }
151
+ }
152
+ if (f.type === 'reference') {
153
+ const references = (f.reference instanceof Array) ? f.reference : [f.reference];
154
+ for (const r of references) {
155
+ if (r && ['Account'].indexOf(r.name) !== -1) { // force creatable
156
+ r.creatable = true;
157
+ r.updatable = true;
158
+ }
159
+ }
160
+ }
161
+ break;
162
+ }
163
+ case 'SUGAR': {
164
+ if (['description', 'parent_id', 'contact_id', 'contacts'].indexOf(f.name) !== -1) {
165
+ if (!f.visible) {
166
+ f.visible = true;
167
+ }
168
+ }
169
+ if (f.type === 'reference') {
170
+ const references = (f.reference instanceof Array) ? f.reference : [f.reference];
171
+ for (const r of references) {
172
+ if (r && ['Accounts', 'Contacts', 'Leads'].indexOf(r.name) !== -1) {
173
+ r.label = r.name.slice(0, -1); // Use singular labels
174
+ r.creatable = true;
175
+ r.updatable = true;
176
+ }
177
+ }
178
+ }
179
+ break;
180
+ }
181
+ case 'ZENDESK': {
182
+ if (resourceType === 'Ticket' && f.name === 'assignee') {
183
+ f.reference.updatable = false;
184
+ }
185
+ if (resourceType === 'Comment' && f.name === 'body') {
186
+ f.visible = true;
187
+ }
188
+ break;
189
+ }
190
+ case 'HUBSPOT': {
191
+ if (
192
+ (resourceType === 'LogCall' && ['body', 'hs_call_body'].indexOf(f.name) !== -1) ||
193
+ (resourceType === 'LogSMS' && f.name === 'hs_communication_body')
194
+ ) {
195
+ f.type = 'richtext';
196
+ }
197
+ break;
198
+ }
199
+ case 'NETSUITE': {
200
+ if (f.name === 'company' && !f.auto) {
201
+ f.auto = {
202
+ search: {
203
+ params: {
204
+ contactId: 'contact.id'
205
+ },
206
+ url: '../Contact/${contactId}?expand=company',
207
+ extract: 'company'
208
+ }
209
+ };
210
+ }
211
+ break;
212
+ }
213
+ case 'ZOHO': {
214
+ if (['Calls', 'Tasks', 'Events'].indexOf(resourceType) !== -1 && ['Who_Id', 'What_Id'].indexOf(f.name) !== -1) {
215
+ if (f.name === 'What_Id') {
216
+ f.visible = true;
217
+ f.disabled = {
218
+ 'Who_Id.type': 'Leads'
219
+ };
220
+ }
221
+ if (f.reference instanceof Array) {
222
+ f.reference.forEach((r) => {
223
+ r.creatable = true;
224
+ r.updatable = true;
225
+ });
226
+ }
227
+ }
228
+ if (resourceType === 'Calls' && f.name === 'Description') {
229
+ f.label = 'Description'
230
+ f.visible = true;
231
+ f.hidden = {
232
+ "Call_Type": "Missed"
233
+ }
234
+ }
235
+ break;
236
+ }
237
+ }
238
+ if (f.type === 'composite' && f.fields) {
239
+ for (const ff of f.fields) {
240
+ fieldFixesByIntegration(ff);
241
+ }
242
+ }
243
+ };
244
+
245
+ // common fixes for all integrations
246
+ if (metaV3.layout.sections.length) {
247
+ for (const s of (metaV3.layout.sections)) {
248
+ if (!s || !s.fields) {
249
+ break;
250
+ }
251
+ for (const f of s.fields) {
252
+ fieldFixesByIntegration(f);
253
+ }
254
+ }
255
+ }
256
+
257
+ // Google Gmail children enhancement
258
+ if (integrationCode === 'GOOGLE') {
259
+ if (resourceType === 'Mail') {
260
+ metaV3.layout.editable = false;
261
+ if (!metaV3.layout.children) {
262
+ metaV3.layout.children = [{ // should be included in v3 api
263
+ label: 'Comments',
264
+ name: 'comments',
265
+ reference: {
266
+ resourceType: 'Comment',
267
+ label: 'Comment',
268
+ editable: false
269
+ }
270
+ }];
271
+ }
272
+ } else if (resourceType === 'Task') {
273
+ if (!metaV3.layout.children) {
274
+ metaV3.layout.children = [{
275
+ label: 'Subtasks',
276
+ name: 'subTasks',
277
+ reference: {
278
+ resourceType: 'Subtask',
279
+ label: 'Subtask'
280
+ }
281
+ }];
282
+ }
283
+ } else if (resourceType === 'Comment') {
284
+ metaV3.layout.editable = false;
285
+ }
286
+ } else if (integrationCode === 'ZENDESK') {
287
+ if (resourceType === 'Ticket') {
288
+ if (!metaV3.layout.children) {
289
+ metaV3.layout.children = [{ // Zendesk Ticket children enhancement
290
+ label: 'Comments',
291
+ name: 'comments',
292
+ reference: {
293
+ resourceType: 'Comment',
294
+ label: 'Comment',
295
+ editable: false
296
+ }
297
+ }];
298
+ }
299
+ } else if (resourceType === 'Comment') {
300
+ metaV3.layout.editable = false;
301
+ }
302
+ } else if (integrationCode === 'MSDYNAMICS' && !metaV3.fieldsMap) {
303
+ if (resourceType === 'phonecall') {
304
+ metaV3.fieldsMap = {
305
+ contactables: ['from', 'to'],
306
+ subject: 'subject',
307
+ phoneNumber: 'phonenumber',
308
+ };
309
+ } else if (resourceType === 'contact') {
310
+ metaV3.fieldsMap = {
311
+ phoneNumber: 'telephone1',
312
+ firstName: 'firstname',
313
+ lastName: 'lastname'
314
+ };
315
+ } else if (resourceType === 'account') {
316
+ metaV3.fieldsMap = {
317
+ phoneNumber: 'telephone1',
318
+ displayName: 'name'
319
+ };
320
+ }
321
+ } else if (integrationCode === 'OFFICE365') {
322
+ if (resourceType === 'Conversations') {
323
+ metaV3.layout.editable = false;
324
+ metaV3.layout.children = [{ // children enhancement
325
+ label: 'Comments',
326
+ name: 'comments',
327
+ reference: {
328
+ resourceType: 'Comment',
329
+ label: 'Comment',
330
+ editable: false
331
+ }
332
+ }];
333
+ } else if (resourceType === 'Comment') {
334
+ metaV3.layout.editable = false;
335
+ }
336
+ } else if (integrationCode === 'JOBDIVA') {
337
+ if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
338
+ metaV3.layout.editable = false;
339
+ }
340
+ } else if (integrationCode === 'CLIO' && resourceType === 'Contact') {
341
+ metaV3.layout.sections[0].fields.push({
342
+ name: 'custom_field_values',
343
+ type: 'hidden'
344
+ });
345
+ } else if (integrationCode === 'CONNECTWISE' && ['companies', 'contacts'].indexOf(resourceType) !== -1) {
346
+ metaV3.layout.sections[0].fields.push({
347
+ name: 'billToCompany',
348
+ type: 'hidden'
349
+ });
350
+ metaV3.layout.sections[0].fields.push({
351
+ name: 'identifier',
352
+ type: 'hidden'
353
+ });
354
+ metaV3.layout.sections[0].fields.push({
355
+ name: 'status',
356
+ type: 'hidden'
357
+ });
358
+ }
359
+ else if (integrationCode === 'ZOHO' && resourceType === 'Tasks') {
360
+ metaV3.layout.sections[0].fields.push({
361
+ name: 'module',
362
+ type: 'hidden'
363
+ });
364
+ }
365
+ return sortObj(metaV3);
366
+ };
@@ -0,0 +1,18 @@
1
+ /*
2
+ * @Author: Alexander.Vangelov@vonage.com
3
+ * @Date: 2020-04-14 12:15:36
4
+ * @Last Modified by: Alexander.Vangelov@vonage.com
5
+ * @Last Modified time: 2020-04-14 12:21:57
6
+ */
7
+
8
+ import { Pipe, PipeTransform } from '@angular/core';
9
+
10
+ @Pipe({
11
+ name: 'metaStripHtml',
12
+ standalone: false
13
+ })
14
+ export class MetaStripHtmlPipe implements PipeTransform {
15
+ transform(value: string): any {
16
+ return value.replace(/<[^>]*>/g, '');
17
+ }
18
+ }
@@ -0,0 +1,86 @@
1
+ export interface MetaTheme {
2
+ name: string;
3
+ properties: { [key: string]: string };
4
+ }
5
+
6
+ export const metaLight: MetaTheme = {
7
+ name: 'light',
8
+ properties: {
9
+ '--vgip-meta-resource-bg-color': '#f3f3f5',
10
+ '--vgip-meta-resource-color': '#131415',
11
+ '--vgip-meta-resource-bar-color': '#ffffff',
12
+ '--vgip-meta-separator-color': '#e1e2e6',
13
+ '--vgip-meta-scrollbar-color': '#131415',
14
+ '--vgip-meta-overlay-background': 'rgba(19, 20, 21, 0.5)',
15
+
16
+ '--vgip-meta-link-color': '#871fff',
17
+ '--vgip-meta-link-hover-color': '#441080',
18
+
19
+ '--vgip-meta-input-color': '#131415',
20
+ '--vgip-meta-input-bg-color': '#ffffff',
21
+ '--vgip-meta-input-label-color': '#616266',
22
+ '--vgip-meta-input-border-color': '#c2c4cc',
23
+ '--vgip-meta-input-active-border-color': '#2c2d30',
24
+ '--vgip-meta-input-action-hover-bg-color': '#e1e2e6',
25
+ '--vgip-meta-input-accent-bg-color': '#e1e2e6',
26
+ '--vgip-meta-input-accent-color': '#131415',
27
+ '--vgip-meta-input-placeholder-color': '#c2c4cc',
28
+ '--vgip-meta-input-disabled-bg-color': '#f3f3f5',
29
+ '--vgip-meta-input-disabled-border-color': '#e1e2e6',
30
+ '--vgip-meta-input-hint-color': '#616266',
31
+ // eslint-disable-next-line max-len
32
+ '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxMzE0MTU7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',
33
+ '--vgip-meta-suggestions-bg-color': '#f3e9ff',
34
+ // eslint-disable-next-line max-len
35
+ '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMTMxNDE1IiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',
36
+ '--vgip-meta-dropdown-bg-color': '#ffffff',
37
+ '--vgip-meta-dropdown-shadow': 'inset 0 0 0 1px #e1e2e6, 0 2px 5px rgba(19, 20, 21, 0.15)',
38
+ '--vgip-meta-submit-hover-bg-color': '#43474b',
39
+ '--vgip-meta-button-border-color': '#131415',
40
+ // eslint-disable-next-line max-len
41
+ '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjMTMxNDE1IiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',
42
+ // eslint-disable-next-line max-len
43
+ '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iIzEzMTQxNSIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'
44
+ }
45
+ };
46
+
47
+ export const metaDark: MetaTheme = {
48
+ name: 'dark',
49
+ properties: {
50
+ '--vgip-meta-resource-bg-color': '#131415',
51
+ '--vgip-meta-resource-color': '#ffffff',
52
+ '--vgip-meta-resource-bar-color': '#242426',
53
+ '--vgip-meta-separator-color': '#616266',
54
+ '--vgip-meta-scrollbar-color': '#636366',
55
+ '--vgip-meta-overlay-background': 'rgba(200,201,204,.32)',
56
+
57
+ '--vgip-meta-link-color': '#B779FF',
58
+ '--vgip-meta-link-hover-color': '#c798ff',
59
+
60
+ '--vgip-meta-input-color': '#ffffff',
61
+ '--vgip-meta-input-bg-color': '#242426',
62
+ '--vgip-meta-input-label-color': '#959596',
63
+ '--vgip-meta-input-border-color': '#616266',
64
+ '--vgip-meta-input-active-border-color': '#c2c4cc',
65
+ '--vgip-meta-input-action-hover-bg-color': '#313133',
66
+ '--vgip-meta-input-accent-bg-color': '#313133',
67
+ '--vgip-meta-input-accent-color': '#ffffff',
68
+ '--vgip-meta-input-placeholder-color': '#48484A',
69
+ '--vgip-meta-input-disabled-bg-color': '#131415',
70
+ '--vgip-meta-input-disabled-border-color': '#313133',
71
+ '--vgip-meta-input-hint-color': '#898a90',
72
+ // eslint-disable-next-line max-len
73
+ '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiNmZmZmZmY7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',
74
+ '--vgip-meta-suggestions-bg-color': '#871fff',
75
+ // eslint-disable-next-line max-len
76
+ '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',
77
+ '--vgip-meta-dropdown-bg-color': '#48484A',
78
+ '--vgip-meta-dropdown-shadow': 'none',
79
+ '--vgip-meta-submit-hover-bg-color': '#131415',
80
+ '--vgip-meta-button-border-color': '#616266',
81
+ // eslint-disable-next-line max-len
82
+ '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',
83
+ // eslint-disable-next-line max-len
84
+ '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'
85
+ }
86
+ };