@design.estate/dees-catalog 12.4.0 → 13.0.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 (75) hide show
  1. package/dist_bundle/bundle.js +2603 -1201
  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-chart/dees-chart-area/component.d.ts +26 -16
  5. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +161 -72
  6. package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.d.ts +2 -1
  7. package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.js +3 -2
  8. package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +4 -3
  9. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
  10. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
  11. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
  12. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
  13. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
  14. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
  15. package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
  16. package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
  17. package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
  18. package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
  19. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
  20. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
  21. package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
  22. package/dist_ts_web/elements/00group-input/index.js +2 -1
  23. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
  24. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
  25. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
  26. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
  27. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
  28. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
  29. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
  30. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
  31. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
  32. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
  33. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
  34. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
  35. package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
  36. package/dist_ts_web/elements/00group-kanban/index.js +7 -0
  37. package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
  38. package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
  39. package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
  40. package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
  41. package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
  42. package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
  43. package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
  44. package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
  45. package/dist_ts_web/elements/index.d.ts +1 -0
  46. package/dist_ts_web/elements/index.js +2 -1
  47. package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
  48. package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
  49. package/package.json +1 -1
  50. package/readme.md +165 -1
  51. package/scripts/check-packed-consumer.mjs +1 -1
  52. package/ts_web/00_commitinfo_data.ts +3 -3
  53. package/ts_web/elements/00group-chart/dees-chart-area/component.ts +195 -79
  54. package/ts_web/elements/00group-chart/dees-chart-area/realtime-updates.ts +4 -2
  55. package/ts_web/elements/00group-chart/dees-chart-area/template.ts +3 -2
  56. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
  57. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
  58. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
  59. package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
  60. package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
  61. package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
  62. package/ts_web/elements/00group-input/index.ts +1 -0
  63. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
  64. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
  65. package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
  66. package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
  67. package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
  68. package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
  69. package/ts_web/elements/00group-kanban/index.ts +6 -0
  70. package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
  71. package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
  72. package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
  73. package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
  74. package/ts_web/elements/index.ts +1 -0
  75. package/ts_web/services/DeesServiceLibLoader.ts +2 -0
@@ -1,6 +1,7 @@
1
1
  export interface IRealtimeChartPoint {
2
2
  time: number;
3
- value: number;
3
+ /** Omitted for a time point where this series has no reading. */
4
+ value?: number;
4
5
  }
5
6
  export interface IRealtimeChartUpdate {
6
7
  point: IRealtimeChartPoint;
@@ -52,7 +52,8 @@ export const planRealtimeChartUpdates = (renderedData, canonicalData) => {
52
52
  updates.push({ point: canonicalPoint, historicalUpdate: false });
53
53
  continue;
54
54
  }
55
- if (renderedPoint.value !== canonicalPoint.value) {
55
+ if (renderedPoint.value !== canonicalPoint.value
56
+ || ('value' in renderedPoint) !== ('value' in canonicalPoint)) {
56
57
  updates.push({
57
58
  point: canonicalPoint,
58
59
  historicalUpdate: canonicalPoint.time < renderedLastTime,
@@ -76,4 +77,4 @@ export const planRealtimeChartUpdates = (renderedData, canonicalData) => {
76
77
  };
77
78
  export const haveSameSeriesLayout = (renderedNames, canonicalNames) => renderedNames.length === canonicalNames.length
78
79
  && renderedNames.every((name, index) => name === canonicalNames[index]);
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtdXBkYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtYXJlYS9yZWFsdGltZS11cGRhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsWUFBNEMsRUFDNUMsYUFBNkMsRUFDbkIsRUFBRTtJQUM1QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTztZQUNMLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QyxPQUFPLEVBQUUsRUFBRTtZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtdXBkYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtYXJlYS9yZWFsdGltZS11cGRhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsWUFBNEMsRUFDNUMsYUFBNkMsRUFDbkIsRUFBRTtJQUM1QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTztZQUNMLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QyxPQUFPLEVBQUUsRUFBRTtZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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
@@ -12,7 +12,8 @@ export const renderChartArea = (component) => {
12
12
  <div class="chartContainer">
13
13
  <div class="rangeSelectionOverlay" aria-hidden="true"></div>
14
14
  </div>
15
- ${!component.chartSeries.some(series => series.data.length) ? html `<div class="chartState" role="status">No data for this period</div>` : ''}
15
+ ${!component.chartSeries.some(series => series.data.some(point => point.y !== null))
16
+ ? html `<div class="chartState" role="status">No data for this period</div>` : ''}
16
17
  ${component.seriesStats.length > 0 && !component.hideLegend ? html `
17
18
  <div slot="footer" class="statsBar">
18
19
  ${component.seriesStats.map(s => html `
@@ -22,7 +23,7 @@ export const renderChartArea = (component) => {
22
23
  ${component.legendStats
23
24
  .filter(key => key === 'latest' || key === 'min' || key === 'max' || key === 'avg')
24
25
  .map(key => html `
25
- <span class="statsItem">${key} <strong>${component.yAxisFormatter(s[key])}</strong></span>
26
+ <span class="statsItem">${key} <strong>${s[key] === null ? '—' : component.yAxisFormatter(s[key])}</strong></span>
26
27
  `)}
27
28
  </div>
28
29
  `)}
@@ -31,4 +32,4 @@ export const renderChartArea = (component) => {
31
32
  </dees-tile>
32
33
  `;
33
34
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWFyZWEvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQXdCLEVBQWtCLEVBQUU7SUFDdEUsT0FBTyxJQUFJLENBQUE7OztxQ0FHb0IsU0FBUyxDQUFDLEtBQUs7K0NBQ0wsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGNBQWMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsV0FBVztpQ0FDbk0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixjQUFjLEVBQUU7Ozs7OztZQU1uRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLHFFQUFxRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7Z0JBRTVELFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBOzsrREFFWSxDQUFDLENBQUMsS0FBSzs0Q0FDMUIsQ0FBQyxDQUFDLElBQUk7b0JBQzlCLFNBQVMsQ0FBQyxXQUFXO1NBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUM7U0FDbEYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBO2dEQUNZLEdBQUcsWUFBWSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDMUUsQ0FBQzs7ZUFFUCxDQUFDOztXQUVMLENBQUMsQ0FBQyxDQUFDLEVBQUU7O09BRVQsQ0FBQztBQUNSLENBQUMsQ0FBQyJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWFyZWEvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBdUIsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQXdCLEVBQWtCLEVBQUU7SUFDdEUsT0FBTyxJQUFJLENBQUE7OztxQ0FHb0IsU0FBUyxDQUFDLEtBQUs7K0NBQ0wsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGNBQWMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsV0FBVztpQ0FDbk0sU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixjQUFjLEVBQUU7Ozs7OztZQU1uRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxJQUFJLENBQUEscUVBQXFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEYsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOztnQkFFNUQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUE7OytEQUVZLENBQUMsQ0FBQyxLQUFLOzRDQUMxQixDQUFDLENBQUMsSUFBSTtvQkFDOUIsU0FBUyxDQUFDLFdBQVc7U0FDcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQztTQUNsRixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUE7Z0RBQ1ksR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2xHLENBQUM7O2VBRVAsQ0FBQzs7V0FFTCxDQUFDLENBQUMsQ0FBQyxFQUFFOztPQUVULENBQUM7QUFDUixDQUFDLENBQUMifQ==
@@ -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