@nexxtmove/ui 0.1.3 → 0.1.5
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/index.d.ts +10 -2
- package/dist/index.js +101 -87
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,11 @@ declare const __VLS_component: DefineComponent<NexxtButtonProps, {}, {}, {}, {},
|
|
|
8
8
|
|
|
9
9
|
declare const __VLS_component_2: DefineComponent<NexxtHeaderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<NexxtHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
10
10
|
|
|
11
|
-
declare const __VLS_component_3: DefineComponent<NexxtStepperHeaderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
11
|
+
declare const __VLS_component_3: DefineComponent<NexxtStepperHeaderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
12
|
+
"update:currentStep": (...args: any[]) => void;
|
|
13
|
+
}, string, PublicProps, Readonly<NexxtStepperHeaderProps> & Readonly<{
|
|
14
|
+
"onUpdate:currentStep"?: ((...args: any[]) => any) | undefined;
|
|
15
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
16
|
|
|
13
17
|
declare type __VLS_Props = {
|
|
14
18
|
value: number;
|
|
@@ -100,7 +104,11 @@ declare interface NexxtIconProps {
|
|
|
100
104
|
type?: IconType;
|
|
101
105
|
}
|
|
102
106
|
|
|
103
|
-
export declare const NexxtProgressBar: DefineComponent<NexxtProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
107
|
+
export declare const NexxtProgressBar: DefineComponent<NexxtProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
108
|
+
"update:currentStep": (...args: any[]) => void;
|
|
109
|
+
}, string, PublicProps, Readonly<NexxtProgressBarProps> & Readonly<{
|
|
110
|
+
"onUpdate:currentStep"?: ((...args: any[]) => any) | undefined;
|
|
111
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
104
112
|
|
|
105
113
|
declare interface NexxtProgressBarProps {
|
|
106
114
|
steps: number;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as y, ref as N, computed as v, watch as j, createBlock as $, openBlock as a, TransitionGroup as C, withCtx as f, createElementBlock as s, Fragment as B, renderList as S, createVNode as m, Transition as T, toDisplayString as b, normalizeClass as r, createCommentVNode as u, renderSlot as p, createElementVNode as o, createTextVNode as A, watchEffect as H, normalizeStyle as M, withKeys as k, withModifiers as P, createSlots as V } from "vue";
|
|
2
|
+
const E = /* @__PURE__ */ y({
|
|
3
3
|
__name: "AnimatedNumber",
|
|
4
4
|
props: {
|
|
5
5
|
value: {},
|
|
@@ -7,13 +7,13 @@ const P = /* @__PURE__ */ v({
|
|
|
7
7
|
easing: { default: "ease-out" }
|
|
8
8
|
},
|
|
9
9
|
setup(e) {
|
|
10
|
-
const t =
|
|
11
|
-
return
|
|
10
|
+
const t = N("up"), n = v(() => String(e.value).split("")), i = v(() => `duration-${e.duration}`);
|
|
11
|
+
return j(
|
|
12
12
|
() => e.value,
|
|
13
|
-
(c,
|
|
14
|
-
t.value = c >
|
|
13
|
+
(c, d) => {
|
|
14
|
+
t.value = c > d ? "up" : "down";
|
|
15
15
|
}
|
|
16
|
-
), (c,
|
|
16
|
+
), (c, d) => (a(), $(C, {
|
|
17
17
|
tag: "div",
|
|
18
18
|
class: "relative flex shrink-0 items-center tabular-nums",
|
|
19
19
|
"aria-label": e.value,
|
|
@@ -23,23 +23,23 @@ const P = /* @__PURE__ */ v({
|
|
|
23
23
|
"leave-to-class": t.value === "up" ? "-translate-y-full opacity-0" : "translate-y-full opacity-0",
|
|
24
24
|
"move-class": "transition-all duration-500 ease-in-out"
|
|
25
25
|
}, {
|
|
26
|
-
default:
|
|
27
|
-
(a(!0), s(
|
|
26
|
+
default: f(() => [
|
|
27
|
+
(a(!0), s(B, null, S(n.value, (g, h) => (a(), s("div", {
|
|
28
28
|
key: h,
|
|
29
29
|
class: "relative inline-flex h-[1.5em] w-[1ch] items-center justify-center overflow-hidden",
|
|
30
30
|
"aria-hidden": "true"
|
|
31
31
|
}, [
|
|
32
|
-
|
|
32
|
+
m(T, {
|
|
33
33
|
"enter-active-class": `transition-transform ${i.value} ${e.easing}`,
|
|
34
34
|
"leave-active-class": `absolute inset-0 transition-transform ${i.value} ${e.easing}`,
|
|
35
35
|
"enter-from-class": t.value === "up" ? "translate-y-full" : "-translate-y-full",
|
|
36
36
|
"leave-to-class": t.value === "up" ? "-translate-y-full" : "translate-y-full"
|
|
37
37
|
}, {
|
|
38
|
-
default:
|
|
38
|
+
default: f(() => [
|
|
39
39
|
(a(), s("span", {
|
|
40
|
-
key:
|
|
40
|
+
key: g,
|
|
41
41
|
class: "flex h-full w-full items-center justify-center"
|
|
42
|
-
},
|
|
42
|
+
}, b(g), 1))
|
|
43
43
|
]),
|
|
44
44
|
_: 2
|
|
45
45
|
}, 1032, ["enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"])
|
|
@@ -48,7 +48,7 @@ const P = /* @__PURE__ */ v({
|
|
|
48
48
|
_: 1
|
|
49
49
|
}, 8, ["aria-label", "enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"]));
|
|
50
50
|
}
|
|
51
|
-
}),
|
|
51
|
+
}), w = /* @__PURE__ */ y({
|
|
52
52
|
name: "NexxtIcon",
|
|
53
53
|
__name: "Icon",
|
|
54
54
|
props: {
|
|
@@ -56,14 +56,14 @@ const P = /* @__PURE__ */ v({
|
|
|
56
56
|
type: { default: "light" }
|
|
57
57
|
},
|
|
58
58
|
setup(e) {
|
|
59
|
-
return (t,
|
|
60
|
-
class:
|
|
59
|
+
return (t, n) => (a(), s("i", {
|
|
60
|
+
class: r([`fa-${e.type}`, `fa-${e.name}`, "items-center", "justify-center"])
|
|
61
61
|
}, null, 2));
|
|
62
62
|
}
|
|
63
|
-
}),
|
|
63
|
+
}), I = ["type", "disabled", "data-variant"], K = {
|
|
64
64
|
key: 0,
|
|
65
|
-
class: /* @__PURE__ */
|
|
66
|
-
},
|
|
65
|
+
class: /* @__PURE__ */ r(["absolute inset-0 flex items-center justify-center rounded-lg"])
|
|
66
|
+
}, L = /* @__PURE__ */ y({
|
|
67
67
|
name: "NexxtButton",
|
|
68
68
|
__name: "Button",
|
|
69
69
|
props: {
|
|
@@ -75,10 +75,10 @@ const P = /* @__PURE__ */ v({
|
|
|
75
75
|
buttonType: { default: "button" }
|
|
76
76
|
},
|
|
77
77
|
setup(e) {
|
|
78
|
-
return (t,
|
|
78
|
+
return (t, n) => (a(), s("button", {
|
|
79
79
|
type: e.buttonType,
|
|
80
80
|
disabled: e.disabled,
|
|
81
|
-
class:
|
|
81
|
+
class: r([
|
|
82
82
|
"button relative flex h-10 cursor-pointer items-center justify-center overflow-hidden rounded-lg transition-colors duration-200 focus-visible:outline-3 disabled:cursor-not-allowed",
|
|
83
83
|
`button-${e.variant}`,
|
|
84
84
|
t.$slots.default ?? "w-10",
|
|
@@ -87,23 +87,23 @@ const P = /* @__PURE__ */ v({
|
|
|
87
87
|
]),
|
|
88
88
|
"data-variant": e.variant
|
|
89
89
|
}, [
|
|
90
|
-
e.icon ? (a(),
|
|
90
|
+
e.icon ? (a(), $(w, {
|
|
91
91
|
key: 0,
|
|
92
92
|
name: e.icon,
|
|
93
|
-
class:
|
|
94
|
-
}, null, 8, ["name", "class"])) :
|
|
93
|
+
class: r(["transition-all duration-200", { "order-last": e.iconRight, "opacity-0": e.loading }])
|
|
94
|
+
}, null, 8, ["name", "class"])) : u("", !0),
|
|
95
95
|
t.$slots.default ? (a(), s("span", {
|
|
96
96
|
key: 1,
|
|
97
|
-
class:
|
|
97
|
+
class: r([
|
|
98
98
|
"inline-block transition-all duration-200",
|
|
99
99
|
{ "opacity-0": e.loading },
|
|
100
|
-
e.variant === "link" ? "
|
|
100
|
+
e.variant === "link" ? "body-link underline-offset-1" : "body-normal",
|
|
101
101
|
e.variant === "link" && !e.loading && !e.disabled ? "hover:underline-offset-2" : ""
|
|
102
102
|
])
|
|
103
103
|
}, [
|
|
104
|
-
|
|
105
|
-
], 2)) :
|
|
106
|
-
|
|
104
|
+
p(t.$slots, "default")
|
|
105
|
+
], 2)) : u("", !0),
|
|
106
|
+
m(T, {
|
|
107
107
|
"enter-active-class": "transition-opacity duration-200",
|
|
108
108
|
"enter-from-class": "opacity-0",
|
|
109
109
|
"enter-to-class": "opacity-100",
|
|
@@ -111,23 +111,23 @@ const P = /* @__PURE__ */ v({
|
|
|
111
111
|
"leave-from-class": "opacity-100",
|
|
112
112
|
"leave-to-class": "opacity-0"
|
|
113
113
|
}, {
|
|
114
|
-
default:
|
|
115
|
-
e.loading ? (a(), s("div",
|
|
116
|
-
|
|
114
|
+
default: f(() => [
|
|
115
|
+
e.loading ? (a(), s("div", K, [
|
|
116
|
+
m(w, {
|
|
117
117
|
name: "spinner-third",
|
|
118
118
|
type: "light",
|
|
119
119
|
class: "fa-spin absolute text-sm"
|
|
120
120
|
})
|
|
121
|
-
])) :
|
|
121
|
+
])) : u("", !0)
|
|
122
122
|
]),
|
|
123
123
|
_: 1
|
|
124
124
|
})
|
|
125
|
-
], 10,
|
|
125
|
+
], 10, I));
|
|
126
126
|
}
|
|
127
|
-
}),
|
|
127
|
+
}), z = { class: "flex max-w-full items-center justify-start gap-4" }, D = { class: "block truncate heading-4 text-sapphire-500" }, F = {
|
|
128
128
|
key: 0,
|
|
129
129
|
class: "col-span-1 col-start-2 flex justify-center"
|
|
130
|
-
},
|
|
130
|
+
}, G = /* @__PURE__ */ y({
|
|
131
131
|
name: "NexxtHeader",
|
|
132
132
|
__name: "Header",
|
|
133
133
|
props: {
|
|
@@ -138,42 +138,42 @@ const P = /* @__PURE__ */ v({
|
|
|
138
138
|
} }
|
|
139
139
|
},
|
|
140
140
|
setup(e) {
|
|
141
|
-
return (t,
|
|
142
|
-
class:
|
|
141
|
+
return (t, n) => (a(), s("div", {
|
|
142
|
+
class: r(["header flex items-center", t.$slots.center ? "grid grid-cols-3" : ""])
|
|
143
143
|
}, [
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
o("div", z, [
|
|
145
|
+
m(L, {
|
|
146
146
|
class: "shrink-0",
|
|
147
147
|
variant: "secondary",
|
|
148
148
|
onClick: e.backButtonAction
|
|
149
149
|
}, {
|
|
150
|
-
default:
|
|
151
|
-
|
|
150
|
+
default: f(() => [
|
|
151
|
+
A(b(e.backButtonText), 1)
|
|
152
152
|
]),
|
|
153
153
|
_: 1
|
|
154
154
|
}, 8, ["onClick"]),
|
|
155
|
-
|
|
155
|
+
o("span", D, b(e.title), 1)
|
|
156
156
|
]),
|
|
157
|
-
t.$slots.center ? (a(), s("div",
|
|
158
|
-
|
|
159
|
-
])) :
|
|
157
|
+
t.$slots.center ? (a(), s("div", F, [
|
|
158
|
+
p(t.$slots, "center")
|
|
159
|
+
])) : u("", !0),
|
|
160
160
|
t.$slots.right ? (a(), s("div", {
|
|
161
161
|
key: 1,
|
|
162
|
-
class:
|
|
162
|
+
class: r(t.$slots.center ? "col-span-1 col-start-3 flex justify-end" : "ml-auto")
|
|
163
163
|
}, [
|
|
164
|
-
|
|
165
|
-
], 2)) :
|
|
164
|
+
p(t.$slots, "right")
|
|
165
|
+
], 2)) : u("", !0)
|
|
166
166
|
], 2));
|
|
167
167
|
}
|
|
168
|
-
}),
|
|
168
|
+
}), R = { class: "@container" }, q = { class: "flex flex-col @md:gap-2" }, U = { class: "flex items-center justify-between gap-2" }, J = ["aria-label", "aria-valuenow", "aria-valuetext"], O = {
|
|
169
169
|
key: 0,
|
|
170
|
-
class: "flex items-center
|
|
170
|
+
class: "flex items-center small-normal tabular-nums @md:hidden",
|
|
171
171
|
"aria-hidden": "true"
|
|
172
|
-
},
|
|
172
|
+
}, Q = {
|
|
173
173
|
key: 0,
|
|
174
174
|
class: "flex justify-between @max-md:order-first @max-md:justify-center",
|
|
175
175
|
"aria-label": "Progress steps"
|
|
176
|
-
},
|
|
176
|
+
}, W = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], X = /* @__PURE__ */ y({
|
|
177
177
|
name: "NexxtProgressBar",
|
|
178
178
|
__name: "ProgressBar",
|
|
179
179
|
props: {
|
|
@@ -182,46 +182,58 @@ const P = /* @__PURE__ */ v({
|
|
|
182
182
|
progressLabel: { default: "Voortgang" },
|
|
183
183
|
stepTitles: {}
|
|
184
184
|
},
|
|
185
|
+
emits: ["update:currentStep"],
|
|
185
186
|
setup(e) {
|
|
186
|
-
const t =
|
|
187
|
-
return
|
|
187
|
+
const t = v(() => Math.min(Math.max(0, e.currentStep), Math.max(0, e.steps - 1))), n = v(() => e.steps > 0 ? t.value + 1 : 0), i = v(() => e.steps <= 1 ? e.steps === 1 ? 100 : 0 : t.value / (e.steps - 1) * 100), c = v(() => !!e.stepTitles?.length);
|
|
188
|
+
return H(() => {
|
|
188
189
|
e.stepTitles && e.stepTitles.length !== e.steps && console.warn(
|
|
189
190
|
`[NexxtProgressBar] The "stepTitles" array length (${e.stepTitles.length}) must match the "steps" prop (${e.steps}).`
|
|
190
191
|
);
|
|
191
|
-
}), (
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
192
|
+
}), (d, g) => (a(), s("div", R, [
|
|
193
|
+
o("div", q, [
|
|
194
|
+
o("div", U, [
|
|
195
|
+
o("div", {
|
|
195
196
|
class: "progress-bar progress-bar-bar h-2 w-full overflow-hidden rounded-full",
|
|
196
197
|
role: "progressbar",
|
|
197
198
|
"aria-label": e.progressLabel,
|
|
198
199
|
"aria-valuemin": "0",
|
|
199
200
|
"aria-valuemax": "100",
|
|
200
201
|
"aria-valuenow": Math.round(i.value),
|
|
201
|
-
"aria-valuetext": c.value && e.stepTitles?.[t.value] ? `Step ${
|
|
202
|
+
"aria-valuetext": c.value && e.stepTitles?.[t.value] ? `Step ${n.value} of ${e.steps}: ${e.stepTitles[t.value]}` : `Step ${n.value} of ${e.steps}`
|
|
202
203
|
}, [
|
|
203
|
-
|
|
204
|
+
o("div", {
|
|
204
205
|
class: "progress-bar-progress h-full transition-all duration-500 ease-out",
|
|
205
|
-
style:
|
|
206
|
+
style: M({ width: `${i.value}%` }),
|
|
206
207
|
"aria-hidden": !0
|
|
207
208
|
}, null, 4)
|
|
208
|
-
], 8,
|
|
209
|
-
c.value ? (a(), s("div",
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
])) :
|
|
209
|
+
], 8, J),
|
|
210
|
+
c.value ? (a(), s("div", O, [
|
|
211
|
+
m(E, { value: n.value }, null, 8, ["value"]),
|
|
212
|
+
o("span", null, "/" + b(e.steps), 1)
|
|
213
|
+
])) : u("", !0)
|
|
213
214
|
]),
|
|
214
|
-
c.value ? (a(), s("ol",
|
|
215
|
-
(a(!0), s(
|
|
215
|
+
c.value ? (a(), s("ol", Q, [
|
|
216
|
+
(a(!0), s(B, null, S(e.stepTitles, (h, l) => (a(), s("li", {
|
|
216
217
|
key: h,
|
|
217
|
-
class:
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
218
|
+
class: r(["rounded-xs transition-colors duration-500 focus-visible:outline-3 @max-md:hidden @max-md:body-normal @min-md:small-normal", [
|
|
219
|
+
l === t.value ? "text-sapphire-500 @max-md:inline" : "",
|
|
220
|
+
l < t.value ? "cursor-pointer duration-200! hover:text-sapphire-400" : ""
|
|
221
|
+
]]),
|
|
222
|
+
"aria-current": l === t.value ? "step" : void 0,
|
|
223
|
+
role: l < t.value ? "button" : void 0,
|
|
224
|
+
tabindex: l < t.value ? 0 : void 0,
|
|
225
|
+
"aria-label": l < t.value ? `Ga naar ${h}` : void 0,
|
|
226
|
+
onClick: (x) => l < t.value && d.$emit("update:currentStep", l),
|
|
227
|
+
onKeydown: [
|
|
228
|
+
k((x) => l < t.value && d.$emit("update:currentStep", l), ["enter"]),
|
|
229
|
+
k(P((x) => l < t.value && d.$emit("update:currentStep", l), ["prevent"]), ["space"])
|
|
230
|
+
]
|
|
231
|
+
}, b(h), 43, W))), 128))
|
|
232
|
+
])) : u("", !0)
|
|
221
233
|
])
|
|
222
234
|
]));
|
|
223
235
|
}
|
|
224
|
-
}),
|
|
236
|
+
}), Z = /* @__PURE__ */ y({
|
|
225
237
|
name: "NexxtStepperHeader",
|
|
226
238
|
__name: "StepperHeader",
|
|
227
239
|
props: {
|
|
@@ -231,28 +243,30 @@ const P = /* @__PURE__ */ v({
|
|
|
231
243
|
backButtonText: {},
|
|
232
244
|
backButtonAction: {}
|
|
233
245
|
},
|
|
246
|
+
emits: ["update:currentStep"],
|
|
234
247
|
setup(e) {
|
|
235
|
-
return (t,
|
|
248
|
+
return (t, n) => (a(), $(G, {
|
|
236
249
|
title: e.title,
|
|
237
250
|
"back-button-action": e.backButtonAction,
|
|
238
251
|
"back-button-text": e.backButtonText
|
|
239
|
-
},
|
|
252
|
+
}, V({ _: 2 }, [
|
|
240
253
|
e.steps ? {
|
|
241
254
|
name: "center",
|
|
242
|
-
fn:
|
|
243
|
-
|
|
255
|
+
fn: f(() => [
|
|
256
|
+
m(X, {
|
|
244
257
|
class: "w-full",
|
|
245
258
|
steps: e.steps.length,
|
|
246
259
|
"step-titles": e.steps,
|
|
247
|
-
"current-step": e.currentStep
|
|
260
|
+
"current-step": e.currentStep,
|
|
261
|
+
"onUpdate:currentStep": n[0] || (n[0] = (i) => t.$emit("update:currentStep", i))
|
|
248
262
|
}, null, 8, ["steps", "step-titles", "current-step"])
|
|
249
263
|
]),
|
|
250
264
|
key: "0"
|
|
251
265
|
} : void 0,
|
|
252
266
|
t.$slots.default ? {
|
|
253
267
|
name: "right",
|
|
254
|
-
fn:
|
|
255
|
-
|
|
268
|
+
fn: f(() => [
|
|
269
|
+
p(t.$slots, "default")
|
|
256
270
|
]),
|
|
257
271
|
key: "1"
|
|
258
272
|
} : void 0
|
|
@@ -260,10 +274,10 @@ const P = /* @__PURE__ */ v({
|
|
|
260
274
|
}
|
|
261
275
|
});
|
|
262
276
|
export {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
277
|
+
E as NexxtAnimatedNumber,
|
|
278
|
+
L as NexxtButton,
|
|
279
|
+
G as NexxtHeader,
|
|
280
|
+
w as NexxtIcon,
|
|
281
|
+
X as NexxtProgressBar,
|
|
282
|
+
Z as NexxtStepperHeader
|
|
269
283
|
};
|