@design.estate/dees-catalog 1.0.173

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.
Files changed (102) hide show
  1. package/dist_bundle/bundle.js +2704 -0
  2. package/dist_bundle/bundle.js.map +7 -0
  3. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  4. package/dist_ts_web/00_commitinfo_data.js +9 -0
  5. package/dist_ts_web/elements/dees-button-exit.d.ts +7 -0
  6. package/dist_ts_web/elements/dees-button-exit.js +52 -0
  7. package/dist_ts_web/elements/dees-button.d.ts +20 -0
  8. package/dist_ts_web/elements/dees-button.js +215 -0
  9. package/dist_ts_web/elements/dees-chips.d.ts +18 -0
  10. package/dist_ts_web/elements/dees-chips.js +124 -0
  11. package/dist_ts_web/elements/dees-contextmenu.d.ts +18 -0
  12. package/dist_ts_web/elements/dees-contextmenu.js +173 -0
  13. package/dist_ts_web/elements/dees-dataview-codebox.d.ts +15 -0
  14. package/dist_ts_web/elements/dees-dataview-codebox.js +177 -0
  15. package/dist_ts_web/elements/dees-dataview-statusobject.d.ts +14 -0
  16. package/dist_ts_web/elements/dees-dataview-statusobject.js +163 -0
  17. package/dist_ts_web/elements/dees-form-submit.d.ts +17 -0
  18. package/dist_ts_web/elements/dees-form-submit.js +68 -0
  19. package/dist_ts_web/elements/dees-form.d.ts +29 -0
  20. package/dist_ts_web/elements/dees-form.js +173 -0
  21. package/dist_ts_web/elements/dees-icon.d.ts +76 -0
  22. package/dist_ts_web/elements/dees-icon.js +153 -0
  23. package/dist_ts_web/elements/dees-input-checkbox.d.ts +18 -0
  24. package/dist_ts_web/elements/dees-input-checkbox.js +178 -0
  25. package/dist_ts_web/elements/dees-input-dropdown.d.ts +30 -0
  26. package/dist_ts_web/elements/dees-input-dropdown.js +185 -0
  27. package/dist_ts_web/elements/dees-input-fileupload.d.ts +24 -0
  28. package/dist_ts_web/elements/dees-input-fileupload.js +196 -0
  29. package/dist_ts_web/elements/dees-input-quantityselector.d.ts +19 -0
  30. package/dist_ts_web/elements/dees-input-quantityselector.js +122 -0
  31. package/dist_ts_web/elements/dees-input-radio.d.ts +19 -0
  32. package/dist_ts_web/elements/dees-input-radio.js +136 -0
  33. package/dist_ts_web/elements/dees-input-text.d.ts +26 -0
  34. package/dist_ts_web/elements/dees-input-text.js +183 -0
  35. package/dist_ts_web/elements/dees-mobilenavigation.d.ts +27 -0
  36. package/dist_ts_web/elements/dees-mobilenavigation.js +185 -0
  37. package/dist_ts_web/elements/dees-pdf.d.ts +17 -0
  38. package/dist_ts_web/elements/dees-pdf.js +108 -0
  39. package/dist_ts_web/elements/dees-preview.d.ts +1 -0
  40. package/dist_ts_web/elements/dees-preview.js +2 -0
  41. package/dist_ts_web/elements/dees-search.d.ts +1 -0
  42. package/dist_ts_web/elements/dees-search.js +2 -0
  43. package/dist_ts_web/elements/dees-searchbox.d.ts +1 -0
  44. package/dist_ts_web/elements/dees-searchbox.js +2 -0
  45. package/dist_ts_web/elements/dees-speechbubble.d.ts +18 -0
  46. package/dist_ts_web/elements/dees-speechbubble.js +153 -0
  47. package/dist_ts_web/elements/dees-spinner.d.ts +15 -0
  48. package/dist_ts_web/elements/dees-spinner.js +130 -0
  49. package/dist_ts_web/elements/dees-stepper.d.ts +29 -0
  50. package/dist_ts_web/elements/dees-stepper.js +231 -0
  51. package/dist_ts_web/elements/dees-table.d.ts +28 -0
  52. package/dist_ts_web/elements/dees-table.js +348 -0
  53. package/dist_ts_web/elements/dees-toast.d.ts +10 -0
  54. package/dist_ts_web/elements/dees-toast.js +29 -0
  55. package/dist_ts_web/elements/dees-tooltip.d.ts +1 -0
  56. package/dist_ts_web/elements/dees-tooltip.js +2 -0
  57. package/dist_ts_web/elements/dees-updater.d.ts +16 -0
  58. package/dist_ts_web/elements/dees-updater.js +91 -0
  59. package/dist_ts_web/elements/dees-windowlayer.d.ts +17 -0
  60. package/dist_ts_web/elements/dees-windowlayer.js +85 -0
  61. package/dist_ts_web/elements/index.d.ts +24 -0
  62. package/dist_ts_web/elements/index.js +25 -0
  63. package/dist_ts_web/elements/plugins.d.ts +4 -0
  64. package/dist_ts_web/elements/plugins.js +7 -0
  65. package/dist_ts_web/index.d.ts +2 -0
  66. package/dist_ts_web/index.js +3 -0
  67. package/license +22 -0
  68. package/npmextra.json +18 -0
  69. package/package.json +55 -0
  70. package/readme.md +39 -0
  71. package/ts_web/00_commitinfo_data.ts +8 -0
  72. package/ts_web/elements/dees-button-exit.ts +48 -0
  73. package/ts_web/elements/dees-button.ts +218 -0
  74. package/ts_web/elements/dees-chips.ts +124 -0
  75. package/ts_web/elements/dees-contextmenu.ts +181 -0
  76. package/ts_web/elements/dees-dataview-codebox.ts +178 -0
  77. package/ts_web/elements/dees-dataview-statusobject.ts +170 -0
  78. package/ts_web/elements/dees-form-submit.ts +70 -0
  79. package/ts_web/elements/dees-form.ts +191 -0
  80. package/ts_web/elements/dees-icon.ts +204 -0
  81. package/ts_web/elements/dees-input-checkbox.ts +175 -0
  82. package/ts_web/elements/dees-input-dropdown.ts +173 -0
  83. package/ts_web/elements/dees-input-fileupload.ts +195 -0
  84. package/ts_web/elements/dees-input-quantityselector.ts +113 -0
  85. package/ts_web/elements/dees-input-radio.ts +125 -0
  86. package/ts_web/elements/dees-input-text.ts +171 -0
  87. package/ts_web/elements/dees-mobilenavigation.ts +189 -0
  88. package/ts_web/elements/dees-pdf.ts +119 -0
  89. package/ts_web/elements/dees-preview.ts +0 -0
  90. package/ts_web/elements/dees-search.ts +0 -0
  91. package/ts_web/elements/dees-searchbox.ts +0 -0
  92. package/ts_web/elements/dees-speechbubble.ts +157 -0
  93. package/ts_web/elements/dees-spinner.ts +131 -0
  94. package/ts_web/elements/dees-stepper.ts +262 -0
  95. package/ts_web/elements/dees-table.ts +360 -0
  96. package/ts_web/elements/dees-toast.ts +26 -0
  97. package/ts_web/elements/dees-tooltip.ts +1 -0
  98. package/ts_web/elements/dees-updater.ts +90 -0
  99. package/ts_web/elements/dees-windowlayer.ts +85 -0
  100. package/ts_web/elements/index.ts +24 -0
  101. package/ts_web/elements/plugins.ts +13 -0
  102. package/ts_web/index.ts +2 -0
