@descope/flow-components 3.13.1 → 3.13.3

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.
@@ -5,7 +5,7 @@
5
5
  "name": "flowComponents",
6
6
  "type": "app",
7
7
  "buildInfo": {
8
- "buildVersion": "3.13.1",
8
+ "buildVersion": "3.13.3",
9
9
  "buildName": "@descope/flow-components"
10
10
  },
11
11
  "remoteEntry": {
@@ -5,7 +5,7 @@
5
5
  "name": "flowComponents",
6
6
  "type": "app",
7
7
  "buildInfo": {
8
- "buildVersion": "3.13.1",
8
+ "buildVersion": "3.13.3",
9
9
  "buildName": "@descope/flow-components"
10
10
  },
11
11
  "remoteEntry": {
package/dist/index.cjs.js CHANGED
@@ -90125,6 +90125,11 @@ function requireIndex_cjs () {
90125
90125
  componentName: componentName$_,
90126
90126
  baseSelector: 'vaadin-tooltip',
90127
90127
  }) {
90128
+ // Observes the inner descope-anchored's `class` attribute so runtime updates
90129
+ // (e.g. real-time conditional components toggling `.hidden`) keep this
90130
+ // tooltip's class in sync. Set up in connectedCallback so reconnects work.
90131
+ #anchoredClassObserver = null;
90132
+
90128
90133
  constructor() {
90129
90134
  super();
90130
90135
 
@@ -90240,9 +90245,31 @@ function requireIndex_cjs () {
90240
90245
  );
90241
90246
  this.#setTooltipTarget();
90242
90247
 
90248
+ setTimeout(() => this.#onOverlayReady());
90249
+ }
90250
+
90251
+ #observeAnchored() {
90252
+ this.#anchoredClassObserver?.disconnect();
90253
+ if (this.anchored) {
90254
+ this.#anchoredClassObserver = observeAttributes(
90255
+ this.anchored,
90256
+ () => this.#syncComponentState(),
90257
+ { includeAttrs: ['class'] },
90258
+ );
90259
+ }
90260
+ }
90261
+
90262
+ // createBaseClass gates init() to first-connect, so observing here is
90263
+ // required for the detach/reattach cycle to keep working.
90264
+ connectedCallback() {
90265
+ super.connectedCallback?.();
90243
90266
  this.#syncComponentState();
90267
+ this.#observeAnchored();
90268
+ }
90244
90269
 
90245
- setTimeout(() => this.#onOverlayReady());
90270
+ disconnectedCallback() {
90271
+ super.disconnectedCallback?.();
90272
+ this.#anchoredClassObserver?.disconnect();
90246
90273
  }
90247
90274
 
90248
90275
  #setTooltipTarget() {
@@ -91534,6 +91561,12 @@ function requireIndex_cjs () {
91534
91561
  componentName: componentName$X,
91535
91562
  baseSelector: 'descope-anchored',
91536
91563
  }) {
91564
+ // Observes the inner descope-anchored's `class` attribute so runtime
91565
+ // updates (e.g. real-time conditional components toggling `.hidden`) keep
91566
+ // this attachment host's class in sync. Set up in connectedCallback so
91567
+ // reconnects work (createBaseClass gates init() to first connect only).
91568
+ #anchoredClassObserver = null;
91569
+
91537
91570
  constructor() {
91538
91571
  super();
91539
91572
 
@@ -91572,8 +91605,6 @@ function requireIndex_cjs () {
91572
91605
  init() {
91573
91606
  super.init?.();
91574
91607
 
91575
- this.#syncComponentState();
91576
-
91577
91608
  injectStyle(
91578
91609
  `
91579
91610
  :host {
@@ -91624,6 +91655,30 @@ function requireIndex_cjs () {
91624
91655
  this.classList.toggle('hidden', hasHidden);
91625
91656
  }
91626
91657
 
91658
+ #observeAnchored() {
91659
+ this.#anchoredClassObserver?.disconnect();
91660
+ if (this.anchored) {
91661
+ this.#anchoredClassObserver = observeAttributes(
91662
+ this.anchored,
91663
+ () => this.#syncComponentState(),
91664
+ { includeAttrs: ['class'] },
91665
+ );
91666
+ }
91667
+ }
91668
+
91669
+ // createBaseClass gates init() to first-connect, so observing here is
91670
+ // required for the detach/reattach cycle to keep working.
91671
+ connectedCallback() {
91672
+ super.connectedCallback?.();
91673
+ this.#syncComponentState();
91674
+ this.#observeAnchored();
91675
+ }
91676
+
91677
+ disconnectedCallback() {
91678
+ super.disconnectedCallback?.();
91679
+ this.#anchoredClassObserver?.disconnect();
91680
+ }
91681
+
91627
91682
  #syncAvailableSizeAttr() {
91628
91683
  const anchor = this.defaultSlot?.assignedElements()?.[0];
91629
91684
 
@@ -99543,6 +99598,12 @@ descope-enriched-text {
99543
99598
 
99544
99599
  this.baseElement.appendChild(template.content.cloneNode(true));
99545
99600
 
99601
+ // On every input, Vaadin writes its value back into the input element,
99602
+ // which re-runs the internal `value` setter and overwrites the combo box
99603
+ // and phone fields. PhoneFieldInternal manages those inputs itself, so
99604
+ // disable Vaadin's write-back.
99605
+ this.baseElement._forwardInputValue = () => {};
99606
+
99546
99607
  this.inputElement = this.shadowRoot.querySelector(componentName$B);
99547
99608
 
99548
99609
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
@@ -108971,6 +109032,11 @@ descope-enriched-text {
108971
109032
 
108972
109033
  #hostStretchSheet = null;
108973
109034
 
109035
+ // Observes the anchor's `class` attribute so runtime updates by the SDK
109036
+ // (e.g. real-time conditional components toggling `.hidden`) propagate to
109037
+ // this element. Without this, only the initial slotchange would sync.
109038
+ #anchorClassObserver = null;
109039
+
108974
109040
  get #anchor() {
108975
109041
  return this.defaultSlot.assignedElements({ flatten: true })[0];
108976
109042
  }
@@ -109073,6 +109139,28 @@ descope-enriched-text {
109073
109139
  this.#anchored,
109074
109140
  'st-host-direction',
109075
109141
  );
109142
+
109143
+ this.#observeAnchorClass();
109144
+ }
109145
+
109146
+ #observeAnchorClass() {
109147
+ this.#anchorClassObserver?.disconnect();
109148
+ if (this.#anchor) {
109149
+ this.#anchorClassObserver = observeAttributes(
109150
+ this.#anchor,
109151
+ () => this.#syncComponentState(),
109152
+ { includeAttrs: ['class'] },
109153
+ );
109154
+ }
109155
+ }
109156
+
109157
+ // createBaseClass gates init() to first-connect (#isInit). Without
109158
+ // re-observing here, runtime `.hidden` toggles stop syncing after a
109159
+ // detach/reattach cycle.
109160
+ connectedCallback() {
109161
+ super.connectedCallback?.();
109162
+ this.#observeAnchorClass();
109163
+ this.#syncComponentState();
109076
109164
  }
109077
109165
 
109078
109166
  // Injects [stretch] layout rules into the containing component's shadow root (e.g. descope-attachment)
@@ -109114,6 +109202,7 @@ descope-enriched-text {
109114
109202
  super.disconnectedCallback?.();
109115
109203
  this.#stretchObserver?.disconnect();
109116
109204
  this.#directionObserver?.disconnect();
109205
+ this.#anchorClassObserver?.disconnect();
109117
109206
  }
109118
109207
 
109119
109208
  // Track whether anything is slotted, so the host display rule can hide an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/flow-components",
3
- "version": "3.13.1",
3
+ "version": "3.13.3",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -97,7 +97,7 @@
97
97
  "webpack-subresource-integrity": "5.2.0-rc.1"
98
98
  },
99
99
  "dependencies": {
100
- "@descope/web-components-ui": "3.13.1"
100
+ "@descope/web-components-ui": "3.13.3"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "react": ">= 18"