@nexxtmove/ui 1.1.7 → 1.1.8

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.
@@ -1,8 +1,10 @@
1
1
  import { IconName } from '@awesome.me/kit-37b149f3ef/icons';
2
2
  type SwitchColor = 'blue' | 'green';
3
+ type SwitchSize = 'sm' | 'md' | 'lg';
3
4
  interface NexxtSwitchProps {
4
5
  labelPosition?: 'before' | 'after';
5
6
  color?: SwitchColor;
7
+ size?: SwitchSize;
6
8
  iconOn?: IconName;
7
9
  iconOff?: IconName;
8
10
  }
package/dist/index.js CHANGED
@@ -4332,13 +4332,14 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4332
4332
  "back-button-text"
4333
4333
  ]));
4334
4334
  }
4335
- }), Pa = { class: "inline-flex cursor-pointer items-center gap-2" }, Fa = { class: "relative inline-block h-8 w-15" }, Ia = /* @__PURE__ */ p({
4335
+ }), Pa = { class: "inline-flex cursor-pointer items-center gap-2" }, Fa = /* @__PURE__ */ p({
4336
4336
  name: "NexxtSwitch",
4337
4337
  inheritAttrs: !1,
4338
4338
  __name: "Switch",
4339
4339
  props: /*@__PURE__*/ g({
4340
4340
  labelPosition: { default: "after" },
4341
4341
  color: { default: "blue" },
4342
+ size: { default: "lg" },
4342
4343
  iconOn: {},
4343
4344
  iconOff: {}
4344
4345
  }, {
@@ -4350,32 +4351,56 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4350
4351
  let t = M(e, "modelValue"), n = {
4351
4352
  blue: "border-cornflower-blue-500 bg-cornflower-blue-500",
4352
4353
  green: "border-green-400 bg-green-400"
4354
+ }, r = {
4355
+ sm: "h-5 w-9",
4356
+ md: "h-6 w-11",
4357
+ lg: "h-8 w-15"
4358
+ }, i = {
4359
+ sm: "top-0.5 left-0.5 h-3.5 w-3.5",
4360
+ md: "top-0.5 left-0.5 h-4.5 w-4.5",
4361
+ lg: "top-0.75 left-0.75 h-6 w-6"
4362
+ }, l = {
4363
+ sm: "translate-x-4",
4364
+ md: "translate-x-5",
4365
+ lg: "translate-x-7"
4366
+ }, u = {
4367
+ sm: "text-[8px]",
4368
+ md: "text-[10px]",
4369
+ lg: "text-xs"
4353
4370
  };
4354
- return (r, i) => (w(), s("label", Pa, [
4355
- e.labelPosition === "before" ? D(r.$slots, "default", { key: 0 }) : o("", !0),
4356
- c("span", Fa, [z(c("input", _(r.$attrs, {
4371
+ return (d, f) => (w(), s("label", Pa, [
4372
+ e.labelPosition === "before" ? D(d.$slots, "default", { key: 0 }) : o("", !0),
4373
+ c("span", { class: y(["relative inline-block", r[e.size]]) }, [z(c("input", _(d.$attrs, {
4357
4374
  type: "checkbox",
4358
4375
  class: "peer sr-only",
4359
- "onUpdate:modelValue": i[0] ||= (e) => t.value = e
4360
- }), null, 16), [[P, t.value]]), c("span", { class: y(["absolute inset-0 overflow-hidden rounded-[30px] border transition-colors duration-200", t.value ? n[e.color] : "border-gray-500 bg-gray-200"]) }, [c("span", { class: y(["absolute top-0.75 left-0.75 h-6 w-6 rounded-full bg-white transition-transform duration-400", t.value && "translate-x-7"]) }, null, 2), c("span", { class: y(["absolute top-0.75 left-0.75 flex h-6 w-6 items-center justify-center rounded-full bg-white transition-transform duration-300", t.value && "translate-x-7"]) }, [t.value && e.iconOn ? (w(), a(Z, {
4376
+ "onUpdate:modelValue": f[0] ||= (e) => t.value = e
4377
+ }), null, 16), [[P, t.value]]), c("span", { class: y(["absolute inset-0 overflow-hidden rounded-[30px] border transition-colors duration-200", t.value ? n[e.color] : "border-gray-500 bg-gray-200"]) }, [c("span", { class: y([
4378
+ "absolute rounded-full bg-white transition-transform duration-400",
4379
+ i[e.size],
4380
+ t.value && l[e.size]
4381
+ ]) }, null, 2), c("span", { class: y([
4382
+ "absolute flex items-center justify-center rounded-full bg-white transition-transform duration-300",
4383
+ i[e.size],
4384
+ t.value && l[e.size]
4385
+ ]) }, [t.value && e.iconOn ? (w(), a(Z, {
4361
4386
  key: 0,
4362
4387
  name: e.iconOn,
4363
4388
  type: "solid",
4364
- class: "text-xs text-gray-600"
4365
- }, null, 8, ["name"])) : !t.value && e.iconOff ? (w(), a(Z, {
4389
+ class: y(["text-gray-600", u[e.size]])
4390
+ }, null, 8, ["name", "class"])) : !t.value && e.iconOff ? (w(), a(Z, {
4366
4391
  key: 1,
4367
4392
  name: e.iconOff,
4368
- class: "text-xs text-gray-600"
4369
- }, null, 8, ["name"])) : o("", !0)], 2)], 2)]),
4370
- e.labelPosition === "after" ? D(r.$slots, "default", { key: 1 }) : o("", !0)
4393
+ class: y(["text-gray-600", u[e.size]])
4394
+ }, null, 8, ["name", "class"])) : o("", !0)], 2)], 2)], 2),
4395
+ e.labelPosition === "after" ? D(d.$slots, "default", { key: 1 }) : o("", !0)
4371
4396
  ]));
4372
4397
  }
4373
- }), La = ["aria-label"], Ra = [
4398
+ }), Ia = ["aria-label"], La = [
4374
4399
  "aria-selected",
4375
4400
  "tabindex",
4376
4401
  "onClick",
4377
4402
  "onKeydown"
4378
- ], za = /* @__PURE__ */ p({
4403
+ ], Ra = /* @__PURE__ */ p({
4379
4404
  name: "NexxtTabs",
4380
4405
  __name: "Tabs",
4381
4406
  props: /*@__PURE__*/ g({
@@ -4435,7 +4460,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4435
4460
  class: y(["relative h-9 cursor-pointer rounded-full px-4 text-sm text-gray-950 transition-none", r.value === e ? "z-10" : "z-30"]),
4436
4461
  onClick: (t) => r.value = e,
4437
4462
  onKeydown: (e) => f(e, t)
4438
- }, k(e), 43, Ra))), 128)),
4463
+ }, k(e), 43, La))), 128)),
4439
4464
  c("div", {
4440
4465
  "aria-hidden": "true",
4441
4466
  class: y(["pointer-events-none absolute inset-0 z-20 flex", u.value ? "transition-[clip-path] duration-500 ease-[cubic-bezier(0.34,1.2,0.64,1)]" : ""]),
@@ -4444,9 +4469,9 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4444
4469
  key: e,
4445
4470
  class: "flex h-9 items-center rounded-full px-4 text-sm text-white"
4446
4471
  }, k(e), 1))), 128))], 6)
