Skip to content

Commit c9aaa05

Browse files
committed
fix(label-group): fix ssr:label handler initialization order
tslib private field WeakMaps aren't initialized when the constructor runs during SSR child event dispatch. Use a plain property and inline arrow function instead. Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6eb2a07 commit c9aaa05

1 file changed

Lines changed: 2 additions & 7 deletions

File tree

elements/pf-label-group/pf-label-group.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { LitElement, html, isServer, type TemplateResult } from 'lit';
22
import { customElement } from 'lit/decorators/custom-element.js';
33
import { property } from 'lit/decorators/property.js';
4-
import { state } from 'lit/decorators/state.js';
54
import { classMap } from 'lit/directives/class-map.js';
65

76
import { observes } from '@patternfly/pfe-core/decorators/observes.js';
@@ -85,7 +84,7 @@ export class PfLabelGroup extends LitElement {
8584
@property({ reflect: true, type: Boolean }) closeable = false;
8685

8786
/** Label count tracked during SSR via child events. */
88-
@state() private _ssrLabelCount = 0;
87+
_ssrLabelCount = 0;
8988

9089
get #overflowLabel(): PfLabel | null {
9190
return this.renderRoot?.querySelector?.<PfLabel>('#overflow') ?? null;
@@ -138,7 +137,7 @@ export class PfLabelGroup extends LitElement {
138137
constructor() {
139138
super();
140139
this.addEventListener('remove', this.#onRemove);
141-
this.addEventListener('ssr:label', this.#onSsrLabel);
140+
this.addEventListener('ssr:label', () => this._ssrLabelCount++);
142141
}
143142

144143
override render(): TemplateResult<1> {
@@ -207,10 +206,6 @@ export class PfLabelGroup extends LitElement {
207206
}
208207
}
209208

210-
#onSsrLabel() {
211-
this._ssrLabelCount++;
212-
}
213-
214209
#updateOverflow() {
215210
this.#labels.forEach((label, i) => {
216211
label.hidden = i >= this.numLabels && !this.open;

0 commit comments

Comments
 (0)