@nexxtmove/ui 0.1.7 → 0.1.9

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,9 @@ 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< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
12
+
13
+ declare const __VLS_component_4: DefineComponent<NexxtStepperHeaderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
12
14
  "update:currentStep": (...args: any[]) => void;
13
15
  }, string, PublicProps, Readonly<NexxtStepperHeaderProps> & Readonly<{
14
16
  "onUpdate:currentStep"?: ((...args: any[]) => any) | undefined;
@@ -48,12 +50,23 @@ declare function __VLS_template_3(): {
48
50
  rootEl: HTMLDivElement;
49
51
  };
50
52
 
53
+ declare function __VLS_template_4(): {
54
+ attrs: Partial<{}>;
55
+ slots: {
56
+ default?(_: {}): any;
57
+ };
58
+ refs: {};
59
+ rootEl: HTMLDivElement;
60
+ };
61
+
51
62
  declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
52
63
 
53
64
  declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
54
65
 
55
66
  declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
56
67
 
68
+ declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
69
+
57
70
  declare type __VLS_WithTemplateSlots<T, S> = T & {
58
71
  new (): {
59
72
  $slots: S;
@@ -72,6 +85,12 @@ declare type __VLS_WithTemplateSlots_3<T, S> = T & {
72
85
  };
73
86
  };
74
87
 
88
+ declare type __VLS_WithTemplateSlots_4<T, S> = T & {
89
+ new (): {
90
+ $slots: S;
91
+ };
92
+ };
93
+
75
94
  declare type EasingFunction = 'ease-linear' | 'ease-in' | 'ease-out' | 'ease-in-out';
76
95
 
77
96
  declare type IconType = 'regular' | 'solid' | 'light' | 'duotone' | 'brands';
@@ -104,6 +123,8 @@ declare interface NexxtIconProps {
104
123
  type?: IconType;
105
124
  }
106
125
 
126
+ export declare const NexxtInfoBlock: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
127
+
107
128
  export declare const NexxtProgressBar: DefineComponent<NexxtProgressBarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
108
129
  "update:currentStep": (...args: any[]) => void;
109
130
  }, string, PublicProps, Readonly<NexxtProgressBarProps> & Readonly<{
@@ -117,7 +138,18 @@ declare interface NexxtProgressBarProps {
117
138
  stepTitles?: string[];
118
139
  }
119
140
 
120
- export declare const NexxtStepperHeader: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
141
+ export declare const NexxtSocialIcons: DefineComponent<NexxtSocialIconsProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<NexxtSocialIconsProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLUListElement>;
142
+
143
+ declare interface NexxtSocialIconsProps {
144
+ facebook?: boolean;
145
+ instagram?: boolean;
146
+ linkedin?: boolean;
147
+ x?: boolean;
148
+ google?: boolean;
149
+ tiktok?: boolean;
150
+ }
151
+
152
+ export declare const NexxtStepperHeader: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
121
153
 
122
154
  declare interface NexxtStepperHeaderProps {
123
155
  title: string;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
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({
1
+ import { defineComponent as m, ref as j, computed as v, watch as I, createBlock as k, openBlock as a, TransitionGroup as C, withCtx as h, createElementBlock as n, Fragment as $, renderList as w, createVNode as d, Transition as T, toDisplayString as p, normalizeClass as c, createCommentVNode as b, renderSlot as g, createElementVNode as o, createTextVNode as N, watchEffect as A, normalizeStyle as H, withKeys as S, withModifiers as P, createSlots as M } from "vue";
2
+ const V = /* @__PURE__ */ m({
3
3
  __name: "AnimatedNumber",
4
4
  props: {
5
5
  value: {},
@@ -7,13 +7,13 @@ const E = /* @__PURE__ */ y({
7
7
  easing: { default: "ease-out" }
8
8
  },
9
9
  setup(e) {
10
- const t = N("up"), n = v(() => String(e.value).split("")), i = v(() => `duration-${e.duration}`);
11
- return j(
10
+ const t = j("up"), l = v(() => String(e.value).split("")), i = v(() => `duration-${e.duration}`);
11
+ return I(
12
12
  () => e.value,
13
- (c, d) => {
14
- t.value = c > d ? "up" : "down";
13
+ (r, f) => {
14
+ t.value = r > f ? "up" : "down";
15
15
  }
16
- ), (c, d) => (a(), $(C, {
16
+ ), (r, f) => (a(), k(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 E = /* @__PURE__ */ y({
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: f(() => [
27
- (a(!0), s(B, null, S(n.value, (g, h) => (a(), s("div", {
28
- key: h,
26
+ default: h(() => [
27
+ (a(!0), n($, null, w(l.value, (u, y) => (a(), n("div", {
28
+ key: y,
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(T, {
32
+ d(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: f(() => [
39
- (a(), s("span", {
40
- key: g,
38
+ default: h(() => [
39
+ (a(), n("span", {
40
+ key: u,
41
41
  class: "flex h-full w-full items-center justify-center"
42
- }, b(g), 1))
42
+ }, p(u), 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 E = /* @__PURE__ */ y({
48
48
  _: 1
49
49
  }, 8, ["aria-label", "enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"]));
50
50
  }
51
- }), w = /* @__PURE__ */ y({
51
+ }), x = /* @__PURE__ */ m({
52
52
  name: "NexxtIcon",
53
53
  __name: "Icon",
54
54
  props: {
@@ -56,14 +56,14 @@ const E = /* @__PURE__ */ y({
56
56
  type: { default: "light" }
57
57
  },
58
58
  setup(e) {
59
- return (t, n) => (a(), s("i", {
60
- class: r([`fa-${e.type}`, `fa-${e.name}`, "items-center", "justify-center"])
59
+ return (t, l) => (a(), n("i", {
60
+ class: c([`fa-${e.type}`, `fa-${e.name}`, "items-center", "justify-center"])
61
61
  }, null, 2));
62
62
  }
63
- }), I = ["type", "disabled", "data-variant"], K = {
63
+ }), z = ["type", "disabled", "data-variant"], K = {
64
64
  key: 0,
65
- class: /* @__PURE__ */ r(["absolute inset-0 flex items-center justify-center rounded-lg"])
66
- }, L = /* @__PURE__ */ y({
65
+ class: /* @__PURE__ */ c(["absolute inset-0 flex items-center justify-center rounded-lg"])
66
+ }, L = /* @__PURE__ */ m({
67
67
  name: "NexxtButton",
68
68
  __name: "Button",
69
69
  props: {
@@ -75,10 +75,10 @@ const E = /* @__PURE__ */ y({
75
75
  buttonType: { default: "button" }
76
76
  },
77
77
  setup(e) {
78
- return (t, n) => (a(), s("button", {
78
+ return (t, l) => (a(), n("button", {
79
79
  type: e.buttonType,
80
80
  disabled: e.disabled,
81
- class: r([
81
+ class: c([
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 E = /* @__PURE__ */ y({
87
87
  ]),
88
88
  "data-variant": e.variant
89
89
  }, [
90
- e.icon ? (a(), $(w, {
90
+ e.icon ? (a(), k(x, {
91
91
  key: 0,
92
92
  name: e.icon,
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 ? (a(), s("span", {
93
+ class: c(["transition-all duration-200", { "order-last": e.iconRight, "opacity-0": e.loading }])
94
+ }, null, 8, ["name", "class"])) : b("", !0),
95
+ t.$slots.default ? (a(), n("span", {
96
96
  key: 1,
97
- class: r([
97
+ class: c([
98
98
  "inline-block transition-all duration-200",
99
99
  { "opacity-0": e.loading },
100
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
- p(t.$slots, "default")
105
- ], 2)) : u("", !0),
106
- m(T, {
104
+ g(t.$slots, "default")
105
+ ], 2)) : b("", !0),
106
+ d(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 E = /* @__PURE__ */ y({
111
111
  "leave-from-class": "opacity-100",
112
112
  "leave-to-class": "opacity-0"
113
113
  }, {
114
- default: f(() => [
115
- e.loading ? (a(), s("div", K, [
116
- m(w, {
114
+ default: h(() => [
115
+ e.loading ? (a(), n("div", K, [
116
+ d(x, {
117
117
  name: "spinner-third",
118
118
  type: "light",
119
119
  class: "fa-spin absolute text-sm"
120
120
  })
121
- ])) : u("", !0)
121
+ ])) : b("", !0)
122
122
  ]),
123
123
  _: 1
124
124
  })
125
- ], 10, I));
125
+ ], 10, z));
126
126
  }
127
- }), z = { class: "flex max-w-full items-center justify-start gap-4" }, D = { class: "block truncate heading-4 text-sapphire-500" }, F = {
127
+ }), E = { 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
- }, G = /* @__PURE__ */ y({
130
+ }, q = /* @__PURE__ */ m({
131
131
  name: "NexxtHeader",
132
132
  __name: "Header",
133
133
  props: {
@@ -138,42 +138,70 @@ const E = /* @__PURE__ */ y({
138
138
  } }
139
139
  },
140
140
  setup(e) {
141
- return (t, n) => (a(), s("div", {
142
- class: r(["header flex items-center", t.$slots.center ? "grid grid-cols-3" : ""])
141
+ return (t, l) => (a(), n("div", {
142
+ class: c(["header flex items-center", t.$slots.center ? "grid grid-cols-3" : ""])
143
143
  }, [
144
- o("div", z, [
145
- m(L, {
144
+ o("div", E, [
145
+ d(L, {
146
146
  class: "shrink-0",
147
147
  variant: "secondary",
148
148
  onClick: e.backButtonAction
149
149
  }, {
150
- default: f(() => [
151
- A(b(e.backButtonText), 1)
150
+ default: h(() => [
151
+ N(p(e.backButtonText), 1)
152
152
  ]),
153
153
  _: 1
154
154
  }, 8, ["onClick"]),
155
- o("span", D, b(e.title), 1)
155
+ o("span", F, p(e.title), 1)
156
156
  ]),
157
- t.$slots.center ? (a(), s("div", F, [
158
- p(t.$slots, "center")
159
- ])) : u("", !0),
160
- t.$slots.right ? (a(), s("div", {
157
+ t.$slots.center ? (a(), n("div", G, [
158
+ g(t.$slots, "center")
159
+ ])) : b("", !0),
160
+ t.$slots.right ? (a(), n("div", {
161
161
  key: 1,
162
- class: r(t.$slots.center ? "col-span-1 col-start-3 flex justify-end" : "ml-auto")
162
+ class: c(t.$slots.center ? "col-span-1 col-start-3 flex justify-end" : "ml-auto")
163
163
  }, [
164
- p(t.$slots, "right")
165
- ], 2)) : u("", !0)
164
+ g(t.$slots, "right")
165
+ ], 2)) : b("", !0)
166
166
  ], 2));
167
167
  }
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 = {
168
+ }), D = {
169
+ class: "info-block flex rounded-xl",
170
+ role: "note"
171
+ }, R = {
172
+ class: "flex min-h-20 w-20 shrink-0 items-center justify-center bg-green-50",
173
+ "aria-hidden": "true"
174
+ }, U = { class: "flex aspect-square h-10 items-center justify-center rounded-full bg-green-500" }, X = { class: "p-5" }, le = /* @__PURE__ */ m({
175
+ name: "NexxtInfoBlock",
176
+ __name: "InfoBlock",
177
+ setup(e) {
178
+ return (t, l) => (a(), n("div", D, [
179
+ o("div", R, [
180
+ o("div", U, [
181
+ d(x, {
182
+ name: "thumbs-up",
183
+ size: "lg",
184
+ class: "text-white"
185
+ })
186
+ ])
187
+ ]),
188
+ o("div", X, [
189
+ l[1] || (l[1] = o("span", { class: "body-semibold" }, "Tip!", -1)),
190
+ g(t.$slots, "default", {}, () => [
191
+ l[0] || (l[0] = N(" Koopwoningen doen het goed als post of reel: zo geef je de woning genoeg aandacht én vergroot je het bereik. ", -1))
192
+ ])
193
+ ])
194
+ ]));
195
+ }
196
+ }), J = { class: "@container" }, O = { class: "flex flex-col @md:gap-2" }, Q = { class: "flex items-center justify-between gap-2" }, W = ["aria-label", "aria-valuenow", "aria-valuetext"], Y = {
169
197
  key: 0,
170
198
  class: "flex items-center small-normal tabular-nums @md:hidden",
171
199
  "aria-hidden": "true"
172
- }, Q = {
200
+ }, Z = {
173
201
  key: 0,
174
202
  class: "flex justify-between @max-md:order-first @max-md:justify-center",
175
203
  "aria-label": "Progress steps"
176
- }, W = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], X = /* @__PURE__ */ y({
204
+ }, _ = ["aria-current", "role", "tabindex", "aria-label", "onClick", "onKeydown"], ee = /* @__PURE__ */ m({
177
205
  name: "NexxtProgressBar",
178
206
  __name: "ProgressBar",
179
207
  props: {
@@ -184,14 +212,14 @@ const E = /* @__PURE__ */ y({
184
212
  },
185
213
  emits: ["update:currentStep"],
186
214
  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(() => {
215
+ const t = v(() => Math.min(Math.max(0, e.currentStep), Math.max(0, e.steps - 1))), l = v(() => e.steps > 0 ? t.value + 1 : 0), i = v(() => e.steps <= 1 ? e.steps === 1 ? 100 : 0 : t.value / (e.steps - 1) * 100), r = v(() => !!e.stepTitles?.length);
216
+ return A(() => {
189
217
  e.stepTitles && e.stepTitles.length !== e.steps && console.warn(
190
218
  `[NexxtProgressBar] The "stepTitles" array length (${e.stepTitles.length}) must match the "steps" prop (${e.steps}).`
191
219
  );
192
- }), (d, g) => (a(), s("div", R, [
193
- o("div", q, [
194
- o("div", U, [
220
+ }), (f, u) => (a(), n("div", J, [
221
+ o("div", O, [
222
+ o("div", Q, [
195
223
  o("div", {
196
224
  class: "progress-bar progress-bar-bar h-2 w-full overflow-hidden rounded-full",
197
225
  role: "progressbar",
@@ -199,41 +227,81 @@ const E = /* @__PURE__ */ y({
199
227
  "aria-valuemin": "0",
200
228
  "aria-valuemax": "100",
201
229
  "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}`
230
+ "aria-valuetext": r.value && e.stepTitles?.[t.value] ? `Step ${l.value} of ${e.steps}: ${e.stepTitles[t.value]}` : `Step ${l.value} of ${e.steps}`
203
231
  }, [
204
232
  o("div", {
205
233
  class: "progress-bar-progress h-full transition-all duration-500 ease-out",
206
- style: M({ width: `${i.value}%` }),
234
+ style: H({ width: `${i.value}%` }),
207
235
  "aria-hidden": !0
208
236
  }, null, 4)
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)
237
+ ], 8, W),
238
+ r.value ? (a(), n("div", Y, [
239
+ d(V, { value: l.value }, null, 8, ["value"]),
240
+ o("span", null, "/" + p(e.steps), 1)
241
+ ])) : b("", !0)
214
242
  ]),
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
- 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" : ""
243
+ r.value ? (a(), n("ol", Z, [
244
+ (a(!0), n($, null, w(e.stepTitles, (y, s) => (a(), n("li", {
245
+ key: y,
246
+ class: c(["rounded-xs transition-colors duration-500 focus-visible:outline-3 @max-md:hidden @max-md:body-normal @min-md:small-normal", [
247
+ s === t.value ? "text-sapphire-500 @max-md:inline" : "",
248
+ s < t.value ? "cursor-pointer duration-200! hover:text-sapphire-400" : ""
221
249
  ]]),
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),
250
+ "aria-current": s === t.value ? "step" : void 0,
251
+ role: s < t.value ? "button" : void 0,
252
+ tabindex: s < t.value ? 0 : void 0,
253
+ "aria-label": s < t.value ? `Ga naar ${y}` : void 0,
254
+ onClick: (B) => s < t.value && f.$emit("update:currentStep", s),
227
255
  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"])
256
+ S((B) => s < t.value && f.$emit("update:currentStep", s), ["enter"]),
257
+ S(P((B) => s < t.value && f.$emit("update:currentStep", s), ["prevent"]), ["space"])
230
258
  ]
231
- }, b(h), 43, W))), 128))
232
- ])) : u("", !0)
259
+ }, p(y), 43, _))), 128))
260
+ ])) : b("", !0)
233
261
  ])
234
262
  ]));
235
263
  }
236
- }), Z = /* @__PURE__ */ y({
264
+ }), te = {
265
+ class: "m-0 inline-flex list-none items-start justify-start gap-0.5 p-0",
266
+ "aria-label": "Sociale media kanalen"
267
+ }, ae = ["aria-label"], se = /* @__PURE__ */ m({
268
+ name: "NexxtSocialIcons",
269
+ __name: "SocialIcons",
270
+ props: {
271
+ facebook: { type: Boolean },
272
+ instagram: { type: Boolean },
273
+ linkedin: { type: Boolean },
274
+ x: { type: Boolean },
275
+ google: { type: Boolean },
276
+ tiktok: { type: Boolean }
277
+ },
278
+ setup(e) {
279
+ const t = e, l = [
280
+ { name: "facebook", label: "Facebook", icon: "facebook-f" },
281
+ { name: "instagram", label: "Instagram", icon: "instagram" },
282
+ { name: "linkedin", label: "LinkedIn", icon: "linkedin-in" },
283
+ { name: "x", label: "X (voorheen Twitter)", icon: "x-twitter" },
284
+ { name: "google", label: "Google", icon: "google" },
285
+ { name: "tiktok", label: "TikTok", icon: "tiktok" }
286
+ ], i = v(
287
+ () => l.filter((r) => t[r.name])
288
+ );
289
+ return (r, f) => (a(), n("ul", te, [
290
+ (a(!0), n($, null, w(i.value, (u) => (a(), n("li", {
291
+ key: u.name,
292
+ class: c(["inline-flex h-5 w-5 items-center justify-center rounded-full outline-1 outline-white", `bg-brands-${u.name}`]),
293
+ "aria-label": u.label
294
+ }, [
295
+ d(x, {
296
+ name: u.icon,
297
+ type: "brands",
298
+ class: "text-[10px] text-white",
299
+ "aria-hidden": "true"
300
+ }, null, 8, ["name"])
301
+ ], 10, ae))), 128))
302
+ ]));
303
+ }
304
+ }), ie = /* @__PURE__ */ m({
237
305
  name: "NexxtStepperHeader",
238
306
  __name: "StepperHeader",
239
307
  props: {
@@ -245,28 +313,28 @@ const E = /* @__PURE__ */ y({
245
313
  },
246
314
  emits: ["update:currentStep"],
247
315
  setup(e) {
248
- return (t, n) => (a(), $(G, {
316
+ return (t, l) => (a(), k(q, {
249
317
  title: e.title,
250
318
  "back-button-action": e.backButtonAction,
251
319
  "back-button-text": e.backButtonText
252
- }, V({ _: 2 }, [
320
+ }, M({ _: 2 }, [
253
321
  e.steps ? {
254
322
  name: "center",
255
- fn: f(() => [
256
- m(X, {
323
+ fn: h(() => [
324
+ d(ee, {
257
325
  class: "w-full",
258
326
  steps: e.steps.length,
259
327
  "step-titles": e.steps,
260
328
  "current-step": e.currentStep,
261
- "onUpdate:currentStep": n[0] || (n[0] = (i) => t.$emit("update:currentStep", i))
329
+ "onUpdate:currentStep": l[0] || (l[0] = (i) => t.$emit("update:currentStep", i))
262
330
  }, null, 8, ["steps", "step-titles", "current-step"])
263
331
  ]),
264
332
  key: "0"
265
333
  } : void 0,
266
334
  t.$slots.default ? {
267
335
  name: "right",
268
- fn: f(() => [
269
- p(t.$slots, "default")
336
+ fn: h(() => [
337
+ g(t.$slots, "default")
270
338
  ]),
271
339
  key: "1"
272
340
  } : void 0
@@ -274,10 +342,12 @@ const E = /* @__PURE__ */ y({
274
342
  }
275
343
  });
276
344
  export {
277
- E as NexxtAnimatedNumber,
345
+ V as NexxtAnimatedNumber,
278
346
  L as NexxtButton,
279
- G as NexxtHeader,
280
- w as NexxtIcon,
281
- X as NexxtProgressBar,
282
- Z as NexxtStepperHeader
347
+ q as NexxtHeader,
348
+ x as NexxtIcon,
349
+ le as NexxtInfoBlock,
350
+ ee as NexxtProgressBar,
351
+ se as NexxtSocialIcons,
352
+ ie as NexxtStepperHeader
283
353
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexxtmove/ui",
3
3
  "type": "module",
4
- "version": "0.1.7",
4
+ "version": "0.1.9",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -23,11 +23,11 @@
23
23
  "devDependencies": {
24
24
  "@awesome.me/kit-37b149f3ef": "^1.0.4",
25
25
  "@eslint/js": "^9.39.2",
26
- "@storybook/addon-a11y": "^10.2.3",
27
- "@storybook/addon-docs": "^10.2.3",
28
- "@storybook/addon-vitest": "^10.2.3",
29
- "@storybook/builder-vite": "^10.2.3",
30
- "@storybook/vue3-vite": "^10.2.3",
26
+ "@storybook/addon-a11y": "^10.2.8",
27
+ "@storybook/addon-docs": "^10.2.8",
28
+ "@storybook/addon-vitest": "^10.2.8",
29
+ "@storybook/builder-vite": "^10.2.8",
30
+ "@storybook/vue3-vite": "^10.2.8",
31
31
  "@tailwindcss/vite": "^4.1.18",
32
32
  "@types/node": "^25.0.3",
33
33
  "@types/react": "^19.2.8",
@@ -49,12 +49,12 @@
49
49
  "react": "^19.2.3",
50
50
  "react-dom": "^19.2.3",
51
51
  "remark-frontmatter": "^5.0.0",
52
- "storybook": "^10.2.3",
52
+ "storybook": "^10.2.8",
53
53
  "typescript-eslint": "^8.52.0",
54
54
  "vite": "^7.3.0",
55
55
  "vite-plugin-dts": "^4.5.4",
56
56
  "vitest": "^4.0.16",
57
- "eslint-plugin-storybook": "10.2.3"
57
+ "eslint-plugin-storybook": "10.2.8"
58
58
  },
59
59
  "engines": {
60
60
  "node": ">=22.18.0"
@@ -106,6 +106,12 @@
106
106
  --color-brick-800: oklch(37.589% 0.05484 18.2995);
107
107
  --color-brick-900: oklch(32.852% 0.03404 19.047);
108
108
  --color-brick-950: oklch(27.734% 0.02143 13.77033);
109
+ --color-brands-facebook: oklch(56.414% 0.24023 261.15447);
110
+ --color-brands-instagram: oklch(59.999% 0.2707 332.04903);
111
+ --color-brands-linkedin: oklch(54.58% 0.13018 242.27159);
112
+ --color-brands-x: oklch(0% 0 0);
113
+ --color-brands-google: oklch(63.039% 0.18003 259.95533);
114
+ --color-brands-tiktok: oklch(63.451% 0.25395 16.82869);
109
115
  --color-button-bg-primary-default: var(--color-cornflower-blue-500);
110
116
  --color-button-bg-primary-hover: var(--color-cornflower-blue-400);
111
117
  --color-button-bg-primary-focussed: var(--color-cornflower-blue-500);