4447
- ], 8, La));
4472
+ ], 8, Ia));
4448
4473
  }
4449
- }), Ba = { class: "flex flex-col items-center" }, Va = { class: "relative w-full overflow-hidden" }, Ha = ["aria-labelledby"], Ua = /* @__PURE__ */ p({
4474
+ }), za = { class: "flex flex-col items-center" }, Ba = { class: "relative w-full overflow-hidden" }, Va = ["aria-labelledby"], Ha = /* @__PURE__ */ p({
4450
4475
  name: "NexxtTabbedContent",
4451
4476
  __name: "TabbedContent",
4452
4477
  props: /*@__PURE__*/ g({
@@ -4471,7 +4496,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4471
4496
  enterFromClass: a.value === "forward" ? "-translate-x-10 opacity-0" : "translate-x-10 opacity-0",
4472
4497
  leaveToClass: a.value === "forward" ? "translate-x-10 opacity-0" : "-translate-x-10 opacity-0"
4473
4498
  } : { mode: "out-in" });
4474
- return (t, i) => (w(), s("div", Ba, [f(za, {
4499
+ return (t, i) => (w(), s("div", za, [f(Ra, {
4475
4500
  tabs: e.tabs,
4476
4501
  modelValue: r.value,
4477
4502
  "onUpdate:modelValue": i[0] ||= (e) => r.value = e,
@@ -4481,49 +4506,49 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4481
4506
  "tabs",
4482
4507
  "modelValue",
4483
4508
  "tablist-label"
4484
- ]), c("div", Va, [f(n, b(h(u.value)), {
4509
+ ]), c("div", Ba, [f(n, b(h(u.value)), {
4485
4510
  default: R(() => [(w(), s("div", {
4486
4511
  key: r.value,
4487
4512
  role: "tabpanel",
4488
4513
  "aria-labelledby": l(r.value),
4489
4514
  class: "w-full"
4490
- }, [D(t.$slots, o(r.value))], 8, Ha))]),
4515
+ }, [D(t.$slots, o(r.value))], 8, Va))]),
4491
4516
  _: 3
4492
4517
  }, 16)])]));
4493
4518
  }
4494
- }), Wa = { class: "flex flex-col gap-3" }, Ga = ["aria-colcount", "aria-rowcount"], Ka = { class: "sticky top-0 z-10 mb-0.5" }, qa = { key: 0 }, Ja = {
4519
+ }), Ua = { class: "flex flex-col gap-3" }, Wa = ["aria-colcount", "aria-rowcount"], Ga = { class: "sticky top-0 z-10 mb-0.5" }, Ka = { key: 0 }, qa = {
4495
4520
  key: 0,
4496
4521
  class: "flex items-center justify-center px-2 py-3",
4497
4522
  role: "columnheader",
4498
4523
  "aria-colindex": "1"
4499
- }, Ya = [
4524
+ }, Ja = [
4500
4525
  "aria-colindex",
4501
4526
  "aria-sort",
4502
4527
  "tabindex",
4503
4528
  "onClick",
4504
4529
  "onKeydown"
4505
- ], Xa = {
4530
+ ], Ya = {
4506
4531
  role: "rowgroup",
4507
4532
  class: "relative"
4508
- }, Za = [
4533
+ }, Xa = [
4509
4534
  "aria-rowindex",
4510
4535
  "aria-selected",
4511
4536
  "onClick",
4512
4537
  "onKeydown"
4513
- ], Qa = {
4538
+ ], Za = {
4514
4539
  key: 0,
4515
4540
  class: "flex items-center justify-center px-2 py-4",
4516
4541
  role: "gridcell",
4517
4542
  "aria-colindex": 1
4518
- }, $a = ["aria-colindex"], eo = {
4543
+ }, Qa = ["aria-colindex"], $a = {
4519
4544
  key: 0,
4520
4545
  class: "px-4 py-8 text-center text-sm text-slate-400",
4521
4546
  role: "row"
4522
- }, to = {
4547
+ }, eo = {
4523
4548
  key: 0,
4524
4549
  "data-testid": "loading-overlay",
4525
4550
  class: "absolute inset-0 flex items-center justify-center rounded-md bg-white/40 backdrop-blur-sm"
4526
- }, no = /* @__PURE__ */ p({
4551
+ }, to = /* @__PURE__ */ p({
4527
4552
  name: "NexxtTable",
4528
4553
  __name: "Table",
4529
4554
  props: /*@__PURE__*/ g({
@@ -4573,17 +4598,17 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4573
4598
  }, I = (e, t) => e[t], L = (e) => `cell-${e}`, z = (e, t) => {
4574
4599
  e.key === "ArrowDown" ? (e.preventDefault(), _.value?.[Math.min(t + 1, u.rows.length - 1)]?.focus()) : e.key === "ArrowUp" && (e.preventDefault(), _.value?.[Math.max(t - 1, 0)]?.focus());
4575
4600
  };
4576
- return (r, i) => (w(), s("div", Wa, [c("div", {
4601
+ return (r, i) => (w(), s("div", Ua, [c("div", {
4577
4602
  role: "grid",
4578
4603
  "aria-colcount": t.columns.length + +!!t.selectable,
4579
4604
  "aria-rowcount": t.rows.length + 1,
4580
4605
  class: "min-w-full"
4581
- }, [c("div", Ka, [r.$slots.toolbar ? (w(), s("div", qa, [D(r.$slots, "toolbar")])) : o("", !0), c("div", {
4606
+ }, [c("div", Ga, [r.$slots.toolbar ? (w(), s("div", Ka, [D(r.$slots, "toolbar")])) : o("", !0), c("div", {
4582
4607
  class: "grid rounded-md bg-gray-50",
4583
4608
  style: x({ gridTemplateColumns: A.value }),
4584
4609
  role: "row",
4585
4610
  "aria-rowindex": "1"
4586
- }, [t.selectable ? (w(), s("div", Ja, [t.selectionMode === "multiple" ? (w(), a(qt, {
4611
+ }, [t.selectable ? (w(), s("div", qa, [t.selectionMode === "multiple" ? (w(), a(qt, {
4587
4612
  key: 0,
4588
4613
  "model-value": v.value,
4589
4614
  indeterminate: b.value,
@@ -4602,7 +4627,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4602
4627
  key: 0,
4603
4628
  name: h.value === e.key ? g.value === "asc" ? "angle-down" : "angle-up" : "angles-up-down",
4604
4629
  class: y(["shrink-0 text-xs", h.value === e.key ? "text-cornflower-blue-600" : "text-slate-400"])
4605
- }, null, 8, ["name", "class"])) : o("", !0)], 42, Ya))), 128))], 4)]), c("div", Xa, [
4630
+ }, null, 8, ["name", "class"])) : o("", !0)], 42, Ja))), 128))], 4)]), c("div", Ya, [
4606
4631
  (w(!0), s(e, null, E(t.rows, (n, i) => (w(), s("div", {
4607
4632
  key: i,
4608
4633
  ref_for: !0,
@@ -4621,7 +4646,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4621
4646
  tabindex: "0",
4622
4647
  onClick: (e) => P(e, i),
4623
4648
  onKeydown: (e) => z(e, i)
4624
- }, [t.selectable ? (w(), s("div", Qa, [f(qt, {
4649
+ }, [t.selectable ? (w(), s("div", Za, [f(qt, {
4625
4650
  "model-value": S(n),
4626
4651
  "aria-label": `Select row ${i + 1}`,
4627
4652
  "onUpdate:modelValue": (e) => T(n)
@@ -4637,23 +4662,23 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4637
4662
  }, [D(r.$slots, L(e.key), {
4638
4663
  row: n,
4639
4664
  value: I(n, e.key)
4640
- }, () => [d(k(I(n, e.key)), 1)])], 8, $a))), 128))], 46, Za))), 128)),
4641
- t.rows.length ? o("", !0) : (w(), s("div", eo, [D(r.$slots, "empty", {}, () => [i[0] ||= d("Geen data beschikbaar", -1)])])),
4665
+ }, () => [d(k(I(n, e.key)), 1)])], 8, Qa))), 128))], 46, Xa))), 128)),
4666
+ t.rows.length ? o("", !0) : (w(), s("div", $a, [D(r.$slots, "empty", {}, () => [i[0] ||= d("Geen data beschikbaar", -1)])])),
4642
4667
  f(n, {
4643
4668
  "enter-active-class": "transition-opacity duration-200",
4644
4669
  "leave-active-class": "transition-opacity duration-200",
4645
4670
  "enter-from-class": "opacity-0",
4646
4671
  "leave-to-class": "opacity-0"
4647
4672
  }, {
4648
- default: R(() => [t.loading ? (w(), s("div", to, [D(r.$slots, "loading", {}, () => [f(Z, {
4673
+ default: R(() => [t.loading ? (w(), s("div", eo, [D(r.$slots, "loading", {}, () => [f(Z, {
4649
4674
  name: "spinner-third",
4650
4675
  class: "fa-spin text-3xl text-purple-500"
4651
4676
  })])])) : o("", !0)]),
4652
4677
  _: 3
4653
4678
  })
4654
- ])], 8, Ga)]));
4679
+ ])], 8, Wa)]));
4655
4680
  }
