nve-designsystem 0.1.84 → 0.1.86
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/components/nve-stepper/nve-step/nve-step.component.d.ts +15 -48
- package/components/nve-stepper/nve-step/nve-step.component.js +74 -109
- package/components/nve-stepper/nve-step/nve-step.styles.js +3 -0
- package/components/nve-stepper/nve-stepper-mobile.component.d.ts +3 -4
- package/components/nve-stepper/nve-stepper-mobile.component.js +20 -23
- package/components/nve-stepper/nve-stepper.component.d.ts +14 -37
- package/components/nve-stepper/nve-stepper.component.js +39 -59
- package/components/nve-stepper/nve-stepper.styles.js +1 -0
- package/custom-elements.json +163 -217
- package/package.json +1 -1
|
@@ -3,8 +3,9 @@ import { CSSResultArray, LitElement, TemplateResult } from 'lit';
|
|
|
3
3
|
export declare enum StepState {
|
|
4
4
|
NotStarted = 0,
|
|
5
5
|
Started = 1,
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Active = 2,
|
|
7
|
+
Done = 3,
|
|
8
|
+
Error = 4
|
|
8
9
|
}
|
|
9
10
|
/** Interface for å definere egenskapene til et steg */
|
|
10
11
|
export interface StepProps {
|
|
@@ -13,15 +14,12 @@ export interface StepProps {
|
|
|
13
14
|
state: StepState;
|
|
14
15
|
isSelected: boolean;
|
|
15
16
|
readyForEntrance: boolean;
|
|
16
|
-
disableClick?: boolean;
|
|
17
17
|
orientation?: string;
|
|
18
18
|
}
|
|
19
19
|
/** Komponent for et enkelt steg i en stepper */
|
|
20
20
|
export default class NveStep extends LitElement {
|
|
21
21
|
/** Tittel på steget */
|
|
22
22
|
title: string;
|
|
23
|
-
/** Avstand mellom stegene */
|
|
24
|
-
spaceBetweenSteps: number;
|
|
25
23
|
/** Indeks for steget */
|
|
26
24
|
index: number;
|
|
27
25
|
/** Beskrivelse av steget */
|
|
@@ -39,8 +37,6 @@ export default class NveStep extends LitElement {
|
|
|
39
37
|
isLast: boolean;
|
|
40
38
|
/** Angir om det er tillatt å gå inn i steget */
|
|
41
39
|
entranceAllowed: boolean;
|
|
42
|
-
/** Deaktiverer muligheten til å klikke på steget for å velge det */
|
|
43
|
-
disableClick: boolean;
|
|
44
40
|
/** Retningen stegene skal gå i: horisontal eller vertikal */
|
|
45
41
|
orientation: 'horizontal' | 'vertical';
|
|
46
42
|
/** Brukes for å justere høyden for den vertikale skilleveggen blir så høy som nær Step har en description. */
|
|
@@ -51,48 +47,19 @@ export default class NveStep extends LitElement {
|
|
|
51
47
|
updated(): void;
|
|
52
48
|
/** Definerer stilene som brukes av komponenten */
|
|
53
49
|
static styles: CSSResultArray;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
*/
|
|
65
|
-
getStateText(state: StepState): string;
|
|
66
|
-
/**
|
|
67
|
-
* Returnerer CSS-klassen for fargen til den gitte stegetilstanden
|
|
68
|
-
* @param state - Stegets tilstand
|
|
69
|
-
*/
|
|
70
|
-
getStateColorClass(state: StepState): string;
|
|
71
|
-
/**
|
|
72
|
-
* Returnerer CSS-klassen for tittelen til den gitte stegetilstanden
|
|
73
|
-
* @param state - Stegets tilstand
|
|
74
|
-
*/
|
|
75
|
-
getTitleClass(state: StepState): string;
|
|
76
|
-
/**
|
|
77
|
-
* Returnerer CSS-klassen for ikonet til den gitte stegetilstanden
|
|
78
|
-
* @param state - Stegets tilstand
|
|
79
|
-
*/
|
|
80
|
-
getIconClass(state: StepState): string;
|
|
81
|
-
/** Returnerer CSS-klassen for om steget er klikkbart */
|
|
82
|
-
getIsClickableClass(): string;
|
|
83
|
-
/** Returnerer CSS-klassen for fargen til divideren */
|
|
84
|
-
getDividerColorClass(): string;
|
|
85
|
-
/** Håndterer klikk på steget */
|
|
86
|
-
onClick(): void;
|
|
50
|
+
private isOrientationVertical;
|
|
51
|
+
private iconForState;
|
|
52
|
+
private getStateText;
|
|
53
|
+
private getStateColorClass;
|
|
54
|
+
private getTitleClass;
|
|
55
|
+
private getIconClass;
|
|
56
|
+
private getDividerColorClass;
|
|
57
|
+
private renderDivider;
|
|
58
|
+
private renderDescription;
|
|
59
|
+
private isDescriptionValid;
|
|
87
60
|
/** Brukes for beregning av riktig høyde før divider. Description elementet har padding, så høyden før divider var for kort, så bruk denne funksjonen for regner ut riktig høyde. */
|
|
88
|
-
updateVerticalDividerHeight
|
|
89
|
-
|
|
90
|
-
renderDivider(): TemplateResult | string;
|
|
91
|
-
/** Render beskrivelsen av steget */
|
|
92
|
-
renderDescription(): TemplateResult | string;
|
|
93
|
-
/** Render vertikalt steg */
|
|
94
|
-
renderVerticalStep(): TemplateResult;
|
|
95
|
-
/** Render metoden for komponenten */
|
|
61
|
+
private updateVerticalDividerHeight;
|
|
62
|
+
private renderVerticalStep;
|
|
96
63
|
render(): TemplateResult;
|
|
97
64
|
}
|
|
98
65
|
declare global {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { s as h, x as c } from "../../../chunks/lit-element.js";
|
|
2
|
-
import { n as
|
|
2
|
+
import { n as s, t as p } from "../../../chunks/property.js";
|
|
3
3
|
import { e as v } from "../../../chunks/query.js";
|
|
4
4
|
import u from "./nve-step.styles.js";
|
|
5
|
-
var f = Object.defineProperty,
|
|
6
|
-
for (var
|
|
7
|
-
(d = t[
|
|
8
|
-
return
|
|
9
|
-
}, y = /* @__PURE__ */ ((t) => (t[t.NotStarted = 0] = "NotStarted", t[t.Started = 1] = "Started", t[t.
|
|
10
|
-
let
|
|
5
|
+
var f = Object.defineProperty, g = Object.getOwnPropertyDescriptor, r = (t, e, a, n) => {
|
|
6
|
+
for (var o = n > 1 ? void 0 : n ? g(e, a) : e, l = t.length - 1, d; l >= 0; l--)
|
|
7
|
+
(d = t[l]) && (o = (n ? d(e, a, o) : d(o)) || o);
|
|
8
|
+
return n && o && f(e, a, o), o;
|
|
9
|
+
}, y = /* @__PURE__ */ ((t) => (t[t.NotStarted = 0] = "NotStarted", t[t.Started = 1] = "Started", t[t.Active = 2] = "Active", t[t.Done = 3] = "Done", t[t.Error = 4] = "Error", t))(y || {});
|
|
10
|
+
let i = class extends h {
|
|
11
11
|
constructor() {
|
|
12
|
-
super(...arguments), this.title = "", this.
|
|
12
|
+
super(...arguments), this.title = "", this.index = 0, this.description = "", this.state = 0, this.selectedStepIndex = 0, this.isSelected = !1, this.isLast = !1, this.entranceAllowed = !1, this.orientation = "horizontal";
|
|
13
13
|
}
|
|
14
14
|
/** Metode som kjøres første gang komponenten er lagt til i DOM */
|
|
15
15
|
firstUpdated() {
|
|
@@ -19,141 +19,114 @@ let e = class extends h {
|
|
|
19
19
|
updated() {
|
|
20
20
|
this.isOrientationVertical() && this.updateVerticalDividerHeight(), this.style.setProperty("line-color", this.isLast ? "0" : "1");
|
|
21
21
|
}
|
|
22
|
-
/** Sjekker om orienteringen er vertikal */
|
|
23
22
|
isOrientationVertical() {
|
|
24
23
|
return this.orientation === "vertical";
|
|
25
24
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Returnerer ikonet for den gitte stegetilstanden
|
|
28
|
-
* @param state - Stegets tilstand
|
|
29
|
-
*/
|
|
30
25
|
iconForState(t) {
|
|
31
|
-
let
|
|
26
|
+
let e = "";
|
|
32
27
|
switch (t) {
|
|
33
28
|
case 0:
|
|
34
|
-
|
|
35
|
-
break;
|
|
36
|
-
case 1:
|
|
37
|
-
i = "trip_origin";
|
|
29
|
+
e = "circle";
|
|
38
30
|
break;
|
|
39
31
|
case 2:
|
|
40
|
-
|
|
32
|
+
e = "radio_button_checked";
|
|
33
|
+
break;
|
|
34
|
+
case 1:
|
|
35
|
+
e = "trip_origin";
|
|
41
36
|
break;
|
|
42
37
|
case 3:
|
|
43
|
-
|
|
38
|
+
e = "check_circle";
|
|
39
|
+
break;
|
|
40
|
+
case 4:
|
|
41
|
+
e = "error";
|
|
44
42
|
break;
|
|
45
43
|
default:
|
|
46
|
-
|
|
44
|
+
e = "check_circle";
|
|
47
45
|
break;
|
|
48
46
|
}
|
|
49
|
-
return
|
|
47
|
+
return e;
|
|
50
48
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Returnerer teksten for den gitte stegetilstanden
|
|
53
|
-
* @param state - Stegets tilstand
|
|
54
|
-
*/
|
|
55
49
|
getStateText(t) {
|
|
56
50
|
switch (t) {
|
|
57
51
|
case 0:
|
|
58
52
|
return "Ikke påbegynt";
|
|
59
|
-
case 1:
|
|
60
|
-
return "Aktiv";
|
|
61
53
|
case 2:
|
|
62
|
-
return "
|
|
54
|
+
return "Aktiv";
|
|
55
|
+
case 1:
|
|
56
|
+
return "Påbegynt";
|
|
63
57
|
case 3:
|
|
58
|
+
return "Fullført";
|
|
59
|
+
case 4:
|
|
64
60
|
return "Feil";
|
|
65
61
|
default:
|
|
66
62
|
return "Ikke påbegynt";
|
|
67
63
|
}
|
|
68
64
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Returnerer CSS-klassen for fargen til den gitte stegetilstanden
|
|
71
|
-
* @param state - Stegets tilstand
|
|
72
|
-
*/
|
|
73
65
|
getStateColorClass(t) {
|
|
74
66
|
switch (t) {
|
|
75
67
|
case 0:
|
|
76
68
|
return "state-not-started-color";
|
|
77
|
-
case 1:
|
|
78
|
-
return "state-started-color";
|
|
79
69
|
case 2:
|
|
80
|
-
return "state-
|
|
70
|
+
return "state-started-color";
|
|
81
71
|
case 3:
|
|
72
|
+
return "state-done-color";
|
|
73
|
+
case 4:
|
|
82
74
|
return "state-error-color";
|
|
83
75
|
default:
|
|
84
76
|
return "state-not-started-color";
|
|
85
77
|
}
|
|
86
78
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Returnerer CSS-klassen for tittelen til den gitte stegetilstanden
|
|
89
|
-
* @param state - Stegets tilstand
|
|
90
|
-
*/
|
|
91
79
|
getTitleClass(t) {
|
|
92
80
|
switch (t) {
|
|
93
81
|
case 0:
|
|
94
82
|
return "state-not-started-color";
|
|
95
|
-
case
|
|
83
|
+
case 4:
|
|
96
84
|
return "state-error-color";
|
|
97
85
|
default:
|
|
98
86
|
return "";
|
|
99
87
|
}
|
|
100
88
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Returnerer CSS-klassen for ikonet til den gitte stegetilstanden
|
|
103
|
-
* @param state - Stegets tilstand
|
|
104
|
-
*/
|
|
105
89
|
getIconClass(t) {
|
|
106
90
|
switch (t) {
|
|
107
91
|
case 1:
|
|
108
92
|
return "";
|
|
109
93
|
case 0:
|
|
110
94
|
return "state-not-started-icon-color filled-icon";
|
|
111
|
-
case
|
|
95
|
+
case 4:
|
|
112
96
|
return "state-error-color filled-icon";
|
|
113
97
|
default:
|
|
114
98
|
return "filled-icon";
|
|
115
99
|
}
|
|
116
100
|
}
|
|
117
|
-
/** Returnerer CSS-klassen for om steget er klikkbart */
|
|
118
|
-
getIsClickableClass() {
|
|
119
|
-
return this.disableClick ? "disable-click" : "clickable";
|
|
120
|
-
}
|
|
121
|
-
/** Returnerer CSS-klassen for fargen til divideren */
|
|
122
101
|
getDividerColorClass() {
|
|
123
102
|
return this.index < this.selectedStepIndex ? "divider-reached-color" : "divider-not-reached-color";
|
|
124
103
|
}
|
|
125
|
-
/** Håndterer klikk på steget */
|
|
126
|
-
onClick() {
|
|
127
|
-
this.disableClick || this.dispatchEvent(new CustomEvent("clicked", { detail: { index: this.index } }));
|
|
128
|
-
}
|
|
129
|
-
/** Brukes for beregning av riktig høyde før divider. Description elementet har padding, så høyden før divider var for kort, så bruk denne funksjonen for regner ut riktig høyde. */
|
|
130
|
-
updateVerticalDividerHeight() {
|
|
131
|
-
const i = this.descriptionElement.offsetHeight + 24, o = this.shadowRoot.querySelector(".vertical-divider-container .divider-vertical");
|
|
132
|
-
o && (o.style.height = `${i}px`);
|
|
133
|
-
}
|
|
134
|
-
/** Render divideren mellom stegene */
|
|
135
104
|
renderDivider() {
|
|
136
105
|
const t = this.isOrientationVertical() ? "divider-vertical" : "divider-horizontal";
|
|
137
106
|
return this.isLast ? "" : c`
|
|
138
107
|
<div class="vertical-divider-container">
|
|
139
108
|
<div
|
|
140
|
-
style="${this.isOrientationVertical() ? `height:${this.spaceBetweenSteps}px` : ""}"
|
|
141
109
|
class="${t} ${this.getDividerColorClass()}"
|
|
142
110
|
></div>
|
|
143
111
|
</div>`;
|
|
144
112
|
}
|
|
145
|
-
/** Render beskrivelsen av steget */
|
|
146
113
|
renderDescription() {
|
|
147
|
-
return this.description ? c`<div class="step-description ${this.orientation === "vertical" ? "step-description-max-width-vertical" : "step-description-max-width-horizontal"}">${this.description}</div>` : "";
|
|
114
|
+
return this.isDescriptionValid(this.description) ? c`<div class="step-description ${this.orientation === "vertical" ? "step-description-max-width-vertical" : "step-description-max-width-horizontal"}">${this.description}</div>` : "";
|
|
115
|
+
}
|
|
116
|
+
isDescriptionValid(t) {
|
|
117
|
+
return t.trim().length > 0;
|
|
118
|
+
}
|
|
119
|
+
/** Brukes for beregning av riktig høyde før divider. Description elementet har padding, så høyden før divider var for kort, så bruk denne funksjonen for regner ut riktig høyde. */
|
|
120
|
+
updateVerticalDividerHeight() {
|
|
121
|
+
const e = this.descriptionElement.offsetHeight + 24, a = this.shadowRoot.querySelector(".vertical-divider-container .divider-vertical");
|
|
122
|
+
a && (a.style.height = `${e}px`);
|
|
148
123
|
}
|
|
149
|
-
/** Render vertikalt steg */
|
|
150
124
|
renderVerticalStep() {
|
|
151
125
|
return c`
|
|
152
126
|
<div class="vertical-container">
|
|
153
127
|
<div class="step-figure-vertical">
|
|
154
128
|
<div
|
|
155
|
-
|
|
156
|
-
class="${this.getIsClickableClass()} ${this.getIconClass(this.state)}"
|
|
129
|
+
class=" ${this.getIconClass(this.state)}"
|
|
157
130
|
>
|
|
158
131
|
<nve-icon slot="suffix" name="${this.iconForState(this.state)}"></nve-icon>
|
|
159
132
|
</div>
|
|
@@ -171,13 +144,11 @@ let e = class extends h {
|
|
|
171
144
|
</div>
|
|
172
145
|
`;
|
|
173
146
|
}
|
|
174
|
-
/** Render metoden for komponenten */
|
|
175
147
|
render() {
|
|
176
148
|
return this.isOrientationVertical() ? this.renderVerticalStep() : c`
|
|
177
149
|
<div class="step-figure">
|
|
178
150
|
<span
|
|
179
|
-
|
|
180
|
-
class="${this.getIsClickableClass()} ${this.getIconClass(this.state)}"
|
|
151
|
+
class=" ${this.getIconClass(this.state)}"
|
|
181
152
|
>
|
|
182
153
|
<nve-icon slot="suffix" name="${this.iconForState(this.state)}"></nve-icon>
|
|
183
154
|
</span>
|
|
@@ -193,47 +164,41 @@ let e = class extends h {
|
|
|
193
164
|
`;
|
|
194
165
|
}
|
|
195
166
|
};
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
],
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
],
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
],
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
],
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
],
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
],
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
],
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
],
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
],
|
|
224
|
-
|
|
225
|
-
r({ type: Boolean })
|
|
226
|
-
], e.prototype, "disableClick", 2);
|
|
227
|
-
s([
|
|
228
|
-
r()
|
|
229
|
-
], e.prototype, "orientation", 2);
|
|
230
|
-
s([
|
|
167
|
+
i.styles = [u];
|
|
168
|
+
r([
|
|
169
|
+
s({ reflect: !0 })
|
|
170
|
+
], i.prototype, "title", 2);
|
|
171
|
+
r([
|
|
172
|
+
s({ type: Number })
|
|
173
|
+
], i.prototype, "index", 2);
|
|
174
|
+
r([
|
|
175
|
+
s({ type: String })
|
|
176
|
+
], i.prototype, "description", 2);
|
|
177
|
+
r([
|
|
178
|
+
s({ type: Number })
|
|
179
|
+
], i.prototype, "state", 2);
|
|
180
|
+
r([
|
|
181
|
+
s({ type: Number })
|
|
182
|
+
], i.prototype, "selectedStepIndex", 2);
|
|
183
|
+
r([
|
|
184
|
+
s({ type: Boolean, reflect: !0 })
|
|
185
|
+
], i.prototype, "isSelected", 2);
|
|
186
|
+
r([
|
|
187
|
+
s({ type: Boolean })
|
|
188
|
+
], i.prototype, "isLast", 2);
|
|
189
|
+
r([
|
|
190
|
+
s({ type: Boolean })
|
|
191
|
+
], i.prototype, "entranceAllowed", 2);
|
|
192
|
+
r([
|
|
193
|
+
s()
|
|
194
|
+
], i.prototype, "orientation", 2);
|
|
195
|
+
r([
|
|
231
196
|
v(".step-description")
|
|
232
|
-
],
|
|
233
|
-
|
|
197
|
+
], i.prototype, "descriptionElement", 2);
|
|
198
|
+
i = r([
|
|
234
199
|
p("nve-step")
|
|
235
|
-
],
|
|
200
|
+
], i);
|
|
236
201
|
export {
|
|
237
202
|
y as StepState,
|
|
238
|
-
|
|
203
|
+
i as default
|
|
239
204
|
};
|
|
@@ -116,6 +116,7 @@ const r = e`
|
|
|
116
116
|
display: flex;
|
|
117
117
|
align-items: flex-start;
|
|
118
118
|
width: 100%;
|
|
119
|
+
height: 100%;
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
.divider-horizontal {
|
|
@@ -128,6 +129,7 @@ const r = e`
|
|
|
128
129
|
width: 2px;
|
|
129
130
|
flex-grow: 1;
|
|
130
131
|
width: 100%;
|
|
132
|
+
height: 100%;
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
.step-figure-vertical {
|
|
@@ -137,6 +139,7 @@ const r = e`
|
|
|
137
139
|
align-items: center;
|
|
138
140
|
width: 100%;
|
|
139
141
|
flex:1;
|
|
142
|
+
height: 100%;
|
|
140
143
|
}
|
|
141
144
|
|
|
142
145
|
.vertical-divider-container {
|
|
@@ -4,14 +4,13 @@ export default class NveStepperMobile extends LitElement {
|
|
|
4
4
|
static styles: CSSResultArray;
|
|
5
5
|
/** Steps som skal vises, se StepProps interface for data som skal sendes inn. */
|
|
6
6
|
steps: StepProps[];
|
|
7
|
-
/** Indeks for valgt steg, gir mulighet for å styre hvilket steg som er valgt. */
|
|
8
|
-
selectedStepIndex: {
|
|
9
|
-
value: number;
|
|
10
|
-
};
|
|
11
7
|
/** Skjuler Neste og Forrige knappene slik at du kan implementere dine egne Neste og Forrige knappene. */
|
|
12
8
|
hideStepButtons: boolean;
|
|
13
9
|
private handleNextStep;
|
|
14
10
|
private handlePrevStep;
|
|
11
|
+
selectedStepIndex: {
|
|
12
|
+
value: number;
|
|
13
|
+
};
|
|
15
14
|
render(): TemplateResult;
|
|
16
15
|
}
|
|
17
16
|
declare global {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { s as
|
|
2
|
-
import { n as
|
|
1
|
+
import { s as c, x as l } from "../../chunks/lit-element.js";
|
|
2
|
+
import { n as v, t as h } from "../../chunks/property.js";
|
|
3
3
|
import u from "./nve-stepper-mobile.styles.js";
|
|
4
|
-
var a = Object.defineProperty, b = Object.getOwnPropertyDescriptor,
|
|
5
|
-
for (var t = n > 1 ? void 0 : n ? b(s,
|
|
6
|
-
(
|
|
7
|
-
return n && t && a(s,
|
|
4
|
+
var a = Object.defineProperty, b = Object.getOwnPropertyDescriptor, d = (e, s, p, n) => {
|
|
5
|
+
for (var t = n > 1 ? void 0 : n ? b(s, p) : s, r = e.length - 1, o; r >= 0; r--)
|
|
6
|
+
(o = e[r]) && (t = (n ? o(s, p, t) : o(t)) || t);
|
|
7
|
+
return n && t && a(s, p, t), t;
|
|
8
8
|
};
|
|
9
|
-
let
|
|
9
|
+
let i = class extends c {
|
|
10
10
|
constructor() {
|
|
11
|
-
super(...arguments), this.steps = [], this.selectedStepIndex = { value: 0 }
|
|
11
|
+
super(...arguments), this.steps = [], this.hideStepButtons = !1, this.selectedStepIndex = { value: 0 };
|
|
12
12
|
}
|
|
13
13
|
handleNextStep() {
|
|
14
14
|
const e = new CustomEvent("next-step", {
|
|
@@ -25,7 +25,7 @@ let p = class extends v {
|
|
|
25
25
|
this.dispatchEvent(e);
|
|
26
26
|
}
|
|
27
27
|
render() {
|
|
28
|
-
const e = this.steps[this.selectedStepIndex.value], s = this.steps[this.selectedStepIndex.value + 1],
|
|
28
|
+
const e = this.steps[this.selectedStepIndex.value], s = this.steps[this.selectedStepIndex.value + 1], p = this.selectedStepIndex.value === this.steps.length - 1;
|
|
29
29
|
return l`
|
|
30
30
|
<div class="mobile-stepper">
|
|
31
31
|
<div class="progress-circle">
|
|
@@ -35,7 +35,7 @@ let p = class extends v {
|
|
|
35
35
|
<div class="step-title">${e.title}</div>
|
|
36
36
|
${this.hideStepButtons ? "" : l`
|
|
37
37
|
<div>
|
|
38
|
-
${
|
|
38
|
+
${p ? l`
|
|
39
39
|
<div class="step-buttons next-button" @click=${this.handleNextStep}>
|
|
40
40
|
Finish
|
|
41
41
|
</div>` : l`
|
|
@@ -51,19 +51,16 @@ let p = class extends v {
|
|
|
51
51
|
`;
|
|
52
52
|
}
|
|
53
53
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
],
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
],
|
|
61
|
-
|
|
62
|
-
c({ type: Boolean })
|
|
63
|
-
], p.prototype, "hideStepButtons", 2);
|
|
64
|
-
p = o([
|
|
54
|
+
i.styles = [u];
|
|
55
|
+
d([
|
|
56
|
+
v({ type: Array })
|
|
57
|
+
], i.prototype, "steps", 2);
|
|
58
|
+
d([
|
|
59
|
+
v({ type: Boolean })
|
|
60
|
+
], i.prototype, "hideStepButtons", 2);
|
|
61
|
+
i = d([
|
|
65
62
|
h("nve-stepper-mobile")
|
|
66
|
-
],
|
|
63
|
+
], i);
|
|
67
64
|
export {
|
|
68
|
-
|
|
65
|
+
i as default
|
|
69
66
|
};
|
|
@@ -6,8 +6,8 @@ export interface INveStepper {
|
|
|
6
6
|
nextStep?(): void;
|
|
7
7
|
/** Går til forrige steg */
|
|
8
8
|
prevStep?(): void;
|
|
9
|
-
/** Velger et spesifikt steg
|
|
10
|
-
selectStep?(
|
|
9
|
+
/** Velger et spesifikt steg */
|
|
10
|
+
selectStep?(index: number): void;
|
|
11
11
|
/** Fullfører alle stegene */
|
|
12
12
|
finishSteps(): void;
|
|
13
13
|
/** Henter indeksen for gjeldende steg */
|
|
@@ -16,18 +16,10 @@ export interface INveStepper {
|
|
|
16
16
|
reRender?(): void;
|
|
17
17
|
/** Hvilken retning Steps skal gå. */
|
|
18
18
|
orientation?: 'horizontal' | 'vertical';
|
|
19
|
-
/** Indeks for valgt steg, gir mulighet for å styre hvilket steg som er valgt. */
|
|
20
|
-
selectedStepIndex?: {
|
|
21
|
-
value: number;
|
|
22
|
-
};
|
|
23
|
-
/** Avstand mellom Steps */
|
|
24
|
-
spaceBetweenSteps?: number;
|
|
25
19
|
/** Mulighet om å endre teksten på knapp ved siste steg. */
|
|
26
|
-
|
|
20
|
+
endButtonText?: string;
|
|
27
21
|
/** Steps som skal vises, se StepProps interface for data som skal sendes inn. */
|
|
28
22
|
steps: StepProps[];
|
|
29
|
-
/** Deaktiverer muligheten til å klikke på en Step komponenten slik at den blir valgt. */
|
|
30
|
-
disableStepClick?: boolean;
|
|
31
23
|
/** Skjuler Neste og Forrige knappene slik at du kan implementere dine egne Neste og Forrige knappene. */
|
|
32
24
|
hideStepButtons?: boolean;
|
|
33
25
|
/** Skjuler Neste og Forrige knappene på mobilversjonen. */
|
|
@@ -45,24 +37,17 @@ export default class NveStepper extends LitElement {
|
|
|
45
37
|
static styles: CSSResultArray;
|
|
46
38
|
/** Hvilken retning Steps skal gå. */
|
|
47
39
|
orientation: 'horizontal' | 'vertical';
|
|
48
|
-
/** Indeks for valgt steg, gir mulighet for å styre hvilket steg som er valgt. */
|
|
49
|
-
selectedStepIndex: {
|
|
50
|
-
value: number;
|
|
51
|
-
};
|
|
52
|
-
/** Avstand mellom Steps */
|
|
53
|
-
spaceBetweenSteps: number;
|
|
54
40
|
/** Mulighet om å endre teksten på knapp ved siste steg. */
|
|
55
|
-
|
|
41
|
+
endButtonText: string;
|
|
56
42
|
/** Steps som skal vises, se StepProps interface for data som skal sendes inn. */
|
|
57
43
|
steps: StepProps[];
|
|
58
|
-
/** Deaktiverer muligheten til å klikke på en Step komponenten slik at den blir valgt. */
|
|
59
|
-
disableStepClick: boolean;
|
|
60
44
|
/** Skjuler Neste og Forrige knappene slik at du kan implementere dine egne Neste og Forrige knappene. */
|
|
61
45
|
hideStepButtons: boolean;
|
|
62
46
|
/** Skjuler Neste og Forrige knappene på mobilversjonen. */
|
|
63
47
|
hideMobileStepButtons: boolean;
|
|
64
48
|
/** Viser mobilversjonen av Stepper. */
|
|
65
49
|
displayMobileVersion: boolean;
|
|
50
|
+
private selectedStepIndex;
|
|
66
51
|
/**
|
|
67
52
|
* Ved endring av props, re-render komponenten eksternt med document.querySelector("nve-stepper")?.reRender();
|
|
68
53
|
* Dette er nyttig når du vil tvinge en oppdatering av komponenten uten å endre dens interne state.
|
|
@@ -77,27 +62,19 @@ export default class NveStepper extends LitElement {
|
|
|
77
62
|
/** Metode for å gå til forrige steg */
|
|
78
63
|
prevStep(): void;
|
|
79
64
|
/** Metode for å velge et spesifikt steg */
|
|
80
|
-
selectStep(
|
|
65
|
+
selectStep(index: number): void;
|
|
81
66
|
/** Metode som kjøres når alle stegene er fullført */
|
|
82
67
|
finishSteps(): void;
|
|
83
|
-
/** Metode for å sette et spesifikt steg */
|
|
84
|
-
setStep(index: number): void;
|
|
85
68
|
/** Metode for å hente den gjeldende indeksen */
|
|
86
69
|
getCurrentIndex(): number;
|
|
87
|
-
|
|
88
|
-
getExtremes
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
/** Metode for å sjekke om orienteringen er vertikal */
|
|
96
|
-
isOrientationVertical(): boolean;
|
|
97
|
-
/** Metode for å render fremoverknappen */
|
|
98
|
-
renderForwardButton(): TemplateResult | string;
|
|
99
|
-
/** Metode for å render knapper i vertikal orientering */
|
|
100
|
-
renderVerticalButtons(): TemplateResult | string;
|
|
70
|
+
private setStep;
|
|
71
|
+
private getExtremes;
|
|
72
|
+
private handleMobileNextStep;
|
|
73
|
+
private handleMobilePrevStep;
|
|
74
|
+
private renderBackButton;
|
|
75
|
+
private isOrientationVertical;
|
|
76
|
+
private renderForwardButton;
|
|
77
|
+
private renderVerticalButtons;
|
|
101
78
|
/** Hoved render-metode */
|
|
102
79
|
render(): TemplateResult;
|
|
103
80
|
}
|