@nexxtmove/ui 0.1.3 → 0.1.4
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 +5 -1
- package/dist/index.js +109 -97
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -100,7 +100,11 @@ declare interface NexxtIconProps {
|
|
|
100
100
|
type?: IconType;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
export declare const NexxtProgressBar: DefineComponent<NexxtProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
103
|
+
export declare const NexxtProgressBar: DefineComponent<NexxtProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
104
|
+
"update:currentStep": (...args: any[]) => void;
|
|
105
|
+
}, string, PublicProps, Readonly<NexxtProgressBarProps> & Readonly<{
|
|
106
|
+
"onUpdate:currentStep"?: ((...args: any[]) => any) | undefined;
|
|
107
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
104
108
|
|
|
105
109
|
declare interface NexxtProgressBarProps {
|
|
106
110
|
steps: number;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as h, ref as j, computed as v, watch as C, createBlock as x, openBlock as s, TransitionGroup as A, withCtx as f, createElementBlock as l, Fragment as S, renderList as T, createVNode as m, Transition as N, toDisplayString as b, normalizeClass as r, createCommentVNode as u, renderSlot as g, createElementVNode as o, createTextVNode as H, watchEffect as M, normalizeStyle as P, withKeys as w, withModifiers as V, createSlots as E } from "vue";
|
|
2
|
+
const I = /* @__PURE__ */ h({
|
|
3
3
|
__name: "AnimatedNumber",
|
|
4
4
|
props: {
|
|
5
5
|
value: {},
|
|
@@ -7,39 +7,39 @@ const P = /* @__PURE__ */ v({
|
|
|
7
7
|
easing: { default: "ease-out" }
|
|
8
8
|
},
|
|
9
9
|
setup(e) {
|
|
10
|
-
const t =
|
|
11
|
-
return
|
|
10
|
+
const t = j("up"), i = v(() => String(e.value).split("")), a = v(() => `duration-${e.duration}`);
|
|
11
|
+
return C(
|
|
12
12
|
() => e.value,
|
|
13
|
-
(c,
|
|
14
|
-
t.value = c >
|
|
13
|
+
(c, y) => {
|
|
14
|
+
t.value = c > y ? "up" : "down";
|
|
15
15
|
}
|
|
16
|
-
), (c,
|
|
16
|
+
), (c, y) => (s(), x(A, {
|
|
17
17
|
tag: "div",
|
|
18
18
|
class: "relative flex shrink-0 items-center tabular-nums",
|
|
19
19
|
"aria-label": e.value,
|
|
20
|
-
"enter-active-class": `transition-all ${
|
|
21
|
-
"leave-active-class": `absolute transition-all ${
|
|
20
|
+
"enter-active-class": `transition-all ${a.value} ${e.easing}`,
|
|
21
|
+
"leave-active-class": `absolute transition-all ${a.value} ${e.easing}`,
|
|
22
22
|
"enter-from-class": t.value === "up" ? "translate-y-full opacity-0" : "-translate-y-full opacity-0",
|
|
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
|
-
(
|
|
28
|
-
key:
|
|
26
|
+
default: f(() => [
|
|
27
|
+
(s(!0), l(S, null, T(i.value, (d, $) => (s(), l("div", {
|
|
28
|
+
key: $,
|
|
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
|
-
|
|
33
|
-
"enter-active-class": `transition-transform ${
|
|
34
|
-
"leave-active-class": `absolute inset-0 transition-transform ${
|
|
32
|
+
m(N, {
|
|
33
|
+
"enter-active-class": `transition-transform ${a.value} ${e.easing}`,
|
|
34
|
+
"leave-active-class": `absolute inset-0 transition-transform ${a.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:
|
|
39
|
-
(
|
|
40
|
-
key:
|
|
38
|
+
default: f(() => [
|
|
39
|
+
(s(), l("span", {
|
|
40
|
+
key: d,
|
|
41
41
|
class: "flex h-full w-full items-center justify-center"
|
|
42
|
-
},
|
|
42
|
+
}, b(d), 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
|
+
}), B = /* @__PURE__ */ h({
|
|
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, i) => (s(), l("i", {
|
|
60
|
+
class: r([`fa-${e.type}`, `fa-${e.name}`, "items-center", "justify-center"])
|
|
61
61
|
}, null, 2));
|
|
62
62
|
}
|
|
63
|
-
}),
|
|
63
|
+
}), K = ["type", "disabled", "data-variant"], L = {
|
|
64
64
|
key: 0,
|
|
65
|
-
class: /* @__PURE__ */
|
|
66
|
-
},
|
|
65
|
+
class: /* @__PURE__ */ r(["absolute inset-0 flex items-center justify-center rounded-lg"])
|
|
66
|
+
}, z = /* @__PURE__ */ h({
|
|
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, i) => (s(), l("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 ? (
|
|
90
|
+
e.icon ? (s(), x(B, {
|
|
91
91
|
key: 0,
|
|
92
92
|
name: e.icon,
|
|
93
|
-
class:
|
|
94
|
-
}, null, 8, ["name", "class"])) :
|
|
95
|
-
t.$slots.default ? (
|
|
93
|
+
class: r(["transition-all duration-200", { "order-last": e.iconRight, "opacity-0": e.loading }])
|
|
94
|
+
}, null, 8, ["name", "class"])) : u("", !0),
|
|
95
|
+
t.$slots.default ? (s(), l("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
|
+
g(t.$slots, "default")
|
|
105
|
+
], 2)) : u("", !0),
|
|
106
|
+
m(N, {
|
|
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 ? (
|
|
116
|
-
|
|
114
|
+
default: f(() => [
|
|
115
|
+
e.loading ? (s(), l("div", L, [
|
|
116
|
+
m(B, {
|
|
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, K));
|
|
126
126
|
}
|
|
127
|
-
}),
|
|
127
|
+
}), D = { class: "flex max-w-full items-center justify-start gap-4" }, F = { class: "block truncate heading-4 text-sapphire-500" }, G = {
|
|
128
128
|
key: 0,
|
|
129
129
|
class: "col-span-1 col-start-2 flex justify-center"
|
|
130
|
-
},
|
|
130
|
+
}, R = /* @__PURE__ */ h({
|
|
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, i) => (s(), l("div", {
|
|
142
|
+
class: r(["header flex items-center", t.$slots.center ? "grid grid-cols-3" : ""])
|
|
143
143
|
}, [
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
o("div", D, [
|
|
145
|
+
m(z, {
|
|
146
146
|
class: "shrink-0",
|
|
147
147
|
variant: "secondary",
|
|
148
148
|
onClick: e.backButtonAction
|
|
149
149
|
}, {
|
|
150
|
-
default:
|
|
151
|
-
|
|
150
|
+
default: f(() => [
|
|
151
|
+
H(b(e.backButtonText), 1)
|
|
152
152
|
]),
|
|
153
153
|
_: 1
|
|
154
154
|
}, 8, ["onClick"]),
|
|
155
|
-
|
|
155
|
+
o("span", F, b(e.title), 1)
|
|
156
156
|
]),
|
|
157
|
-
t.$slots.center ? (
|
|
158
|
-
|
|
159
|
-
])) :
|
|
160
|
-
t.$slots.right ? (
|
|
157
|
+
t.$slots.center ? (s(), l("div", G, [
|
|
158
|
+
g(t.$slots, "center")
|
|
159
|
+
])) : u("", !0),
|
|
160
|
+
t.$slots.right ? (s(), l("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
|
+
g(t.$slots, "right")
|
|
165
|
+
], 2)) : u("", !0)
|
|
166
166
|
], 2));
|
|
167
167
|
}
|
|
168
|
-
}),
|
|
168
|
+
}), q = { class: "@container" }, J = { class: "flex flex-col @md:gap-2" }, O = { class: "flex items-center justify-between gap-2" }, Q = ["aria-label", "aria-valuenow", "aria-valuetext"], U = {
|
|
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
|
+
}, W = {
|
|
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
|
+
}, X = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], Y = /* @__PURE__ */ h({
|
|
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
|
-
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
emits: ["update:currentStep"],
|
|
186
|
+
setup(e, { emit: t }) {
|
|
187
|
+
const i = t, a = v(() => Math.min(Math.max(0, e.currentStep), Math.max(0, e.steps - 1))), c = v(() => e.steps > 0 ? a.value + 1 : 0), y = v(() => e.steps <= 1 ? e.steps === 1 ? 100 : 0 : a.value / (e.steps - 1) * 100), d = v(() => !!e.stepTitles?.length);
|
|
188
|
+
return M(() => {
|
|
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
|
+
}), ($, Z) => (s(), l("div", q, [
|
|
193
|
+
o("div", J, [
|
|
194
|
+
o("div", O, [
|
|
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
|
-
"aria-valuenow": Math.round(
|
|
201
|
-
"aria-valuetext":
|
|
201
|
+
"aria-valuenow": Math.round(y.value),
|
|
202
|
+
"aria-valuetext": d.value && e.stepTitles?.[a.value] ? `Step ${c.value} of ${e.steps}: ${e.stepTitles[a.value]}` : `Step ${c.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: P({ width: `${y.value}%` }),
|
|
206
207
|
"aria-hidden": !0
|
|
207
208
|
}, null, 4)
|
|
208
|
-
], 8,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
])) :
|
|
209
|
+
], 8, Q),
|
|
210
|
+
d.value ? (s(), l("div", U, [
|
|
211
|
+
m(I, { value: c.value }, null, 8, ["value"]),
|
|
212
|
+
o("span", null, "/" + b(e.steps), 1)
|
|
213
|
+
])) : u("", !0)
|
|
213
214
|
]),
|
|
214
|
-
|
|
215
|
-
(
|
|
216
|
-
key:
|
|
217
|
-
class:
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
d.value ? (s(), l("ol", W, [
|
|
216
|
+
(s(!0), l(S, null, T(e.stepTitles, (p, n) => (s(), l("li", {
|
|
217
|
+
key: p,
|
|
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
|
+
n === a.value ? "text-sapphire-500 @max-md:inline" : "",
|
|
220
|
+
n < a.value ? "cursor-pointer duration-200! hover:text-sapphire-400" : ""
|
|
221
|
+
]]),
|
|
222
|
+
"aria-current": n === a.value ? "step" : void 0,
|
|
223
|
+
role: n < a.value ? "button" : void 0,
|
|
224
|
+
tabindex: n < a.value ? 0 : void 0,
|
|
225
|
+
"aria-label": n < a.value ? `Ga naar ${p}` : void 0,
|
|
226
|
+
onClick: (k) => n < a.value && i("update:currentStep", n),
|
|
227
|
+
onKeydown: [
|
|
228
|
+
w((k) => n < a.value && i("update:currentStep", n), ["enter"]),
|
|
229
|
+
w(V((k) => n < a.value && i("update:currentStep", n), ["prevent"]), ["space"])
|
|
230
|
+
]
|
|
231
|
+
}, b(p), 43, X))), 128))
|
|
232
|
+
])) : u("", !0)
|
|
221
233
|
])
|
|
222
234
|
]));
|
|
223
235
|
}
|
|
224
|
-
}),
|
|
236
|
+
}), ee = /* @__PURE__ */ h({
|
|
225
237
|
name: "NexxtStepperHeader",
|
|
226
238
|
__name: "StepperHeader",
|
|
227
239
|
props: {
|
|
@@ -232,15 +244,15 @@ const P = /* @__PURE__ */ v({
|
|
|
232
244
|
backButtonAction: {}
|
|
233
245
|
},
|
|
234
246
|
setup(e) {
|
|
235
|
-
return (t,
|
|
247
|
+
return (t, i) => (s(), x(R, {
|
|
236
248
|
title: e.title,
|
|
237
249
|
"back-button-action": e.backButtonAction,
|
|
238
250
|
"back-button-text": e.backButtonText
|
|
239
|
-
},
|
|
251
|
+
}, E({ _: 2 }, [
|
|
240
252
|
e.steps ? {
|
|
241
253
|
name: "center",
|
|
242
|
-
fn:
|
|
243
|
-
|
|
254
|
+
fn: f(() => [
|
|
255
|
+
m(Y, {
|
|
244
256
|
class: "w-full",
|
|
245
257
|
steps: e.steps.length,
|
|
246
258
|
"step-titles": e.steps,
|
|
@@ -251,8 +263,8 @@ const P = /* @__PURE__ */ v({
|
|
|
251
263
|
} : void 0,
|
|
252
264
|
t.$slots.default ? {
|
|
253
265
|
name: "right",
|
|
254
|
-
fn:
|
|
255
|
-
|
|
266
|
+
fn: f(() => [
|
|
267
|
+
g(t.$slots, "default")
|
|
256
268
|
]),
|
|
257
269
|
key: "1"
|
|
258
270
|
} : void 0
|
|
@@ -260,10 +272,10 @@ const P = /* @__PURE__ */ v({
|
|
|
260
272
|
}
|
|
261
273
|
});
|
|
262
274
|
export {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
275
|
+
I as NexxtAnimatedNumber,
|
|
276
|
+
z as NexxtButton,
|
|
277
|
+
R as NexxtHeader,
|
|
278
|
+
B as NexxtIcon,
|
|
279
|
+
Y as NexxtProgressBar,
|
|
280
|
+
ee as NexxtStepperHeader
|
|
269
281
|
};
|