4656
- }), ro = /* @__PURE__ */ p({
4681
+ }), no = /* @__PURE__ */ p({
4657
4682
  name: "NexxtTooltip",
4658
4683
  __name: "Tooltip",
4659
4684
  props: {
@@ -4705,16 +4730,16 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4705
4730
  _: 3
4706
4731
  }));
4707
4732
  }
4708
- }), io = { class: "w-full max-w-105 rounded-xl border border-gray-200" }, ao = { class: "h-38 w-full" }, oo = ["src", "alt"], so = {
4733
+ }), ro = { class: "w-full max-w-105 rounded-xl border border-gray-200" }, io = { class: "h-38 w-full" }, ao = ["src", "alt"], oo = {
4709
4734
  key: 1,
4710
4735
  class: "flex h-38 w-full items-center justify-center rounded-t-xl bg-gray-100"
4711
- }, co = { class: "rounded-b-xl px-8 pt-3.5 pb-4" }, lo = { class: "truncate heading-4 text-gray-900" }, uo = {
4736
+ }, so = { class: "rounded-b-xl px-8 pt-3.5 pb-4" }, co = { class: "truncate heading-4 text-gray-900" }, lo = {
4712
4737
  key: 0,
4713
4738
  class: "truncate body-normal text-gray-700"
4714
- }, fo = {
4739
+ }, uo = {
4715
4740
  key: 1,
4716
4741
  class: "mt-3 flex flex-wrap gap-2"
4717
- }, po = { class: "body-small text-gray-700" }, mo = /* @__PURE__ */ p({
4742
+ }, fo = { class: "body-small text-gray-700" }, po = /* @__PURE__ */ p({
4718
4743
  name: "NexxtTemplateCard",
4719
4744
  __name: "TemplateCard",
4720
4745
  props: {
@@ -4755,33 +4780,33 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4755
4780
  ...r,
4756
4781
  ...a.messages
4757
4782
  }));
4758
- return (r, i) => (w(), s("div", io, [c("picture", ao, [t.image ? (w(), s("img", {
4783
+ return (r, i) => (w(), s("div", ro, [c("picture", io, [t.image ? (w(), s("img", {
4759
4784
  key: 0,
4760
4785
  src: t.image,
4761
4786
  alt: t.title,
4762
4787
  loading: "lazy",
4763
4788
  class: "w-full rounded-t-xl object-cover"
4764
- }, null, 8, oo)) : (w(), s("div", so, [f(Z, {
4789
+ }, null, 8, ao)) : (w(), s("div", oo, [f(Z, {
4765
4790
  name: "image",
4766
4791
  class: "text-4xl text-gray-400"
4767
- })]))]), c("div", co, [
4768
- c("h3", lo, k(t.title), 1),
4769
- t.subtitle ? (w(), s("p", uo, k(t.subtitle), 1)) : o("", !0),
4770
- t.contentFeatures.length ? (w(), s("ul", fo, [(w(!0), s(e, null, E(t.contentFeatures, (e) => (w(), s("li", { key: e }, [f(ro, null, {
4771
- tooltip: R(() => [c("span", po, k(l.value[e]), 1)]),
4792
+ })]))]), c("div", so, [
4793
+ c("h3", co, k(t.title), 1),
4794
+ t.subtitle ? (w(), s("p", lo, k(t.subtitle), 1)) : o("", !0),
4795
+ t.contentFeatures.length ? (w(), s("ul", uo, [(w(!0), s(e, null, E(t.contentFeatures, (e) => (w(), s("li", { key: e }, [f(no, null, {
4796
+ tooltip: R(() => [c("span", fo, k(l.value[e]), 1)]),
4772
4797
  default: R(() => [c("div", { class: y([[n[e].backgroundColor, n[e].textColor], "flex size-8 items-center justify-center rounded-full"]) }, [f(Z, { name: n[e].icon }, null, 8, ["name"])], 2)]),
4773
4798
  _: 2
4774
4799
  }, 1024)]))), 128))])) : o("", !0)
4775
4800
  ])]));
4776
4801
  }
4777
- }), ho = [
4802
+ }), mo = [
4778
4803
  "data-event-source",
4779
4804
  "data-event-date",
4780
4805
  "date-event-type"
4781
- ], go = { class: "heading-3" }, _o = ["href"], vo = { class: "truncate group-hover:underline" }, yo = {
4806
+ ], ho = { class: "heading-3" }, go = ["href"], _o = { class: "truncate group-hover:underline" }, vo = {
4782
4807
  key: 1,
4783
4808
  class: "mt-1 text-sm text-gray-500"
4784
- }, bo = /* @__PURE__ */ p({
4809
+ }, yo = /* @__PURE__ */ p({
4785
4810
  name: "NexxtTimelineEvent",
4786
4811
  __name: "TimelineEvent",
4787
4812
  props: {
@@ -4819,26 +4844,26 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4819
4844
  name: n.value.icon,
4820
4845
  class: "flex h-6 w-6 text-xl text-white"
4821
4846
  }, null, 8, ["name"])], 2), c("div", { class: y(["flex w-full flex-col gap-2 rounded-xl border border-gray-200 p-8", { "max-w-lg": e.splitView }]) }, [
4822
- c("span", go, k(n.value.label), 1),
4847
+ c("span", ho, k(n.value.label), 1),
4823
4848
  e.event.url ? (w(), s("a", {
4824
4849
  key: 0,
4825
4850
  href: e.event.url,
4826
4851
  target: "_blank",
4827
4852
  class: "group mt-1 flex justify-between gap-2 text-sm text-cornflower-blue-500 hover:text-cornflower-blue-600"
4828
- }, [c("span", vo, k(e.event.description || e.event.url), 1), f(Z, {
4853
+ }, [c("span", _o, k(e.event.description || e.event.url), 1), f(Z, {
4829
4854
  name: "external-link",
4830
4855
  class: "ml-1 h-4 w-4 text-gray-950"
4831
- })], 8, _o)) : o("", !0),
4832
- e.event.request_reason ? (w(), s("span", yo, " Reden: " + k(e.event.request_reason), 1)) : o("", !0)
4833
- ], 2)], 2)], 10, ho));
4856
+ })], 8, go)) : o("", !0),
4857
+ e.event.request_reason ? (w(), s("span", vo, " Reden: " + k(e.event.request_reason), 1)) : o("", !0)
4858
+ ], 2)], 2)], 10, mo));
4834
4859
  }
