@design.estate/dees-catalog 3.97.1 → 3.98.1

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 (28) hide show
  1. package/dist_bundle/bundle.js +4915 -3518
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +35 -0
  4. package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +128 -5
  5. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +14 -0
  6. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +271 -117
  7. package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.d.ts +21 -0
  8. package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.js +79 -0
  9. package/dist_ts_web/elements/00group-feedback/dees-spinner/dees-spinner.js +12 -3
  10. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.d.ts +9 -0
  11. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +25 -2
  12. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.d.ts +15 -0
  13. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +36 -2
  14. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.d.ts +246 -0
  15. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.js +439 -21
  16. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +857 -23
  17. package/package.json +3 -3
  18. package/readme.hints.md +35 -0
  19. package/readme.md +80 -11
  20. package/ts_web/00_commitinfo_data.ts +1 -1
  21. package/ts_web/elements/00group-button/dees-button/dees-button.ts +128 -2
  22. package/ts_web/elements/00group-chart/dees-chart-area/component.ts +276 -116
  23. package/ts_web/elements/00group-chart/dees-chart-area/realtime-updates.ts +110 -0
  24. package/ts_web/elements/00group-feedback/dees-spinner/dees-spinner.ts +11 -2
  25. package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +18 -0
  26. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +29 -0
  27. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.ts +418 -19
  28. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +969 -20
