@homebridge-plugins/homebridge-smarthq 0.4.0-beta.4 → 0.4.0-beta.6

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 (58) hide show
  1. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.d.ts.map +1 -1
  2. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js +0 -2
  3. package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js.map +1 -1
  4. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts +2 -2
  5. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts.map +1 -1
  6. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js +4 -4
  7. package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js.map +1 -1
  8. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.d.ts.map +1 -1
  9. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js +2 -1
  10. package/dist/devices/OpalIceMaker/Managers/OpalMetadataSvcManager.js.map +1 -1
  11. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts +6 -4
  12. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.d.ts.map +1 -1
  13. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js +28 -29
  14. package/dist/devices/OpalIceMaker/Managers/OpalMonitorManager.js.map +1 -1
  15. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts +2 -0
  16. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.d.ts.map +1 -1
  17. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js +10 -1
  18. package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js.map +1 -1
  19. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +0 -4
  20. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -1
  21. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +2 -26
  22. package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -1
  23. package/dist/devices/OpalIceMaker/Managers/OpalSchedulingManager.d.ts +15 -0
  24. package/dist/devices/OpalIceMaker/Managers/OpalSchedulingManager.d.ts.map +1 -0
  25. package/dist/devices/OpalIceMaker/Managers/OpalSchedulingManager.js +38 -0
  26. package/dist/devices/OpalIceMaker/Managers/OpalSchedulingManager.js.map +1 -0
  27. package/dist/devices/OpalIceMaker/Managers/index.d.ts +1 -0
  28. package/dist/devices/OpalIceMaker/Managers/index.d.ts.map +1 -1
  29. package/dist/devices/OpalIceMaker/Managers/index.js +1 -0
  30. package/dist/devices/OpalIceMaker/Managers/index.js.map +1 -1
  31. package/dist/devices/OpalIceMaker/index.d.ts +2 -1
  32. package/dist/devices/OpalIceMaker/index.d.ts.map +1 -1
  33. package/dist/devices/OpalIceMaker/index.js +8 -4
  34. package/dist/devices/OpalIceMaker/index.js.map +1 -1
  35. package/dist/homebridge-ui/public/index.html +328 -30
  36. package/dist/settings.d.ts +30 -0
  37. package/dist/settings.d.ts.map +1 -1
  38. package/dist/settings.js.map +1 -1
  39. package/docs/classes/SmartHQPlatform.html +8 -8
  40. package/docs/functions/default.html +1 -1
  41. package/docs/interfaces/DeviceOptions.html +2 -2
  42. package/docs/interfaces/SmartHQPlatformConfig.html +2 -2
  43. package/docs/interfaces/SmartHqContext.html +2 -2
  44. package/docs/interfaces/credentials.html +2 -2
  45. package/docs/interfaces/devicesConfig.html +2 -2
  46. package/docs/interfaces/options.html +2 -2
  47. package/docs/variables/API_URL.html +1 -1
  48. package/docs/variables/ERD_CODES.html +1 -1
  49. package/docs/variables/ERD_TYPES.html +1 -1
  50. package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -1
  51. package/docs/variables/LOGIN_URL.html +1 -1
  52. package/docs/variables/OAUTH2_CLIENT_ID.html +1 -1
  53. package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -1
  54. package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -1
  55. package/docs/variables/PLATFORM_NAME.html +1 -1
  56. package/docs/variables/PLUGIN_NAME.html +1 -1
  57. package/docs/variables/SECURE_URL.html +1 -1
  58. package/package.json +1 -1
@@ -107,6 +107,65 @@
107
107
  target="_blank">Changelog</a>
108
108
  </li>
109
109
  </ul>