4835
- }), xo = ["data-phase"], So = {
4860
+ }), bo = ["data-phase"], xo = {
4836
4861
  key: 0,
4837
4862
  class: "relative z-10"
4838
- }, Co = { class: "flex items-center justify-between px-4 py-2" }, wo = { class: "flex gap-1" }, To = { class: "flex gap-1" }, Eo = { class: "text-sm font-semibold tracking-wider uppercase" }, Do = { class: "mt-2 font-medium text-xs text-gray-500" }, Oo = {
4863
+ }, So = { class: "flex items-center justify-between px-4 py-2" }, Co = { class: "flex gap-1" }, wo = { class: "flex gap-1" }, To = { class: "text-sm font-semibold tracking-wider uppercase" }, Eo = { class: "mt-2 font-medium text-xs text-gray-500" }, Do = {
4839
4864
  key: 1,
4840
4865
  class: "h-1"
4841
- }, ko = /* @__PURE__ */ p({
4866
+ }, Oo = /* @__PURE__ */ p({
4842
4867
  name: "NexxtTimelinePhaseblock",
4843
4868
  __name: "TimelinePhaseblock",
4844
4869
  props: {
@@ -4874,14 +4899,14 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4874
4899
  class: "relative z-10 flex flex-col gap-16",
4875
4900
  "data-phase": t.phase.phase.value
4876
4901
  }, [
4877
- t.index === 0 && t.isSplitView ? (w(), s("div", So, [c("div", Co, [c("span", wo, [i[1] ||= d(" Outbound ", -1), f(ro, null, {
4902
+ t.index === 0 && t.isSplitView ? (w(), s("div", xo, [c("div", So, [c("span", Co, [i[1] ||= d(" Outbound ", -1), f(no, null, {
4878
4903
  tooltip: R(() => [...i[0] ||= [c("span", { class: "text-sm" }, "Vanuit Nexxtmove", -1)]]),
4879
4904
  default: R(() => [f(Z, {
4880
4905
  name: "circle-info",
4881
4906
  class: "h-4 w-4 text-xs text-gray-600"
4882
4907
  })]),
4883
4908
  _: 1
4884
- })]), c("span", To, [i[3] ||= d(" Inbound ", -1), f(ro, { "as-child": "" }, {
4909
+ })]), c("span", wo, [i[3] ||= d(" Inbound ", -1), f(no, { "as-child": "" }, {
4885
4910
  tooltip: R(() => [...i[2] ||= [c("span", { class: "text-sm" }, "Vanuit relatie", -1)]]),
4886
4911
  default: R(() => [f(Z, {
4887
4912
  name: "circle-info",
@@ -4894,7 +4919,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4894
4919
  key: 1,
4895
4920
  class: y(["absolute right-5 bottom-0 w-0 border-l", [A($)[t.phase.phase.value].color, t.index === 0 ? "top-10" : "top-0"]])
4896
4921
  }, null, 2)) : o("", !0),
4897
- (w(!0), s(e, null, E(t.phase.events, (e) => (w(), a(bo, {
4922
+ (w(!0), s(e, null, E(t.phase.events, (e) => (w(), a(yo, {
4898
4923
  key: e.id,
4899
4924
  event: e,
4900
4925
  "split-view": t.isSplitView
@@ -4903,36 +4928,36 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4903
4928
  key: 2,
4904
4929
  class: y(["relative flex flex-col items-center pt-8 pb-24 text-center", { "pl-16": !t.isSplitView }])
4905
4930
  }, [
4906
- c("div", { class: y(["flex items-center gap-2 rounded-full px-12 py-4", [A($)[t.phase.phase.value].bgColor, A($)[t.phase.phase.value].textColor]]) }, [c("span", Eo, k(A($)[t.phase.phase.value].label), 1), p() ? (w(), a(Z, {
4931
+ c("div", { class: y(["flex items-center gap-2 rounded-full px-12 py-4", [A($)[t.phase.phase.value].bgColor, A($)[t.phase.phase.value].textColor]]) }, [c("span", To, k(A($)[t.phase.phase.value].label), 1), p() ? (w(), a(Z, {
4907
4932
  key: 0,
4908
4933
  name: p() === "up" ? "arrow-up" : "arrow-down",
4909
4934
  class: "h-4 w-4 text-white"
4910
4935
  }, null, 8, ["name"])) : o("", !0)], 2),
4911
- c("span", Do, k(u()), 1),
4936
+ c("span", Eo, k(u()), 1),
4912
4937
  t.isSplitView ? (w(), s("div", {
4913
4938
  key: 0,
4914
4939
  class: y(["mt-4 h-px w-[75%]", A($)[t.phase.phase.value].bgColor])
4915
4940
  }, null, 2)) : o("", !0),
4916
- t.isLast ? o("", !0) : (w(), s("div", Oo)),
4941
+ t.isLast ? o("", !0) : (w(), s("div", Do)),
4917
4942
  c("div", { class: y(["absolute top-0 bottom-0 left-5 w-px bg-linear-to-b", r.value]) }, null, 2),
4918
4943
  t.isSplitView ? (w(), s("div", {
4919
4944
  key: 2,
4920
4945
  class: y(["absolute top-0 right-5 bottom-0 w-px bg-linear-to-b", r.value])
4921
4946
  }, null, 2)) : o("", !0)
4922
4947
  ], 2))
4923
- ], 8, xo));
4948
+ ], 8, bo));
4924
4949
  }
4925
- }), Ao = ["role", "aria-live"], jo = { class: "flex min-w-0 flex-1 flex-col gap-0.5 pt-0.5" }, Mo = {
4950
+ }), ko = ["role", "aria-live"], Ao = { class: "flex min-w-0 flex-1 flex-col gap-0.5 pt-0.5" }, jo = {
4926
4951
  key: 1,
4927
4952
  class: "body-normal"
4928
- }, No = ["aria-label"], Po = {
4953
+ }, Mo = ["aria-label"], No = {
4929
4954
  key: 0,
4930
4955
  class: "absolute inset-0 -rotate-90 text-gray-400",
4931
4956
  viewBox: "0 0 24 24",
4932
4957
  width: "32",
4933
4958
  height: "32",
4934
4959
  "aria-hidden": "true"
4935
- }, Fo = 56.55, Io = /*#__PURE__*/ Mn(/* @__PURE__ */ p({
4960
+ }, Po = 56.55, Fo = /*#__PURE__*/ Mn(/* @__PURE__ */ p({
4936
4961
  name: "NexxtToast",
4937
4962
  __name: "Toast",
4938
4963
  props: {
@@ -4947,7 +4972,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4947
4972
  },
4948
4973
  emits: ["dismiss"],
4949
4974
  setup(e, { emit: t }) {
4950
- j((e) => ({ v3e3d3e68: Fo }));
4975
+ j((e) => ({ v3e3d3e68: Po }));
4951
4976
  let n = {
4952
4977
  info: {
4953
4978
  icon: "info",
@@ -4995,12 +5020,12 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
4995
5020
  name: l.value.icon,
4996
5021
  class: "text-xl"
4997
5022
  }, null, 8, ["name"])], 2),
4998
- c("div", jo, [
5023
+ c("div", Ao, [
4999
5024
  e.title ? (w(), s("p", {
5000
5025
  key: 0,
5001
5026
  class: y(["heading-4", l.value.titleColor])
5002
5027
  }, k(e.title), 3)) : o("", !0),
5003
- e.message ? (w(), s("p", Mo, k(e.message), 1)) : o("", !0),
5028
+ e.message ? (w(), s("p", jo, k(e.message), 1)) : o("", !0),
5004
5029
  D(t.$slots, "default", {}, void 0, !0)
5005
5030
  ]),
5006
5031
  e.dismissible ? (w(), s("button", {
@@ -5009,7 +5034,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5009
5034
  class: "relative flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center focus:outline-none",
5010
5035
  "aria-label": e.autoClose ? `Sluiten (verdwijnt automatisch na ${e.autoClose / 1e3} seconden)` : "Sluiten",
5011
5036
  onClick: n[0] ||= (e) => r("dismiss")
5012
- }, [e.autoClose ? (w(), s("svg", Po, [c("circle", {
5037
+ }, [e.autoClose ? (w(), s("svg", No, [c("circle", {
5013
5038
  cx: "12",
5014
5039
  cy: "12",
5015
5040
  r: "9",
@@ -5017,7 +5042,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5017
5042
  stroke: "currentColor",
5018
5043
  "stroke-width": "1.2",
5019
5044
  "stroke-linecap": "round",
5020
- "stroke-dasharray": Fo,
5045
+ "stroke-dasharray": Po,
5021
5046
  class: "timer-circle",
5022
5047
  style: x({
5023
5048
  animationDuration: `${e.autoClose}ms`,
@@ -5026,10 +5051,10 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5026
5051
  }, null, 4)])) : o("", !0), f(Z, {
5027
5052
  name: "xmark",
5028
5053
  class: "text-sm"
5029
- })], 8, No)) : o("", !0)
5030
- ], 42, Ao));
5054
+ })], 8, Mo)) : o("", !0)
5055
+ ], 42, ko));
5031
5056
  }
5032
- }), [["__scopeId", "data-v-89269eaa"]]), Lo = /* @__PURE__ */ p({
5057
+ }), [["__scopeId", "data-v-89269eaa"]]), Io = /* @__PURE__ */ p({
5033
5058
  name: "NexxtToaster",
5034
5059
  __name: "Toaster",
5035
5060
  props: {
@@ -5062,7 +5087,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5062
5087
  default: R(() => [(w(!0), s(e, null, E(n.toasts, (e) => (w(), s("div", {
5063
5088
  key: e.id,
5064
5089
  class: "pointer-events-auto"
5065
- }, [f(Io, _({ ref_for: !0 }, e, { onDismiss: (t) => o("dismiss", e.id) }), null, 16, ["onDismiss"])]))), 128))]),
5090
+ }, [f(Fo, _({ ref_for: !0 }, e, { onDismiss: (t) => o("dismiss", e.id) }), null, 16, ["onDismiss"])]))), 128))]),
5066
5091
  _: 1
5067
5092
  }, 8, [
5068
5093
  "class",
@@ -5070,19 +5095,19 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5070
5095
  "leave-to-class"
5071
5096
  ])], 2)]));
5072
5097
  }
5073
- }), Ro = { class: "flex flex-col gap-1" }, zo = {
5098
+ }), Lo = { class: "flex flex-col gap-1" }, Ro = {
5074
5099
  key: 0,
5075
5100
  class: "text-color-gray-700 justify-start body-normal text-sm"
5076
- }, Bo = ["onClick"], Vo = {
5101
+ }, zo = ["onClick"], Bo = {
5077
5102
  key: 1,
5078
5103
  class: "extra-small-semibold"
5079
- }, Ho = ["onClick"], Uo = {
5104
+ }, Vo = ["onClick"], Ho = {
5080
5105
  key: 1,
5081
5106
  class: "extra-small-semibold"
5082
- }, Wo = {
5107
+ }, Uo = {
5083
5108
  key: 1,
5084
5109
  class: "extra-small-semibold"
5085
- }, Go = /* @__PURE__ */ p({
5110
+ }, Wo = /* @__PURE__ */ p({
5086
5111
  name: "NexxtToggleGroup",
5087
5112
  __name: "ToggleGroup",
5088
5113
  props: /*@__PURE__*/ g({
@@ -5113,7 +5138,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5113
5138
  };
5114
5139
  return I(r, async () => await m()), et(i, () => m()), S(async () => {
5115
5140
  await document.fonts.ready, await m(), await v(), p.value = !0;
5116
- }), (n, m) => (w(), s("div", Ro, [t.label ? (w(), s("label", zo, k(t.label), 1)) : o("", !0), c("div", {
5141
+ }), (n, m) => (w(), s("div", Lo, [t.label ? (w(), s("label", Ro, k(t.label), 1)) : o("", !0), c("div", {
5117
5142
  ref_key: "containerRef",
5118
5143
  ref: i,
5119
5144
  class: y(["relative isolate flex h-10 gap-1 rounded-xl bg-gray-100 p-1", { "flex-wrap": !t.equalWidth }])
@@ -5123,7 +5148,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5123
5148
  class: y(["absolute inset-y-1 left-0 rounded-lg bg-white", p.value ? "transition-transform duration-500 ease-[cubic-bezier(0.34,1.2,0.64,1)]" : ""]),
5124
5149
  style: x(u.value)
5125
5150
  }, null, 6),
5126
- (w(!0), s(e, null, E(t.options, (n, i) => (w(), s(e, { key: n.value }, [n.tooltip ? (w(), a(ro, {
5151
+ (w(!0), s(e, null, E(t.options, (n, i) => (w(), s(e, { key: n.value }, [n.tooltip ? (w(), a(no, {
5127
5152
  key: 0,
5128
5153
  "disable-closing-trigger": ""
5129
5154
  }, {
@@ -5137,7 +5162,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5137
5162
  }, [n.icon ? (w(), a(Z, {
5138
5163
  key: 0,
5139
5164
  name: n.icon
5140
- }, null, 8, ["name"])) : o("", !0), n.label ? (w(), s("span", Vo, k(n.label), 1)) : o("", !0)], 10, Bo)]),
5165
+ }, null, 8, ["name"])) : o("", !0), n.label ? (w(), s("span", Bo, k(n.label), 1)) : o("", !0)], 10, zo)]),
5141
5166
  _: 2
5142
5167
  }, 1024)) : (w(), s("button", {
5143
5168
  key: 1,
@@ -5149,7 +5174,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5149
5174
  }, [n.icon ? (w(), a(Z, {
5150
5175
  key: 0,
5151
5176
  name: n.icon
5152
- }, null, 8, ["name"])) : o("", !0), n.label ? (w(), s("span", Uo, k(n.label), 1)) : o("", !0)], 10, Ho))], 64))), 128)),
5177
+ }, null, 8, ["name"])) : o("", !0), n.label ? (w(), s("span", Ho, k(n.label), 1)) : o("", !0)], 10, Vo))], 64))), 128)),
5153
5178
  c("div", {
5154
5179
  "aria-hidden": "true",
5155
5180
  class: y(["pointer-events-none absolute inset-0 z-20 flex gap-1 p-1", [p.value ? "transition-[clip-path] duration-500 ease-[cubic-bezier(0.34,1.2,0.64,1)]" : "", { "flex-wrap": !t.equalWidth }]]),
@@ -5160,29 +5185,29 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5160
5185
  }, [e.icon ? (w(), a(Z, {
5161
5186
  key: 0,
5162
5187
  name: e.icon
5163
- }, null, 8, ["name"])) : o("", !0), e.label ? (w(), s("span", Wo, k(e.label), 1)) : o("", !0)], 2))), 128))], 6)
5188
+ }, null, 8, ["name"])) : o("", !0), e.label ? (w(), s("span", Uo, k(e.label), 1)) : o("", !0)], 2))), 128))], 6)
5164
5189
  ], 2)]));
