aw-wizard-forms 4.2.0 → 4.3.0

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/README.md CHANGED
@@ -190,6 +190,29 @@ Modern browsers (ES2020+):
190
190
  - Safari 14+
191
191
  - Edge 80+
192
192
 
193
+ ## Known Issues
194
+
195
+ ### Step disappears intermittently with `submit-on-step` enabled
196
+
197
+ **Status:** Under investigation
198
+
199
+ When using the `submit-on-step` attribute for partial HubSpot submissions, the next step may occasionally disappear (blank content area while progress bar updates correctly). This is a rare, intermittent issue.
200
+
201
+ **Workaround:** If you encounter this, refresh the page. The issue does not affect final form submission.
202
+
203
+ **Debug:** Run this in console when it occurs to help diagnose:
204
+ ```javascript
205
+ document.querySelectorAll('wf-step').forEach((step, i) => {
206
+ console.log(`Step ${i + 1}:`, {
207
+ active: step.hasAttribute('active'),
208
+ display: getComputedStyle(step).display,
209
+ height: step.offsetHeight
210
+ });
211
+ });
212
+ ```
213
+
214
+ Track progress: [GitHub Issue #31](https://github.com/atomicworkhq/aw-wizard-forms/issues/31)
215
+
193
216
  ## License
194
217
 
195
218
  MIT © [Atomicwork](https://atomicwork.com)
@@ -2761,7 +2761,7 @@ const wfOtherStyles = i$3`
2761
2761
  display: flex;
2762
2762
  align-items: center;
2763
2763
  gap: var(--wf-spacing-3);
2764
- min-height: var(--wf-input-min-height);
2764
+ height: var(--wf-input-min-height);
2765
2765
  background: var(--wf-glass-bg);
2766
2766
  backdrop-filter: blur(var(--wf-glass-blur));
2767
2767
  -webkit-backdrop-filter: blur(var(--wf-glass-blur));
@@ -2769,6 +2769,7 @@ const wfOtherStyles = i$3`
2769
2769
  border-radius: var(--wf-radius-md);
2770
2770
  box-shadow: var(--wf-glass-shadow);
2771
2771
  padding-left: var(--wf-spacing-3);
2772
+ padding-right: var(--wf-spacing-2);
2772
2773
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
2773
2774
  }
2774
2775
 
@@ -2799,12 +2800,22 @@ const wfOtherStyles = i$3`
2799
2800
  .wf-other-actions {
2800
2801
  display: flex;
2801
2802
  align-items: center;
2802
- justify-content: stretch;
2803
+ justify-content: flex-end;
2804
+ flex-shrink: 0;
2805
+ opacity: 0;
2806
+ visibility: hidden;
2807
+ transition: opacity 200ms ease, visibility 200ms ease;
2808
+ }
2809
+
2810
+ /* Show button when input has value */
2811
+ .wf-other-input-wrapper.has-value .wf-other-actions {
2812
+ opacity: 1;
2813
+ visibility: visible;
2803
2814
  }
2804
2815
 
2805
- /* Ensure slotted button fills the action column */
2816
+ /* Button inside input box should not stretch */
2806
2817
  .wf-other-actions ::slotted(*) {
2807
- width: 100%;
2818
+ width: auto;
2808
2819
  }
2809
2820
  `;
2810
2821
  var __defProp$b = Object.defineProperty;
@@ -2878,31 +2889,30 @@ let WfOther = class extends i {
2878
2889
  // Render
2879
2890
  // ============================================
2880
2891
  render() {
2892
+ const hasValue = this._value.trim().length > 0;
2881
2893
  return b`
2882
2894
  <div class="wf-other-container" data-testid="wf-other">
2883
2895
  <label class="wf-other-label">
2884
2896
  ${this.label}
2885
2897
  ${this.labelHint ? b`<span>${this.labelHint}</span>` : A}
2886
2898
  </label>
2887
- <wf-layout mode="grid" columns="4" gap="md">
2888
- <div class="wf-other-input-wrapper" data-span="3">
2889
- ${this.shortcut ? b`<wf-badge shortcut="${this.shortcut}"></wf-badge>` : A}
2890
- <input
2891
- type="text"
2892
- class="wf-other-input"
2893
- placeholder="${this.placeholder}"
2894
- .value="${this._value}"
2895
- ?disabled="${this.disabled}"
2896
- ?required="${this.required}"
2897
- @input="${this._handleInput}"
2898
- data-testid="wf-other-input"
2899
- />
2900
- </div>
2901
- <!-- Slot for action buttons (like wf-next-btn) -->
2899
+ <div class="wf-other-input-wrapper ${hasValue ? "has-value" : ""}">
2900
+ ${this.shortcut ? b`<wf-badge shortcut="${this.shortcut}"></wf-badge>` : A}
2901
+ <input
2902
+ type="text"
2903
+ class="wf-other-input"
2904
+ placeholder="${this.placeholder}"
2905
+ .value="${this._value}"
2906
+ ?disabled="${this.disabled}"
2907
+ ?required="${this.required}"
2908
+ @input="${this._handleInput}"
2909
+ data-testid="wf-other-input"
2910
+ />
2911
+ <!-- Slot for action buttons (like wf-next-btn) inside input -->
2902
2912
  <div class="wf-other-actions">
2903
2913
  <slot></slot>
2904
2914
  </div>
2905
- </wf-layout>
2915
+ </div>
2906
2916
  </div>
2907
2917
  `;
2908
2918
  }
@@ -4802,20 +4812,22 @@ const wfProgressStyles = [
4802
4812
 
4803
4813
  .wf-progress {
4804
4814
  display: flex;
4805
- gap: var(--wf-spacing-2);
4815
+ gap: 16px;
4816
+ align-items: center;
4817
+ justify-content: center;
4806
4818
  }
4807
4819
 
4808
4820
  .wf-progress-segment {
4809
- width: 100%;
4810
- height: var(--wf-progress-height);
4811
- background-color: var(--wf-color-progress-inactive);
4812
- border-radius: var(--wf-radius-full);
4821
+ width: 32px;
4822
+ height: 8px;
4823
+ background-color: white;
4824
+ border-radius: 100vw;
4813
4825
  transition: background-color 300ms ease;
4814
4826
  }
4815
4827
 
4816
4828
  .wf-progress-segment.completed,
4817
4829
  .wf-progress-segment.active {
4818
- background-color: var(--wf-color-progress-active);
4830
+ background-color: rgb(136 66 240);
4819
4831
  }
4820
4832
  `
4821
4833
  ];
@@ -5061,9 +5073,12 @@ const wfNextBtnStyles = [
5061
5073
  }
5062
5074
 
5063
5075
  :host([inline]) .wf-btn {
5064
- min-height: var(--wf-input-min-height);
5076
+ min-height: 16px;
5065
5077
  width: auto;
5066
- padding: var(--wf-spacing-3) var(--wf-spacing-5);
5078
+ padding-top: 8px;
5079
+ padding-bottom: 8px;
5080
+ padding-left: 12px;
5081
+ padding-right: 8px;
5067
5082
  }
5068
5083
  `
5069
5084
  ];