110
+ <style>
111
+ /* iOS Switch Style */
112
+ .ios-switch {
113
+ position: relative;
114
+ display: inline-block;
115
+ width: 42px;
116
+ height: 24px;
117
+ margin: 0;
118
+ }
119
+
120
+ .ios-switch input {
121
+ opacity: 0;
122
+ width: 0;
123
+ height: 0;
124
+ }
125
+
126
+ .slider {
127
+ position: absolute;
128
+ cursor: pointer;
129
+ top: 0;
130
+ left: 0;
131
+ right: 0;
132
+ bottom: 0;
133
+ background-color: #e4e4e4;
134
+ transition: .3s;
135
+ border-radius: 34px;
136
+ }
137
+
138
+ .slider:before {
139
+ position: absolute;
140
+ content: "";
141
+ height: 20px;
142
+ width: 20px;
143
+ left: 2px;
144
+ bottom: 2px;
145
+ background-color: white;
146
+ transition: .3s;
147
+ border-radius: 50%;
148
+ box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
149
+ }
150
+
151
+ input:checked+.slider {
152
+ background-color: #FFA002;
153
+ }
154
+
155
+ input:focus+.slider {
156
+ box-shadow: 0 0 1px #FFA002;
157
+ }
158
+
159
+ input:checked+.slider:before {
160
+ transform: translateX(18px);
161
+ }
162
+
163
+ /* Add this to ensure the switch works with your form handling */
164
+ .ios-switch input:disabled+.slider {
165
+ opacity: 0.5;
166
+ cursor: not-allowed;
167
+ }
168
+ </style>
110
169
  </div>
111
170
  <script>