5165
5190
  }
5166
- }), Ko = [
5191
+ }), Go = [
5167
5192
  "src",
5168
5193
  "loop",
5169
5194
  "aria-label"
5170
- ], qo = {
5195
+ ], Ko = {
5171
5196
  key: 0,
5172
5197
  role: "alert",
5173
5198
  class: "absolute inset-0 flex flex-col items-center justify-center gap-3 rounded-lg bg-gray-900 text-white"
5174
- }, Jo = { class: "heading-4" }, Yo = { class: "max-w-xs truncate extra-small-normal text-white/50" }, Xo = {
5199
+ }, qo = { class: "heading-4" }, Jo = { class: "max-w-xs truncate extra-small-normal text-white/50" }, Yo = {
5175
5200
  key: 0,
5176
5201
  class: "pointer-events-none absolute inset-0 flex items-center justify-center"
5177
- }, Zo = {
5202
+ }, Xo = {
5178
5203
  class: "flex h-16 w-16 items-center justify-center rounded-full bg-black/50 text-white",
5179
5204
  "aria-hidden": "true"
5180
- }, Qo = [
5205
+ }, Zo = [
5181
5206
  "aria-label",
5182
5207
  "aria-valuemax",
5183
5208
  "aria-valuenow",
5184
5209
  "aria-valuetext"
5185
- ], $o = { class: "flex items-center gap-2" }, es = ["aria-label"], ts = { class: "extra-small-normal text-white/70 tabular-nums" }, ns = ["aria-label"], rs = ["aria-label"], is = /* @__PURE__ */ p({
5210
+ ], Qo = { class: "flex items-center gap-2" }, $o = ["aria-label"], es = { class: "extra-small-normal text-white/70 tabular-nums" }, ts = ["aria-label"], ns = ["aria-label"], rs = /* @__PURE__ */ p({
5186
5211
  __name: "VideoPlayer",
5187
5212
  props: {
5188
5213
  src: {},
@@ -5263,15 +5288,15 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5263
5288
  "aria-label": a.value.video,
5264
5289
  onError: r[0] ||= (e) => E.value = !0,
5265
5290
  onClick: r[1] ||= (t) => e.showControls === !1 ? void 0 : L()
5266
- }, null, 42, Ko),
5267
- E.value ? (w(), s("div", qo, [
5291
+ }, null, 42, Go),
5292
+ E.value ? (w(), s("div", Ko, [
5268
5293
  f(Z, {
5269
5294
  name: "circle-exclamation",
5270
5295
  class: "text-3xl text-red-400",
5271
5296
  "aria-hidden": "true"
5272
5297
  }),
5273
- c("p", Jo, k(a.value.error), 1),
5274
- c("p", Yo, k(e.src), 1)
5298
+ c("p", qo, k(a.value.error), 1),
5299
+ c("p", Jo, k(e.src), 1)
5275
5300
  ])) : o("", !0),
5276
5301
  f(n, {
5277
5302
  "enter-active-class": "transition-opacity duration-100 ease-out",
@@ -5279,7 +5304,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5279
5304
  "enter-from-class": "opacity-0",
5280
5305
  "leave-to-class": "opacity-0"
5281
5306
  }, {
5282
- default: R(() => [e.showControls !== !1 && D.value && !E.value ? (w(), s("div", Xo, [c("div", Zo, [f(Z, {
5307
+ default: R(() => [e.showControls !== !1 && D.value && !E.value ? (w(), s("div", Yo, [c("div", Xo, [f(Z, {
5283
5308
  name: D.value,
5284
5309
  class: "text-2xl"
5285
5310
  }, null, 8, ["name"])])])) : o("", !0)]),
@@ -5322,7 +5347,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5322
5347
  class: "absolute top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-sapphire-100 opacity-0 shadow transition-opacity group-hover/player:opacity-100",
5323
5348
  style: x({ left: `${ee.value}%` })
5324
5349
  }, null, 4)
5325
- ], 40, Qo), c("div", $o, [
5350
+ ], 40, Zo), c("div", Qo, [
5326
5351
  c("button", {
5327
5352
  type: "button",
5328
5353
  "aria-label": A(u) ? a.value.pause : a.value.play,
@@ -5332,8 +5357,8 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5332
5357
  name: A(u) ? "pause" : "play",
5333
5358
  class: "text-sm",
5334
5359
  "aria-hidden": "true"
5335
- }, null, 8, ["name"])], 8, es),
5336
- c("span", ts, k(F(W.value)) + " / " + k(F(A(m))), 1),
5360
+ }, null, 8, ["name"])], 8, $o),
5361
+ c("span", es, k(F(W.value)) + " / " + k(F(A(m))), 1),
5337
5362
  r[7] ||= c("div", { class: "flex-1" }, null, -1),
5338
5363
  c("button", {
5339
5364
  type: "button",
@@ -5344,7 +5369,7 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5344
5369
  name: A(h) ? "volume-xmark" : "volume-high",
5345
5370
  class: "text-sm",
5346
5371
  "aria-hidden": "true"
5347
- }, null, 8, ["name"])], 8, ns),
5372
+ }, null, 8, ["name"])], 8, ts),
5348
5373
  c("button", {
5349
5374
  type: "button",
5350
5375
  "aria-label": A(_) ? a.value.exitFullscreen : a.value.enterFullscreen,
@@ -5354,10 +5379,10 @@ var ma = { render: pa }, ha = { class: "flex items-center justify-end self-stret
5354
5379
  name: A(_) ? "compress" : "expand",
5355
5380
  class: "text-sm",
5356
5381
  "aria-hidden": "true"
5357
- }, null, 8, ["name"])], 8, rs)
5382
+ }, null, 8, ["name"])], 8, ns)
5358
5383
  ])], 4)) : o("", !0)