@@ -0,0 +1,21 @@
1
+ export interface IRealtimeChartPoint {
2
+ time: number;
3
+ value: number;
4
+ }
5
+ export interface IRealtimeChartUpdate {
6
+ point: IRealtimeChartPoint;
7
+ historicalUpdate: boolean;
8
+ }
9
+ export interface IRealtimeChartUpdatePlan {
10
+ replacementRequired: boolean;
11
+ updates: IRealtimeChartUpdate[];
12
+ pruneRecommended: boolean;
13
+ pruneRequired: boolean;
14
+ }
15
+ /**
16
+ * Lightweight Charts can update the newest point or append newer points with
17
+ * update(). Historical update() calls may only target timestamps that already
18
+ * exist. Everything else needs an exact setData() replacement.
19
+ */
20
+ export declare const planRealtimeChartUpdates: (renderedData: readonly IRealtimeChartPoint[], canonicalData: readonly IRealtimeChartPoint[]) => IRealtimeChartUpdatePlan;
21
+ export declare const haveSameSeriesLayout: (renderedNames: readonly string[], canonicalNames: readonly string[]) => boolean;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Lightweight Charts can update the newest point or append newer points with
3
+ * update(). Historical update() calls may only target timestamps that already
4
+ * exist. Everything else needs an exact setData() replacement.
5
+ */
6
+ export const planRealtimeChartUpdates = (renderedData, canonicalData) => {
7
+ if (canonicalData.length === 0) {
8
+ return {
9
+ replacementRequired: renderedData.length !== 0,
10
+ updates: [],
11
+ pruneRecommended: false,
12
+ pruneRequired: false,
13
+ };
14
+ }
15
+ if (renderedData.length === 0) {
16
+ return {
17
+ replacementRequired: false,
18
+ updates: canonicalData.map((point) => ({ point, historicalUpdate: false })),
19
+ pruneRecommended: false,
20
+ pruneRequired: false,
21
+ };
22
+ }
23
+ const renderedByTime = new Map(renderedData.map((point) => [point.time, point]));
24
+ const canonicalByTime = new Map(canonicalData.map((point) => [point.time, point]));
25
+ const canonicalStart = canonicalData[0].time;
26
+ const renderedLastTime = renderedData[renderedData.length - 1].time;
27
+ // Points before canonicalStart are an expired rolling-window prefix and may
28
+ // stay hidden temporarily. Missing points anywhere else are structural
29
+ // deletions (including suffix deletion) and require an exact replacement.
30
+ const hasStructuralDeletion = renderedData.some((point) => point.time >= canonicalStart && !canonicalByTime.has(point.time));
31
+ if (hasStructuralDeletion) {
32
+ return {
33
+ replacementRequired: true,
34
+ updates: [],
35
+ pruneRecommended: false,
36
+ pruneRequired: false,
37
+ };
38
+ }
39
+ const updates = [];
40
+ for (const canonicalPoint of canonicalData) {
41
+ const renderedPoint = renderedByTime.get(canonicalPoint.time);
42
+ if (!renderedPoint) {
43
+ if (canonicalPoint.time < renderedLastTime) {
44
+ // Historical update() cannot insert a missing timestamp.
45
+ return {
46
+ replacementRequired: true,
47
+ updates: [],
48
+ pruneRecommended: false,
49
+ pruneRequired: false,
50
+ };
51
+ }
52
+ updates.push({ point: canonicalPoint, historicalUpdate: false });
53
+ continue;
54
+ }
55
+ if (renderedPoint.value !== canonicalPoint.value) {
56
+ updates.push({
57
+ point: canonicalPoint,
58
+ historicalUpdate: canonicalPoint.time < renderedLastTime,
59
+ });
60
+ }
61
+ }
62
+ const firstCanonicalPointIndex = renderedData.findIndex((point) => point.time >= canonicalStart);
63
+ const retainedPrefixLength = firstCanonicalPointIndex === -1
64
+ ? renderedData.length
65
+ : firstCanonicalPointIndex;
66
+ const projectedLength = renderedData.length
67
+ + updates.filter((update) => !renderedByTime.has(update.point.time)).length;
68
+ // Retain at most one additional hidden rolling window before compacting.
69
+ const retentionLimit = Math.max(canonicalData.length * 2, 2);
70
+ const pruneRecommended = retainedPrefixLength > 0 && projectedLength > retentionLimit;
71
+ // Hover may defer a recommended compaction to preserve the active crosshair,
72
+ // but never beyond two additional hidden windows.
73
+ const hardRetentionLimit = Math.max(canonicalData.length * 3, 3);
74
+ const pruneRequired = retainedPrefixLength > 0 && projectedLength > hardRetentionLimit;
75
+ return { replacementRequired: false, updates, pruneRecommended, pruneRequired };
76
+ };
77
+ export const haveSameSeriesLayout = (renderedNames, canonicalNames) => renderedNames.length === canonicalNames.length
78
+ && renderedNames.every((name, index) => name === canonicalNames[index]);
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtdXBkYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtYXJlYS9yZWFsdGltZS11cGRhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsWUFBNEMsRUFDNUMsYUFBNkMsRUFDbkIsRUFBRTtJQUM1QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTztZQUNMLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QyxPQUFPLEVBQUUsRUFBRTtZQUNYLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUs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
@@ -97,6 +97,10 @@ let DeesSpinner = (() => {
97
97
  display: block;
98
98
  }
99
99
 
100
+ /* --dees-spinner-color lets a spinner on a coloured surface (an accent button face,
101
+ a toast) match that surface's foreground. It is read as an inherited fallback
102
+ rather than declared on :host, because a :host declaration would outrank the
103
+ value an ancestor sets. Unset consumers keep the previous token. */
100
104
  #loading {
101
105
  position: relative;
102
106
  transition: none;
@@ -104,9 +108,14 @@ let DeesSpinner = (() => {
104
108
  justify-content: center;
105
109
  align-content: center;
106
110
  background: transparent;
107
- border: 3px solid color-mix(in srgb, var(--dees-color-text-primary) 20%, transparent);
111
+ border: 3px solid
112
+ color-mix(
113
+ in srgb,
114
+ var(--dees-spinner-color, var(--dees-color-text-primary)) 20%,
115
+ transparent
116
+ );
108
117
  border-radius: 50%;
109
- border-top-color: var(--dees-color-text-primary);
118
+ border-top-color: var(--dees-spinner-color, var(--dees-color-text-primary));
110
119
  animation: spin 1s ease-in-out infinite;
111
120
  -webkit-animation: spin 1s ease-in-out infinite;
112
121
  }
@@ -187,4 +196,4 @@ let DeesSpinner = (() => {
187
196
  return DeesSpinner = _classThis;
188
197
  })();
189
198
  export { DeesSpinner };
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zcGlubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZmVlZGJhY2svZGVlcy1zcGlubmVyL2RlZXMtc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLFFBQVEsRUFFUixVQUFVLEVBQ1YsR0FBRyxFQUVILFNBQVMsR0FDVixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsV0FBVzs0QkFEdkIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7OzJCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBVXpDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDOytCQUdELFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2tDQUdELFFBQVEsRUFBRTtZQVBYLGlLQUFTLElBQUksNkJBQUosSUFBSSxtRkFBTTtZQUtuQiw4SkFBUyxHQUFHLDZCQUFILEdBQUcsaUZBQWtCO1lBRzlCLHVLQUFTLE1BQU0sNkJBQU4sTUFBTSx1RkFBd0Q7WUFyQnpFLDZLQXNIQzs7OztRQXJIUSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7eUJBSVIsRUFBRTswQkFDRCxFQUFFO0dBQ3pCLENBQUM7UUFLRixxRUFBZ0IsRUFBRSxFQUFDO1FBQW5CLElBQVMsSUFBSSwwQ0FBTTtRQUFuQixJQUFTLElBQUksZ0RBQU07UUFLbkIsc0hBQXdCLEtBQUssR0FBQztRQUE5QixJQUFTLEdBQUcseUNBQWtCO1FBQTlCLElBQVMsR0FBRywrQ0FBa0I7UUFHOUIsMkhBQThELFFBQVEsR0FBQztRQUF2RSxJQUFTLE1BQU0sNENBQXdEO1FBQXZFLElBQVMsTUFBTSxrREFBd0Q7UUFFdkU7WUFDRSxLQUFLLEVBQUUsQ0FBQzs7U0FDVDtRQUVNLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F3REY7U0FDRixDQUFDO1FBRUYsTUFBTTtZQUNKLE9BQU8sSUFBSSxDQUFBOzs7bUJBR0ksSUFBSSxDQUFDLElBQUk7b0JBQ1IsSUFBSSxDQUFDLElBQUk7OzttQkFHVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDOzs7O21CQUk5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsOEJBQThCOzs7dUJBR3hFLElBQUksQ0FBQyxJQUFJOzs7b0JBR1osSUFBSSxDQUFDLE1BQU07VUFDckIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQSxzRUFBc0Usb0JBQW9CLGVBQWUsQ0FBQztnQkFDdkgsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ25DLE9BQVEsSUFBSSxDQUFBLG9CQUFvQixnQkFBZ0IsZUFBZSxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7O0tBRVAsQ0FBQztRQUNKLENBQUM7O1lBckhVLHVEQUFXOzs7OztTQUFYLFdBQVcifQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zcGlubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZmVlZGJhY2svZGVlcy1zcGlubmVyL2RlZXMtc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLFFBQVEsRUFFUixVQUFVLEVBQ1YsR0FBRyxFQUVILFNBQVMsR0FDVixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsV0FBVzs0QkFEdkIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7OzJCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBVXpDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDOytCQUdELFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2tDQUdELFFBQVEsRUFBRTtZQVBYLGlLQUFTLElBQUksNkJBQUosSUFBSSxtRkFBTTtZQUtuQiw4SkFBUyxHQUFHLDZCQUFILEdBQUcsaUZBQWtCO1lBRzlCLHVLQUFTLE1BQU0sNkJBQU4sTUFBTSx1RkFBd0Q7WUFyQnpFLDZLQStIQzs7OztRQTlIUSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7eUJBSVIsRUFBRTswQkFDRCxFQUFFO0dBQ3pCLENBQUM7UUFLRixxRUFBZ0IsRUFBRSxFQUFDO1FBQW5CLElBQVMsSUFBSSwwQ0FBTTtRQUFuQixJQUFTLElBQUksZ0RBQU07UUFLbkIsc0hBQXdCLEtBQUssR0FBQztRQUE5QixJQUFTLEdBQUcseUNBQWtCO1FBQTlCLElBQVMsR0FBRywrQ0FBa0I7UUFHOUIsMkhBQThELFFBQVEsR0FBQztRQUF2RSxJQUFTLE1BQU0sNENBQXdEO1FBQXZFLElBQVMsTUFBTSxrREFBd0Q7UUFFdkU7WUFDRSxLQUFLLEVBQUUsQ0FBQzs7U0FDVDtRQUVNLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpRUY7U0FDRixDQUFDO1FBRUYsTUFBTTtZQUNKLE9BQU8sSUFBSSxDQUFBOzs7bUJBR0ksSUFBSSxDQUFDLElBQUk7b0JBQ1IsSUFBSSxDQUFDLElBQUk7OzttQkFHVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDOzs7O21CQUk5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsOEJBQThCOzs7dUJBR3hFLElBQUksQ0FBQyxJQUFJOzs7b0JBR1osSUFBSSxDQUFDLE1BQU07VUFDckIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQSxzRUFBc0Usb0JBQW9CLGVBQWUsQ0FBQztnQkFDdkgsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ25DLE9BQVEsSUFBSSxDQUFBLG9CQUFvQixnQkFBZ0IsZUFBZSxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7O0tBRVAsQ0FBQztRQUNKLENBQUM7O1lBOUhVLHVEQUFXOzs7OztTQUFYLFdBQVcifQ==
@@ -14,10 +14,19 @@ export declare class DeesFormSubmit extends DeesElement {
14
14
  accessor size: 'sm' | 'default' | 'lg' | 'icon' | 'small' | 'normal' | 'large';
15
15
  accessor icon: string;
16
16
  accessor iconPosition: 'left' | 'right';
17
+ /** stretches the button face to the full host width — see dees-button.fullWidth */
18
+ accessor fullWidth: boolean;
17
19
  constructor();
18
20
  static styles: import("@design.estate/dees-element").CSSResult[];
19
21
  render(): TemplateResult;
20
22
  firstUpdated(): Promise<void>;
21
23
  submit(): Promise<void>;
24
+ /**
25
+ * NOT a focus method despite the name — it submits. `dees-form.addBehaviours()` calls
26
+ * `getSubmitButton()?.focus()` when Enter is pressed in the last field, and that is the
27
+ * catalog's "Enter submits the form" behaviour. Renaming it would break every form, so it
28
+ * stays; keyboard *focus* reaches the submit through the inner dees-button face, which
29
+ * carries its own tabindex.
30
+ */
22
31
  focus(): Promise<void>;
23
32
  }
@@ -62,6 +62,9 @@ let DeesFormSubmit = (() => {
62
62
  let _iconPosition_decorators;
63
63
  let _iconPosition_initializers = [];
64
64
  let _iconPosition_extraInitializers = [];
65
+ let _fullWidth_decorators;
66
+ let _fullWidth_initializers = [];
67
+ let _fullWidth_extraInitializers = [];
65
68
  var DeesFormSubmit = class extends _classSuper {
66
69
  static { _classThis = this; }
67
70
  static {
@@ -73,6 +76,7 @@ let DeesFormSubmit = (() => {
73
76
  _size_decorators = [property({ type: String, reflect: true })];
74
77
  _icon_decorators = [property({ type: String })];
75
78
  _iconPosition_decorators = [property({ type: String })];
79
+ _fullWidth_decorators = [property({ type: Boolean, reflect: true, attribute: 'full-width' })];
76
80
  __esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
77
81
  __esDecorate(this, null, _text_decorators, { kind: "accessor", name: "text", static: false, private: false, access: { has: obj => "text" in obj, get: obj => obj.text, set: (obj, value) => { obj.text = value; } }, metadata: _metadata }, _text_initializers, _text_extraInitializers);
78
82
  __esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
@@ -80,6 +84,7 @@ let DeesFormSubmit = (() => {
80
84
  __esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
81
85
  __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
82
86
  __esDecorate(this, null, _iconPosition_decorators, { kind: "accessor", name: "iconPosition", static: false, private: false, access: { has: obj => "iconPosition" in obj, get: obj => obj.iconPosition, set: (obj, value) => { obj.iconPosition = value; } }, metadata: _metadata }, _iconPosition_initializers, _iconPosition_extraInitializers);
87
+ __esDecorate(this, null, _fullWidth_decorators, { kind: "accessor", name: "fullWidth", static: false, private: false, access: { has: obj => "fullWidth" in obj, get: obj => obj.fullWidth, set: (obj, value) => { obj.fullWidth = value; } }, metadata: _metadata }, _fullWidth_initializers, _fullWidth_extraInitializers);
83
88
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
84
89
  DeesFormSubmit = _classThis = _classDescriptor.value;
85
90
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -110,9 +115,13 @@ let DeesFormSubmit = (() => {
110
115
  #iconPosition_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPosition_initializers, 'left'));
111
116
  get iconPosition() { return this.#iconPosition_accessor_storage; }
112
117
  set iconPosition(value) { this.#iconPosition_accessor_storage = value; }
118
+ #fullWidth_accessor_storage = (__runInitializers(this, _iconPosition_extraInitializers), __runInitializers(this, _fullWidth_initializers, false));
119
+ /** stretches the button face to the full host width — see dees-button.fullWidth */
120
+ get fullWidth() { return this.#fullWidth_accessor_storage; }
121
+ set fullWidth(value) { this.#fullWidth_accessor_storage = value; }
113
122
  constructor() {
114
123
  super();
115
- __runInitializers(this, _iconPosition_extraInitializers);
124
+ __runInitializers(this, _fullWidth_extraInitializers);
116
125
  }
117
126
  static styles = [
118
127
  themeDefaultStyles,
@@ -121,6 +130,12 @@ let DeesFormSubmit = (() => {
121
130
  :host {
122
131
  display: inline-block;
123
132
  }
133
+ /* The host has to stretch too, or forwarding fullWidth only widens the face inside a
134
+ still shrink-wrapped host and the property looks broken. */
135
+ :host([full-width]) {
136
+ display: block;
137
+ width: 100%;
138
+ }
124
139
  dees-button {
125
140
  width: 100%;
126
141
  }
@@ -135,6 +150,7 @@ let DeesFormSubmit = (() => {
135
150
  .icon=${this.icon}
136
151
  .iconPosition=${this.iconPosition}
137
152
  .text=${this.text}
153
+ .fullWidth=${this.fullWidth}
138
154
  ?disabled=${this.disabled}
139
155
  @clicked=${this.submit}
140
156
  ></dees-button>
@@ -162,6 +178,13 @@ let DeesFormSubmit = (() => {
162
178
  parentFormElement.gatherAndDispatch();
163
179
  }
164
180
  }
181
+ /**
182
+ * NOT a focus method despite the name — it submits. `dees-form.addBehaviours()` calls
183
+ * `getSubmitButton()?.focus()` when Enter is pressed in the last field, and that is the
184
+ * catalog's "Enter submits the form" behaviour. Renaming it would break every form, so it
185
+ * stays; keyboard *focus* reaches the submit through the inner dees-button face, which
186
+ * carries its own tabindex.
187
+ */
165
188
  async focus() {
166
189
  const domtools = await this.domtoolsPromise;
167
190
  if (!this.disabled) {
@@ -176,4 +199,4 @@ let DeesFormSubmit = (() => {
176
199
  return DeesFormSubmit = _classThis;
177
200
  })();
178
201
  export { DeesFormSubmit };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1mb3JtLXN1Ym1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWZvcm0vZGVlcy1mb3JtLXN1Ym1pdC9kZWVzLWZvcm0tc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztvQ0FRNUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FHekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBR3pDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBakIzQiw2S0FBUyxRQUFRLDZCQUFSLFFBQVEs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
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1mb3JtLXN1Ym1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWZvcm0vZGVlcy1mb3JtLXN1Ym1pdC9kZWVzLWZvcm0tc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztvQ0FRNUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FHekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBR3pDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJ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
@@ -20,9 +20,24 @@ export declare class DeesInputText extends DeesInputBase {
20
20
  };
21
21
  accessor vintegrated: boolean;
22
22
  accessor validConfirmed: boolean;
23
+ /**
24
+ * autofill hint forwarded to the inner input element.
25
+ * Empty by default, which renders no `autocomplete` attribute at all — byte-identical to
26
+ * this component before the property existed. Set it to a concrete token list to help
27
+ * password managers (`'username'`, `'current-password'`, `'one-time-code'`) or to opt an
28
+ * input into WebAuthn conditional mediation (`'username webauthn'`).
29
+ */
30
+ accessor autocomplete: string;
23
31
  private validTimeout;
24
32
  static styles: import("@design.estate/dees-element").CSSResult[];
25
33
  render(): TemplateResult;
34
+ /**
35
+ * `autocomplete` is applied imperatively rather than bound in the template so that the
36
+ * default renders no attribute at all. Binding it would emit `autocomplete=""` on every
37
+ * text input in the catalog, and an empty or `on` value is not universally equivalent to
38
+ * an absent one across browser and password-manager heuristics.
39
+ */
40
+ updated(_changedProperties: Map<string, any>): void;
26
41
  firstUpdated(): void;
27
42
  updateValue(eventArg: Event): Promise<void>;
28
43
  getContextMenuItems(): ({
@@ -68,6 +68,9 @@ let DeesInputText = (() => {
68
68
  let _validConfirmed_decorators;
69
69
  let _validConfirmed_initializers = [];
70
70
  let _validConfirmed_extraInitializers = [];
71
+ let _autocomplete_decorators;
72
+ let _autocomplete_initializers = [];
73
+ let _autocomplete_extraInitializers = [];
71
74
  var DeesInputText = class extends _classSuper {
72
75
  static { _classThis = this; }
73
76
  static {
@@ -97,6 +100,7 @@ let DeesInputText = (() => {
97
100
  reflect: true,
98
101
  })];
99
102
  _validConfirmed_decorators = [property({ attribute: false })];
103
+ _autocomplete_decorators = [property({ type: String })];
100
104
  __esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
101
105
  __esDecorate(this, null, _isPasswordBool_decorators, { kind: "accessor", name: "isPasswordBool", static: false, private: false, access: { has: obj => "isPasswordBool" in obj, get: obj => obj.isPasswordBool, set: (obj, value) => { obj.isPasswordBool = value; } }, metadata: _metadata }, _isPasswordBool_initializers, _isPasswordBool_extraInitializers);
102
106
  __esDecorate(this, null, _showPasswordBool_decorators, { kind: "accessor", name: "showPasswordBool", static: false, private: false, access: { has: obj => "showPasswordBool" in obj, get: obj => obj.showPasswordBool, set: (obj, value) => { obj.showPasswordBool = value; } }, metadata: _metadata }, _showPasswordBool_initializers, _showPasswordBool_extraInitializers);
@@ -105,6 +109,7 @@ let DeesInputText = (() => {
105
109
  __esDecorate(this, null, _validationFunction_decorators, { kind: "accessor", name: "validationFunction", static: false, private: false, access: { has: obj => "validationFunction" in obj, get: obj => obj.validationFunction, set: (obj, value) => { obj.validationFunction = value; } }, metadata: _metadata }, _validationFunction_initializers, _validationFunction_extraInitializers);
106
110
  __esDecorate(this, null, _vintegrated_decorators, { kind: "accessor", name: "vintegrated", static: false, private: false, access: { has: obj => "vintegrated" in obj, get: obj => obj.vintegrated, set: (obj, value) => { obj.vintegrated = value; } }, metadata: _metadata }, _vintegrated_initializers, _vintegrated_extraInitializers);
107
111
  __esDecorate(this, null, _validConfirmed_decorators, { kind: "accessor", name: "validConfirmed", static: false, private: false, access: { has: obj => "validConfirmed" in obj, get: obj => obj.validConfirmed, set: (obj, value) => { obj.validConfirmed = value; } }, metadata: _metadata }, _validConfirmed_initializers, _validConfirmed_extraInitializers);
112
+ __esDecorate(this, null, _autocomplete_decorators, { kind: "accessor", name: "autocomplete", static: false, private: false, access: { has: obj => "autocomplete" in obj, get: obj => obj.autocomplete, set: (obj, value) => { obj.autocomplete = value; } }, metadata: _metadata }, _autocomplete_initializers, _autocomplete_extraInitializers);
108
113
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
109
114
  DeesInputText = _classThis = _classDescriptor.value;
110
115
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -136,7 +141,17 @@ let DeesInputText = (() => {
136
141
  #validConfirmed_accessor_storage = (__runInitializers(this, _vintegrated_extraInitializers), __runInitializers(this, _validConfirmed_initializers, false));
137
142
  get validConfirmed() { return this.#validConfirmed_accessor_storage; }
138
143
  set validConfirmed(value) { this.#validConfirmed_accessor_storage = value; }
139
- validTimeout = __runInitializers(this, _validConfirmed_extraInitializers);
144
+ #autocomplete_accessor_storage = (__runInitializers(this, _validConfirmed_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));
145
+ /**
146
+ * autofill hint forwarded to the inner input element.
147
+ * Empty by default, which renders no `autocomplete` attribute at all — byte-identical to
148
+ * this component before the property existed. Set it to a concrete token list to help
149
+ * password managers (`'username'`, `'current-password'`, `'one-time-code'`) or to opt an
150
+ * input into WebAuthn conditional mediation (`'username webauthn'`).
151
+ */
152
+ get autocomplete() { return this.#autocomplete_accessor_storage; }
153
+ set autocomplete(value) { this.#autocomplete_accessor_storage = value; }
154
+ validTimeout = __runInitializers(this, _autocomplete_extraInitializers);
140
155
  static styles = [
141
156
  themeDefaultStyles,
142
157
  ...DeesInputBase.baseStyles,
@@ -390,6 +405,25 @@ let DeesInputText = (() => {
390
405
  </div>
391
406
  `;
392
407
  }
408
+ /**
409
+ * `autocomplete` is applied imperatively rather than bound in the template so that the
410
+ * default renders no attribute at all. Binding it would emit `autocomplete=""` on every
411
+ * text input in the catalog, and an empty or `on` value is not universally equivalent to
412
+ * an absent one across browser and password-manager heuristics.
413
+ */
414
+ updated(_changedProperties) {
415
+ super.updated(_changedProperties);
416
+ const input = this.shadowRoot?.querySelector('input');
417
+ if (!input) {
418
+ return;
419
+ }
420
+ if (this.autocomplete) {
421
+ input.setAttribute('autocomplete', this.autocomplete);
422
+ }
423
+ else {
424
+ input.removeAttribute('autocomplete');
425
+ }
426
+ }
393
427
  firstUpdated() {
394
428
  if (this.validationFunction && this.value) {
395
429
  const result = this.validationFunction(this.value);
@@ -504,4 +538,4 @@ let DeesInputText = (() => {
504
538
  return DeesInputText = _classThis;
505
539
  })();
506
540
  export { DeesInputText };
507
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaW5wdXQvZGVlcy1pbnB1dC10ZXh0L2RlZXMtaW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFDTCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLEdBQUcsR0FDSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sNERBQTRELENBQUM7SUFTdkQsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNFLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQXJCLFNBQVEsV0FBYTs7OztpQ0FLN0MsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7NENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MkNBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJ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
541
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaW5wdXQvZGVlcy1pbnB1dC10ZXh0L2RlZXMtaW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFDTCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLEdBQUcsR0FDSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sNERBQTRELENBQUM7SUFTdkQsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNFLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQXJCLFNBQVEsV0FBYTs7OztpQ0FLN0MsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7NENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MkNBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJ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