@design.estate/dees-catalog 3.70.0 → 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 +405 -154
- 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_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +2 -4
- package/dist_watch/bundle.js +484 -154
- 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/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +1 -3
package/dist_bundle/bundle.js
CHANGED
|
@@ -140045,9 +140045,7 @@ __publicField(_DeesModal, "styles", [
|
|
|
140045
140045
|
}
|
|
140046
140046
|
|
|
140047
140047
|
.heading .header-button dees-icon {
|
|
140048
|
-
|
|
140049
|
-
height: 14px;
|
|
140050
|
-
display: block;
|
|
140048
|
+
font-size: 14px;
|
|
140051
140049
|
}
|
|
140052
140050
|
|
|
140053
140051
|
.content {
|
|
@@ -187014,175 +187012,223 @@ var DeesPagination = _DeesPagination;
|
|
|
187014
187012
|
|
|
187015
187013
|
// ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.ts
|
|
187016
187014
|
init_dist_ts30();
|
|
187017
|
-
var
|
|
187018
|
-
<dees-stepper
|
|
187019
|
-
.steps=${[
|
|
187015
|
+
var demoSteps = [
|
|
187020
187016
|
{
|
|
187021
187017
|
title: "Account Setup",
|
|
187022
187018
|
content: b2`
|
|
187023
|
-
|
|
187024
|
-
|
|
187025
|
-
|
|
187026
|
-
|
|
187027
|
-
|
|
187028
|
-
|
|
187029
|
-
|
|
187030
|
-
|
|
187031
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187032
|
-
}, "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
|
+
]
|
|
187033
187027
|
},
|
|
187034
187028
|
{
|
|
187035
187029
|
title: "Profile Details",
|
|
187036
187030
|
content: b2`
|
|
187037
|
-
|
|
187038
|
-
|
|
187039
|
-
|
|
187040
|
-
|
|
187041
|
-
|
|
187042
|
-
|
|
187043
|
-
|
|
187044
|
-
|
|
187045
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187046
|
-
}, "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
|
+
]
|
|
187047
187039
|
},
|
|
187048
187040
|
{
|
|
187049
187041
|
title: "Contact Information",
|
|
187050
187042
|
content: b2`
|
|
187051
|
-
|
|
187052
|
-
|
|
187053
|
-
|
|
187054
|
-
|
|
187055
|
-
|
|
187056
|
-
|
|
187057
|
-
|
|
187058
|
-
|
|
187059
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187060
|
-
}, "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
|
+
]
|
|
187061
187051
|
},
|
|
187062
187052
|
{
|
|
187063
187053
|
title: "Team Size",
|
|
187064
187054
|
content: b2`
|
|
187065
|
-
|
|
187066
|
-
|
|
187067
|
-
|
|
187068
|
-
|
|
187069
|
-
|
|
187055
|
+
<dees-form>
|
|
187056
|
+
<dees-input-dropdown
|
|
187057
|
+
key="teamSize"
|
|
187058
|
+
label="How big is your team?"
|
|
187059
|
+
.options=${[
|
|
187070
187060
|
{ label: "1-5", value: "1-5" },
|
|
187071
187061
|
{ label: "6-20", value: "6-20" },
|
|
187072
187062
|
{ label: "21-50", value: "21-50" },
|
|
187073
187063
|
{ label: "51+", value: "51+" }
|
|
187074
187064
|
]}
|
|
187075
|
-
|
|
187076
|
-
|
|
187077
|
-
|
|
187078
|
-
|
|
187079
|
-
|
|
187080
|
-
|
|
187081
|
-
|
|
187082
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187083
|
-
}, "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
|
+
]
|
|
187084
187072
|
},
|
|
187085
187073
|
{
|
|
187086
187074
|
title: "Goals",
|
|
187087
187075
|
content: b2`
|
|
187088
|
-
|
|
187089
|
-
|
|
187090
|
-
|
|
187091
|
-
|
|
187092
|
-
|
|
187076
|
+
<dees-form>
|
|
187077
|
+
<dees-input-multitoggle
|
|
187078
|
+
key="goal"
|
|
187079
|
+
label="Main objective"
|
|
187080
|
+
.options=${[
|
|
187093
187081
|
{ label: "Onboarding", value: "onboarding" },
|
|
187094
187082
|
{ label: "Analytics", value: "analytics" },
|
|
187095
187083
|
{ label: "Automation", value: "automation" }
|
|
187096
187084
|
]}
|
|
187097
|
-
|
|
187098
|
-
|
|
187099
|
-
|
|
187100
|
-
|
|
187101
|
-
|
|
187102
|
-
|
|
187103
|
-
|
|
187104
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187105
|
-
}, "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
|
+
]
|
|
187106
187092
|
},
|
|
187107
187093
|
{
|
|
187108
187094
|
title: "Brand Preferences",
|
|
187109
187095
|
content: b2`
|
|
187110
|
-
|
|
187111
|
-
|
|
187112
|
-
|
|
187113
|
-
|
|
187114
|
-
|
|
187115
|
-
|
|
187116
|
-
|
|
187117
|
-
|
|
187118
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187119
|
-
}, "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
|
+
]
|
|
187120
187104
|
},
|
|
187121
187105
|
{
|
|
187122
187106
|
title: "Integrations",
|
|
187123
187107
|
content: b2`
|
|
187124
|
-
|
|
187125
|
-
|
|
187126
|
-
|
|
187127
|
-
|
|
187128
|
-
|
|
187129
|
-
|
|
187130
|
-
|
|
187131
|
-
|
|
187132
|
-
|
|
187133
|
-
|
|
187134
|
-
|
|
187135
|
-
deesForm.addEventListener("formData", () => stepperArg.goNext(), { once: true });
|
|
187136
|
-
}, "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
|
+
]
|
|
187137
187119
|
},
|
|
187138
187120
|
{
|
|
187139
187121
|
title: "Review & Launch",
|
|
187140
187122
|
content: b2`
|
|
187141
|
-
|
|
187142
|
-
|
|
187143
|
-
|
|
187144
|
-
|
|
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
|
+
]
|
|
187145
187130
|
}
|
|
187146
|
-
]
|
|
187147
|
-
|
|
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>
|
|
187148
187146
|
`, "stepperDemo");
|
|
187149
187147
|
|
|
187150
187148
|
// ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts
|
|
187151
187149
|
init_dist_ts30();
|
|
187152
187150
|
init_dist_ts29();
|
|
187153
187151
|
init_theme();
|
|
187154
|
-
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;
|
|
187155
187153
|
_DeesStepper_decorators = [customElement("dees-stepper")];
|
|
187156
187154
|
var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec = [n5({
|
|
187157
187155
|
type: Array
|
|
187158
187156
|
})], _selectedStep_dec = [n5({
|
|
187159
187157
|
type: Object
|
|
187160
|
-
})],
|
|
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) {
|
|
187161
187162
|
constructor() {
|
|
187162
187163
|
super();
|
|
187163
187164
|
__privateAdd(this, _steps, __runInitializers(_init82, 8, this, [])), __runInitializers(_init82, 11, this);
|
|
187164
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");
|
|
187165
187172
|
__publicField(this, "getIndexOfStep", /* @__PURE__ */ __name((stepArg) => {
|
|
187166
187173
|
return this.steps.findIndex((stepArg2) => stepArg === stepArg2);
|
|
187167
187174
|
}, "getIndexOfStep"));
|
|
187168
187175
|
__publicField(this, "scroller");
|
|
187169
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
|
+
}
|
|
187170
187192
|
render() {
|
|
187171
187193
|
return b2`
|
|
187172
|
-
<div
|
|
187173
|
-
${this.
|
|
187174
|
-
|
|
187175
|
-
|
|
187176
|
-
|
|
187177
|
-
|
|
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>`}
|
|
187178
187209
|
<div class="stepCounter">
|
|
187179
|
-
Step ${
|
|
187180
|
-
${this.steps.length}
|
|
187210
|
+
Step ${stepIndex + 1} of ${this.steps.length}
|
|
187181
187211
|
</div>
|
|
187212
|
+
</div>
|
|
187213
|
+
<div class="step-body">
|
|
187182
187214
|
<div class="title">${stepArg.title}</div>
|
|
187183
187215
|
<div class="content">${stepArg.content}</div>
|
|
187184
|
-
</div>
|
|
187185
|
-
|
|
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
|
+
})}
|
|
187186
187232
|
</div>
|
|
187187
187233
|
`;
|
|
187188
187234
|
}
|
|
@@ -187204,6 +187250,7 @@ var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec =
|
|
|
187204
187250
|
if (!selectedStepElement) {
|
|
187205
187251
|
return;
|
|
187206
187252
|
}
|
|
187253
|
+
this.scanActiveForm(selectedStepElement);
|
|
187207
187254
|
if (!stepperContainer.style.paddingTop) {
|
|
187208
187255
|
stepperContainer.style.paddingTop = `${stepperContainer.offsetHeight / 2 - selectedStepElement.offsetHeight / 2}px`;
|
|
187209
187256
|
}
|
|
@@ -187261,14 +187308,99 @@ var _DeesStepper = class _DeesStepper extends (_a81 = DeesElement, _steps_dec =
|
|
|
187261
187308
|
nextStep.validationFuncCalled = false;
|
|
187262
187309
|
this.selectedStep = nextStep;
|
|
187263
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
|
+
}
|
|
187264
187387
|
};
|
|
187265
187388
|
_init82 = __decoratorStart(_a81);
|
|
187266
187389
|
_steps = new WeakMap();
|
|
187267
187390
|
_selectedStep = new WeakMap();
|
|
187391
|
+
_overlay = new WeakMap();
|
|
187392
|
+
_stepperZIndex = new WeakMap();
|
|
187393
|
+
_activeForm = new WeakMap();
|
|
187394
|
+
_activeFormValid = new WeakMap();
|
|
187268
187395
|
__decorateElement(_init82, 4, "steps", _steps_dec, _DeesStepper, _steps);
|
|
187269
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);
|
|
187270
187401
|
_DeesStepper = __decorateElement(_init82, 0, "DeesStepper", _DeesStepper_decorators, _DeesStepper);
|
|
187271
187402
|
__name(_DeesStepper, "DeesStepper");
|
|
187403
|
+
// STATIC
|
|
187272
187404
|
__publicField(_DeesStepper, "demo", stepperDemo);
|
|
187273
187405
|
__publicField(_DeesStepper, "demoGroups", ["Layout", "Form"]);
|
|
187274
187406
|
__publicField(_DeesStepper, "styles", [
|
|
@@ -187280,7 +187412,24 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187280
187412
|
position: absolute;
|
|
187281
187413
|
width: 100%;
|
|
187282
187414
|
height: 100%;
|
|
187415
|
+
font-family: ${cssGeistFontFamily};
|
|
187416
|
+
color: var(--dees-color-text-primary);
|
|
187283
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
|
+
|
|
187284
187433
|
.stepperContainer {
|
|
187285
187434
|
position: absolute;
|
|
187286
187435
|
width: 100%;
|
|
@@ -187288,101 +187437,120 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187288
187437
|
overflow: hidden;
|
|
187289
187438
|
}
|
|
187290
187439
|
|
|
187291
|
-
.
|
|
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 {
|
|
187292
187454
|
position: relative;
|
|
187293
187455
|
pointer-events: none;
|
|
187294
|
-
overflow: hidden;
|
|
187295
|
-
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);
|
|
187296
187456
|
max-width: 500px;
|
|
187297
187457
|
min-height: 300px;
|
|
187298
|
-
border-radius: 12px;
|
|
187299
|
-
background: ${cssManager.bdTheme("#ffffff", "#0f0f11")};
|
|
187300
|
-
border: 1px solid ${cssManager.bdTheme("#e2e8f0", "#272729")};
|
|
187301
|
-
color: ${cssManager.bdTheme("#0f172a", "#f5f5f5")};
|
|
187302
187458
|
margin: auto;
|
|
187303
187459
|
margin-bottom: 20px;
|
|
187304
187460
|
filter: opacity(0.55) saturate(0.85);
|
|
187305
|
-
|
|
187461
|
+
transition: transform 0.7s cubic-bezier(0.87, 0, 0.13, 1), filter 0.7s cubic-bezier(0.87, 0, 0.13, 1);
|
|
187306
187462
|
user-select: none;
|
|
187307
187463
|
}
|
|
187308
187464
|
|
|
187309
|
-
.step.selected {
|
|
187465
|
+
dees-tile.step.selected {
|
|
187310
187466
|
pointer-events: all;
|
|
187311
187467
|
filter: opacity(1) saturate(1);
|
|
187312
187468
|
user-select: auto;
|
|
187313
187469
|
}
|
|
187314
187470
|
|
|
187315
|
-
.step.hiddenStep {
|
|
187471
|
+
dees-tile.step.hiddenStep {
|
|
187316
187472
|
filter: opacity(0);
|
|
187317
187473
|
}
|
|
187318
187474
|
|
|
187319
|
-
.step.entrance {
|
|
187320
|
-
transition: transform 0.35s ease,
|
|
187475
|
+
dees-tile.step.entrance {
|
|
187476
|
+
transition: transform 0.35s ease, filter 0.35s ease;
|
|
187321
187477
|
}
|
|
187322
187478
|
|
|
187323
|
-
.step.entrance.hiddenStep {
|
|
187479
|
+
dees-tile.step.entrance.hiddenStep {
|
|
187324
187480
|
transform: translateY(16px);
|
|
187325
187481
|
}
|
|
187326
187482
|
|
|
187327
|
-
.step:last-child {
|
|
187483
|
+
dees-tile.step:last-child {
|
|
187328
187484
|
margin-bottom: 100vh;
|
|
187329
187485
|
}
|
|
187330
187486
|
|
|
187331
|
-
.
|
|
187332
|
-
|
|
187333
|
-
|
|
187334
|
-
|
|
187335
|
-
|
|
187336
|
-
padding: 6px 14px;
|
|
187337
|
-
font-size: 12px;
|
|
187338
|
-
border-radius: 999px;
|
|
187339
|
-
background: ${cssManager.bdTheme("rgba(226, 232, 240, 0.5)", "rgba(63, 63, 70, 0.45)")};
|
|
187340
|
-
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)")};
|
|
187341
187492
|
}
|
|
187342
187493
|
|
|
187343
|
-
.step
|
|
187344
|
-
|
|
187345
|
-
|
|
187346
|
-
|
|
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 {
|
|
187347
187508
|
display: inline-flex;
|
|
187348
187509
|
align-items: center;
|
|
187349
187510
|
gap: 6px;
|
|
187350
|
-
|
|
187511
|
+
height: 24px;
|
|
187512
|
+
padding: 0 8px;
|
|
187351
187513
|
font-size: 12px;
|
|
187352
187514
|
font-weight: 500;
|
|
187353
|
-
|
|
187354
|
-
border:
|
|
187355
|
-
background:
|
|
187356
|
-
color:
|
|
187515
|
+
line-height: 1;
|
|
187516
|
+
border: none;
|
|
187517
|
+
background: transparent;
|
|
187518
|
+
color: var(--dees-color-text-muted);
|
|
187519
|
+
border-radius: 4px;
|
|
187357
187520
|
cursor: pointer;
|
|
187358
|
-
transition:
|
|
187521
|
+
transition: background 0.15s ease, color 0.15s ease, transform 0.2s ease;
|
|
187359
187522
|
}
|
|
187360
187523
|
|
|
187361
|
-
.step .goBack:hover {
|
|
187362
|
-
|
|
187363
|
-
|
|
187364
|
-
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);
|
|
187365
187527
|
transform: translateX(-2px);
|
|
187366
187528
|
}
|
|
187367
187529
|
|
|
187368
|
-
.step .goBack:active {
|
|
187369
|
-
|
|
187370
|
-
border-color: ${cssManager.bdTheme(dark.blueActive, dark.blueActive)};
|
|
187371
|
-
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%)")};
|
|
187372
187532
|
}
|
|
187373
187533
|
|
|
187374
|
-
.step .goBack span {
|
|
187534
|
+
.step-header .goBack span {
|
|
187375
187535
|
transition: transform 0.2s ease;
|
|
187376
187536
|
display: inline-block;
|
|
187377
187537
|
}
|
|
187378
187538
|
|
|
187379
|
-
.step .goBack:hover span {
|
|
187539
|
+
.step-header .goBack:hover span {
|
|
187380
187540
|
transform: translateX(-2px);
|
|
187381
187541
|
}
|
|
187382
187542
|
|
|
187383
|
-
.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 {
|
|
187384
187552
|
text-align: center;
|
|
187385
|
-
padding-top:
|
|
187553
|
+
padding-top: 32px;
|
|
187386
187554
|
font-family: 'Geist Sans', sans-serif;
|
|
187387
187555
|
font-size: 24px;
|
|
187388
187556
|
font-weight: 600;
|
|
@@ -187390,9 +187558,92 @@ __publicField(_DeesStepper, "styles", [
|
|
|
187390
187558
|
color: inherit;
|
|
187391
187559
|
}
|
|
187392
187560
|
|
|
187393
|
-
.step .content {
|
|
187561
|
+
.step-body .content {
|
|
187394
187562
|
padding: 32px;
|
|
187395
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
|
+
}
|
|
187396
187647
|
`
|
|
187397
187648
|
]);
|
|
187398
187649
|
__runInitializers(_init82, 1, _DeesStepper);
|
|
@@ -200869,7 +201120,7 @@ init_group_runtime();
|
|
|
200869
201120
|
// ts_web/00_commitinfo_data.ts
|
|
200870
201121
|
var commitinfo = {
|
|
200871
201122
|
name: "@design.estate/dees-catalog",
|
|
200872
|
-
version: "3.
|
|
201123
|
+
version: "3.71.0",
|
|
200873
201124
|
description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
|
|
200874
201125
|
};
|
|
200875
201126
|
export {
|
|
@@ -202842,4 +203093,4 @@ ibantools/jsnext/ibantools.js:
|
|
|
202842
203093
|
* @preferred
|
|
202843
203094
|
*)
|
|
202844
203095
|
*/
|
|
202845
|
-
//# sourceMappingURL=bundle-
|
|
203096
|
+
//# sourceMappingURL=bundle-1775904431442.js.map
|