@nexxtmove/ui 0.1.4 → 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 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, {}, string, PublicProps, Readonly<NexxtStepperHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
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;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
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({
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,39 +7,39 @@ const I = /* @__PURE__ */ h({
7
7
  easing: { default: "ease-out" }
8
8
  },
9
9
  setup(e) {
10
- const t = j("up"), i = v(() => String(e.value).split("")), a = v(() => `duration-${e.duration}`);
11
- return C(
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, y) => {
14
- t.value = c > y ? "up" : "down";
13
+ (c, d) => {
14
+ t.value = c > d ? "up" : "down";
15
15
  }
16
- ), (c, y) => (s(), x(A, {
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,
20
- "enter-active-class": `transition-all ${a.value} ${e.easing}`,
21
- "leave-active-class": `absolute transition-all ${a.value} ${e.easing}`,
20
+ "enter-active-class": `transition-all ${i.value} ${e.easing}`,
21
+ "leave-active-class": `absolute transition-all ${i.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
26
  default: f(() => [
27
- (s(!0), l(S, null, T(i.value, (d, $) => (s(), l("div", {
28
- key: $,
27
+ (a(!0), s(B, null, S(n.value, (g, h) => (a(), s("div", {
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
- 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}`,
32
+ m(T, {
33
+ "enter-active-class": `transition-transform ${i.value} ${e.easing}`,
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
38
  default: f(() => [
39
- (s(), l("span", {
40
- key: d,
39
+ (a(), s("span", {
40
+ key: g,
41
41
  class: "flex h-full w-full items-center justify-center"
42
- }, b(d), 1))
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 I = /* @__PURE__ */ h({
48
48
  _: 1
49
49
  }, 8, ["aria-label", "enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"]));
50
50
  }
51
- }), B = /* @__PURE__ */ h({
51
+ }), w = /* @__PURE__ */ y({
52
52
  name: "NexxtIcon",
53
53
  __name: "Icon",
54
54
  props: {
@@ -56,14 +56,14 @@ const I = /* @__PURE__ */ h({
56
56
  type: { default: "light" }
57
57
  },
58
58
  setup(e) {
59
- return (t, i) => (s(), l("i", {
59
+ return (t, n) => (a(), s("i", {
60
60
  class: r([`fa-${e.type}`, `fa-${e.name}`, "items-center", "justify-center"])
61
61
  }, null, 2));
62
62
  }
63
- }), K = ["type", "disabled", "data-variant"], L = {
63
+ }), I = ["type", "disabled", "data-variant"], K = {
64
64
  key: 0,
65
65
  class: /* @__PURE__ */ r(["absolute inset-0 flex items-center justify-center rounded-lg"])
66
- }, z = /* @__PURE__ */ h({
66
+ }, L = /* @__PURE__ */ y({
67
67
  name: "NexxtButton",
68
68
  __name: "Button",
69
69
  props: {
@@ -75,7 +75,7 @@ const I = /* @__PURE__ */ h({
75
75
  buttonType: { default: "button" }
76
76
  },
77
77
  setup(e) {
78
- return (t, i) => (s(), l("button", {
78
+ return (t, n) => (a(), s("button", {
79
79
  type: e.buttonType,
80
80
  disabled: e.disabled,
81
81
  class: r([
@@ -87,12 +87,12 @@ const I = /* @__PURE__ */ h({
87
87
  ]),
88
88
  "data-variant": e.variant
89
89
  }, [
90
- e.icon ? (s(), x(B, {
90
+ e.icon ? (a(), $(w, {
91
91
  key: 0,
92
92
  name: e.icon,
93
93
  class: r(["transition-all duration-200", { "order-last": e.iconRight, "opacity-0": e.loading }])
94
94
  }, null, 8, ["name", "class"])) : u("", !0),
95
- t.$slots.default ? (s(), l("span", {
95
+ t.$slots.default ? (a(), s("span", {
96
96
  key: 1,
97
97
  class: r([
98
98
  "inline-block transition-all duration-200",
@@ -101,9 +101,9 @@ const I = /* @__PURE__ */ h({
101
101
  e.variant === "link" && !e.loading && !e.disabled ? "hover:underline-offset-2" : ""
102
102
  ])
103
103
  }, [
104
- g(t.$slots, "default")
104
+ p(t.$slots, "default")
105
105
  ], 2)) : u("", !0),
106
- m(N, {
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",
@@ -112,8 +112,8 @@ const I = /* @__PURE__ */ h({
112
112
  "leave-to-class": "opacity-0"
113
113
  }, {
114
114
  default: f(() => [
115
- e.loading ? (s(), l("div", L, [
116
- m(B, {
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"
@@ -122,12 +122,12 @@ const I = /* @__PURE__ */ h({
122
122
  ]),
123
123
  _: 1
124
124
  })
125
- ], 10, K));
125
+ ], 10, I));
126
126
  }
127
- }), D = { class: "flex max-w-full items-center justify-start gap-4" }, F = { class: "block truncate heading-4 text-sapphire-500" }, G = {
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
- }, R = /* @__PURE__ */ h({
130
+ }, G = /* @__PURE__ */ y({
131
131
  name: "NexxtHeader",
132
132
  __name: "Header",
133
133
  props: {
@@ -138,42 +138,42 @@ const I = /* @__PURE__ */ h({
138
138
  } }
139
139
  },
140
140
  setup(e) {
141
- return (t, i) => (s(), l("div", {
141
+ return (t, n) => (a(), s("div", {
142
142
  class: r(["header flex items-center", t.$slots.center ? "grid grid-cols-3" : ""])
143
143
  }, [
144
- o("div", D, [
145
- m(z, {
144
+ o("div", z, [
145
+ m(L, {
146
146
  class: "shrink-0",
147
147
  variant: "secondary",
148
148
  onClick: e.backButtonAction
149
149
  }, {
150
150
  default: f(() => [
151
- H(b(e.backButtonText), 1)
151
+ A(b(e.backButtonText), 1)
152
152
  ]),
153
153
  _: 1
154
154
  }, 8, ["onClick"]),
155
- o("span", F, b(e.title), 1)
155
+ o("span", D, b(e.title), 1)
156
156
  ]),
157
- t.$slots.center ? (s(), l("div", G, [
158
- g(t.$slots, "center")
157
+ t.$slots.center ? (a(), s("div", F, [
158
+ p(t.$slots, "center")
159
159
  ])) : u("", !0),
160
- t.$slots.right ? (s(), l("div", {
160
+ t.$slots.right ? (a(), s("div", {
161
161
  key: 1,
162
162
  class: r(t.$slots.center ? "col-span-1 col-start-3 flex justify-end" : "ml-auto")
163
163
  }, [
164
- g(t.$slots, "right")
164
+ p(t.$slots, "right")
165
165
  ], 2)) : u("", !0)
166
166
  ], 2));
167
167
  }
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 = {
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
170
  class: "flex items-center small-normal tabular-nums @md:hidden",
171
171
  "aria-hidden": "true"
172
- }, W = {
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
- }, X = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], Y = /* @__PURE__ */ h({
176
+ }, W = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], X = /* @__PURE__ */ y({
177
177
  name: "NexxtProgressBar",
178
178
  __name: "ProgressBar",
179
179
  props: {
@@ -183,57 +183,57 @@ const I = /* @__PURE__ */ h({
183
183
  stepTitles: {}
184
184
  },
185
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(() => {
186
+ setup(e) {
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(() => {
189
189
  e.stepTitles && e.stepTitles.length !== e.steps && console.warn(
190
190
  `[NexxtProgressBar] The "stepTitles" array length (${e.stepTitles.length}) must match the "steps" prop (${e.steps}).`
191
191
  );
192
- }), ($, Z) => (s(), l("div", q, [
193
- o("div", J, [
194
- o("div", O, [
192
+ }), (d, g) => (a(), s("div", R, [
193
+ o("div", q, [
194
+ o("div", U, [
195
195
  o("div", {
196
196
  class: "progress-bar progress-bar-bar h-2 w-full overflow-hidden rounded-full",
197
197
  role: "progressbar",
198
198
  "aria-label": e.progressLabel,
199
199
  "aria-valuemin": "0",
200
200
  "aria-valuemax": "100",
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}`
201
+ "aria-valuenow": Math.round(i.value),
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}`
203
203
  }, [
204
204
  o("div", {
205
205
  class: "progress-bar-progress h-full transition-all duration-500 ease-out",
206
- style: P({ width: `${y.value}%` }),
206
+ style: M({ width: `${i.value}%` }),
207
207
  "aria-hidden": !0
208
208
  }, null, 4)
209
- ], 8, Q),
210
- d.value ? (s(), l("div", U, [
211
- m(I, { value: c.value }, null, 8, ["value"]),
209
+ ], 8, J),
210
+ c.value ? (a(), s("div", O, [
211
+ m(E, { value: n.value }, null, 8, ["value"]),
212
212
  o("span", null, "/" + b(e.steps), 1)
213
213
  ])) : u("", !0)
214
214
  ]),
215
- d.value ? (s(), l("ol", W, [
216
- (s(!0), l(S, null, T(e.stepTitles, (p, n) => (s(), l("li", {
217
- key: p,
215
+ c.value ? (a(), s("ol", Q, [
216
+ (a(!0), s(B, null, S(e.stepTitles, (h, l) => (a(), s("li", {
217
+ key: h,
218
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" : ""
219
+ l === t.value ? "text-sapphire-500 @max-md:inline" : "",
220
+ l < t.value ? "cursor-pointer duration-200! hover:text-sapphire-400" : ""
221
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),
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
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"])
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
230
  ]
231
- }, b(p), 43, X))), 128))
231
+ }, b(h), 43, W))), 128))
232
232
  ])) : u("", !0)
233
233
  ])
234
234
  ]));
235
235
  }
236
- }), ee = /* @__PURE__ */ h({
236
+ }), Z = /* @__PURE__ */ y({
237
237
  name: "NexxtStepperHeader",
238
238
  __name: "StepperHeader",
239
239
  props: {
@@ -243,20 +243,22 @@ const I = /* @__PURE__ */ h({
243
243
  backButtonText: {},
244
244
  backButtonAction: {}
245
245
  },
246
+ emits: ["update:currentStep"],
246
247
  setup(e) {
247
- return (t, i) => (s(), x(R, {
248
+ return (t, n) => (a(), $(G, {
248
249
  title: e.title,
249
250
  "back-button-action": e.backButtonAction,
250
251
  "back-button-text": e.backButtonText
251
- }, E({ _: 2 }, [
252
+ }, V({ _: 2 }, [
252
253
  e.steps ? {
253
254
  name: "center",
254
255
  fn: f(() => [
255
- m(Y, {
256
+ m(X, {
256
257
  class: "w-full",
257
258
  steps: e.steps.length,
258
259
  "step-titles": e.steps,
259
- "current-step": e.currentStep
260
+ "current-step": e.currentStep,
261
+ "onUpdate:currentStep": n[0] || (n[0] = (i) => t.$emit("update:currentStep", i))
260
262
  }, null, 8, ["steps", "step-titles", "current-step"])
261
263
  ]),
262
264
  key: "0"
@@ -264,7 +266,7 @@ const I = /* @__PURE__ */ h({
264
266
  t.$slots.default ? {
265
267
  name: "right",
266
268
  fn: f(() => [
267
- g(t.$slots, "default")
269
+ p(t.$slots, "default")
268
270
  ]),
269
271
  key: "1"
270
272
  } : void 0
@@ -272,10 +274,10 @@ const I = /* @__PURE__ */ h({
272
274
  }
273
275
  });
274
276
  export {
275
- I as NexxtAnimatedNumber,
276
- z as NexxtButton,
277
- R as NexxtHeader,
278
- B as NexxtIcon,
279
- Y as NexxtProgressBar,
280
- ee as NexxtStepperHeader
277
+ E as NexxtAnimatedNumber,
278
+ L as NexxtButton,
279
+ G as NexxtHeader,
280
+ w as NexxtIcon,
281
+ X as NexxtProgressBar,
282
+ Z as NexxtStepperHeader
281
283
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexxtmove/ui",
3
3
  "type": "module",
4
- "version": "0.1.4",
4
+ "version": "0.1.5",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",