@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
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.97.1',
6
+ version: '3.98.1',
7
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
@@ -21,6 +21,13 @@ export declare class DeesButton extends DeesElement {
21
21
  */
22
22
  accessor shape: 'squircle' | 'pill';
23
23
  accessor insideForm: boolean;
24
+ /**
25
+ * stretches the inner button face to the host width.
26
+ * The host is `inline-block`, so `width: 100%` on the host alone leaves the
27
+ * `inline-flex` face shrink-wrapped. Opt in for stacked, full-bleed actions
28
+ * (login cards, sheets, empty states).
29
+ */
30
+ accessor fullWidth: boolean;
24
31
  accessor icon: string;
25
32
  accessor iconPosition: 'left' | 'right';
26
33
  constructor();
@@ -32,5 +39,33 @@ export declare class DeesButton extends DeesElement {
32
39
  private extractLightDom;
33
40
  render(): TemplateResult;
34
41
  dispatchClick(): Promise<void>;
42
+ /** the inner face — the element that actually carries focus */
43
+ private get faceElement();
44
+ /**
45
+ * States in which the button must not react to input. `disabled` is obvious; the status
46
+ * faces matter too, because `.button.pending / .success / .error` already set
47
+ * `pointer-events: none` and keyboard activation has to refuse the same interactions a
48
+ * mouse cannot make.
49
+ */
50
+ private get isInert();
51
+ /**
52
+ * Focus lives on the inner face inside the shadow root, so `host.focus()` has to forward
53
+ * or it is a silent no-op. Note that `dees-form-submit.focus()` is deliberately *not*
54
+ * wired to this — that method submits the form, and dees-form depends on it.
55
+ */
56
+ focus(optionsArg?: FocusOptions): void;
57
+ blur(): void;
58
+ private handleKeydown;
59
+ private handleKeyup;
60
+ /**
61
+ * Keyboard activation goes through a real click rather than dispatching `clicked`
62
+ * directly, exactly as a native button does. Several catalog components bind `@click` on
63
+ * dees-button instead of `@clicked` (dees-workspace-diff-editor, the profile picture
64
+ * modal), and both listener styles have to keep working from the keyboard.
65
+ *
66
+ * `pointer-events: none` does not block a programmatic `click()`, so inertness is
67
+ * enforced here rather than left to CSS.
68
+ */
69
+ private activateFromKeyboard;
35
70
  firstUpdated(): Promise<void>;
36
71
  }
@@ -69,6 +69,9 @@ let DeesButton = (() => {
69
69
  let _insideForm_decorators;
70
70
  let _insideForm_initializers = [];
71
71
  let _insideForm_extraInitializers = [];
72
+ let _fullWidth_decorators;
73
+ let _fullWidth_initializers = [];
74
+ let _fullWidth_extraInitializers = [];
72
75
  let _icon_decorators;
73
76
  let _icon_initializers = [];
74
77
  let _icon_extraInitializers = [];
@@ -109,6 +112,7 @@ let DeesButton = (() => {
109
112
  type: Boolean,
110
113
  reflect: true
111
114
  })];
115
+ _fullWidth_decorators = [property({ type: Boolean, reflect: true, attribute: 'full-width' })];
112
116
  _icon_decorators = [property({ type: String, reflect: true })];
113
117
  _iconPosition_decorators = [property({ type: String, reflect: true })];
114
118
  __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);
@@ -120,6 +124,7 @@ let DeesButton = (() => {
120
124
  __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);
121
125
  __esDecorate(this, null, _shape_decorators, { kind: "accessor", name: "shape", static: false, private: false, access: { has: obj => "shape" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);
122
126
  __esDecorate(this, null, _insideForm_decorators, { kind: "accessor", name: "insideForm", static: false, private: false, access: { has: obj => "insideForm" in obj, get: obj => obj.insideForm, set: (obj, value) => { obj.insideForm = value; } }, metadata: _metadata }, _insideForm_initializers, _insideForm_extraInitializers);
127
+ __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);
123
128
  __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);
124
129
  __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);
125
130
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -160,7 +165,16 @@ let DeesButton = (() => {
160
165
  #insideForm_accessor_storage = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _insideForm_initializers, false));
161
166
  get insideForm() { return this.#insideForm_accessor_storage; }
162
167
  set insideForm(value) { this.#insideForm_accessor_storage = value; }
163
- #icon_accessor_storage = (__runInitializers(this, _insideForm_extraInitializers), __runInitializers(this, _icon_initializers, void 0));
168
+ #fullWidth_accessor_storage = (__runInitializers(this, _insideForm_extraInitializers), __runInitializers(this, _fullWidth_initializers, false));
169
+ /**
170
+ * stretches the inner button face to the host width.
171
+ * The host is `inline-block`, so `width: 100%` on the host alone leaves the
172
+ * `inline-flex` face shrink-wrapped. Opt in for stacked, full-bleed actions
173
+ * (login cards, sheets, empty states).
174
+ */
175
+ get fullWidth() { return this.#fullWidth_accessor_storage; }
176
+ set fullWidth(value) { this.#fullWidth_accessor_storage = value; }
177
+ #icon_accessor_storage = (__runInitializers(this, _fullWidth_extraInitializers), __runInitializers(this, _icon_initializers, void 0));
164
178
  get icon() { return this.#icon_accessor_storage; }
165
179
  set icon(value) { this.#icon_accessor_storage = value; }
166
180
  #iconPosition_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPosition_initializers, 'left'));
@@ -168,7 +182,6 @@ let DeesButton = (() => {
168
182
  set iconPosition(value) { this.#iconPosition_accessor_storage = value; }
169
183
  constructor() {
170
184
  super();
171
- __runInitializers(this, _iconPosition_extraInitializers);
172
185
  }
173
186
  async connectedCallback() {
174
187
  await super.connectedCallback();
@@ -205,6 +218,26 @@ let DeesButton = (() => {
205
218
  display: none;
206
219
  }
207
220
 
221
+ :host([full-width]) {
222
+ display: block;
223
+ width: 100%;
224
+ }
225
+
226
+ /* A full-width button is sized by its container, so its label has to yield rather
227
+ than spill out of the face when the container is narrower than the text. */
228
+ :host([full-width]) .button {
229
+ width: 100%;
230
+ min-width: 0;
231
+ overflow: hidden;
232
+ }
233
+
234
+ :host([full-width]) .textbox {
235
+ min-width: 0;
236
+ overflow: hidden;
237
+ text-overflow: ellipsis;
238
+ white-space: nowrap;
239
+ }
240
+
208
241
  /* Form spacing styles */
209
242
  :host([inside-form]) {
210
243
  margin-bottom: var(--dees-spacing-lg);
@@ -444,10 +477,30 @@ let DeesButton = (() => {
444
477
  display: none;
445
478
  }
446
479
 
447
- /* Focus state */
480
+ /* Focus state.
481
+ The base .button rule sets outline:none for the pointer path; the ring is restored
482
+ here for :focus-visible only, so a mouse press never leaves a ring behind while
483
+ keyboard focus is always visible. This rule is the focus affordance keyboard users
484
+ actually see — do not remove it alongside the base outline:none. */
448
485
  .button:focus-visible {
449
- outline: 2px solid var(--dees-color-focus-ring);
486
+ /* Deliberately NOT --dees-color-focus-ring: that token is a 0.45/0.55 alpha, which
487
+ composites to 1.85:1 (bright) and 2.31:1 (dark) against the surface behind the
488
+ button — under the 3:1 that WCAG 2.2 SC 1.4.11 requires of a focus indicator, and
489
+ effectively invisible as a navy hairline on a dark canvas. The opaque accent
490
+ measures 4.02:1 bright / 5.76:1 dark. Raising the alpha on the shared token would
491
+ fix every other control too and is the wider change. */
492
+ outline: 2px solid var(--dees-color-accent-primary);
450
493
  outline-offset: 2px;
494
+ /* The indicator has to appear at once. The base .button rule carries
495
+ transition:all, which animates outline-color up from its initial currentColor —
496
+ measured as ~50ms of a near-white ring on a bright accent face, i.e. briefly
497
+ invisible right when the user needs it. Only the focused state opts out. */
498
+ transition: none;
499
+ }
500
+
501
+ /* A disabled face is removed from the tab order, so it should never show a ring. */
502
+ .button.disabled:focus-visible {
503
+ outline: none;
451
504
  }
452
505
 
453
506
  /* Loading spinner */
@@ -553,7 +606,14 @@ let DeesButton = (() => {
553
606
  class="button ${this.isHidden ? 'hidden' : ''} ${actualType} size-${actualSize} shape-${this.shape} ${this.status} ${this.disabled
554
607
  ? 'disabled'
555
608
  : ''}"
609
+ role="button"
610
+ tabindex=${this.disabled ? -1 : 0}
611
+ aria-disabled=${this.disabled ? 'true' : 'false'}
612
+ aria-busy=${this.status === 'pending' ? 'true' : 'false'}
613
+ .ariaLabel=${showText ? null : this.text || null}
556
614
  @click="${this.dispatchClick}"
615
+ @keydown=${this.handleKeydown}
616
+ @keyup=${this.handleKeyup}
557
617
  >
558
618
  ${this.status === 'normal' ? html `` : html `
559
619
  <dees-spinner
@@ -579,6 +639,69 @@ let DeesButton = (() => {
579
639
  bubbles: true,
580
640
  }));
581
641
  }
642
+ /** the inner face — the element that actually carries focus */
643
+ get faceElement() {
644
+ return this.shadowRoot?.querySelector('.button') || null;
645
+ }
646
+ /**
647
+ * States in which the button must not react to input. `disabled` is obvious; the status
648
+ * faces matter too, because `.button.pending / .success / .error` already set
649
+ * `pointer-events: none` and keyboard activation has to refuse the same interactions a
650
+ * mouse cannot make.
651
+ */
652
+ get isInert() {
653
+ return this.disabled || this.status !== 'normal';
654
+ }
655
+ /**
656
+ * Focus lives on the inner face inside the shadow root, so `host.focus()` has to forward
657
+ * or it is a silent no-op. Note that `dees-form-submit.focus()` is deliberately *not*
658
+ * wired to this — that method submits the form, and dees-form depends on it.
659
+ */
660
+ focus(optionsArg) {
661
+ const face = this.faceElement;
662
+ if (face) {
663
+ face.focus(optionsArg);
664
+ return;
665
+ }
666
+ super.focus(optionsArg);
667
+ }
668
+ blur() {
669
+ this.faceElement?.blur();
670
+ super.blur();
671
+ }
672
+ handleKeydown = (__runInitializers(this, _iconPosition_extraInitializers), (eventArg) => {
673
+ if (eventArg.key === ' ' || eventArg.key === 'Spacebar') {
674
+ // Native buttons activate Space on keyup. Swallow the keydown so the page cannot
675
+ // scroll underneath the focused button.
676
+ eventArg.preventDefault();
677
+ return;
678
+ }
679
+ if (eventArg.key === 'Enter') {
680
+ eventArg.preventDefault();
681
+ this.activateFromKeyboard();
682
+ }
683
+ });
684
+ handleKeyup = (eventArg) => {
685
+ if (eventArg.key === ' ' || eventArg.key === 'Spacebar') {
686
+ eventArg.preventDefault();
687
+ this.activateFromKeyboard();
688
+ }
689
+ };
690
+ /**
691
+ * Keyboard activation goes through a real click rather than dispatching `clicked`
692
+ * directly, exactly as a native button does. Several catalog components bind `@click` on
693
+ * dees-button instead of `@clicked` (dees-workspace-diff-editor, the profile picture
694
+ * modal), and both listener styles have to keep working from the keyboard.
695
+ *
696
+ * `pointer-events: none` does not block a programmatic `click()`, so inertness is
697
+ * enforced here rather than left to CSS.
698
+ */
699
+ activateFromKeyboard() {
700
+ if (this.isInert) {
701
+ return;
702
+ }
703
+ this.faceElement?.click();
704
+ }
582
705
  async firstUpdated() {
583
706
  // Extract light DOM content (icon + text) and set as properties
584
707
  this.extractLightDom();
@@ -590,4 +713,4 @@ let DeesButton = (() => {
590
713
  return DeesButton = _classThis;
591
714
  })();
592
715
  export { DeesButton };
593
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1idXR0b24vZGVlcy1idXR0b24vZGVlcy1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFFSCxTQUFTLEdBQ1YsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQVN6QyxVQUFVOzRCQUR0QixhQUFhLENBQUMsYUFBYSxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQW5CLFNBQVEsV0FBVzs7OztnQ0FJeEMsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFVBQVU7d0JBQ1IsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRixDQUFDOzJDQUdELFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQztvQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87aUJBQ2QsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztrQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztpQ0FR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
716
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1idXR0b24vZGVlcy1idXR0b24vZGVlcy1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFFSCxTQUFTLEdBQ1YsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQVN6QyxVQUFVOzRCQUR0QixhQUFhLENBQUMsYUFBYSxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQW5CLFNBQVEsV0FBVzs7OztnQ0FJeEMsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFVBQVU7d0JBQ1IsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRixDQUFDOzJDQUdELFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQztvQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87aUJBQ2QsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztrQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztp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
@@ -59,15 +59,28 @@ export declare class DeesChartArea extends DeesElement {
59
59
  private seriesApis;
60
60
  private priceLines;
61
61
  private tooltipEl;
62
+ private crosshairActive;
63
+ private pendingRealtimePrune;
64
+ private crosshairMoveHandler;
65
+ private chartContainer;
66
+ private readonly chartMouseLeaveHandler;
62
67
  constructor();
63
68
  static styles: import("@design.estate/dees-element").CSSResult[];
64
69
  render(): TemplateResult;
65
70
  private convertDataToLC;
71
+ private getSeriesName;
72
+ private getSeriesKey;
73
+ private getCanonicalChartSeries;
74
+ private getRenderedSeriesData;
66
75
  private colorToRgba;
67
76
  private getSeriesColors;
68
77
  private resolveSeriesColor;
69
78
  private applyTheme;
70
79
  private recreateSeries;
80
+ private updateSeriesPresentation;
81
+ private handleCrosshairCleared;
82
+ private clearCrosshairForDataReplacement;
83
+ private flushPendingRealtimePrune;
71
84
  private computeStats;
72
85
  private updatePriceLines;
73
86
  private setupTooltip;
@@ -89,4 +102,5 @@ export declare class DeesChartArea extends DeesElement {
89
102
  private refreshPriceLines;
90
103
  private startAutoScroll;
91
104
  private stopAutoScroll;
105
+ private syncAutoScroll;
92
106
  }