112
171
  (async () => {
@@ -168,6 +227,7 @@
168
227
  const advancedOptions = thisAcc.services.filter((svc) => !!svc.characteristics.find((char) => char.displayName === 'Product Data'))
169
228
 
170
229
  if (advancedOptions.length) {
230
+
171
231
  // currently only supporting one accessory for now - opal
172
232
  const raw = advancedOptions[0].characteristics.find((char) => char.displayName === 'Product Data').value.split(',')
173
233
  raw.forEach((r) => {
@@ -176,42 +236,280 @@
176
236
  const metadata = Object.fromEntries(params)
177
237
  const th = document.createElement('th')
178
238
  th.scope = 'row'
239
+ th.style.width = '50%'
179
240
  th.innerHTML = metadata.label?.replaceAll('_', ' ')
180
241
  tr.appendChild(th)
242
+
181
243
  const td = document.createElement('td')
244
+ td.style.borderTop = '1px solid white'
245
+ if (metadata.type === 'scheduler') {
246
+ // Create a button to open the scheduler dialog
247
+ const button = document.createElement('button');
248
+ button.className = 'btn btn-sm btn-primary';
249
+ button.innerHTML = 'Configure Schedule';
250
+ button.style.color = 'white'
182
251
 
183
- const input = document.createElement('input')
184
- input.type = metadata.type === 'number' ? 'number' : metadata.type === 'boolean' ? 'checkbox' : ''
185
- input.placeholder = metadata.placeholder?.replaceAll('_', ' ') || ''
186
- const existingDefaultValue = metadata.type === 'number' ?
187
- Number(currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? 0)
188
- : metadata.t === 'boolean' ? Boolean(currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? false)
189
- : (currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? "")
190
-
191
- input.defaultValue = existingDefaultValue
192
- input.checked = existingDefaultValue
193
- input.addEventListener('change', async () => {
194
- const value =
195
- metadata.type === 'number'
196
- ? Number(event.target.value)
197
- : metadata.type === 'boolean' ? Boolean(input.checked ?? false)
198
- : (event.target.value ?? "")
199
-
200
- currentConfig[0] = {
201
- ...currentConfig[0],
202
- deviceOptions: {
203
- ...currentConfig[0].deviceOptions,
204
- [metadata.device]: {
205
- ...currentConfig[0].deviceOptions?.[metadata.device],
206
- [metadata.indicator]: value
207
- }
252
+ // Create a unique ID for this dialog
253
+ const dialogId = `scheduler-dialog-${metadata.device}-${metadata.indicator}`;
254
+
255
+ // Get existing schedule data or create a default one
256
+ // Structure includes enabled property for each day
257
+ const defaultSchedule = {
258
+ Monday: { time: '08:00', enabled: false },
259
+ Tuesday: { time: '08:00', enabled: false },
260
+ Wednesday: { time: '08:00', enabled: false },
261
+ Thursday: { time: '08:00', enabled: false },
262
+ Friday: { time: '08:00', enabled: false },
263
+ Saturday: { time: '08:00', enabled: false },
264
+ Sunday: { time: '08:00', enabled: false }
265
+ };
266
+
267
+ // Parse existing value if available
268
+ let scheduleData = defaultSchedule;
269
+ try {
270
+ if (currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator]) {
271
+ scheduleData = currentConfig[0].deviceOptions[metadata.device][metadata.indicator]
208
272
  }
273
+ } catch (e) {
274
+ console.error('Error parsing existing schedule data', e);
209
275
  }
210
- await homebridge.updatePluginConfig([...currentConfig])
211
- await homebridge.savePluginConfig();
212
- })
213
- tr.appendChild(input)
214
- document.getElementById('deviceAdvancedOptions').appendChild(tr)
276
+
277
+ // Create the dialog element with a custom overlay
278
+ const dialogOverlay = document.createElement('div');
279
+ dialogOverlay.id = dialogId;
280
+ dialogOverlay.style.display = 'none';
281
+ dialogOverlay.style.position = 'fixed';
282
+ dialogOverlay.style.top = '0';
283
+ dialogOverlay.style.left = '0';
284
+ dialogOverlay.style.width = '100%';
285
+ dialogOverlay.style.height = '100%';
286
+ dialogOverlay.style.backgroundColor = 'rgba(0,0,0,0.5)';
287
+ dialogOverlay.style.zIndex = '1000';
288
+ dialogOverlay.style.overflow = 'auto';
289
+
290
+ // Create the dialog content with Bootstrap styling classes
291
+ dialogOverlay.innerHTML = `
292
+ <div style="display: flex; align-items: center; justify-content: center; height: 100%;">
293
+ <div class="card" style="width: 90%; max-width: 500px;">
294
+ <div class="card-header">
295
+ <h5 class="mb-0">${metadata.label?.replaceAll('_', ' ') || 'Weekly Schedule'}</h5>
296
+ <button type="button" class="close" id="close-${dialogId}" aria-label="Close" style="position: absolute; right: .5rem; top: .5rem; border: none; background-color: transparent;">
297
+ <span aria-hidden="true">&times;</span>
298
+ </button>
299
+ </div>
300
+ <div class="card-body">
301
+ <div class="form-group row align-items-center table-active" style="background-color: #6c757d; display: flex;">
302
+ <label class="col-md-3 col-form-label" style="flex: .35; border: 1.5px solid rgb(91.8, 99.45, 106.25); padding: .25rem;">Day</label>
303
+ <label class="col-sm-3 col-form-label" style="flex: .25; border: 1.5px solid rgb(91.8, 99.45, 106.25); padding: .25rem;">Enabled</label>
304
+ <label class="col-sm-3 col-form-label" style="flex: 1; border: 1.5px solid rgb(91.8, 99.45, 106.25); padding: .25rem;">Start Time</label>
305
+ </div>
306
+ <form id="scheduler-form-${dialogId}">
307
+ ${Object.keys(scheduleData).map(day => `
308
+ <div class="form-group row align-items-center" style="display: flex;">
309
+ <label class="col-sm-3 col-form-label" style="border: 1.5px solid rgb(91.8, 99.45, 106.25); flex: .35; height: 2.75rem; padding: .25rem;">${day}</label>
310
+
311
+ <div class="col-sm-2 d-flex align-items-center" style="border: 1.5px solid rgb(91.8, 99.45, 106.25); flex: .25; height: 2.75rem; padding: .25rem;">
312
+ <label class="ios-switch" style="margin-bottom: 0; width: 42px; height: 24px;">
313
+ <input type="checkbox" id="enable-${dialogId}-${day}" name="enable-${day}"
314
+ ${scheduleData[day].enabled ? 'checked' : ''}>
315
+ <span class="slider"></span>
316
+ </label>
317
+ </div>
318
+
319
+ <div class="col-sm-7" style="display: flex; flex: 1; height: 2.75rem; padding: .25rem; border: 1.5px solid #6c757d;">
320
+ <input type="time" class="form-control" name="time-${day}" value="${scheduleData[day].time}"
321
+ ${!scheduleData[day].enabled ? 'disabled' : ''}>
322
+ </div>
323
+ </div>
324
+ `).join('')}
325
+ </form>
326
+ </div>
327
+ <div class="card-footer d-flex justify-content-end" style="column-gap: .5rem;">
328
+ <button type="button" class="btn btn-secondary mr-2" id="cancel-${dialogId}">Cancel</button>
329
+ <button type="button" class="btn btn-primary" id="save-${dialogId}">Save</button>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ `;
334
+
335
+ // Add the dialog to the document
336
+ document.body.appendChild(dialogOverlay);
337
+
338
+ // Show dialog function
339
+ const showDialog = () => {
340
+ dialogOverlay.style.display = 'block';
341
+ document.body.style.overflow = 'hidden'; // Prevent scrolling while dialog is open
342
+ };
343
+
344
+ // Hide dialog function
345
+ const hideDialog = () => {
346
+ dialogOverlay.style.display = 'none';
347
+ document.body.style.overflow = ''; // Restore scrolling
348
+ };
349
+
350
+ // Add event listeners
351
+ button.addEventListener('click', showDialog);
352
+
353
+ // Close button handler
354
+ document.getElementById(`close-${dialogId}`).addEventListener('click', hideDialog);
355
+
356
+ // Cancel button handler
357
+ document.getElementById(`cancel-${dialogId}`).addEventListener('click', hideDialog);
358
+
359
+ // Add event listeners to enable/disable time inputs based on checkbox state
360
+ Object.keys(scheduleData).forEach(day => {
361
+ const enableCheckbox = document.getElementById(`enable-${dialogId}-${day}`);
362
+ const timeInput = enableCheckbox.closest('.form-group').querySelector('input[type="time"]');
363
+
364
+ enableCheckbox.addEventListener('change', () => {
365
+ timeInput.disabled = !enableCheckbox.checked;
366
+ });
367
+ });
368
+
369
+ // Save button handler
370
+ document.getElementById(`save-${dialogId}`).addEventListener('click', async () => {
371
+ // Show spinner while saving
372
+ homebridge.showSpinner();
373
+
374
+ try {
375
+ // Collect the schedule data from the form
376
+ const form = document.getElementById(`scheduler-form-${dialogId}`);
377
+ const formElements = form.elements;
378
+ const newScheduleData = {};
379
+
380
+ // Process the form data
381
+ Object.keys(scheduleData).forEach(day => {
382
+ const enabled = formElements[`enable-${day}`].checked;
383
+ const time = formElements[`time-${day}`].value;
384
+
385
+ newScheduleData[day] = {
386
+ time: time,
387
+ enabled: enabled
388
+ };
389
+ });
390
+
391
+ // Update the config
392
+ currentConfig[0] = {
393
+ ...currentConfig[0],
394
+ deviceOptions: {
395
+ ...currentConfig[0].deviceOptions,
396
+ [metadata.device]: {
397
+ ...currentConfig[0].deviceOptions?.[metadata.device],
398
+ [metadata.indicator]: newScheduleData
399
+ }
400
+ }
401
+ };
402
+
403
+ // Save the config
404
+ await homebridge.updatePluginConfig([...currentConfig]);
405
+ await homebridge.savePluginConfig();
406
+
407
+ // Show a success message
408
+ homebridge.toast.success('Schedule saved successfully');
409
+ } catch (error) {
410
+ homebridge.toast.error(`Failed to save schedule: ${error.message}`);
411
+ } finally {
412
+ // Hide spinner and dialog
413
+ homebridge.hideSpinner();
414
+ hideDialog();
415
+ }
416
+ });
417
+
418
+ // Close dialog when clicking outside of it
419
+ dialogOverlay.addEventListener('click', (event) => {
420
+ if (event.target === dialogOverlay) {
421
+ hideDialog();
422
+ }
423
+ });
424
+
425
+ td.appendChild(button);
426
+ tr.appendChild(td)
427
+ document.getElementById('deviceAdvancedOptions').appendChild(tr)
428
+ } else if (metadata.type === 'number') {
429
+
430
+ const input = document.createElement('input');
431
+ input.type = 'number';
432
+ input.placeholder = metadata.placeholder?.replaceAll('_', ' ') || '';
433
+ const existingDefaultValue = Number(currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? 0);
434
+ input.defaultValue = existingDefaultValue;
435
+ td.appendChild(input);
436
+ tr.appendChild(td)
437
+ document.getElementById('deviceAdvancedOptions').appendChild(tr)
438
+ input.addEventListener('change', async () => {
439
+ const value = Number(event.target.value);
440
+ currentConfig[0] = {
441
+ ...currentConfig[0],
442
+ deviceOptions: {
443
+ ...currentConfig[0].deviceOptions,
444
+ [metadata.device]: {
445
+ ...currentConfig[0].deviceOptions?.[metadata.device],
446
+ [metadata.indicator]: value
447
+ }
448
+ }
449
+ };
450
+ await homebridge.updatePluginConfig([...currentConfig]);
451
+ await homebridge.savePluginConfig();
452
+ });
453
+
454
+ } else if (metadata.type === 'boolean') {
455
+ const switchDiv = document.createElement('div');
456
+ const existingDefaultValue = Boolean(currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? false);
457
+ // input.type = 'checkbox';
458
+ switchDiv.innerHTML = `
459
+ <label class="ios-switch" style="margin-bottom: 0; width: 42px; height: 24px;">
460
+ <input type="checkbox" id="enable-${metadata.device}-${metadata.indicator}" name="enable-${metadata.indicator}"
461
+ ${existingDefaultValue ? 'checked' : ''}>
462
+ <span class="slider"></span>
463
+ </label>
464
+ `
465
+
466
+ td.appendChild(switchDiv);
467
+ tr.appendChild(td)
468
+ document.getElementById('deviceAdvancedOptions').appendChild(tr)
469
+
470
+ const enableCheckbox = document.getElementById(`enable-${metadata.device}-${metadata.indicator}`);
471
+
472
+ enableCheckbox.addEventListener('change', async () => {
473
+ const value = Boolean(enableCheckbox.checked ?? false);
474
+ currentConfig[0] = {
475
+ ...currentConfig[0],
476
+ deviceOptions: {
477
+ ...currentConfig[0].deviceOptions,
478
+ [metadata.device]: {
479
+ ...currentConfig[0].deviceOptions?.[metadata.device],
480
+ [metadata.indicator]: value
481
+ }
482
+ }
483
+ };
484
+ await homebridge.updatePluginConfig([...currentConfig]);
485
+ await homebridge.savePluginConfig();
486
+ });
487
+ } else {
488
+ const input = document.createElement('input');
489
+ input.type = 'text';
490
+ input.placeholder = metadata.placeholder?.replaceAll('_', ' ') || '';
491
+ const existingDefaultValue = currentConfig[0].deviceOptions?.[metadata.device]?.[metadata.indicator] ?? "";
492
+ input.defaultValue = existingDefaultValue;
493
+ td.appendChild(input);
494
+ tr.appendChild(td)
495
+ document.getElementById('deviceAdvancedOptions').appendChild(tr)
496
+
497
+ input.addEventListener('change', async () => {
498
+ const value = event.target.value ?? "";
499
+ currentConfig[0] = {
500
+ ...currentConfig[0],
501
+ deviceOptions: {
502
+ ...currentConfig[0].deviceOptions,
503
+ [metadata.device]: {
504
+ ...currentConfig[0].deviceOptions?.[metadata.device],
505
+ [metadata.indicator]: value
506
+ }
507
+ }
508
+ };
509
+ await homebridge.updatePluginConfig([...currentConfig]);
510
+ await homebridge.savePluginConfig();
511
+ });
512
+ }
215
513
  })
216
514
  }
217
515
  homebridge.hideSpinner();
@@ -51,6 +51,36 @@ interface OpalOptions {
51
51
  oplHKCAddWaterNotificationPath?: string;
52
52
  oplHKCDescaleNotificationPath?: string;
53
53
  oplAutoShutoffOnBlockingEvent?: boolean;
54
+ oplIceProductionSchedule?: {
55
+ Monday: {
56
+ time: string;
57
+ enabled: boolean;
58
+ };
59
+ Tuesday: {
60
+ time: string;
61
+ enabled: boolean;
62
+ };
63
+ Wednesday: {
64
+ time: string;
65
+ enabled: boolean;
66
+ };
67
+ Thursday: {
68
+ time: string;
69
+ enabled: boolean;
70
+ };
71
+ Friday: {
72
+ time: string;
73
+ enabled: boolean;
74
+ };
75
+ Saturday: {
76
+ time: string;
77
+ enabled: boolean;
78
+ };
79
+ Sunday: {
80
+ time: string;
81
+ enabled: boolean;
82
+ };
83
+ };
54
84
  }
55
85
  export interface DeviceOptions {
56
86
  opal?: OpalOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,GAAG,MAAM,QAAQ,CAAA;AAIxB;;GAEG;AACH,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,WAAW,2CAA2C,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,SAAS,gDAAgD,CAAA;AAEtE;;GAEG;AACH,eAAO,MAAM,UAAU,6CAA6C,CAAA;AAGpE,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oCAAoC,CAAC,EAAE,MAAM,CAAA;CAC9C;AAED,UAAU,WAAW;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mCAAmC,CAAC,EAAE,MAAM,CAAA;IAC5C,sCAAsC,CAAC,EAAE,MAAM,CAAA;IAC/C,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAGD,eAAO,MAAM,gBAAgB,6CAA6C,CAAA;AAC1E,eAAO,MAAM,oBAAoB,qEAAqE,CAAA;AACtG,eAAO,MAAM,mBAAmB,uEAAuE,CAAA;AACvG,eAAO,MAAM,OAAO,8CAA8C,CAAA;AAClE,eAAO,MAAM,iBAAiB,QAAY,CAAA;AAE1C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJrB,CAAA;AAED,eAAO,MAAM,SAAS,wBAAoB,CAAA"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAMA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;AAEtB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,6CAA6C,CAAA;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,0CAA0C,CAAA;AA2FpE,YAAY;AACZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAA;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kEAAkE,CAAA;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,oEAAoE,CAAA;AACvG,MAAM,CAAC,MAAM,OAAO,GAAG,2CAA2C,CAAA;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,cAAc,EAAE,QAAiB;IACjC,YAAY,EAAE,QAAiB;IAC/B,UAAU,EAAE,QAAiB;IAC7B,YAAY,EAAE,QAAiB;IAC/B,YAAY,EAAE,QAAiB;IAC/B,aAAa,EAAE,QAAiB;IAChC,WAAW,EAAE,QAAiB;IAC9B,gBAAgB,EAAE,QAAiB;IACnC,qBAAqB,EAAE,QAAiB;IACxC,SAAS,EAAE,QAAiB;IAE5B,oBAAoB,EAAE,QAAiB;IACvC,sBAAsB,EAAE,QAAiB;IACzC,gCAAgC,EAAE,QAAiB;IACnD,YAAY,EAAE,QAAiB;IAC/B,oBAAoB,EAAE,QAAiB;IACvC,8BAA8B,EAAE,QAAiB;IACjD,kBAAkB,EAAE,QAAiB;IACrC,cAAc,EAAE,QAAiB;IACjC,wBAAwB,EAAE,QAAiB;IAC3C,YAAY,EAAE,QAAiB;IAE/B,YAAY;IACZ,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,iBAAiB,EAAE,QAAQ;IAC3B,mBAAmB,EAAE,QAAQ;IAC7B,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,QAAQ;IAExB,iBAAiB,EAAE,QAAiB;IACpC,WAAW,EAAE,QAAiB;IAC9B,iBAAiB,EAAE,QAAiB;IACpC,gBAAgB,EAAE,QAAiB;IACnC,kBAAkB,EAAE,QAAiB;IACrC,gBAAgB,EAAE,QAAiB;IACnC,uBAAuB,EAAE,QAAiB;IAC1C,iBAAiB,EAAE,QAAiB;IACpC,eAAe,EAAE,QAAiB;IAClC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,iBAAiB,EAAE,QAAiB;IACpC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,uBAAuB,EAAE,QAAiB;IAC1C,cAAc,EAAE,QAAiB;IACjC,eAAe,EAAE,QAAiB;IAClC,mBAAmB,EAAE,QAAiB;IACtC,YAAY,EAAE,QAAiB;IAC/B,YAAY,EAAE,QAAiB;IAC/B,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,mBAAmB,EAAE,QAAiB;IACtC,oBAAoB,EAAE,QAAiB;IACvC,qBAAqB,EAAE,QAAiB;IACxC,eAAe,EAAE,QAAiB;IAClC,QAAQ,EAAE,QAAiB;IAC3B,uBAAuB,EAAE,QAAiB;IAC1C,WAAW,EAAE,QAAiB;IAC9B,SAAS,EAAE,QAAiB;IAC5B,+BAA+B,EAAE,QAAiB;IAClD,8BAA8B,EAAE,QAAiB;IACjD,oBAAoB,EAAE,QAAiB;IACvC,8BAA8B,EAAE,QAAiB;IACjD,wBAAwB,EAAE,QAAiB;IAC3C,+BAA+B,EAAE,QAAiB;IAClD,8BAA8B,EAAE,QAAiB;IACjD,4BAA4B,EAAE,QAAiB;IAC/C,wBAAwB,EAAE,QAAiB;IAC3C,6BAA6B,EAAE,QAAiB;IAChD,wBAAwB,EAAE,QAAiB;IAC3C,yBAAyB,EAAE,QAAiB;IAC5C,2BAA2B,EAAE,QAAiB;IAC9C,+BAA+B,EAAE,QAAiB;IAClD,0BAA0B,EAAE,QAAiB;IAC7C,gBAAgB,EAAE,QAAiB;IACnC,6BAA6B,EAAE,QAAiB;IAChD,kBAAkB,EAAE,QAAiB;IACrC,sBAAsB,EAAE,QAAiB;IACzC,+BAA+B,EAAE,QAAiB;IAClD,8BAA8B,EAAE,QAAiB;IACjD,oBAAoB,EAAE,QAAiB;IACvC,8BAA8B,EAAE,QAAiB;IACjD,wBAAwB,EAAE,QAAiB;IAC3C,+BAA+B,EAAE,QAAiB;IAClD,8BAA8B,EAAE,QAAiB;IACjD,4BAA4B,EAAE,QAAiB;IAC/C,wBAAwB,EAAE,QAAiB;IAC3C,6BAA6B,EAAE,QAAiB;IAChD,wBAAwB,EAAE,QAAiB;IAC3C,yBAAyB,EAAE,QAAiB;IAC5C,2BAA2B,EAAE,QAAiB;IAC9C,+BAA+B,EAAE,QAAiB;IAClD,0BAA0B,EAAE,QAAiB;IAC7C,gBAAgB,EAAE,QAAiB;IACnC,6BAA6B,EAAE,QAAiB;IAChD,oBAAoB,EAAE,QAAiB;IAEvC,cAAc,EAAE,QAAiB;IACjC,cAAc,EAAE,QAAiB;IAEjC,oCAAoC,EAAE,QAAiB;IACvD,8BAA8B,EAAE,QAAiB;IACjD,mCAAmC,EAAE,QAAiB;IACtD,oCAAoC,EAAE,QAAiB;IACvD,mCAAmC,EAAE,QAAiB;IACtD,qDAAqD,EAAE,QAAiB;IACxE,oCAAoC,EAAE,QAAiB;IACvD,2CAA2C,EAAE,QAAiB;IAC9D,sCAAsC,EAAE,QAAiB;IAEzD,iCAAiC,EAAE,QAAiB;IAEpD,gBAAgB,EAAE,QAAiB;IACnC,sBAAsB,EAAE,QAAiB;IACzC,kCAAkC,EAAE,QAAiB;IACrD,qCAAqC,EAAE,QAAiB;IACxD,6BAA6B,EAAE,QAAiB;IAChD,yCAAyC,EAAE,QAAiB;IAC5D,4CAA4C,EAAE,QAAiB;IAC/D,wCAAwC,EAAE,QAAiB;IAC3D,sBAAsB,EAAE,QAAiB;IACzC,iBAAiB,EAAE,QAAiB;IACpC,qBAAqB,EAAE,QAAiB;IACxC,+BAA+B,EAAE,QAAiB;IAClD,gDAAgD,EAAE,QAAiB;IACnE,wCAAwC,EAAE,QAAiB;IAC3D,+CAA+C,EAAE,QAAiB;IAClE,2CAA2C,EAAE,QAAiB;IAC9D,yCAAyC,EAAE,QAAiB;IAC5D,gDAAgD,EAAE,QAAiB;IACnE,gDAAgD,EAAE,QAAiB;IACnE,wBAAwB,EAAE,QAAiB;IAC3C,wCAAwC,EAAE,QAAiB;IAC3D,kCAAkC,EAAE,QAAiB;IACrD,qBAAqB,EAAE,QAAiB;IACxC,0BAA0B,EAAE,QAAiB;IAC7C,iDAAiD,EAAE,QAAiB;CACrE,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1C,6GAA6G"}