5359
5384
  ], 32));
5360
5385
  }
5361
5386
  });
5362
5387
  //#endregion
5363
- export { tt as NexxtAnimatedNumber, rt as NexxtAnnouncement, ct as NexxtAvatar, ut as NexxtButton, Ht as NexxtCalendar, Gt as NexxtCard, qt as NexxtCheckbox, Jt as NexxtChip, ln as NexxtColorPicker, jn as NexxtCombobox, An as NexxtComboboxPanel, Rn as NexxtContactInfoCard, Zn as NexxtCountrySelect, nr as NexxtCustomerJourneyTile, rr as NexxtDatePicker, dr as NexxtDoughnutChart, gr as NexxtDropdownButton, yr as NexxtEnergyLabel, Q as NexxtFloatingPanel, Sr as NexxtHeader, Z as NexxtIcon, wr as NexxtInfoBlock, _n as NexxtInputField, Nr as NexxtInputSelect, Lr as NexxtModal, Rr as NexxtPagination, Hr as NexxtPresenceIndicator, Yr as NexxtProgressBar, oi as NexxtPropertyCard, ti as NexxtPropertyListing, Si as NexxtReferenceCard, ji as NexxtSelect, Li as NexxtSidebarMenuItem, zi as NexxtSkeleton, Ui as NexxtSkeletonPropertyCard, Ki as NexxtSocialIcons, Xi as NexxtSocialMediaCustomTemplate, aa as NexxtSocialMediaTemplate, ya as NexxtSocialMediaType, Ma as NexxtSource, st as NexxtSquircle, Na as NexxtStepperHeader, Ia as NexxtSwitch, Ua as NexxtTabbedContent, no as NexxtTable, za as NexxtTabs, mo as NexxtTemplateCard, bo as NexxtTimelineEvent, ko as NexxtTimelinePhaseblock, Io as NexxtToast, Lo as NexxtToaster, Go as NexxtToggleGroup, ro as NexxtTooltip, is as NexxtVideoPlayer, ka as SOURCE_MAP };
5388
+ export { tt as NexxtAnimatedNumber, rt as NexxtAnnouncement, ct as NexxtAvatar, ut as NexxtButton, Ht as NexxtCalendar, Gt as NexxtCard, qt as NexxtCheckbox, Jt as NexxtChip, ln as NexxtColorPicker, jn as NexxtCombobox, An as NexxtComboboxPanel, Rn as NexxtContactInfoCard, Zn as NexxtCountrySelect, nr as NexxtCustomerJourneyTile, rr as NexxtDatePicker, dr as NexxtDoughnutChart, gr as NexxtDropdownButton, yr as NexxtEnergyLabel, Q as NexxtFloatingPanel, Sr as NexxtHeader, Z as NexxtIcon, wr as NexxtInfoBlock, _n as NexxtInputField, Nr as NexxtInputSelect, Lr as NexxtModal, Rr as NexxtPagination, Hr as NexxtPresenceIndicator, Yr as NexxtProgressBar, oi as NexxtPropertyCard, ti as NexxtPropertyListing, Si as NexxtReferenceCard, ji as NexxtSelect, Li as NexxtSidebarMenuItem, zi as NexxtSkeleton, Ui as NexxtSkeletonPropertyCard, Ki as NexxtSocialIcons, Xi as NexxtSocialMediaCustomTemplate, aa as NexxtSocialMediaTemplate, ya as NexxtSocialMediaType, Ma as NexxtSource, st as NexxtSquircle, Na as NexxtStepperHeader, Fa as NexxtSwitch, Ha as NexxtTabbedContent, to as NexxtTable, Ra as NexxtTabs, po as NexxtTemplateCard, yo as NexxtTimelineEvent, Oo as NexxtTimelinePhaseblock, Fo as NexxtToast, Io as NexxtToaster, Wo as NexxtToggleGroup, no as NexxtTooltip, rs as NexxtVideoPlayer, ka as SOURCE_MAP };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexxtmove/ui",
3
3
  "type": "module",
