@design.estate/dees-catalog 12.4.0 → 12.5.0

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 (67) hide show
  1. package/dist_bundle/bundle.js +2455 -1133
  2. package/dist_bundle/bundle.js.map +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +3 -3
  4. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
  5. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
  6. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
  7. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
  8. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
  9. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
  10. package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
  11. package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
  12. package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
  13. package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
  14. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
  15. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
  16. package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
  17. package/dist_ts_web/elements/00group-input/index.js +2 -1
  18. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
  19. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
  20. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
  21. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
  22. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
  23. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
  24. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
  25. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
  26. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
  27. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
  28. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
  29. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
  30. package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
  31. package/dist_ts_web/elements/00group-kanban/index.js +7 -0
  32. package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
  33. package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
  34. package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
  35. package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
  36. package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
  37. package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
  38. package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
  39. package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
  40. package/dist_ts_web/elements/index.d.ts +1 -0
  41. package/dist_ts_web/elements/index.js +2 -1
  42. package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
  43. package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
  44. package/package.json +1 -1
  45. package/readme.md +154 -0
  46. package/scripts/check-packed-consumer.mjs +1 -1
  47. package/ts_web/00_commitinfo_data.ts +3 -3
  48. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
  49. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
  50. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
  51. package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
  52. package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
  53. package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
  54. package/ts_web/elements/00group-input/index.ts +1 -0
  55. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
  56. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
  57. package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
  58. package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
  59. package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
  60. package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
  61. package/ts_web/elements/00group-kanban/index.ts +6 -0
  62. package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
  63. package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
  64. package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
  65. package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
  66. package/ts_web/elements/index.ts +1 -0
  67. package/ts_web/services/DeesServiceLibLoader.ts +2 -0
@@ -2,8 +2,8 @@
2
2
  * autocreated commitinfo by @push.rocks/commitinfo
3
3
  */
4
4
  export const commitinfo = {
5
- name: "@design.estate/dees-catalog",
6
- version: "12.4.0",
7
- description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
5
+ name: '@design.estate/dees-catalog',
6
+ version: '12.5.0',
7
+ description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -4,6 +4,12 @@ declare global {
4
4
  'dees-input-dropdown-popup': DeesInputDropdownPopup;
5
5
  }
6
6
  }
