@descope/web-components-ui 3.13.1 → 3.13.2

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.
package/dist/index.esm.js CHANGED
@@ -25606,6 +25606,11 @@ class RawTooltip extends createBaseClass$1({
25606
25606
  componentName: componentName$9,
25607
25607
  baseSelector: 'vaadin-tooltip',
25608
25608
  }) {
25609
+ // Observes the inner descope-anchored's `class` attribute so runtime updates
25610
+ // (e.g. real-time conditional components toggling `.hidden`) keep this
25611
+ // tooltip's class in sync. Set up in connectedCallback so reconnects work.
25612
+ #anchoredClassObserver = null;
25613
+
25609
25614
  constructor() {
25610
25615
  super();
25611
25616
 
@@ -25721,9 +25726,31 @@ class RawTooltip extends createBaseClass$1({
25721
25726
  );
25722
25727
  this.#setTooltipTarget();
25723
25728
 
25729
+ setTimeout(() => this.#onOverlayReady());
25730
+ }
25731
+
25732
+ #observeAnchored() {
25733
+ this.#anchoredClassObserver?.disconnect();
25734
+ if (this.anchored) {
25735
+ this.#anchoredClassObserver = observeAttributes$1(
25736
+ this.anchored,
25737
+ () => this.#syncComponentState(),
25738
+ { includeAttrs: ['class'] },
25739
+ );
25740
+ }
25741
+ }
25742
+
25743
+ // createBaseClass gates init() to first-connect, so observing here is
25744
+ // required for the detach/reattach cycle to keep working.
25745
+ connectedCallback() {
25746
+ super.connectedCallback?.();
25724
25747
  this.#syncComponentState();
25748
+ this.#observeAnchored();
25749
+ }
25725
25750
 
25726
- setTimeout(() => this.#onOverlayReady());
25751
+ disconnectedCallback() {
25752
+ super.disconnectedCallback?.();
25753
+ this.#anchoredClassObserver?.disconnect();
25727
25754
  }
25728
25755
 
25729
25756
  #setTooltipTarget() {
@@ -27015,6 +27042,12 @@ class RawAttachment extends createBaseClass$1({
27015
27042
  componentName: componentName$6,
27016
27043
  baseSelector: 'descope-anchored',
27017
27044
  }) {
27045
+ // Observes the inner descope-anchored's `class` attribute so runtime
27046
+ // updates (e.g. real-time conditional components toggling `.hidden`) keep
27047
+ // this attachment host's class in sync. Set up in connectedCallback so
27048
+ // reconnects work (createBaseClass gates init() to first connect only).
27049
+ #anchoredClassObserver = null;
27050
+
27018
27051
  constructor() {
27019
27052
  super();
27020
27053
 
@@ -27053,8 +27086,6 @@ class RawAttachment extends createBaseClass$1({
27053
27086
  init() {
27054
27087
  super.init?.();
27055
27088
 
27056
- this.#syncComponentState();
27057
-
27058
27089
  injectStyle(
27059
27090
  `
27060
27091
  :host {
@@ -27105,6 +27136,30 @@ class RawAttachment extends createBaseClass$1({
27105
27136
  this.classList.toggle('hidden', hasHidden);
27106
27137
  }
27107
27138
 
27139
+ #observeAnchored() {
27140
+ this.#anchoredClassObserver?.disconnect();
27141
+ if (this.anchored) {
27142
+ this.#anchoredClassObserver = observeAttributes$1(
27143
+ this.anchored,
27144
+ () => this.#syncComponentState(),
27145
+ { includeAttrs: ['class'] },
27146
+ );
27147
+ }
27148
+ }
27149
+
27150
+ // createBaseClass gates init() to first-connect, so observing here is
27151
+ // required for the detach/reattach cycle to keep working.
27152
+ connectedCallback() {
27153
+ super.connectedCallback?.();
27154
+ this.#syncComponentState();
27155
+ this.#observeAnchored();
27156
+ }
27157
+
27158
+ disconnectedCallback() {
27159
+ super.disconnectedCallback?.();
27160
+ this.#anchoredClassObserver?.disconnect();
27161
+ }
27162
+
27108
27163
  #syncAvailableSizeAttr() {
27109
27164
  const anchor = this.defaultSlot?.assignedElements()?.[0];
27110
27165
 
@@ -31777,6 +31832,11 @@ class RawAnchored extends createBaseClass$1({
31777
31832
 
31778
31833
  #hostStretchSheet = null;
31779
31834
 
31835
+ // Observes the anchor's `class` attribute so runtime updates by the SDK
31836
+ // (e.g. real-time conditional components toggling `.hidden`) propagate to
31837
+ // this element. Without this, only the initial slotchange would sync.
31838
+ #anchorClassObserver = null;
31839
+
31780
31840
  get #anchor() {
31781
31841
  return this.defaultSlot.assignedElements({ flatten: true })[0];
31782
31842
  }
@@ -31879,6 +31939,28 @@ class RawAnchored extends createBaseClass$1({
31879
31939
  this.#anchored,
31880
31940
  'st-host-direction',
31881
31941
  );
31942
+
31943
+ this.#observeAnchorClass();
31944
+ }
31945
+
31946
+ #observeAnchorClass() {
31947
+ this.#anchorClassObserver?.disconnect();
31948
+ if (this.#anchor) {
31949
+ this.#anchorClassObserver = observeAttributes$1(
31950
+ this.#anchor,
31951
+ () => this.#syncComponentState(),
31952
+ { includeAttrs: ['class'] },
31953
+ );
31954
+ }
31955
+ }
31956
+
31957
+ // createBaseClass gates init() to first-connect (#isInit). Without
31958
+ // re-observing here, runtime `.hidden` toggles stop syncing after a
31959
+ // detach/reattach cycle.
31960
+ connectedCallback() {
31961
+ super.connectedCallback?.();
31962
+ this.#observeAnchorClass();
31963
+ this.#syncComponentState();
31882
31964
  }
31883
31965
 
31884
31966
  // Injects [stretch] layout rules into the containing component's shadow root (e.g. descope-attachment)
@@ -31920,6 +32002,7 @@ class RawAnchored extends createBaseClass$1({
31920
32002
  super.disconnectedCallback?.();
31921
32003
  this.#stretchObserver?.disconnect();
31922
32004
  this.#directionObserver?.disconnect();
32005
+ this.#anchorClassObserver?.disconnect();
31923
32006
  }
31924
32007
 
31925
32008
  // Track whether anything is slotted, so the host display rule can hide an