4
- "version": "1.1.7",
4
+ "version": "1.1.8",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -34,12 +34,12 @@
34
34
  "@eslint/js": "^10.0.1",
35
35
  "@nuxt/kit": "^4.4.8",
36
36
  "@nuxt/schema": "^4.4.4",
37
- "@storybook/addon-a11y": "^10.5.2",
37
+ "@storybook/addon-a11y": "^10.5.4",
38
38
  "@storybook/addon-designs": "^11.1.4",
39
- "@storybook/addon-docs": "^10.5.2",
40
- "@storybook/addon-vitest": "^10.5.2",
41
- "@storybook/builder-vite": "^10.5.2",
42
- "@storybook/vue3-vite": "^10.5.2",
39
+ "@storybook/addon-docs": "^10.5.4",
40
+ "@storybook/addon-vitest": "^10.5.4",
41
+ "@storybook/builder-vite": "^10.5.4",
42
+ "@storybook/vue3-vite": "^10.5.4",
43
43
  "@tailwindcss/vite": "^4.3.1",
44
44
  "@types/node": "^26.0.1",
45
45
  "@types/react": "^19.2.17",
@@ -53,7 +53,7 @@
53
53
  "eslint": "^10.6.0",
54
54
  "eslint-config-prettier": "^10.1.8",
