@design.estate/dees-catalog 3.70.1 → 3.71.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/dist_bundle/bundle.js +404 -151
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.d.ts +37 -0
- package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.js +92 -91
- package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +348 -65
- package/dist_watch/bundle.js +402 -149
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/readme.plan.md +352 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.ts +133 -130
- package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +345 -65
package/dist_bundle/bundle.js
CHANGED
|
@@ -187012,175 +187012,223 @@ var DeesPagination = _DeesPagination;
|
|
|
187012
187012
|
|
|
187013
187013
|
// ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.ts
|
|
187014
187014
|
init_dist_ts30();
|
|
187015
|
-
var
|
|
187016
|
-
<dees-stepper
|
|
187017
|
-
.steps=${[
|
|
187015
|
+
var demoSteps = [
|
|
187018
187016
|
{
|
|
187019
187017
|
title: "Account Setup",
|
|
187020
187018
|
content: b2`
|
|
187021
|
-
|
|
187022
|
-
|
|
187023
|
-
|
|
187024
|
-
|
|
187025
|
-
|
|
187026
|
-
|
|
187027
|
-
|
|
187028
|
-
|
|
187029
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187030
|
-
}, "validationFunc")
|
|
187019
|
+
<dees-form>
|
|
187020
|
+
<dees-input-text key="email" label="Work Email" required></dees-input-text>
|
|
187021
|
+
<dees-input-text key="password" label="Create Password" type="password" required></dees-input-text>
|
|
187022
|
+
</dees-form>
|
|
187023
|
+
`,
|
|
187024
|
+
menuOptions: [
|
|
187025
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187026
|
+
]
|
|
187031
187027
|
},
|
|
187032
187028
|
{
|
|
187033
187029
|
title: "Profile Details",
|
|
187034
187030
|
content: b2`
|
|
187035
|
-
|
|
187036
|
-
|
|
187037
|
-
|
|
187038
|
-
|
|
187039
|
-
|
|
187040
|
-
|
|
187041
|
-
|
|
187042
|
-
|
|
187043
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187044
|
-
}, "validationFunc")
|
|
187031
|
+
<dees-form>
|
|
187032
|
+
<dees-input-text key="firstName" label="First Name" required></dees-input-text>
|
|
187033
|
+
<dees-input-text key="lastName" label="Last Name" required></dees-input-text>
|
|
187034
|
+
</dees-form>
|
|
187035
|
+
`,
|
|
187036
|
+
menuOptions: [
|
|
187037
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187038
|
+
]
|
|
187045
187039
|
},
|
|
187046
187040
|
{
|
|
187047
187041
|
title: "Contact Information",
|
|
187048
187042
|
content: b2`
|
|
187049
|
-
|
|
187050
|
-
|
|
187051
|
-
|
|
187052
|
-
|
|
187053
|
-
|
|
187054
|
-
|
|
187055
|
-
|
|
187056
|
-
|
|
187057
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187058
|
-
}, "validationFunc")
|
|
187043
|
+
<dees-form>
|
|
187044
|
+
<dees-input-phone key="phone" label="Mobile Number" required></dees-input-phone>
|
|
187045
|
+
<dees-input-text key="company" label="Company"></dees-input-text>
|
|
187046
|
+
</dees-form>
|
|
187047
|
+
`,
|
|
187048
|
+
menuOptions: [
|
|
187049
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187050
|
+
]
|
|
187059
187051
|
},
|
|
187060
187052
|
{
|
|
187061
187053
|
title: "Team Size",
|
|
187062
187054
|
content: b2`
|
|
187063
|
-
|
|
187064
|
-
|
|
187065
|
-
|
|
187066
|
-
|
|
187067
|
-
|
|
187055
|
+
<dees-form>
|
|
187056
|
+
<dees-input-dropdown
|
|
187057
|
+
key="teamSize"
|
|
187058
|
+
label="How big is your team?"
|
|
187059
|
+
.options=${[
|
|
187068
187060
|
{ label: "1-5", value: "1-5" },
|
|
187069
187061
|
{ label: "6-20", value: "6-20" },
|
|
187070
187062
|
{ label: "21-50", value: "21-50" },
|
|
187071
187063
|
{ label: "51+", value: "51+" }
|
|
187072
187064
|
]}
|
|
187073
|
-
|
|
187074
|
-
|
|
187075
|
-
|
|
187076
|
-
|
|
187077
|
-
|
|
187078
|
-
|
|
187079
|
-
|
|
187080
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187081
|
-
}, "validationFunc")
|
|
187065
|
+
required
|
|
187066
|
+
></dees-input-dropdown>
|
|
187067
|
+
</dees-form>
|
|
187068
|
+
`,
|
|
187069
|
+
menuOptions: [
|
|
187070
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187071
|
+
]
|
|
187082
187072
|
},
|
|
187083
187073
|
{
|
|
187084
187074
|
title: "Goals",
|
|
187085
187075
|
content: b2`
|
|
187086
|
-
|
|
187087
|
-
|
|
187088
|
-
|
|
187089
|
-
|
|
187090
|
-
|
|
187076
|
+
<dees-form>
|
|
187077
|
+
<dees-input-multitoggle
|
|
187078
|
+
key="goal"
|
|
187079
|
+
label="Main objective"
|
|
187080
|
+
.options=${[
|
|
187091
187081
|
{ label: "Onboarding", value: "onboarding" },
|
|
187092
187082
|
{ label: "Analytics", value: "analytics" },
|
|
187093
187083
|
{ label: "Automation", value: "automation" }
|
|
187094
187084
|
]}
|
|
187095
|
-
|
|
187096
|
-
|
|
187097
|
-
|
|
187098
|
-
|
|
187099
|
-
|
|
187100
|
-
|
|
187101
|
-
|
|
187102
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187103
|
-
}, "validationFunc")
|
|
187085
|
+
required
|
|
187086
|
+
></dees-input-multitoggle>
|
|
187087
|
+
</dees-form>
|
|
187088
|
+
`,
|
|
187089
|
+
menuOptions: [
|
|
187090
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187091
|
+
]
|
|
187104
187092
|
},
|
|
187105
187093
|
{
|
|
187106
187094
|
title: "Brand Preferences",
|
|
187107
187095
|
content: b2`
|
|
187108
|
-
|
|
187109
|
-
|
|
187110
|
-
|
|
187111
|
-
|
|
187112
|
-
|
|
187113
|
-
|
|
187114
|
-
|
|
187115
|
-
|
|
187116
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187117
|
-
}, "validationFunc")
|
|
187096
|
+
<dees-form>
|
|
187097
|
+
<dees-input-text key="brandColor" label="Primary brand color"></dees-input-text>
|
|
187098
|
+
<dees-input-text key="tone" label="Preferred tone (e.g. friendly, formal)"></dees-input-text>
|
|
187099
|
+
</dees-form>
|
|
187100
|
+
`,
|
|
187101
|
+
menuOptions: [
|
|
187102
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187103
|
+
]
|
|
187118
187104
|
},
|
|
187119
187105
|
{
|
|
187120
187106
|
title: "Integrations",
|
|
187121
187107
|
content: b2`
|
|
187122
|
-
|
|
187123
|
-
|
|
187124
|
-
|
|
187125
|
-
|
|
187126
|
-
|
|
187127
|
-
|
|
187128
|
-
|
|
187129
|
-
|
|
187130
|
-
|
|
187131
|
-
|
|
187132
|
-
|
|
187133
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187134
|
-
}, "validationFunc")
|
|
187108
|
+
<dees-form>
|
|
187109
|
+
<dees-input-list
|
|
187110
|
+
key="integrations"
|
|
187111
|
+
label="Integrations in use"
|
|
187112
|
+
placeholder="Add integration"
|
|
187113
|
+
></dees-input-list>
|
|
187114
|
+
</dees-form>
|
|
187115
|
+
`,
|
|
187116
|
+
menuOptions: [
|
|
187117
|
+
{ name: "Continue", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187118
|
+
]
|
|
187135
187119
|
},
|
|
187136
187120
|
{
|
|
187137
187121
|
title: "Review & Launch",
|
|
187138
187122
|
content: b2`
|
|
187139
|
-
|
|
187140
|
-
|
|
187141
|
-
|
|
187142
|
-
|
|
187123
|
+
<dees-panel>
|
|
187124
|
+
<p>Almost there! Review your selections and launch whenever you're ready.</p>
|
|
187125
|
+
</dees-panel>
|
|
187126
|
+
`,
|
|
187127
|
+
menuOptions: [
|
|
187128
|
+
{ name: "Launch", action: /* @__PURE__ */ __name(async (stepper) => stepper.goNext(), "action") }
|
|
187129
|
+
]
|
|
187143
187130
|
}
|
|
187144
|
-
]
|
|
187145
|
-
|
|
187131
|
+
];
|
|
187132
|
+
var cloneSteps = /* @__PURE__ */ __name(() => demoSteps.map((step) => ({ ...step })), "cloneSteps");
|
|
187133
|
+
var stepperDemo = /* @__PURE__ */ __name(() => b2`
|
|
187134
|
+
<div style="position: absolute; inset: 0;">
|
|
187135
|
+
<div
|
|
187136
|
+
style="position: absolute; top: 16px; left: 50%; transform: translateX(-50%); z-index: 10;"
|
|
187137
|
+
>
|
|
187138
|
+
<dees-button
|
|
187139
|
+
@click=${async () => {
|
|
187140
|
+
await DeesStepper.createAndShow({ steps: cloneSteps() });
|
|
187141
|
+
}}
|
|
187142
|
+
>Open stepper as overlay</dees-button>
|
|
187143
|
+
</div>
|
|
187144
|
+
<dees-stepper .steps=${cloneSteps()}></dees-stepper>
|
|
187145
|
+
</div>
|
|
187146
187146
|
`, "stepperDemo");
|
|
187147
187147
|
|
|
187148
187148
|
// ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts
|
|
187149
187149
|
init_dist_ts30();
|
|
187150
187150
|
init_dist_ts29();
|
|
187151
187151
|
init_theme();
|
|
187152
|
-
var _selectedStep_dec, _steps_dec, _a81, _DeesStepper_decorators, _init82, _steps, _selectedStep;
|
|
187152
|
+
var _activeFormValid_dec, _activeForm_dec, _stepperZIndex_dec, _overlay_dec, _selectedStep_dec, _steps_dec, _a81, _DeesStepper_decorators, _init82, _steps, _selectedStep, _overlay, _stepperZIndex, _activeForm, _activeFormValid;
|
|
187153
187153
|
_DeesStepper_decorators = [customElement("dees-stepper")];
|
|
187154
187154
|
var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec = [n5({
|
|
187155
187155
|
type: Array
|
|
187156
187156
|
})], _selectedStep_dec = [n5({
|
|
187157
187157
|
type: Object
|
|
187158
|
-
})],
|
|
187158
|
+
})], _overlay_dec = [n5({
|
|
187159
|
+
type: Boolean,
|
|
187160
|
+
reflect: true
|
|
187161
|
+
})], _stepperZIndex_dec = [n5({ type: Number, attribute: false })], _activeForm_dec = [n5({ type: Object, attribute: false })], _activeFormValid_dec = [n5({ type: Boolean, attribute: false })], _a81) {
|
|
187159
187162
|
constructor() {
|
|
187160
187163
|
super();
|
|
187161
187164
|
__privateAdd(this, _steps, __runInitializers(_init82, 8, this, [])), __runInitializers(_init82, 11, this);
|
|
187162
187165
|
__privateAdd(this, _selectedStep, __runInitializers(_init82, 12, this)), __runInitializers(_init82, 15, this);
|
|
187166
|
+
__privateAdd(this, _overlay, __runInitializers(_init82, 16, this, false)), __runInitializers(_init82, 19, this);
|
|
187167
|
+
__privateAdd(this, _stepperZIndex, __runInitializers(_init82, 20, this, 1e3)), __runInitializers(_init82, 23, this);
|
|
187168
|
+
__privateAdd(this, _activeForm, __runInitializers(_init82, 24, this, null)), __runInitializers(_init82, 27, this);
|
|
187169
|
+
__privateAdd(this, _activeFormValid, __runInitializers(_init82, 28, this, true)), __runInitializers(_init82, 31, this);
|
|
187170
|
+
__publicField(this, "activeFormSubscription");
|
|
187171
|
+
__publicField(this, "windowLayer");
|
|
187163
187172
|
__publicField(this, "getIndexOfStep", /* @__PURE__ */ __name((stepArg) => {
|
|
187164
187173
|
return this.steps.findIndex((stepArg2) => stepArg === stepArg2);
|
|
187165
187174
|
}, "getIndexOfStep"));
|
|
187166
187175
|
__publicField(this, "scroller");
|
|
187167
187176
|
}
|
|
187177
|
+
static async createAndShow(optionsArg) {
|
|
187178
|
+
const body3 = document.body;
|
|
187179
|
+
const stepper = new _DeesStepper();
|
|
187180
|
+
stepper.steps = optionsArg.steps;
|
|
187181
|
+
stepper.overlay = true;
|
|
187182
|
+
stepper.windowLayer = await DeesWindowLayer.createAndShow({ blur: true });
|
|
187183
|
+
stepper.windowLayer.addEventListener("click", async () => {
|
|
187184
|
+
await stepper.destroy();
|
|
187185
|
+
});
|
|
187186
|
+
body3.append(stepper.windowLayer);
|
|
187187
|
+
body3.append(stepper);
|
|
187188
|
+
stepper.stepperZIndex = zIndexRegistry.getNextZIndex();
|
|
187189
|
+
zIndexRegistry.register(stepper, stepper.stepperZIndex);
|
|
187190
|
+
return stepper;
|
|
187191
|
+
}
|
|
187168
187192
|
render() {
|
|
187169
187193
|
return b2`
|
|
187170
|
-
<div
|
|
187171
|
-
${this.
|
|
187172
|
-
|
|
187173
|
-
|
|
187174
|
-
|
|
187175
|
-
|
|
187194
|
+
<div
|
|
187195
|
+
class="stepperContainer ${this.overlay ? "overlay" : ""}"
|
|
187196
|
+
style=${this.overlay ? `z-index: ${this.stepperZIndex};` : ""}
|
|
187197
|
+
>
|
|
187198
|
+
${this.steps.map((stepArg, stepIndex) => {
|
|
187199
|
+
const isSelected = stepArg === this.selectedStep;
|
|
187200
|
+
const isHidden = this.getIndexOfStep(stepArg) > this.getIndexOfStep(this.selectedStep);
|
|
187201
|
+
const isFirst = stepIndex === 0;
|
|
187202
|
+
return b2`<dees-tile
|
|
187203
|
+
class="step ${isSelected ? "selected" : ""} ${isHidden ? "hiddenStep" : ""} ${isFirst ? "entrance" : ""}"
|
|
187204
|
+
>
|
|
187205
|
+
<div slot="header" class="step-header">
|
|
187206
|
+
${!isFirst ? b2`<div class="goBack" @click=${this.goBack}>
|
|
187207
|
+
<span style="font-family: Inter"><-</span> go to previous step
|
|
187208
|
+
</div>` : b2`<div class="goBack-spacer"></div>`}
|
|
187176
187209
|
<div class="stepCounter">
|
|
187177
|
-
Step ${
|
|
187178
|
-
${this.steps.length}
|
|
187210
|
+
Step ${stepIndex + 1} of ${this.steps.length}
|
|
187179
187211
|
</div>
|
|
187212
|
+
</div>
|
|
187213
|
+
<div class="step-body">
|
|
187180
187214
|
<div class="title">${stepArg.title}</div>
|
|
187181
187215
|
<div class="content">${stepArg.content}</div>
|
|
187182
|
-
</div>
|
|
187183
|
-
|
|
187216
|
+
</div>
|
|
187217
|
+
${stepArg.menuOptions && stepArg.menuOptions.length > 0 ? b2`<div slot="footer" class="bottomButtons">
|
|
187218
|
+
${isSelected && this.activeForm !== null && !this.activeFormValid ? b2`<div class="stepHint">Complete form to continue</div>` : ""}
|
|
187219
|
+
${stepArg.menuOptions.map((actionArg, actionIndex) => {
|
|
187220
|
+
const isPrimary = actionIndex === stepArg.menuOptions.length - 1;
|
|
187221
|
+
const isDisabled = isPrimary && this.activeForm !== null && !this.activeFormValid;
|
|
187222
|
+
return b2`
|
|
187223
|
+
<div
|
|
187224
|
+
class="bottomButton ${isPrimary ? "primary" : ""} ${isDisabled ? "disabled" : ""}"
|
|
187225
|
+
@click=${() => this.handleMenuOptionClick(actionArg, isPrimary)}
|
|
187226
|
+
>${actionArg.name}</div>
|
|
187227
|
+
`;
|
|
187228
|
+
})}
|
|
187229
|
+
</div>` : ""}
|
|
187230
|
+
</dees-tile>`;
|
|
187231
|
+
})}
|
|
187184
187232
|
</div>
|
|
187185
187233
|
`;
|
|
187186
187234
|
}
|
|
@@ -187202,6 +187250,7 @@ var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec =
|
|
|
187202
187250
|
if (!selectedStepElement) {
|
|
187203
187251
|
return;
|
|
187204
187252
|
}
|
|
187253
|
+
this.scanActiveForm(selectedStepElement);
|
|
187205
187254
|
if (!stepperContainer.style.paddingTop) {
|
|
187206
187255
|
stepperContainer.style.paddingTop = `${stepperContainer.offsetHeight / 2 - selectedStepElement.offsetHeight / 2}px`;
|
|
187207
187256
|
}
|
|
@@ -187259,14 +187308,99 @@ var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec =
|
|
|
187259
187308
|
nextStep.validationFuncCalled = false;
|
|
187260
187309
|
this.selectedStep = nextStep;
|
|
187261
187310
|
}
|
|
187311
|
+
/**
|
|
187312
|
+
* Scans the currently selected step for a <dees-form> in its content. When
|
|
187313
|
+
* found, subscribes to the form's RxJS changeSubject so the primary
|
|
187314
|
+
* menuOption button can auto-enable/disable as required fields are filled.
|
|
187315
|
+
*
|
|
187316
|
+
* If the form reference is the same as the previous activation (e.g. on a
|
|
187317
|
+
* same-step re-render), we just recompute validity without re-subscribing.
|
|
187318
|
+
*/
|
|
187319
|
+
scanActiveForm(selectedStepElement) {
|
|
187320
|
+
const form = selectedStepElement.querySelector("dees-form");
|
|
187321
|
+
if (form === this.activeForm) {
|
|
187322
|
+
this.recomputeFormValid();
|
|
187323
|
+
return;
|
|
187324
|
+
}
|
|
187325
|
+
this.activeFormSubscription?.unsubscribe();
|
|
187326
|
+
this.activeFormSubscription = void 0;
|
|
187327
|
+
this.activeForm = form;
|
|
187328
|
+
if (!form) {
|
|
187329
|
+
this.activeFormValid = true;
|
|
187330
|
+
return;
|
|
187331
|
+
}
|
|
187332
|
+
this.recomputeFormValid();
|
|
187333
|
+
this.activeFormSubscription = form.changeSubject.subscribe(() => {
|
|
187334
|
+
this.recomputeFormValid();
|
|
187335
|
+
});
|
|
187336
|
+
}
|
|
187337
|
+
/**
|
|
187338
|
+
* Recomputes activeFormValid by checking every required field in the active
|
|
187339
|
+
* form for a non-empty value. Mirrors dees-form.updateRequiredStatus's logic
|
|
187340
|
+
* but stores the result on the stepper instead of mutating a submit button.
|
|
187341
|
+
*/
|
|
187342
|
+
recomputeFormValid() {
|
|
187343
|
+
const form = this.activeForm;
|
|
187344
|
+
if (!form) {
|
|
187345
|
+
this.activeFormValid = true;
|
|
187346
|
+
return;
|
|
187347
|
+
}
|
|
187348
|
+
const fields = form.getFormElements();
|
|
187349
|
+
this.activeFormValid = fields.every(
|
|
187350
|
+
(field) => !field.required || field.value !== null && field.value !== void 0 && field.value !== ""
|
|
187351
|
+
);
|
|
187352
|
+
}
|
|
187353
|
+
/**
|
|
187354
|
+
* Click handler for menuOption buttons in the footer. For the primary (last)
|
|
187355
|
+
* button, if an active form is present, gates on required-field validity and
|
|
187356
|
+
* triggers the form's gatherAndDispatch() before running the action. The
|
|
187357
|
+
* action is awaited so any async work (e.g. goNext → scroll animation)
|
|
187358
|
+
* completes before the click handler returns.
|
|
187359
|
+
*/
|
|
187360
|
+
async handleMenuOptionClick(optionArg, isPrimary) {
|
|
187361
|
+
const form = this.activeForm;
|
|
187362
|
+
if (isPrimary && form) {
|
|
187363
|
+
if (!this.activeFormValid) return;
|
|
187364
|
+
await new Promise((resolve2) => {
|
|
187365
|
+
form.addEventListener("formData", () => resolve2(), { once: true });
|
|
187366
|
+
form.gatherAndDispatch();
|
|
187367
|
+
});
|
|
187368
|
+
}
|
|
187369
|
+
await optionArg.action(this);
|
|
187370
|
+
}
|
|
187371
|
+
async destroy() {
|
|
187372
|
+
const domtools19 = await this.domtoolsPromise;
|
|
187373
|
+
const container = this.shadowRoot.querySelector(".stepperContainer");
|
|
187374
|
+
container?.classList.add("predestroy");
|
|
187375
|
+
await domtools19.convenience.smartdelay.delayFor(200);
|
|
187376
|
+
if (this.parentElement) {
|
|
187377
|
+
this.parentElement.removeChild(this);
|
|
187378
|
+
}
|
|
187379
|
+
if (this.windowLayer) {
|
|
187380
|
+
await this.windowLayer.destroy();
|
|
187381
|
+
}
|
|
187382
|
+
this.activeFormSubscription?.unsubscribe();
|
|
187383
|
+
this.activeFormSubscription = void 0;
|
|
187384
|
+
this.activeForm = null;
|
|
187385
|
+
zIndexRegistry.unregister(this);
|
|
187386
|
+
}
|
|
187262
187387
|
};
|
|
187263
187388
|
_init82 = __decoratorStart(_a81);
|
|
187264
187389
|
_steps = new WeakMap();
|
|
187265
187390
|
_selectedStep = new WeakMap();
|
|
187391
|
+
_overlay = new WeakMap();
|
|
187392
|
+
_stepperZIndex = new WeakMap();
|
|
187393
|
+
_activeForm = new WeakMap();
|
|
187394
|
+
_activeFormValid = new WeakMap();
|
|
187266
187395
|
__decorateElement(_init82, 4, "steps", _steps_dec, _DeesStepper, _steps);
|
|
187267
187396
|
__decorateElement(_init82, 4, "selectedStep", _selectedStep_dec, _DeesStepper, _selectedStep);
|
|
187397
|
+
__decorateElement(_init82, 4, "overlay", _overlay_dec, _DeesStepper, _overlay);
|
|
187398
|
+
__decorateElement(_init82, 4, "stepperZIndex", _stepperZIndex_dec, _DeesStepper, _stepperZIndex);
|
|
187399
|
+
__decorateElement(_init82, 4, "activeForm", _activeForm_dec, _DeesStepper, _activeForm);
|
|
187400
|
+
__decorateElement(_init82, 4, "activeFormValid", _activeFormValid_dec, _DeesStepper, _activeFormValid);
|
|
187268
187401
|
_DeesStepper = __decorateElement(_init82, 0, "DeesStepper", _DeesStepper_decorators, _DeesStepper);
|
|
187269
187402
|
__name(_DeesStepper, "DeesStepper");
|
|
187403
|
+
// STATIC
|
|
187270
187404
|
__publicField(_DeesStepper, "demo", stepperDemo);
|
|
187271
187405
|
__publicField(_DeesStepper, "demoGroups", ["Layout", "Form"]);
|
|
187272
187406
|
__publicField(_DeesStepper, "styles", [
|
|
@@ -187278,7 +187412,24 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187278
187412
|
position: absolute;
|
|
187279
187413
|
width: 100%;
|
|
187280
187414
|
height: 100%;
|
|
187415
|
+
font-family: ${cssGeistFontFamily};
|
|
187416
|
+
color: var(--dees-color-text-primary);
|
|
187281
187417
|
}
|
|
187418
|
+
|
|
187419
|
+
/*
|
|
187420
|
+
* In overlay mode the host is "transparent" to layout — the inner
|
|
187421
|
+
* .stepperContainer.overlay is what pins to the viewport and carries the
|
|
187422
|
+
* z-index. Keeping :host unpositioned avoids nesting the stacking context
|
|
187423
|
+
* under an auto-z-index parent (which was trapping .stepperContainer
|
|
187424
|
+
* below DeesWindowLayer's sibling layers). This mirrors how dees-modal
|
|
187425
|
+
* keeps its own :host unpositioned and lets .modalContainer drive layout.
|
|
187426
|
+
*/
|
|
187427
|
+
:host([overlay]) {
|
|
187428
|
+
position: static;
|
|
187429
|
+
width: 0;
|
|
187430
|
+
height: 0;
|
|
187431
|
+
}
|
|
187432
|
+
|
|
187282
187433
|
.stepperContainer {
|
|
187283
187434
|
position: absolute;
|
|
187284
187435
|
width: 100%;
|
|
@@ -187286,101 +187437,120 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187286
187437
|
overflow: hidden;
|
|
187287
187438
|
}
|
|
187288
187439
|
|
|
187289
|
-
.
|
|
187440
|
+
.stepperContainer.overlay {
|
|
187441
|
+
position: fixed;
|
|
187442
|
+
top: 0;
|
|
187443
|
+
left: 0;
|
|
187444
|
+
width: 100vw;
|
|
187445
|
+
height: 100vh;
|
|
187446
|
+
}
|
|
187447
|
+
|
|
187448
|
+
.stepperContainer.predestroy {
|
|
187449
|
+
opacity: 0;
|
|
187450
|
+
transition: opacity 0.2s ease-in;
|
|
187451
|
+
}
|
|
187452
|
+
|
|
187453
|
+
dees-tile.step {
|
|
187290
187454
|
position: relative;
|
|
187291
187455
|
pointer-events: none;
|
|
187292
|
-
overflow: hidden;
|
|
187293
|
-
transition: transform 0.7s cubic-bezier(0.87, 0, 0.13, 1), box-shadow 0.7s cubic-bezier(0.87, 0, 0.13, 1), filter 0.7s cubic-bezier(0.87, 0, 0.13, 1), border 0.7s cubic-bezier(0.87, 0, 0.13, 1);
|
|
187294
187456
|
max-width: 500px;
|
|
187295
187457
|
min-height: 300px;
|
|
187296
|
-
border-radius: 12px;
|
|
187297
|
-
background: ${cssManager.bdTheme("#ffffff", "#0f0f11")};
|
|
187298
|
-
border: 1px solid ${cssManager.bdTheme("#e2e8f0", "#272729")};
|
|
187299
|
-
color: ${cssManager.bdTheme("#0f172a", "#f5f5f5")};
|
|
187300
187458
|
margin: auto;
|
|
187301
187459
|
margin-bottom: 20px;
|
|
187302
187460
|
filter: opacity(0.55) saturate(0.85);
|
|
187303
|
-
|
|
187461
|
+
transition: transform 0.7s cubic-bezier(0.87, 0, 0.13, 1), filter 0.7s cubic-bezier(0.87, 0, 0.13, 1);
|
|
187304
187462
|
user-select: none;
|
|
187305
187463
|
}
|
|
187306
187464
|
|
|
187307
|
-
.step.selected {
|
|
187465
|
+
dees-tile.step.selected {
|
|
187308
187466
|
pointer-events: all;
|
|
187309
187467
|
filter: opacity(1) saturate(1);
|
|
187310
187468
|
user-select: auto;
|
|
187311
187469
|
}
|
|
187312
187470
|
|
|
187313
|
-
.step.hiddenStep {
|
|
187471
|
+
dees-tile.step.hiddenStep {
|
|
187314
187472
|
filter: opacity(0);
|
|
187315
187473
|
}
|
|
187316
187474
|
|
|
187317
|
-
.step.entrance {
|
|
187318
|
-
transition: transform 0.35s ease,
|
|
187475
|
+
dees-tile.step.entrance {
|
|
187476
|
+
transition: transform 0.35s ease, filter 0.35s ease;
|
|
187319
187477
|
}
|
|
187320
187478
|
|
|
187321
|
-
.step.entrance.hiddenStep {
|
|
187479
|
+
dees-tile.step.entrance.hiddenStep {
|
|
187322
187480
|
transform: translateY(16px);
|
|
187323
187481
|
}
|
|
187324
187482
|
|
|
187325
|
-
.step:last-child {
|
|
187483
|
+
dees-tile.step:last-child {
|
|
187326
187484
|
margin-bottom: 100vh;
|
|
187327
187485
|
}
|
|
187328
187486
|
|
|
187329
|
-
.
|
|
187330
|
-
|
|
187331
|
-
|
|
187332
|
-
|
|
187333
|
-
|
|
187334
|
-
padding: 6px 14px;
|
|
187335
|
-
font-size: 12px;
|
|
187336
|
-
border-radius: 999px;
|
|
187337
|
-
background: ${cssManager.bdTheme("rgba(226, 232, 240, 0.5)", "rgba(63, 63, 70, 0.45)")};
|
|
187338
|
-
border: 1px solid ${cssManager.bdTheme("rgba(226, 232, 240, 0.7)", "rgba(63, 63, 70, 0.6)")};
|
|
187487
|
+
.stepperContainer.overlay dees-tile.step::part(outer) {
|
|
187488
|
+
box-shadow:
|
|
187489
|
+
0 0 0 1px ${cssManager.bdTheme("hsl(0 0% 0% / 0.03)", "hsl(0 0% 100% / 0.03)")},
|
|
187490
|
+
0 8px 40px ${cssManager.bdTheme("hsl(0 0% 0% / 0.12)", "hsl(0 0% 0% / 0.5)")},
|
|
187491
|
+
0 2px 8px ${cssManager.bdTheme("hsl(0 0% 0% / 0.06)", "hsl(0 0% 0% / 0.25)")};
|
|
187339
187492
|
}
|
|
187340
187493
|
|
|
187341
|
-
.step
|
|
187342
|
-
|
|
187343
|
-
|
|
187344
|
-
|
|
187494
|
+
.step-header {
|
|
187495
|
+
height: 36px;
|
|
187496
|
+
display: flex;
|
|
187497
|
+
align-items: center;
|
|
187498
|
+
justify-content: space-between;
|
|
187499
|
+
padding: 0 8px 0 12px;
|
|
187500
|
+
gap: 12px;
|
|
187501
|
+
}
|
|
187502
|
+
|
|
187503
|
+
.goBack-spacer {
|
|
187504
|
+
width: 1px;
|
|
187505
|
+
}
|
|
187506
|
+
|
|
187507
|
+
.step-header .goBack {
|
|
187345
187508
|
display: inline-flex;
|
|
187346
187509
|
align-items: center;
|
|
187347
187510
|
gap: 6px;
|
|
187348
|
-
|
|
187511
|
+
height: 24px;
|
|
187512
|
+
padding: 0 8px;
|
|
187349
187513
|
font-size: 12px;
|
|
187350
187514
|
font-weight: 500;
|
|
187351
|
-
|
|
187352
|
-
border:
|
|
187353
|
-
background:
|
|
187354
|
-
color:
|
|
187515
|
+
line-height: 1;
|
|
187516
|
+
border: none;
|
|
187517
|
+
background: transparent;
|
|
187518
|
+
color: var(--dees-color-text-muted);
|
|
187519
|
+
border-radius: 4px;
|
|
187355
187520
|
cursor: pointer;
|
|
187356
|
-
transition:
|
|
187521
|
+
transition: background 0.15s ease, color 0.15s ease, transform 0.2s ease;
|
|
187357
187522
|
}
|
|
187358
187523
|
|
|
187359
|
-
.step .goBack:hover {
|
|
187360
|
-
|
|
187361
|
-
|
|
187362
|
-
background: ${cssManager.bdTheme("rgba(226, 232, 240, 0.95)", "rgba(63, 63, 70, 0.7)")};
|
|
187524
|
+
.step-header .goBack:hover {
|
|
187525
|
+
background: var(--dees-color-hover);
|
|
187526
|
+
color: var(--dees-color-text-secondary);
|
|
187363
187527
|
transform: translateX(-2px);
|
|
187364
187528
|
}
|
|
187365
187529
|
|
|
187366
|
-
.step .goBack:active {
|
|
187367
|
-
|
|
187368
|
-
border-color: ${cssManager.bdTheme(dark.blueActive, dark.blueActive)};
|
|
187369
|
-
background: ${cssManager.bdTheme("rgba(226, 232, 240, 0.85)", "rgba(63, 63, 70, 0.6)")};
|
|
187530
|
+
.step-header .goBack:active {
|
|
187531
|
+
background: ${cssManager.bdTheme("hsl(0 0% 90%)", "hsl(0 0% 15%)")};
|
|
187370
187532
|
}
|
|
187371
187533
|
|
|
187372
|
-
.step .goBack span {
|
|
187534
|
+
.step-header .goBack span {
|
|
187373
187535
|
transition: transform 0.2s ease;
|
|
187374
187536
|
display: inline-block;
|
|
187375
187537
|
}
|
|
187376
187538
|
|
|
187377
|
-
.step .goBack:hover span {
|
|
187539
|
+
.step-header .goBack:hover span {
|
|
187378
187540
|
transform: translateX(-2px);
|
|
187379
187541
|
}
|
|
187380
187542
|
|
|
187381
|
-
.step .
|
|
187543
|
+
.step-header .stepCounter {
|
|
187544
|
+
color: var(--dees-color-text-muted);
|
|
187545
|
+
font-size: 12px;
|
|
187546
|
+
font-weight: 500;
|
|
187547
|
+
letter-spacing: -0.01em;
|
|
187548
|
+
padding: 0 8px;
|
|
187549
|
+
}
|
|
187550
|
+
|
|
187551
|
+
.step-body .title {
|
|
187382
187552
|
text-align: center;
|
|
187383
|
-
padding-top:
|
|
187553
|
+
padding-top: 32px;
|
|
187384
187554
|
font-family: 'Geist Sans', sans-serif;
|
|
187385
187555
|
font-size: 24px;
|
|
187386
187556
|
font-weight: 600;
|
|
@@ -187388,9 +187558,92 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187388
187558
|
color: inherit;
|
|
187389
187559
|
}
|
|
187390
187560
|
|
|
187391
|
-
.step .content {
|
|
187561
|
+
.step-body .content {
|
|
187392
187562
|
padding: 32px;
|
|
187393
187563
|
}
|
|
187564
|
+
|
|
187565
|
+
/* --- Footer: modal-style bottom buttons --- */
|
|
187566
|
+
.bottomButtons {
|
|
187567
|
+
display: flex;
|
|
187568
|
+
flex-direction: row;
|
|
187569
|
+
justify-content: flex-end;
|
|
187570
|
+
align-items: center;
|
|
187571
|
+
gap: 0;
|
|
187572
|
+
height: 36px;
|
|
187573
|
+
width: 100%;
|
|
187574
|
+
box-sizing: border-box;
|
|
187575
|
+
}
|
|
187576
|
+
|
|
187577
|
+
.bottomButtons .bottomButton {
|
|
187578
|
+
padding: 0 16px;
|
|
187579
|
+
height: 100%;
|
|
187580
|
+
text-align: center;
|
|
187581
|
+
font-size: 12px;
|
|
187582
|
+
font-weight: 500;
|
|
187583
|
+
cursor: pointer;
|
|
187584
|
+
user-select: none;
|
|
187585
|
+
transition: all 0.15s ease;
|
|
187586
|
+
background: transparent;
|
|
187587
|
+
border: none;
|
|
187588
|
+
border-left: 1px solid var(--dees-color-border-subtle);
|
|
187589
|
+
color: var(--dees-color-text-muted);
|
|
187590
|
+
white-space: nowrap;
|
|
187591
|
+
display: flex;
|
|
187592
|
+
align-items: center;
|
|
187593
|
+
}
|
|
187594
|
+
|
|
187595
|
+
.bottomButtons .bottomButton:first-child {
|
|
187596
|
+
border-left: none;
|
|
187597
|
+
}
|
|
187598
|
+
|
|
187599
|
+
.bottomButtons .bottomButton:hover {
|
|
187600
|
+
background: var(--dees-color-hover);
|
|
187601
|
+
color: var(--dees-color-text-primary);
|
|
187602
|
+
}
|
|
187603
|
+
|
|
187604
|
+
.bottomButtons .bottomButton:active {
|
|
187605
|
+
background: ${cssManager.bdTheme("hsl(0 0% 92%)", "hsl(0 0% 13%)")};
|
|
187606
|
+
}
|
|
187607
|
+
|
|
187608
|
+
.bottomButtons .bottomButton.primary {
|
|
187609
|
+
color: ${cssManager.bdTheme("hsl(217.2 91.2% 59.8%)", "hsl(213.1 93.9% 67.8%)")};
|
|
187610
|
+
font-weight: 600;
|
|
187611
|
+
}
|
|
187612
|
+
|
|
187613
|
+
.bottomButtons .bottomButton.primary:hover {
|
|
187614
|
+
background: ${cssManager.bdTheme("hsl(217.2 91.2% 59.8% / 0.08)", "hsl(213.1 93.9% 67.8% / 0.08)")};
|
|
187615
|
+
color: ${cssManager.bdTheme("hsl(217.2 91.2% 50%)", "hsl(213.1 93.9% 75%)")};
|
|
187616
|
+
}
|
|
187617
|
+
|
|
187618
|
+
.bottomButtons .bottomButton.primary:active {
|
|
187619
|
+
background: ${cssManager.bdTheme("hsl(217.2 91.2% 59.8% / 0.12)", "hsl(213.1 93.9% 67.8% / 0.12)")};
|
|
187620
|
+
}
|
|
187621
|
+
|
|
187622
|
+
.bottomButtons .bottomButton.disabled {
|
|
187623
|
+
pointer-events: none;
|
|
187624
|
+
opacity: 0.4;
|
|
187625
|
+
cursor: not-allowed;
|
|
187626
|
+
}
|
|
187627
|
+
|
|
187628
|
+
.bottomButtons .bottomButton.disabled:hover {
|
|
187629
|
+
background: transparent;
|
|
187630
|
+
color: var(--dees-color-text-muted);
|
|
187631
|
+
}
|
|
187632
|
+
|
|
187633
|
+
/* Hint shown on the left of the footer when the active step's form has
|
|
187634
|
+
unfilled required fields. Uses margin-right: auto to push right-aligned
|
|
187635
|
+
buttons to the right while keeping the hint flush-left. */
|
|
187636
|
+
.bottomButtons .stepHint {
|
|
187637
|
+
margin-right: auto;
|
|
187638
|
+
padding: 0 16px;
|
|
187639
|
+
font-size: 11px;
|
|
187640
|
+
line-height: 1;
|
|
187641
|
+
letter-spacing: -0.01em;
|
|
187642
|
+
color: var(--dees-color-text-muted);
|
|
187643
|
+
display: flex;
|
|
187644
|
+
align-items: center;
|
|
187645
|
+
user-select: none;
|
|
187646
|
+
}
|
|
187394
187647
|
`
|
|
187395
187648
|
]);
|
|
187396
187649
|
__runInitializers(_init82, 1, _DeesStepper);
|
|
@@ -200867,7 +201120,7 @@ init_group_runtime();
|
|
|
200867
201120
|
// ts_web/00_commitinfo_data.ts
|
|
200868
201121
|
var commitinfo = {
|
|
200869
201122
|
name: "@design.estate/dees-catalog",
|
|
200870
|
-
version: "3.
|
|
201123
|
+
version: "3.71.0",
|
|
200871
201124
|
description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
|
|
200872
201125
|
};
|
|
200873
201126
|
export {
|
|
@@ -202840,4 +203093,4 @@ ibantools/jsnext/ibantools.js:
|
|
|
202840
203093
|
* @preferred
|
|
202841
203094
|
*)
|
|
202842
203095
|
*/
|
|
202843
|
-
//# sourceMappingURL=bundle-
|
|
203096
|
+
//# sourceMappingURL=bundle-1775904431442.js.map
|