@@ -0,0 +1,157 @@
1
+ import {
2
+ customElement,
3
+ html,
4
+ DeesElement,
5
+ property,
6
+ type TemplateResult,
7
+ cssManager,
8
+ css,
9
+ type CSSResult,
10
+ unsafeCSS,
11
+ } from '@design.estate/dees-element';
12
+
13
+ import * as domtools from '@design.estate/dees-domtools';
14
+
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'dees-speechbubble': DeesSpeechbubble;
18
+ }
19
+ }
20
+
21
+ @customElement('dees-speechbubble')
22
+ export class DeesSpeechbubble extends DeesElement {
23
+ public static demo = () => html` <dees-speechbubble></dees-speechbubble> `;
24
+
25
+ @property()
26
+ public text: string;
27
+
28
+ @property({
29
+ type: Boolean,
30
+ })
31
+ public disabled = false;
32
+
33
+ @property({
34
+ type: Boolean,
35
+ })
36
+ public isHidden = false;
37
+
38
+ @property({
39
+ type: String,
40
+ })
41
+ public status: 'normal' | 'pending' | 'success' | 'error' = 'normal';
42
+
43
+ constructor() {
44
+ super();
45
+ }
46
+
47
+ public static styles = [
48
+ cssManager.defaultStyles,
49
+ css`
50
+ :host {
51
+ position: relative;
52
+ display: block;
53
+ box-sizing: border-box;
54
+ color: ${cssManager.bdTheme('#333', '#fff')};
55
+ cursor: pointer;
56
+ user-select: none;
57
+ }
58
+ :host([hidden]) {
59
+ display: none;
60
+ }
61
+
62
+ .maincontainer {
63
+ will-change: transform;
64
+ transition: transform 0.2s;
65
+ transform: translateX(0px);
66
+ position: relative;
67
+ transition: all 0.2s;
68
+ margin-left: 0px;
69
+ }
70
+
71
+ .maincontainer:hover {
72
+ transform: translateX(3px);
73
+ }
74
+
75
+ .arrow {
76
+ position: absolute;
77
+ transform: rotate(45deg);
78
+ background: ${cssManager.bdTheme('#fff', '#333')};
79
+ height: 15px;
80
+ width: 15px;
81
+ left: 4px;
82
+ top: 5px;
83
+ border-radius: 2px;
84
+ }
85
+
86
+ .speechbubble {
87
+ background: ${cssManager.bdTheme('#fff', '#333')};
88
+ padding: 0px 10px;
89
+ border-radius: 3px;
90
+ position: absolute;
91
+ line-height: 25px;
92
+ font-size: 12px;
93
+ top: 0px;
94
+ left: 8px;
95
+ }
96
+
97
+ .wave {
98
+ animation-name: wave-animation; /* Refers to the name of your @keyframes element below */
99
+ animation-duration: 2.5s; /* Change to speed up or slow down */
100
+ animation-iteration-count: infinite; /* Never stop waving :) */
101
+ transform-origin: 70% 70%; /* Pivot around the bottom-left palm */
102
+ display: inline-block;
103
+ }
104
+
105
+ @keyframes wave-animation {
106
+ 0% {
107
+ transform: rotate(0deg);
108
+ }
109
+ 10% {
110
+ transform: rotate(14deg);
111
+ } /* The following five values can be played with to make the waving more or less extreme */
112
+ 20% {
113
+ transform: rotate(-8deg);
114
+ }
115
+ 30% {
116
+ transform: rotate(14deg);
117
+ }
118
+ 40% {
119
+ transform: rotate(-4deg);
120
+ }
121
+ 50% {
122
+ transform: rotate(10deg);
123
+ }
124
+ 60% {
125
+ transform: rotate(0deg);
126
+ } /* Reset for the last half to pause */
127
+ 100% {
128
+ transform: rotate(0deg);
129
+ }
130
+ }
131
+ `,
132
+ ];
133
+
134
+ public render(): TemplateResult {
135
+ return html`
136
+ <div class="maincontainer" @click=${this.handleClick}>
137
+ <div class="arrow"></div>
138
+ <div class="speechbubble"><span class="wave">👋</span> We build with launch.sh, and you can too.</div>
139
+ </div>
140
+ `;
141
+ }
142
+
143
+ public async handleClick() {
144
+ if (this.disabled) {
145
+ return;
146
+ }
147
+
148
+ globalThis.location.href = "https://launch.sh"
149
+ }
150
+
151
+ public async firstUpdated() {
152
+ if (!this.textContent) {
153
+ this.textContent = 'Button';
154
+ this.performUpdate();
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,131 @@
1
+ import {
2
+ customElement,
3
+ html,
4
+ DeesElement,
5
+ property,
6
+ type TemplateResult,
7
+ cssManager,
8
+ css,
9
+ type CSSResult,
10
+ unsafeCSS,
11
+ } from '@design.estate/dees-element';
12
+
13
+ import * as domtools from '@design.estate/dees-domtools';
14
+
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'dees-spinner': DeesSpinner;
18
+ }
19
+ }
20
+
21
+ @customElement('dees-spinner')
22
+ export class DeesSpinner extends DeesElement {
23
+ public static demo = () => html`
24
+ <dees-spinner></dees-spinner>
25
+ <dees-spinner status="success"></dees-spinner>
26
+ <dees-spinner status="error"></dees-spinner>
27
+ <dees-spinner size=${64} status="success"></dees-spinner>
28
+ <dees-spinner .size=${64} status="error"></dees-spinner>
29
+ `;
30
+
31
+ @property({
32
+ type: Number,
33
+ })
34
+ public size = 20;
35
+
36
+ @property({
37
+ type: String,
38
+ })
39
+ public bnw: boolean = false;
40
+
41
+ @property()
42
+ public status: 'normal' | 'pending' | 'success' | 'error' = 'normal';
43
+
44
+ constructor() {
45
+ super();
46
+ }
47
+
48
+ public static styles = [
49
+ cssManager.defaultStyles,
50
+ css`
51
+ :host {
52
+ display: block;
53
+ }
54
+
55
+ #loading {
56
+ position: relative;
57
+ transition: none;
58
+ display: flex;
59
+ justify-content: center;
60
+ align-content: center;
61
+ background: #8bc34a00;
62
+ border: 3px solid ${cssManager.bdTheme('rgba(0, 0, 0, 0.1)', 'rgba(255, 255, 255, 0.3)')};
63
+ border-radius: 50%;
64
+ border-top-color: ${cssManager.bdTheme('#333', '#fff')};
65
+ animation: spin 1s ease-in-out infinite;
66
+ -webkit-animation: spin 1s ease-in-out infinite;
67
+ }
68
+
69
+ #loading.success {
70
+ border: none;
71
+ border-radius: 50%;
72
+ animation: none;
73
+ -webkit-animation: none;
74
+ }
75
+
76
+ #loading.error {
77
+ border: none;
78
+ border-radius: 50%;
79
+ animation: none;
80
+ -webkit-animation: none;
81
+ }
82
+
83
+ @keyframes spin {
84
+ to {
85
+ -webkit-transform: rotate(360deg);
86
+ }
87
+ }
88
+ @-webkit-keyframes spin {
89
+ to {
90
+ -webkit-transform: rotate(360deg);
91
+ }
92
+ }
93
+
94
+ dees-icon {
95
+ position: absolute;
96
+ height: 100%;
97
+ width: 100%;
98
+ }
99
+ `,
100
+ ];
101
+
102
+ render() {
103
+ return html`
104
+ <style>
105
+ #loading {
106
+ width: ${this.size}px;
107
+ height: ${this.size}px;
108
+ }
109
+ #loading.success {
110
+ color: ${cssManager.bdTheme(this.bnw ? '#333': `#8bc34a`, this.bnw ? '#fff' : `#8bc34a`)};
111
+
112
+ }
113
+ #loading.error {
114
+ color: ${cssManager.bdTheme(this.bnw ? '#333': `#e64a19`, this.bnw ? '#fff' : `#e64a19`)};
115
+ }
116
+ dees-icon {
117
+ font-size: ${this.size}px;
118
+ }
119
+ </style>
120
+ <div class="${this.status}" id="loading">
121
+ ${(() => {
122
+ if (this.status === 'success') {
123
+ return html`<dees-icon style="transform: translateX(1%) translateY(3%);" .iconFA=${'circleCheck' as any}></dees-icon>`;
124
+ } else if (this.status === 'error') {
125
+ return html`<dees-icon .iconFA=${'circleXmark' as any}></dees-icon>`;
126
+ }
127
+ })()}
128
+ </div>
129
+ `;
130
+ }
131
+ }
@@ -0,0 +1,262 @@
1
+ import {
2
+ DeesElement,
3
+ customElement,
4
+ html,
5
+ css,
6
+ unsafeCSS,
7
+ type CSSResult,
8
+ cssManager,
9
+ property,
10
+ type TemplateResult,
11
+ } from '@design.estate/dees-element';
12
+
13
+ import * as domtools from '@design.estate/dees-domtools';
14
+
15
+ export interface IStep {
16
+ title: string;
17
+ content: TemplateResult;
18
+ validationFunc?: (stepper: DeesStepper, htmlElement: HTMLElement) => Promise<any>;
19
+ onReturnToStepFunc?: (stepper: DeesStepper, htmlElement: HTMLElement) => Promise<any>;
20
+ validationFuncCalled?: boolean;
21
+ }
22
+
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'dees-stepper': DeesStepper;
26
+ }
27
+ }
28
+
29
+ @customElement('dees-stepper')
30
+ export class DeesStepper extends DeesElement {
31
+ public static demo = () =>
32
+ html`
33
+ <dees-stepper
34
+ .steps=${[
35
+ {
36
+ title: 'Whats your name?',
37
+ content: html`
38
+ <dees-form>
39
+ <dees-input-text
40
+ key="email"
41
+ label="Your Email"
42
+ value="hello@something.com"
43
+ disabled
44
+ ></dees-input-text>
45
+ <dees-input-text key="firstName" required label="Vorname"></dees-input-text>
46
+ <dees-input-text key="lastName" required label="Nachname"></dees-input-text>
47
+ <dees-form-submit>Next</dees-form-submit>
48
+ </dees-form>
49
+ `,
50
+ validationFunc: async (stepperArg, elementArg) => {
51
+ const deesForm = elementArg.querySelector('dees-form');
52
+ deesForm.addEventListener('formData', (eventArg) => {
53
+ stepperArg.goNext();
54
+ });
55
+ },
56
+ },
57
+ {
58
+ title: 'Whats your mobile number?',
59
+ content: html``,
60
+ },
61
+ ] as IStep[]}
62
+ ></dees-stepper>
63
+ `;
64
+
65
+ @property({
66
+ type: Array,
67
+ })
68
+ public steps: IStep[] = [];
69
+
70
+ @property({
71
+ type: Object,
72
+ })
73
+ public selectedStep: IStep;
74
+
75
+ constructor() {
76
+ super();
77
+ }
78
+
79
+ public static styles = [
80
+ cssManager.defaultStyles,
81
+ css`
82
+ :host {
83
+ position: absolute;
84
+ width: 100%;
85
+ height: 100%;
86
+ }
87
+ .stepperContainer {
88
+ position: absolute;
89
+ width: 100%;
90
+ height: 100%;
91
+ background: ${cssManager.bdTheme('#eeeeeb', '#000')};
92
+ overflow: hidden;
93
+ }
94
+
95
+ .step {
96
+ position: relative;
97
+ pointer-events: none;
98
+ overflow: hidden;
99
+ transition: all 0.7s ease-in-out;
100
+ max-width: 500px;
101
+ min-height: 300px;
102
+ border-radius: 3px;
103
+ background: ${cssManager.bdTheme('#ffffff', '#181818')};
104
+ border-top: 1px solid ${cssManager.bdTheme('#ffffff', '#181818')};
105
+ color: ${cssManager.bdTheme('#333', '#fff')};
106
+ margin: auto;
107
+ margin-bottom: 20px;
108
+ filter: opacity(0.5) grayscale(1);
109
+ box-shadow: 0px 0px 3px #00000010;
110
+ user-select: none;
111
+ }
112
+
113
+ .step.selected {
114
+ border-top: 1px solid #e4002b;
115
+ pointer-events: all;
116
+ filter: opacity(1) grayscale(0);
117
+ box-shadow: 0px 0px 5px #00000010;
118
+ user-select: auto;
119
+ }
120
+
121
+ .step.hiddenStep {
122
+ filter: opacity(0);
123
+ }
124
+
125
+ .step:last-child {
126
+ margin-bottom: 100vh;
127
+ }
128
+
129
+ .step .stepCounter {
130
+ position: absolute;
131
+ top: 0px;
132
+ right: 0px;
133
+ padding: 10px 15px;
134
+ font-size: 12px;
135
+ border-bottom-left-radius: 3px;
136
+ background: ${cssManager.bdTheme('#00000008', '#ffffff08')};
137
+ }
138
+
139
+ .step .goBack {
140
+ position: absolute;
141
+ top: 0px;
142
+ left: 0px;
143
+ padding: 10px 15px;
144
+ font-size: 12px;
145
+ border-bottom-right-radius: 3px;
146
+ background: ${cssManager.bdTheme('#00000008', '#ffffff08')};
147
+ cursor: pointer;
148
+ }
149
+
150
+ .step .goBack:hover {
151
+ background: ${cssManager.bdTheme('#00000012', '#ffffff12')};
152
+ }
153
+
154
+ .step .title {
155
+ text-align: center;
156
+ padding-top: 50px;
157
+ font-family: 'Mona Sans', 'Inter', sans-serif;
158
+ font-size: 25px;
159
+ font-weight: 300;
160
+ }
161
+
162
+ .step .content {
163
+ padding: 20px;
164
+ }
165
+ `,
166
+ ];
167
+
168
+ public render() {
169
+ return html`
170
+ <div class="stepperContainer">
171
+ ${this.steps.map(
172
+ (stepArg) =>
173
+ html`<div
174
+ class="step ${stepArg === this.selectedStep
175
+ ? 'selected'
176
+ : null} ${this.getIndexOfStep(stepArg) > this.getIndexOfStep(this.selectedStep)
177
+ ? 'hiddenStep'
178
+ : ''}"
179
+ >
180
+ ${this.getIndexOfStep(stepArg) > 0
181
+ ? html`<div class="goBack" @click=${this.goBack}><- go to previous step</div>`
182
+ : ``}
183
+ <div class="stepCounter">
184
+ Step ${this.steps.findIndex((elementArg) => elementArg === stepArg) + 1} of
185
+ ${this.steps.length}
186
+ </div>
187
+ <div class="title">${stepArg.title}</div>
188
+ <div class="content">${stepArg.content}</div>
189
+ </div> `
190
+ )}
191
+ </div>
192
+ `;
193
+ }
194
+
195
+ public getIndexOfStep = (stepArg: IStep): number => {
196
+ return this.steps.findIndex((stepArg2) => stepArg === stepArg2);
197
+ };
198
+
199
+ public async firstUpdated() {
200
+ await this.domtoolsPromise;
201
+ await this.domtools.convenience.smartdelay.delayFor(0);
202
+ this.selectedStep = this.steps[0];
203
+ this.setScrollStatus();
204
+ }
205
+
206
+ public async updated() {
207
+ this.setScrollStatus();
208
+ }
209
+
210
+ public scroller: typeof domtools.plugins.SweetScroll.prototype;
211
+
212
+ public async setScrollStatus() {
213
+ const stepperContainer: HTMLElement = this.shadowRoot.querySelector('.stepperContainer');
214
+ const firstStepElement: HTMLElement = this.shadowRoot.querySelector('.step');
215
+ const selectedStepElement: HTMLElement = this.shadowRoot.querySelector('.selected');
216
+ if (!selectedStepElement) {
217
+ return;
218
+ }
219
+ if (!stepperContainer.style.paddingTop) {
220
+ stepperContainer.style.paddingTop = `${
221
+ stepperContainer.offsetHeight / 2 - selectedStepElement.offsetHeight / 2
222
+ }px`;
223
+ }
224
+ console.log('Setting scroll status');
225
+ console.log(selectedStepElement);
226
+ const scrollPosition =
227
+ selectedStepElement.offsetTop -
228
+ stepperContainer.offsetHeight / 2 +
229
+ selectedStepElement.offsetHeight / 2;
230
+ console.log(scrollPosition);
231
+ const domtoolsInstance = await domtools.DomTools.setupDomTools();
232
+ if (!this.scroller) {
233
+ this.scroller = new domtools.plugins.SweetScroll(
234
+ {
235
+ vertical: true,
236
+ horizontal: false,
237
+ easing: 'easeInOutExpo',
238
+ duration: 700,
239
+ },
240
+ stepperContainer
241
+ );
242
+ }
243
+ if (!this.selectedStep.validationFuncCalled && this.selectedStep.validationFunc) {
244
+ this.selectedStep.validationFuncCalled = true;
245
+ await this.selectedStep.validationFunc(this, selectedStepElement);
246
+ }
247
+ this.scroller.to(scrollPosition);
248
+ }
249
+
250
+ public async goBack() {
251
+ const currentIndex = this.steps.findIndex((stepArg) => stepArg === this.selectedStep);
252
+ this.selectedStep = this.steps[currentIndex - 1];
253
+ await this.domtoolsPromise;
254
+ await this.domtools.convenience.smartdelay.delayFor(100);
255
+ this.selectedStep.onReturnToStepFunc?.(this, this.shadowRoot.querySelector('.selected'));
256
+ }
257
+
258
+ public goNext() {
259
+ const currentIndex = this.steps.findIndex((stepArg) => stepArg === this.selectedStep);
260
+ this.selectedStep = this.steps[currentIndex + 1];
261
+ }
262
+ }