55
55
  "eslint-plugin-prettier": "^5.5.6",
56
- "eslint-plugin-storybook": "10.5.2",
56
+ "eslint-plugin-storybook": "10.5.4",
57
57
  "eslint-plugin-vue": "^10.9.2",
58
58
  "flag-icons": "^7.5.0",
59
59
  "globals": "^17.7.0",
@@ -63,7 +63,7 @@
63
63
  "react": "^19.2.7",
64
64
  "react-dom": "^19.2.7",
65
65
  "remark-frontmatter": "^5.0.0",
66
- "storybook": "^10.5.2",
66
+ "storybook": "^10.5.4",
67
67
  "typescript-eslint": "^8.62.0",
68
68
  "vite": "^8.1.0",
69
69
  "vite-plugin-dts": "^5.0.3",
@@ -3,10 +3,12 @@ import type { IconName } from '@awesome.me/kit-37b149f3ef/icons'
3
3
  import Icon from '../Icon/Icon.vue'
4
4
 
5
5
  type SwitchColor = 'blue' | 'green'
6
+ type SwitchSize = 'sm' | 'md' | 'lg'
6
7
 
7
8
  interface NexxtSwitchProps {
8
9
  labelPosition?: 'before' | 'after'
9
10
  color?: SwitchColor
11
+ size?: SwitchSize
10
12
  iconOn?: IconName
11
13
  iconOff?: IconName
12
14
  }
@@ -16,7 +18,13 @@ defineOptions({
16
18
  inheritAttrs: false,
17
19
  })
18
20
 
19
- const { labelPosition = 'after', color = 'blue', iconOn, iconOff } = defineProps<NexxtSwitchProps>()
21
+ const {
22
+ labelPosition = 'after',
23
+ color = 'blue',
24
+ size = 'lg',
25
+ iconOn,
26
+ iconOff,
27
+ } = defineProps<NexxtSwitchProps>()
20
28
 
21
29
  const model = defineModel<boolean>()
22
30
 
@@ -24,12 +32,36 @@ const checkedColorClasses: Record<SwitchColor, string> = {
24
32
  blue: 'border-cornflower-blue-500 bg-cornflower-blue-500',
25
33
  green: 'border-green-400 bg-green-400',
26
34
  }
35
+
36
+ const trackClasses: Record<SwitchSize, string> = {
37
+ sm: 'h-5 w-9',
38
+ md: 'h-6 w-11',
39
+ lg: 'h-8 w-15',
40
+ }
41
+
42
+ const knobClasses: Record<SwitchSize, string> = {
43
+ sm: 'top-0.5 left-0.5 h-3.5 w-3.5',
44
+ md: 'top-0.5 left-0.5 h-4.5 w-4.5',
45
+ lg: 'top-0.75 left-0.75 h-6 w-6',
46
+ }
47
+
48
+ const knobTranslateClasses: Record<SwitchSize, string> = {
49
+ sm: 'translate-x-4',
50
+ md: 'translate-x-5',
51
+ lg: 'translate-x-7',
52
+ }
53
+
54
+ const iconSizeClasses: Record<SwitchSize, string> = {
55
+ sm: 'text-[8px]',
56
+ md: 'text-[10px]',
57
+ lg: 'text-xs',
58
+ }
27
59
  </script>
28
60
 
29
61
  <template>
30
62
  <label class="inline-flex cursor-pointer items-center gap-2">
31
63
  <slot v-if="labelPosition === 'before'" />
32
- <span class="relative inline-block h-8 w-15">
64
+ <span :class="['relative inline-block', trackClasses[size]]">
33
65
  <input v-bind="$attrs" type="checkbox" class="peer sr-only" v-model="model" />
34
66
  <span
35
67
  :class="[
@@ -39,18 +71,29 @@ const checkedColorClasses: Record<SwitchColor, string> = {
39
71
  >
40
72
  <span
41
73
  :class="[
42
- 'absolute top-0.75 left-0.75 h-6 w-6 rounded-full bg-white transition-transform duration-400',
43
- model && 'translate-x-7',
74
+ 'absolute rounded-full bg-white transition-transform duration-400',
75
+ knobClasses[size],
76
+ model && knobTranslateClasses[size],
44
77
  ]"
45
78
  />
46
79
  <span
47
80
  :class="[
48
- 'absolute top-0.75 left-0.75 flex h-6 w-6 items-center justify-center rounded-full bg-white transition-transform duration-300',
49
- model && 'translate-x-7',
81
+ 'absolute flex items-center justify-center rounded-full bg-white transition-transform duration-300',
82
+ knobClasses[size],
83
+ model && knobTranslateClasses[size],
50
84
  ]"
51
85
  >
52
- <Icon v-if="model && iconOn" :name="iconOn" type="solid" class="text-xs text-gray-600" />
53
- <Icon v-else-if="!model && iconOff" :name="iconOff" class="text-xs text-gray-600" />
86
+ <Icon
87
+ v-if="model && iconOn"
88
+ :name="iconOn"
89
+ type="solid"
90
+ :class="['text-gray-600', iconSizeClasses[size]]"
91
+ />
92
+ <Icon
93
+ v-else-if="!model && iconOff"
94
+ :name="iconOff"
95
+ :class="['text-gray-600', iconSizeClasses[size]]"
96
+ />
54
97
  </span>
55
98
  </span>
56
99
  </span>