7
+ export interface IDropdownSearchOption {
8
+ key: string;
9
+ option: string;
10
+ payload?: unknown;
11
+ }
12
+ export type TDropdownSearch = (query: string, signal: AbortSignal) => Promise<IDropdownSearchOption[]>;
7
13
  export declare class DeesInputDropdownPopup extends DeesElement {
8
14
  accessor options: {
9
15
  option: string;
@@ -15,6 +21,12 @@ export declare class DeesInputDropdownPopup extends DeesElement {
15
21
  accessor triggerRect: DOMRect | null;
16
22
  accessor ownerComponent: HTMLElement | null;
17
23
  accessor selectedKey: string;
24
+ /** Optional remote search. Results are authoritative and are not filtered again locally. */
25
+ accessor searchOptions: TDropdownSearch | undefined;
26
+ accessor searchLabel: string;
27
+ accessor loading: boolean;
28
+ accessor searchError: string;
29
+ private searchAbort?;
18
30
  accessor filteredOptions: {
19
31
  option: string;
20
32
  key: string;
@@ -39,6 +51,7 @@ export declare class DeesInputDropdownPopup extends DeesElement {
39
51
  }[]): void;
40
52
  private selectOption;
41
53
  private handleSearch;
54
+ private searchRemote;
42
55
  private handleSearchKeydown;
43
56
  private handleScrollOrResize;
44
57
  disconnectedCallback(): Promise<void>;
@@ -61,6 +61,18 @@ let DeesInputDropdownPopup = (() => {
61
61
  let _selectedKey_decorators;
62
62
  let _selectedKey_initializers = [];
63
63
  let _selectedKey_extraInitializers = [];
64
+ let _searchOptions_decorators;
65
+ let _searchOptions_initializers = [];
66
+ let _searchOptions_extraInitializers = [];
67
+ let _searchLabel_decorators;
68
+ let _searchLabel_initializers = [];
69
+ let _searchLabel_extraInitializers = [];
70
+ let _loading_decorators;
71
+ let _loading_initializers = [];
72
+ let _loading_extraInitializers = [];
73
+ let _searchError_decorators;
74
+ let _searchError_initializers = [];
75
+ let _searchError_extraInitializers = [];
64
76
  let _filteredOptions_decorators;
65
77
  let _filteredOptions_initializers = [];
66
78
  let _filteredOptions_extraInitializers = [];
@@ -86,6 +98,10 @@ let DeesInputDropdownPopup = (() => {
86
98
  _triggerRect_decorators = [property({ attribute: false })];
87
99
  _ownerComponent_decorators = [property({ attribute: false })];
88
100
  _selectedKey_decorators = [property({ type: String })];
101
+ _searchOptions_decorators = [property({ attribute: false })];
102
+ _searchLabel_decorators = [property({ type: String })];
103
+ _loading_decorators = [state()];
104
+ _searchError_decorators = [state()];
89
105
  _filteredOptions_decorators = [state()];
90
106
  _highlightedIndex_decorators = [state()];
91
107
  _searchValue_decorators = [state()];
@@ -97,6 +113,10 @@ let DeesInputDropdownPopup = (() => {
97
113
  __esDecorate(this, null, _triggerRect_decorators, { kind: "accessor", name: "triggerRect", static: false, private: false, access: { has: obj => "triggerRect" in obj, get: obj => obj.triggerRect, set: (obj, value) => { obj.triggerRect = value; } }, metadata: _metadata }, _triggerRect_initializers, _triggerRect_extraInitializers);
98
114
  __esDecorate(this, null, _ownerComponent_decorators, { kind: "accessor", name: "ownerComponent", static: false, private: false, access: { has: obj => "ownerComponent" in obj, get: obj => obj.ownerComponent, set: (obj, value) => { obj.ownerComponent = value; } }, metadata: _metadata }, _ownerComponent_initializers, _ownerComponent_extraInitializers);
99
115
  __esDecorate(this, null, _selectedKey_decorators, { kind: "accessor", name: "selectedKey", static: false, private: false, access: { has: obj => "selectedKey" in obj, get: obj => obj.selectedKey, set: (obj, value) => { obj.selectedKey = value; } }, metadata: _metadata }, _selectedKey_initializers, _selectedKey_extraInitializers);
116
+ __esDecorate(this, null, _searchOptions_decorators, { kind: "accessor", name: "searchOptions", static: false, private: false, access: { has: obj => "searchOptions" in obj, get: obj => obj.searchOptions, set: (obj, value) => { obj.searchOptions = value; } }, metadata: _metadata }, _searchOptions_initializers, _searchOptions_extraInitializers);
117
+ __esDecorate(this, null, _searchLabel_decorators, { kind: "accessor", name: "searchLabel", static: false, private: false, access: { has: obj => "searchLabel" in obj, get: obj => obj.searchLabel, set: (obj, value) => { obj.searchLabel = value; } }, metadata: _metadata }, _searchLabel_initializers, _searchLabel_extraInitializers);
118
+ __esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
119
+ __esDecorate(this, null, _searchError_decorators, { kind: "accessor", name: "searchError", static: false, private: false, access: { has: obj => "searchError" in obj, get: obj => obj.searchError, set: (obj, value) => { obj.searchError = value; } }, metadata: _metadata }, _searchError_initializers, _searchError_extraInitializers);
100
120
  __esDecorate(this, null, _filteredOptions_decorators, { kind: "accessor", name: "filteredOptions", static: false, private: false, access: { has: obj => "filteredOptions" in obj, get: obj => obj.filteredOptions, set: (obj, value) => { obj.filteredOptions = value; } }, metadata: _metadata }, _filteredOptions_initializers, _filteredOptions_extraInitializers);
101
121
  __esDecorate(this, null, _highlightedIndex_decorators, { kind: "accessor", name: "highlightedIndex", static: false, private: false, access: { has: obj => "highlightedIndex" in obj, get: obj => obj.highlightedIndex, set: (obj, value) => { obj.highlightedIndex = value; } }, metadata: _metadata }, _highlightedIndex_initializers, _highlightedIndex_extraInitializers);
102
122
  __esDecorate(this, null, _searchValue_decorators, { kind: "accessor", name: "searchValue", static: false, private: false, access: { has: obj => "searchValue" in obj, get: obj => obj.searchValue, set: (obj, value) => { obj.searchValue = value; } }, metadata: _metadata }, _searchValue_initializers, _searchValue_extraInitializers);
@@ -124,7 +144,21 @@ let DeesInputDropdownPopup = (() => {
124
144
  #selectedKey_accessor_storage = (__runInitializers(this, _ownerComponent_extraInitializers), __runInitializers(this, _selectedKey_initializers, ''));
125
145
  get selectedKey() { return this.#selectedKey_accessor_storage; }
126
146
  set selectedKey(value) { this.#selectedKey_accessor_storage = value; }
127
- #filteredOptions_accessor_storage = (__runInitializers(this, _selectedKey_extraInitializers), __runInitializers(this, _filteredOptions_initializers, []));
147
+ #searchOptions_accessor_storage = (__runInitializers(this, _selectedKey_extraInitializers), __runInitializers(this, _searchOptions_initializers, void 0));
148
+ /** Optional remote search. Results are authoritative and are not filtered again locally. */
149
+ get searchOptions() { return this.#searchOptions_accessor_storage; }
150
+ set searchOptions(value) { this.#searchOptions_accessor_storage = value; }
151
+ #searchLabel_accessor_storage = (__runInitializers(this, _searchOptions_extraInitializers), __runInitializers(this, _searchLabel_initializers, 'Search options'));
152
+ get searchLabel() { return this.#searchLabel_accessor_storage; }
153
+ set searchLabel(value) { this.#searchLabel_accessor_storage = value; }
154
+ #loading_accessor_storage = (__runInitializers(this, _searchLabel_extraInitializers), __runInitializers(this, _loading_initializers, false));
155
+ get loading() { return this.#loading_accessor_storage; }
156
+ set loading(value) { this.#loading_accessor_storage = value; }
157
+ #searchError_accessor_storage = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _searchError_initializers, ''));
158
+ get searchError() { return this.#searchError_accessor_storage; }
159
+ set searchError(value) { this.#searchError_accessor_storage = value; }
160
+ searchAbort = __runInitializers(this, _searchError_extraInitializers);
161
+ #filteredOptions_accessor_storage = __runInitializers(this, _filteredOptions_initializers, []);
128
162
  get filteredOptions() { return this.#filteredOptions_accessor_storage; }
129
163
  set filteredOptions(value) { this.#filteredOptions_accessor_storage = value; }
130
164
  #highlightedIndex_accessor_storage = (__runInitializers(this, _filteredOptions_extraInitializers), __runInitializers(this, _highlightedIndex_initializers, 0));
@@ -294,9 +328,9 @@ let DeesInputDropdownPopup = (() => {
294
328
  <div class="search">
295
329
  <input
296
330
  type="text"
297
- placeholder="Search options..."
331
+ placeholder=${this.searchLabel}
298
332
  role="combobox"
299
- aria-label="Search options"
333
+ aria-label=${this.searchLabel}
300
334
  aria-expanded="true"
301
335
  aria-controls="dropdown-options"
302
336
  aria-activedescendant=${this.filteredOptions.length ? `dropdown-option-${this.highlightedIndex}` : ''}
@@ -309,8 +343,8 @@ let DeesInputDropdownPopup = (() => {
309
343
  : null}
310
344
  <div class="options-container" id="dropdown-options" role="listbox" aria-label=${this.ownerComponent?.getAttribute('label') || 'Options'}
311
345
  tabindex=${this.enableSearch ? '-1' : '0'} aria-activedescendant=${this.filteredOptions.length ? `dropdown-option-${this.highlightedIndex}` : ''}>
312
- ${this.filteredOptions.length === 0
313
- ? html `<div class="no-options">No options found</div>`
346
+ ${this.loading || this.searchError || this.filteredOptions.length === 0
347
+ ? html `<div class="no-options" role="status">${this.loading ? 'Searching…' : this.searchError || 'No options found'}</div>`
314
348
  : this.filteredOptions.map((option, index) => {
315
349
  const isHighlighted = this.highlightedIndex === index;
316
350
  return html `
@@ -343,6 +377,8 @@ let DeesInputDropdownPopup = (() => {
343
377
  }
344
378
  }
345
379
  async show() {
380
+ this.loading = false;
381
+ this.searchError = '';
346
382
  this.filteredOptions = this.options;
347
383
  this.highlightedIndex = Math.max(0, this.options.findIndex((option) => option.key === this.selectedKey));
348
384
  this.searchValue = '';
@@ -362,6 +398,8 @@ let DeesInputDropdownPopup = (() => {
362
398
  // Add scroll/resize listeners for repositioning
363
399
  window.addEventListener('scroll', this.handleScrollOrResize, { capture: true, passive: true });
364
400
  window.addEventListener('resize', this.handleScrollOrResize, { passive: true });
401
+ if (this.searchOptions)
402
+ void this.searchRemote();
365
403
  }
366
404
  async hide() {
367
405
  // Guard against double-destruction
@@ -369,6 +407,7 @@ let DeesInputDropdownPopup = (() => {
369
407
  return;
370
408
  }
371
409
  this.isDestroying = true;
410
+ this.searchAbort?.abort();
372
411
  // Remove scroll/resize listeners
373
412
  window.removeEventListener('scroll', this.handleScrollOrResize, { capture: true });
374
413
  window.removeEventListener('resize', this.handleScrollOrResize);
@@ -397,6 +436,8 @@ let DeesInputDropdownPopup = (() => {
397
436
  }
398
437
  updateOptions(options) {
399
438
  this.options = options;
439
+ if (this.searchOptions)
440
+ return;
400
441
  // Re-filter with current search value
401
442
  if (this.searchValue) {
402
443
  const searchLower = this.searchValue.toLowerCase();
@@ -415,11 +456,38 @@ let DeesInputDropdownPopup = (() => {
415
456
  handleSearch = (event) => {
416
457
  const searchTerm = event.target.value;
417
458
  this.searchValue = searchTerm;
459
+ if (this.searchOptions) {
460
+ void this.searchRemote();
461
+ return;
462
+ }
418
463
  const searchLower = searchTerm.toLowerCase();
419
464
  this.filteredOptions = this.options.filter((option) => option.option.toLowerCase().includes(searchLower));
420
465
  this.highlightedIndex = 0;
421
466
  };
467
+ async searchRemote() {
468
+ this.searchAbort?.abort();
469
+ const controller = this.searchAbort = new AbortController();
470
+ this.loading = true;
471
+ this.searchError = '';
472
+ this.filteredOptions = [];
473
+ this.highlightedIndex = 0;
474
+ try {
475
+ const options = await this.searchOptions(this.searchValue, controller.signal);
476
+ if (!controller.signal.aborted)
477
+ this.filteredOptions = options;
478
+ }
479
+ catch (error) {
480
+ if (!controller.signal.aborted)
481
+ this.searchError = error instanceof Error ? error.message : 'Search failed. Try again.';
482
+ }
483
+ finally {
484
+ if (!controller.signal.aborted)
485
+ this.loading = false;
486
+ }
487
+ }
422
488
  handleSearchKeydown = (event) => {
489
+ if (event.isComposing)
490
+ return;
423
491
  const key = event.key;
424
492
  const maxIndex = this.filteredOptions.length - 1;
425
493
  if (key === 'ArrowDown') {
@@ -428,7 +496,7 @@ let DeesInputDropdownPopup = (() => {
428
496
  }
429
497
  else if (key === 'ArrowUp') {
430
498
  event.preventDefault();
431
- this.highlightedIndex = this.highlightedIndex - 1 < 0 ? maxIndex : this.highlightedIndex - 1;
499
+ this.highlightedIndex = Math.max(0, this.highlightedIndex - 1 < 0 ? maxIndex : this.highlightedIndex - 1);
432
500
  }
433
501
  else if (key === 'Enter') {
434
502
  event.preventDefault();
@@ -449,6 +517,7 @@ let DeesInputDropdownPopup = (() => {
449
517
  this.dispatchEvent(new CustomEvent('reposition-request'));
450
518
  };
451
519
  async disconnectedCallback() {
520
+ this.searchAbort?.abort();
452
521
  window.removeEventListener('scroll', this.handleScrollOrResize, { capture: true });
453
522
  window.removeEventListener('resize', this.handleScrollOrResize);
454
523
  zIndexRegistry.unregister(this);
@@ -461,4 +530,4 @@ let DeesInputDropdownPopup = (() => {
461
530
  return DeesInputDropdownPopup = _classThis;
462
531
  })();
463
532
  export { DeesInputDropdownPopup };
464
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWlucHV0L2RlZXMtaW5wdXQtZHJvcGRvd24vZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFdBQVcsR0FDWixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztJQVNoRixzQkFBc0I7NEJBRGxDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQUFuQixTQUFRLFdBQVc7Ozs7bUNBQ3BELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FHekIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3NDQUczQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7dUNBRzNCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzswQ0FHOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3VDQUc5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7MkNBRzFCLEtB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
533
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWlucHV0L2RlZXMtaW5wdXQtZHJvcGRvd24vZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFdBQVcsR0FDWixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztJQVloRixzQkFBc0I7NEJBRGxDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQUFuQixTQUFRLFdBQVc7Ozs7bUNBQ3BELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FHekIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3NDQUczQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7dUNBRzNCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzswQ0FHOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3VDQUc5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7eUNBSTFCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt1Q0FDOUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO21DQUMxQixLQUFLLEVBQUU7dUNBQ1AsS0FBSyxFQUFFOzJDQUdQLEtBQUssRUFBRTs0Q0FHUCxLQUFLLEVBQUU7dUNBR1AsS0FBSyxFQUFFO3NDQUdQLEtBQUssRUFBRTttQ0FHUCxLQUFLLEVBQUU7WUFwQ1IsMEtBQVMsT0FBTyw2QkFBUCxPQUFPLHlGQUF3RDtZQUd4RSx5TEFBUyxZQUFZLDZCQUFaLFlBQVksbUdBQWlCO1lBR3RDLG1MQUFTLFVBQVUsNkJBQVYsVUFBVSwrRkFBa0I7WUFHckMsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUF3QjtZQUc1QywrTEFBUyxjQUFjLDZCQUFkLGNBQWMsdUdBQTRCO1lBR25ELHNMQUFTLFdBQVcsNkJBQVgsV0FBVyxpR0FBTTtZQUdNLDRMQUFTLGFBQWEsNkJBQWIsYUFBYSxxR0FBOEI7WUFDeEQsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUFvQjtZQUMzRCwwS0FBUyxPQUFPLDZCQUFQLE9BQU8seUZBQVM7WUFDekIsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUFNO1lBSW5DLGtNQUFTLGVBQWUsNkJBQWYsZUFBZSx5R0FBd0Q7WUFHaEYscU1BQVMsZ0JBQWdCLDZCQUFoQixnQkFBZ0IsMkdBQWE7WUFHdEMsc0xBQVMsV0FBVyw2QkFBWCxXQUFXLGlHQUFjO1lBR2xDLG1MQUFTLFVBQVUsNkJBQVYsVUFBVSwrRkFBZ0I7WUFHbkMsMEtBQVMsT0FBTyw2QkFBUCxPQUFPLHlGQUFrQjtZQXZDcEMsNktBd1pDOzs7O1FBdFpDLDJFQUFxRSxFQUFFLEVBQUM7UUFBeEUsSUFBUyxPQUFPLDZDQUF3RDtRQUF4RSxJQUFTLE9BQU8sbURBQXdEO1FBR3hFLDJJQUFpQyxJQUFJLEdBQUM7UUFBdEMsSUFBUyxZQUFZLGtEQUFpQjtRQUF0QyxJQUFTLFlBQVksd0RBQWlCO1FBR3RDLDRJQUErQixLQUFLLEdBQUM7UUFBckMsSUFBUyxVQUFVLGdEQUFrQjtRQUFyQyxJQUFTLFVBQVUsc0RBQWtCO1FBR3JDLDRJQUF1QyxJQUFJLEdBQUM7UUFBNUMsSUFBUyxXQUFXLGlEQUF3QjtRQUE1QyxJQUFTLFdBQVcsdURBQXdCO1FBRzVDLG1KQUE4QyxJQUFJLEdBQUM7UUFBbkQsSUFBUyxjQUFjLG9EQUE0QjtRQUFuRCxJQUFTLGNBQWMsMERBQTRCO1FBR25ELGdKQUF1QixFQUFFLEdBQUM7UUFBMUIsSUFBUyxXQUFXLGlEQUFNO1FBQTFCLElBQVMsV0FBVyx1REFBTTtRQUdNLDBKQUFvRDtRQURwRiw0RkFBNEY7UUFDNUQsSUFBUyxhQUFhLG1EQUE4QjtRQUFwRCxJQUFTLGFBQWEseURBQThCO1FBQ3hELCtJQUF1QixnQkFBZ0IsR0FBQztRQUF4QyxJQUFTLFdBQVcsaURBQW9CO1FBQXhDLElBQVMsV0FBVyx1REFBb0I7UUFDM0QscUlBQW1CLEtBQUssR0FBQztRQUF6QixJQUFTLE9BQU8sNkNBQVM7UUFBekIsSUFBUyxPQUFPLG1EQUFTO1FBQ3pCLHlJQUF1QixFQUFFLEdBQUM7UUFBMUIsSUFBUyxXQUFXLGlEQUFNO1FBQTFCLElBQVMsV0FBVyx1REFBTTtRQUMzQixXQUFXLDJEQUFtQjtRQUd0QywyRkFBNkUsRUFBRSxFQUFDO1FBQWhGLElBQVMsZUFBZSxxREFBd0Q7UUFBaEYsSUFBUyxlQUFlLDJEQUF3RDtRQUdoRiwySkFBb0MsQ0FBQyxHQUFDO1FBQXRDLElBQVMsZ0JBQWdCLHNEQUFhO1FBQXRDLElBQVMsZ0JBQWdCLDREQUFhO1FBR3RDLGtKQUErQixFQUFFLEdBQUM7UUFBbEMsSUFBUyxXQUFXLGlEQUFjO1FBQWxDLElBQVMsV0FBVyx1REFBYztRQUdsQywySUFBOEIsSUFBSSxHQUFDO1FBQW5DLElBQVMsVUFBVSxnREFBZ0I7UUFBbkMsSUFBUyxVQUFVLHNEQUFnQjtRQUduQyxvSUFBNEIsS0FBSyxHQUFDO1FBQWxDLElBQVMsT0FBTyw2Q0FBa0I7UUFBbEMsSUFBUyxPQUFPLG1EQUFrQjtRQUUxQixXQUFXLHlEQUEyQixJQUFJLEVBQUM7UUFDM0MsWUFBWSxHQUFZLEtBQUssQ0FBQztRQUUvQixNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLGtCQUFrQjtZQUNsQixVQUFVLENBQUMsYUFBYTtZQUN4QixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxSUY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztnQkFBRSxPQUFPLElBQUksQ0FBQSxFQUFFLENBQUM7WUFFckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFFN0MsT0FBTyxJQUFJLENBQUE7OzhCQUVlLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUTtpQkFDN0UsUUFBUSxjQUFjLElBQUksQ0FBQyxVQUFVO21CQUNuQyxJQUFJLENBQUMsbUJBQW1COztVQUVqQyxJQUFJLENBQUMsWUFBWTtnQkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQTs7OztnQ0FJZ0IsSUFBSSxDQUFDLFdBQVc7OytCQUVqQixJQUFJLENBQUMsV0FBVzs7OzBDQUdMLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQzNGLElBQUksQ0FBQyxXQUFXOzRCQUNoQixJQUFJLENBQUMsWUFBWTs0QkFDakIsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUU7OzthQUdoRDtnQkFDSCxDQUFDLENBQUMsSUFBSTt5RkFDeUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztxQkFDM0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLDBCQUEwQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFBLHlDQUF5QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksa0JBQWtCLFFBQVE7Z0JBQzNILENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLEtBQUssQ0FBQztvQkFDdEQsT0FBTyxJQUFJLENBQUE7O29DQUVTLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO3lCQUM3QyxtQkFBbUIsS0FBSyxFQUFFLGdDQUFnQyxNQUFNLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTzs4QkFDdkcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7bUNBQzFCLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQzs7c0JBRWxELE1BQU0sQ0FBQyxNQUFNOztpQkFFbEIsQ0FBQztnQkFDSixDQUFDLENBQUM7OztLQUdYLENBQUM7UUFDSixDQUFDO1FBRU8sb0JBQW9CO1lBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFZLENBQUM7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUVwRyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDakQsT0FBTyxTQUFTLElBQUksY0FBYyxLQUFLLGVBQWUsTUFBTSw2QkFBNkIsU0FBUyxJQUFJLENBQUM7WUFDekcsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixPQUFPLFNBQVMsSUFBSSxjQUFjLEtBQUssWUFBWSxHQUFHLGtCQUFrQixTQUFTLElBQUksQ0FBQztZQUN4RixDQUFDO1FBQ0gsQ0FBQztRQUVNLEtBQUssQ0FBQyxJQUFJO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN6RyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUV0QiwrREFBK0Q7WUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUM3RyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztZQUVILHFDQUFxQztZQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUUvQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbEQsMkJBQTJCO1lBQzNCLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBRXBCLGdEQUFnRDtZQUNoRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNoRixJQUFJLElBQUksQ0FBQyxhQUFhO2dCQUFFLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFFTSxLQUFLLENBQUMsSUFBSTtZQUNmLG1DQUFtQztZQUNuQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBRTFCLGlDQUFpQztZQUNqQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQTBCLENBQUMsQ0FBQztZQUMzRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBRWhFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7WUFFMUIsMEZBQTBGO1lBQzFGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1lBRUQsaUNBQWlDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWhELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQztRQUVNLEtBQUssQ0FBQyxnQkFBZ0I7WUFDM0IsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFXLENBQUMsYUFBYSxDQUFjLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUN0SCxJQUFJLEtBQUs7Z0JBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFTSxhQUFhLENBQUMsT0FBeUQ7WUFDNUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPO1lBQy9CLHNDQUFzQztZQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pELEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUMvQyxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN0QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRU8sWUFBWSxDQUFDLE1BQXNEO1lBQ3pFLElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLGlCQUFpQixFQUFFO2dCQUNqQyxNQUFNLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVPLFlBQVksR0FBRyxDQUFDLEtBQVksRUFBUSxFQUFFO1lBQzVDLE1BQU0sVUFBVSxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztZQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFBQyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFBQyxPQUFPO1lBQUMsQ0FBQztZQUM3RCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3BELE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUNsRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFFTSxLQUFLLENBQUMsWUFBWTtZQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU87b0JBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7WUFDakUsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTztvQkFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO1lBQzFILENBQUM7b0JBQVMsQ0FBQztnQkFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO1FBRU8sbUJBQW1CLEdBQUcsQ0FBQyxLQUFvQixFQUFRLEVBQUU7WUFDM0QsSUFBSSxLQUFLLENBQUMsV0FBVztnQkFBRSxPQUFPO1lBQzlCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRWpELElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1lBQy9GLENBQUM7aUJBQU0sSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RyxDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO29CQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDakUsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQzdDLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsbUJBQW1CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6SixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRU0sb0JBQW9CLEdBQUcsR0FBUyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxvQkFBb0I7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQTBCLENBQUMsQ0FBQztZQUMzRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyQyxDQUFDOztZQXZaVSx1REFBc0I7Ozs7O1NBQXRCLHNCQUFzQiJ9
@@ -0,0 +1,42 @@
1
+ import { DeesElement } from '@design.estate/dees-element';
2
+ import type { TReferenceContent, TReferenceSearch } from './interfaces.js';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'dees-input-reference': DeesInputReference;
6
+ }
7
+ }
8
+ export declare class DeesInputReference extends DeesElement {
9
+ static demo: () => import("@design.estate/dees-element").TemplateResult<1>;
10
+ static demoGroups: string[];
11
+ accessor value: TReferenceContent;
12
+ accessor searchReferences: TReferenceSearch | undefined;
13
+ accessor trigger: string;
14
+ accessor label: string;
15
+ accessor placeholder: string;
16
+ accessor searchLabel: string;
17
+ /** Changing documents resets editor history, so undo cannot cross conversation boundaries. */
18
+ accessor documentKey: string;
19
+ accessor disabled: boolean;
20
+ private accessor loadError;
21
+ private editor?;
22
+ private initializing?;
23
+ private connection;
24
+ private popup?;
25
+ private popupOpening?;
26
+ private referenceRange?;
27
+ private serializedValue;
28
+ static styles: import("@design.estate/dees-element").CSSResult[];
29
+ render(): import("@design.estate/dees-element").TemplateResult<1>;
30
+ connectedCallback(): Promise<void>;
31
+ /** Resolves after the lazy editor is mounted; also useful when focusing after opening a modal. */
32
+ ready(): Promise<void>;
33
+ private initialize;
34
+ updated(changed: Map<string, unknown>): void;
35
+ focus(options?: FocusOptions): void;
36
+ private detectTrigger;
37
+ private positionPicker;
38
+ private openPicker;
39
+ private closePicker;
40
+ private openReference;
41
+ disconnectedCallback(): Promise<void>;
42
+ }
@@ -0,0 +1 @@
1
+ export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;
@@ -0,0 +1,8 @@
1
+ import { html } from '@design.estate/dees-element';
2
+ import { demoPage, demoSection } from '../../../demos/templates.js';
3
+ export const demoFunc = () => demoPage('Reference composer', 'Type #_ to search at the cursor. Choose a ticket and continue writing.', demoSection('Ticket references', 'References preserve IDs through editing, undo and copy/paste.', html `
4
+ <dees-input-reference .searchReferences=${async (query) => [
5
+ { id: 'ticket-1', label: '#CAT-101 Keyboard navigation' }, { id: 'ticket-2', label: '#CAT-102 Ticket detail' },
6
+ ].filter(item => item.label.toLowerCase().includes(query.toLowerCase()))}></dees-input-reference>
7
+ `));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC1yZWZlcmVuY2UuZGVtby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWlucHV0L2RlZXMtaW5wdXQtcmVmZXJlbmNlL2RlZXMtaW5wdXQtcmVmZXJlbmNlLmRlbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSx3RUFBd0UsRUFDbkksV0FBVyxDQUFDLG1CQUFtQixFQUFFLCtEQUErRCxFQUFFLElBQUksQ0FBQTs4Q0FDMUQsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUM7SUFDakUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7Q0FDL0csQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztHQUN6RSxDQUFDLENBQUMsQ0FBQyJ9