vlite3 1.2.5 → 1.2.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.
Files changed (53) hide show
  1. package/README.md +5 -1
  2. package/components/Barcode/Barcode.vue.d.ts +1 -1
  3. package/components/Button.vue.js +18 -18
  4. package/components/Chart/GanttChart.vue.d.ts +67 -0
  5. package/components/Chart/GanttChart.vue.js +7 -0
  6. package/components/Chart/GanttChart.vue2.js +911 -0
  7. package/components/Chart/SpeedometerChart.vue.d.ts +54 -0
  8. package/components/Chart/SpeedometerChart.vue.js +558 -0
  9. package/components/Chart/SpeedometerChart.vue2.js +4 -0
  10. package/components/Chart/index.d.ts +3 -1
  11. package/components/Chart/types.d.ts +106 -0
  12. package/components/Chip/Chip.vue.js +10 -9
  13. package/components/Chip/types.d.ts +1 -1
  14. package/components/ChoiceBox/ChoiceBox.vue.d.ts +46 -1
  15. package/components/ChoiceBox/ChoiceBox.vue.js +274 -91
  16. package/components/ChoiceBox/index.d.ts +1 -1
  17. package/components/ColorPicker/ColorPicker.vue.js +1 -1
  18. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  19. package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
  20. package/components/DataTable/DataTableHeader.vue.js +33 -30
  21. package/components/Dropdown/Dropdown.vue.d.ts +2 -0
  22. package/components/Dropdown/Dropdown.vue.js +35 -30
  23. package/components/Form/Form.vue.d.ts +10 -1
  24. package/components/Form/Form.vue.js +1 -1
  25. package/components/Form/Form.vue2.js +146 -132
  26. package/components/ImageComparison/ImageComparison.vue.d.ts +29 -0
  27. package/components/ImageComparison/ImageComparison.vue.js +126 -0
  28. package/components/ImageComparison/ImageComparison.vue2.js +4 -0
  29. package/components/ImageComparison/index.d.ts +1 -0
  30. package/components/ImportData/ImportData.vue.js +1 -1
  31. package/components/NavbarCommandPalette.vue.js +1 -1
  32. package/components/OTPInput/OTPInput.vue.d.ts +18 -0
  33. package/components/OTPInput/OTPInput.vue.js +127 -82
  34. package/components/PricingPlan/PricingPlanItem.vue.js +19 -19
  35. package/components/Radio.vue.d.ts +41 -0
  36. package/components/Radio.vue.js +97 -0
  37. package/components/Radio.vue2.js +4 -0
  38. package/components/RadioGroup.vue.d.ts +38 -0
  39. package/components/RadioGroup.vue.js +37 -0
  40. package/components/RadioGroup.vue2.js +4 -0
  41. package/components/Screen/ScreenFilter.vue.js +25 -25
  42. package/components/SidePanel.vue.js +3 -3
  43. package/components/SidePanel.vue2.js +1 -1
  44. package/components/Slider.vue.d.ts +7 -0
  45. package/components/Slider.vue.js +194 -120
  46. package/components/StatusChip/status-map.js +13 -0
  47. package/components/Timeline/Timeline.vue.d.ts +1 -1
  48. package/components/index.d.ts +1 -1
  49. package/index.d.ts +3 -0
  50. package/index.js +138 -128
  51. package/package.json +1 -1
  52. package/style.css +66 -26
  53. package/types/form.type.d.ts +23 -0
@@ -0,0 +1,126 @@
1
+ import { defineComponent as k, ref as w, onMounted as C, onUnmounted as E, computed as M, openBlock as a, createElementBlock as i, normalizeStyle as b, normalizeClass as s, createElementVNode as n, toDisplayString as v, createCommentVNode as r, setBlockTracking as p, createVNode as B } from "vue";
2
+ import X from "../Icon.vue.js";
3
+ const z = ["src"], I = ["src"], j = {
4
+ key: 0,
5
+ class: "absolute top-4 flex w-full justify-center pointer-events-none"
6
+ }, D = { class: "bg-[#4846468d] backdrop-blur-sm px-3 py-1 rounded-full -text-fs-3 font-medium text-[white] whitespace-nowrap" }, P = { class: "bg-[#4846468d] backdrop-blur-sm px-3 py-1 rounded-full -text-fs-3 font-medium text-[white] whitespace-nowrap" }, R = /* @__PURE__ */ k({
7
+ __name: "ImageComparison",
8
+ props: {
9
+ beforeImage: {},
10
+ afterImage: {},
11
+ beforeLabel: { default: "Before" },
12
+ afterLabel: { default: "After" },
13
+ initialPosition: { default: 50 },
14
+ hover: { type: Boolean, default: !1 },
15
+ width: { default: "100%" },
16
+ height: { default: "auto" },
17
+ containerClass: { default: "" },
18
+ handleClass: { default: "" },
19
+ showHandle: { type: Boolean, default: !0 },
20
+ variant: { default: "one" }
21
+ },
22
+ setup(o) {
23
+ const u = o, l = w(u.initialPosition), c = w(!1), h = w(null), m = (e) => {
24
+ if (!h.value) return;
25
+ const t = h.value.getBoundingClientRect(), L = (e - t.left) / t.width * 100;
26
+ l.value = Math.max(0, Math.min(100, L));
27
+ }, y = (e) => {
28
+ u.hover && !c.value && m(e.clientX);
29
+ }, g = (e) => {
30
+ c.value = !0;
31
+ const t = "touches" in e ? e.touches[0].clientX : e.clientX;
32
+ m(t);
33
+ }, d = (e) => {
34
+ if (!c.value) return;
35
+ "touches" in e && e.cancelable && e.preventDefault();
36
+ const t = "touches" in e ? e.touches[0].clientX : e.clientX;
37
+ m(t);
38
+ }, f = () => {
39
+ c.value = !1;
40
+ };
41
+ C(() => {
42
+ window.addEventListener("mousemove", d), window.addEventListener("touchmove", d, { passive: !1 }), window.addEventListener("mouseup", f), window.addEventListener("touchend", f);
43
+ }), E(() => {
44
+ window.removeEventListener("mousemove", d), window.removeEventListener("touchmove", d), window.removeEventListener("mouseup", f), window.removeEventListener("touchend", f);
45
+ });
46
+ const x = M(() => {
47
+ const e = (t) => typeof t == "number" ? `${t}px` : t;
48
+ return {
49
+ width: e(u.width),
50
+ height: e(u.height)
51
+ };
52
+ });
53
+ return (e, t) => (a(), i("div", {
54
+ ref_key: "containerRef",
55
+ ref: h,
56
+ class: s(["relative overflow-hidden select-none cursor-ew-resize rounded-2xl group", o.containerClass]),
57
+ style: b(x.value),
58
+ onMousemove: y,
59
+ onMousedown: g,
60
+ onTouchstartPassive: g
61
+ }, [
62
+ n("img", {
63
+ src: o.afterImage,
64
+ class: s(["block w-full object-cover select-none", u.height === "auto" ? "h-auto" : "h-full"]),
65
+ alt: "After",
66
+ draggable: "false"
67
+ }, null, 10, z),
68
+ o.afterLabel && o.variant === "one" ? (a(), i("div", {
69
+ key: 0,
70
+ class: s(["absolute top-4 right-4 bg-[#4846468d] px-3 py-1 -text-fs-4 rounded-full -text-fs-3 font-medium text-[white] transition-opacity duration-300 pointer-events-none", l.value > 80 ? "opacity-0" : "opacity-100"])
71
+ }, v(o.afterLabel), 3)) : r("", !0),
72
+ n("div", {
73
+ class: "absolute inset-0 w-full h-full",
74
+ style: b({ clipPath: `inset(0 ${100 - l.value}% 0 0)`, willChange: "clip-path" })
75
+ }, [
76
+ n("img", {
77
+ src: o.beforeImage,
78
+ class: "absolute inset-0 w-full h-full object-cover select-none",
79
+ alt: "Before",
80
+ draggable: "false"
81
+ }, null, 8, I)
82
+ ], 4),
83
+ o.beforeLabel && o.variant === "one" ? (a(), i("div", {
84
+ key: 1,
85
+ class: s(["absolute top-4 left-4 bg-[#4846468d] px-3 py-1 -text-fs-4 rounded-full -text-fs-3 font-medium text-[white] transition-opacity duration-300 pointer-events-none z-10", l.value < 20 ? "opacity-0" : "opacity-100"])
86
+ }, v(o.beforeLabel), 3)) : r("", !0),
87
+ n("div", {
88
+ class: "absolute top-0 bottom-0 flex flex-col items-center justify-center cursor-ew-resize z-20 pointer-events-none",
89
+ style: b({
90
+ left: `${l.value}%`,
91
+ transform: "translateX(-50%)",
92
+ willChange: "transform"
93
+ })
94
+ }, [
95
+ o.variant === "two" ? (a(), i("div", j, [
96
+ o.beforeLabel ? (a(), i("div", {
97
+ key: 0,
98
+ class: s(["absolute right-full pr-3 transition-opacity duration-300", l.value < 23 ? "opacity-0" : "opacity-100"])
99
+ }, [
100
+ n("div", D, v(o.beforeLabel), 1)
101
+ ], 2)) : r("", !0),
102
+ o.afterLabel ? (a(), i("div", {
103
+ key: 1,
104
+ class: s(["absolute left-full pl-3 transition-opacity duration-300", l.value > 78 ? "opacity-0" : "opacity-100"])
105
+ }, [
106
+ n("div", P, v(o.afterLabel), 1)
107
+ ], 2)) : r("", !0)
108
+ ])) : r("", !0),
109
+ t[1] || (t[1] = n("div", { class: "w-px h-full bg-[white]" }, null, -1)),
110
+ o.showHandle ? (a(), i("div", {
111
+ key: 1,
112
+ class: s(["w-7 h-7 border-[1.5px] border-[white] rounded-full flex-shrink-0 flex items-center justify-center transform transition-all duration-200", [c.value ? "scale-110 " : "group-hover:scale-105", o.handleClass]])
113
+ }, [
114
+ t[0] || (p(-1, !0), (t[0] = B(X, {
115
+ icon: "lucide:chevrons-left-right",
116
+ class: "w-4 h-4 text-[white]"
117
+ })).cacheIndex = 0, p(1), t[0])
118
+ ], 2)) : r("", !0),
119
+ t[2] || (t[2] = n("div", { class: "w-px h-full bg-[white]" }, null, -1))
120
+ ], 4)
121
+ ], 38));
122
+ }
123
+ });
124
+ export {
125
+ R as default
126
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./ImageComparison.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1 @@
1
+ export { default as ImageComparison } from './ImageComparison.vue';
@@ -159,7 +159,7 @@ const xe = { class: "px-2" }, ye = { class: "min-h-[300px]" }, De = {
159
159
  ue(pe(fe), {
160
160
  steps: Y.value,
161
161
  "active-step": a.value - 1,
162
- class: "mb-13"
162
+ class: "mb-8"
163
163
  }, null, 8, ["steps", "active-step"]),
164
164
  B("div", ye, [
165
165
  a.value === 1 ? (n(), d(he, {
@@ -3,7 +3,7 @@ import L from "./Icon.vue.js";
3
3
  import v from "./Modal.vue.js";
4
4
  import N from "./CommandPalette/CommandPaletteContent.vue.js";
5
5
  import { $t as U } from "../utils/i18n.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  const V = { class: "block truncate -text-fs-1.5" }, S = { class: "ml-auto inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-mono font-medium border border-border/80 bg-background text-muted-foreground ml-1" }, A = /* @__PURE__ */ x({
8
8
  __name: "NavbarCommandPalette",
9
9
  props: {
@@ -11,15 +11,26 @@ interface Props {
11
11
  size?: 'sm' | 'md' | 'lg';
12
12
  mask?: boolean;
13
13
  fluid?: boolean;
14
+ allowResend?: boolean;
15
+ resendDuration?: number;
16
+ maxResends?: number;
17
+ resendText?: string;
18
+ resendActionText?: string;
19
+ resendWaitText?: string;
20
+ resendLimitText?: string;
14
21
  }
15
22
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
16
23
  change: (value: string) => any;
17
24
  "update:modelValue": (value: string) => any;
18
25
  complete: (value: string) => any;
26
+ resend: (count: number) => any;
27
+ "resend-limit-reached": () => any;
19
28
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
20
29
  onChange?: (value: string) => any;
21
30
  "onUpdate:modelValue"?: (value: string) => any;
22
31
  onComplete?: (value: string) => any;
32
+ onResend?: (count: number) => any;
33
+ "onResend-limit-reached"?: () => any;
23
34
  }>, {
24
35
  length: number;
25
36
  type: "text" | "number";
@@ -33,5 +44,12 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
33
44
  autofocus: boolean;
34
45
  attached: boolean;
35
46
  fluid: boolean;
47
+ allowResend: boolean;
48
+ resendDuration: number;
49
+ maxResends: number;
50
+ resendText: string;
51
+ resendActionText: string;
52
+ resendWaitText: string;
53
+ resendLimitText: string;
36
54
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
37
55
  export default _default;
@@ -1,5 +1,11 @@
1
- import { defineComponent as C, ref as v, watch as M, onMounted as V, nextTick as A, computed as m, openBlock as g, createElementBlock as h, normalizeClass as y, Fragment as E, renderList as F } from "vue";
2
- const K = ["value", "type", "inputmode", "disabled", "placeholder", "onInput", "onKeydown"], T = /* @__PURE__ */ C({
1
+ import { defineComponent as K, ref as w, watch as N, onMounted as J, nextTick as W, onUnmounted as $, computed as x, openBlock as d, createElementBlock as c, normalizeClass as D, createElementVNode as k, Fragment as I, renderList as O, createTextVNode as B, toDisplayString as m, createCommentVNode as S } from "vue";
2
+ const U = ["value", "type", "inputmode", "disabled", "placeholder", "onInput", "onKeydown"], q = {
3
+ key: 0,
4
+ class: "text-sm text-center text-muted-foreground mt-1"
5
+ }, G = { key: 0 }, H = { class: "font-medium text-primary" }, Q = { key: 1 }, X = {
6
+ key: 1,
7
+ class: "text-destructive font-medium"
8
+ }, Z = /* @__PURE__ */ K({
3
9
  __name: "OTPInput",
4
10
  props: {
5
11
  length: { default: 6 },
@@ -13,78 +19,98 @@ const K = ["value", "type", "inputmode", "disabled", "placeholder", "onInput", "
13
19
  attached: { type: Boolean, default: !1 },
14
20
  size: { default: "md" },
15
21
  mask: { type: Boolean, default: !1 },
16
- fluid: { type: Boolean, default: !1 }
22
+ fluid: { type: Boolean, default: !1 },
23
+ allowResend: { type: Boolean, default: !1 },
24
+ resendDuration: { default: 45 },
25
+ maxResends: { default: 5 },
26
+ resendText: { default: "Don't see it?" },
27
+ resendActionText: { default: "Resend code" },
28
+ resendWaitText: { default: "Resend code in" },
29
+ resendLimitText: { default: "Too many attempts. Please try again." }
17
30
  },
18
- emits: ["update:modelValue", "complete", "change"],
19
- setup(d, { emit: b }) {
20
- const t = d, p = b, s = v([]), r = v(new Array(t.length).fill(""));
21
- M(
22
- () => t.modelValue,
23
- (l) => {
24
- const e = l || "", a = e.split("").slice(0, t.length);
25
- if (r.value.join("") !== e) {
26
- const o = new Array(t.length).fill("");
27
- a.forEach((u, i) => o[i] = u), r.value = o;
31
+ emits: ["update:modelValue", "complete", "change", "resend", "resend-limit-reached"],
32
+ setup(s, { emit: R }) {
33
+ const e = s, p = R, i = w([]), r = w(new Array(e.length).fill("")), v = w(e.resendDuration), g = w(0);
34
+ let f = null;
35
+ const T = () => {
36
+ f && clearInterval(f), v.value = e.resendDuration, f = setInterval(() => {
37
+ v.value > 0 ? v.value-- : f && clearInterval(f);
38
+ }, 1e3);
39
+ }, C = () => {
40
+ g.value >= e.maxResends || (g.value++, p("resend", g.value), g.value >= e.maxResends ? p("resend-limit-reached") : T());
41
+ };
42
+ N(
43
+ () => e.modelValue,
44
+ (n) => {
45
+ const t = n || "", o = t.split("").slice(0, e.length);
46
+ if (r.value.join("") !== t) {
47
+ const l = new Array(e.length).fill("");
48
+ o.forEach((u, y) => l[y] = u), r.value = l;
28
49
  }
29
50
  },
30
51
  { immediate: !0 }
31
52
  );
32
- const c = () => {
33
- const l = r.value.join("");
34
- p("update:modelValue", l), p("change", l), l.length === t.length && p("complete", l);
35
- }, w = (l, e) => {
36
- let n = l.target.value;
37
- if (t.type === "number" && (n = n.replace(/\D/g, "")), n.length === 1) {
38
- r.value[e] = n, c(), e < t.length - 1 && s.value[e + 1]?.focus();
53
+ const h = () => {
54
+ const n = r.value.join("");
55
+ p("update:modelValue", n), p("change", n), n.length === e.length && p("complete", n);
56
+ }, V = (n, t) => {
57
+ let a = n.target.value;
58
+ if (e.type === "number" && (a = a.replace(/\D/g, "")), a.length === 1) {
59
+ r.value[t] = a, h(), t < e.length - 1 && i.value[t + 1]?.focus();
39
60
  return;
40
61
  }
41
- if (!n) {
42
- r.value[e] = "", c();
62
+ if (!a) {
63
+ r.value[t] = "", h();
43
64
  return;
44
65
  }
45
- if (n.length > 1) {
46
- const o = n.split("").slice(0, t.length - e);
47
- o.forEach((i, f) => {
48
- e + f < t.length && (r.value[e + f] = i);
49
- }), c();
50
- const u = Math.min(e + o.length, t.length - 1);
51
- s.value[u]?.focus();
66
+ if (a.length > 1) {
67
+ const l = a.split("").slice(0, e.length - t);
68
+ l.forEach((y, b) => {
69
+ t + b < e.length && (r.value[t + b] = y);
70
+ }), h();
71
+ const u = Math.min(t + l.length, e.length - 1);
72
+ i.value[u]?.focus();
52
73
  }
53
- }, D = (l, e) => {
54
- const a = l.key;
55
- if (a === "Backspace") {
56
- r.value[e] || (l.preventDefault(), e > 0 && (r.value[e - 1] = "", s.value[e - 1]?.focus(), c()));
74
+ }, j = (n, t) => {
75
+ const o = n.key;
76
+ if (o === "Backspace") {
77
+ r.value[t] || (n.preventDefault(), t > 0 && (r.value[t - 1] = "", i.value[t - 1]?.focus(), h()));
57
78
  return;
58
79
  }
59
- a === "ArrowLeft" && (l.preventDefault(), e > 0 && s.value[e - 1]?.focus()), a === "ArrowRight" && (l.preventDefault(), e < t.length - 1 && s.value[e + 1]?.focus());
60
- }, k = (l) => {
61
- l.preventDefault();
62
- const e = l.clipboardData?.getData("text/plain");
63
- if (!e) return;
64
- let a = e.trim();
65
- t.type === "number" && (a = a.replace(/\D/g, ""));
66
- const n = a.split("").slice(0, t.length), o = [...r.value];
67
- n.forEach((i, f) => {
68
- o[f] = i;
69
- }), r.value = o, c();
70
- const u = Math.min(n.length, t.length - 1);
71
- s.value[u]?.focus();
72
- }, B = (l, e) => {
73
- l && (s.value[e] = l);
80
+ o === "ArrowLeft" && (n.preventDefault(), t > 0 && i.value[t - 1]?.focus()), o === "ArrowRight" && (n.preventDefault(), t < e.length - 1 && i.value[t + 1]?.focus());
81
+ }, A = (n) => {
82
+ n.preventDefault();
83
+ const t = n.clipboardData?.getData("text/plain");
84
+ if (!t) return;
85
+ let o = t.trim();
86
+ e.type === "number" && (o = o.replace(/\D/g, ""));
87
+ const a = o.split("").slice(0, e.length), l = [...r.value];
88
+ a.forEach((y, b) => {
89
+ l[b] = y;
90
+ }), r.value = l, h();
91
+ const u = Math.min(a.length, e.length - 1);
92
+ i.value[u]?.focus();
93
+ }, z = (n, t) => {
94
+ n && (i.value[t] = n);
74
95
  };
75
- V(() => {
76
- t.autofocus && A(() => {
77
- s.value[0]?.focus();
78
- });
96
+ J(() => {
97
+ e.autofocus && W(() => {
98
+ i.value[0]?.focus();
99
+ }), e.allowResend && T();
100
+ }), $(() => {
101
+ f && clearInterval(f);
79
102
  });
80
- const I = m(() => t.mask ? "password" : t.type === "number" ? "tel" : "text"), j = m(() => {
81
- if (!t.mask)
82
- return t.type === "number" ? "numeric" : void 0;
83
- }), x = m(() => {
84
- const l = t.attached ? "-space-x-px" : "gap-2", e = t.fluid ? "w-full" : "";
85
- return ["flex items-center", l, e].filter(Boolean).join(" ");
86
- }), z = (l) => {
87
- const e = "text-center font-medium transition-all focus:outline-none focus:z-10 disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted-foreground", a = t.fluid ? {
103
+ const E = x(() => e.mask ? "password" : e.type === "number" ? "tel" : "text"), M = x(() => {
104
+ if (!e.mask)
105
+ return e.type === "number" ? "numeric" : void 0;
106
+ }), L = x(() => [
107
+ "flex flex-col gap-2",
108
+ e.fluid ? "w-full" : "w-fit"
109
+ ].filter(Boolean).join(" ")), P = x(() => {
110
+ const n = e.attached ? "-space-x-px" : "gap-2", t = e.fluid ? "w-full" : "";
111
+ return ["flex items-center", n, t].filter(Boolean).join(" ");
112
+ }), F = (n) => {
113
+ const t = "text-center font-medium transition-all focus:outline-none focus:z-10 disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted-foreground", o = e.fluid ? {
88
114
  sm: "flex-1 min-w-0 h-8 text-sm",
89
115
  md: "flex-1 min-w-0 h-10 text-lg",
90
116
  lg: "flex-1 min-w-0 h-12 text-xl"
@@ -92,36 +118,55 @@ const K = ["value", "type", "inputmode", "disabled", "placeholder", "onInput", "
92
118
  sm: "w-8 h-8 text-sm",
93
119
  md: "w-10 h-10 text-lg",
94
120
  lg: "w-12 h-12 text-xl"
95
- }, n = {
121
+ }, a = {
96
122
  solid: "bg-muted border border-transparent focus:border-primary focus:ring-2 focus:ring-primary",
97
123
  outline: "border border-input focus:border-primary focus:ring-2 focus:ring-primary",
98
124
  ghost: "bg-transparent border border-transparent hover:bg-accent focus:border-primary focus:ring-2 focus:ring-primary"
99
- }, o = t.error ? "border-destructive focus:ring-destructive text-destructive" : "";
125
+ }, l = e.error ? "border-destructive focus:ring-destructive text-destructive" : "";
100
126
  let u = "rounded-md";
101
- return t.attached && (l === 0 ? u = "rounded-l-md rounded-r-none" : l === t.length - 1 ? u = "rounded-r-md rounded-l-none" : u = "rounded-none"), [e, a[t.size], n[t.variant], o, u].join(" ");
127
+ return e.attached && (n === 0 ? u = "rounded-l-md rounded-r-none" : n === e.length - 1 ? u = "rounded-r-md rounded-l-none" : u = "rounded-none"), [t, o[e.size], a[e.variant], l, u].join(" ");
102
128
  };
103
- return (l, e) => (g(), h("div", {
104
- class: y(x.value)
129
+ return (n, t) => (d(), c("div", {
130
+ class: D(L.value)
105
131
  }, [
106
- (g(!0), h(E, null, F(t.length, (a, n) => (g(), h("input", {
107
- key: n,
108
- ref_for: !0,
109
- ref: (o) => B(o, n),
110
- value: r.value[n],
111
- type: I.value,
112
- inputmode: j.value,
113
- maxlength: 1,
114
- disabled: d.disabled,
115
- placeholder: d.placeholder,
116
- class: y(z(n)),
117
- onInput: (o) => w(o, n),
118
- onKeydown: (o) => D(o, n),
119
- onPaste: k,
120
- onFocus: e[0] || (e[0] = (o) => l.$emit("update:modelValue", r.value.join("")))
121
- }, null, 42, K))), 128))
132
+ k("div", {
133
+ class: D(P.value)
134
+ }, [
135
+ (d(!0), c(I, null, O(e.length, (o, a) => (d(), c("input", {
136
+ key: a,
137
+ ref_for: !0,
138
+ ref: (l) => z(l, a),
139
+ value: r.value[a],
140
+ type: E.value,
141
+ inputmode: M.value,
142
+ maxlength: 1,
143
+ disabled: s.disabled,
144
+ placeholder: s.placeholder,
145
+ class: D(F(a)),
146
+ onInput: (l) => V(l, a),
147
+ onKeydown: (l) => j(l, a),
148
+ onPaste: A,
149
+ onFocus: t[0] || (t[0] = (l) => n.$emit("update:modelValue", r.value.join("")))
150
+ }, null, 42, U))), 128))
151
+ ], 2),
152
+ s.allowResend ? (d(), c("div", q, [
153
+ g.value < s.maxResends ? (d(), c(I, { key: 0 }, [
154
+ v.value > 0 ? (d(), c("span", G, [
155
+ B(m(s.resendText) + " " + m(s.resendWaitText) + " ", 1),
156
+ k("span", H, m(v.value) + "s", 1)
157
+ ])) : (d(), c("span", Q, [
158
+ B(m(s.resendText) + " ", 1),
159
+ k("button", {
160
+ type: "button",
161
+ onClick: C,
162
+ class: "font-medium text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-primary rounded px-1 transition-colors"
163
+ }, m(s.resendActionText), 1)
164
+ ]))
165
+ ], 64)) : (d(), c("span", X, m(s.resendLimitText), 1))
166
+ ])) : S("", !0)
122
167
  ], 2));
123
168
  }
124
169
  });
125
170
  export {
126
- T as default
171
+ Z as default
127
172
  };
@@ -1,11 +1,11 @@
1
- import { defineComponent as F, computed as o, openBlock as i, createElementBlock as a, normalizeClass as m, createVNode as v, withCtx as h, createTextVNode as b, toDisplayString as l, createCommentVNode as u, createElementVNode as s, Fragment as D, renderList as E, createBlock as y } from "vue";
1
+ import { defineComponent as F, computed as o, openBlock as i, createElementBlock as a, normalizeClass as u, createVNode as v, withCtx as h, createTextVNode as b, toDisplayString as l, createCommentVNode as m, createElementVNode as s, Fragment as j, renderList as D, createBlock as y } from "vue";
2
2
  import _ from "../Icon.vue.js";
3
- import S from "../Button.vue.js";
4
- import j from "../Badge.vue.js";
3
+ import E from "../Button.vue.js";
4
+ import S from "../Badge.vue.js";
5
5
  import { $t as n } from "../../utils/i18n.js";
6
6
  const L = {
7
7
  key: 0,
8
- class: "absolute -top-3 left-1/2 -translate-x-1/2 z-20"
8
+ class: "absolute -top-3 left-1/2 -translate-x-1/2 z-20 flex w-full max-w-[90%] justify-center"
9
9
  }, M = { class: "mb-3 text-center" }, R = { class: "text-xl font-bold text-foreground tracking-tight" }, q = {
10
10
  key: 0,
11
11
  class: "text-sm text-muted-foreground mt-2 min-h-[40px] leading-relaxed"
@@ -22,9 +22,9 @@ const L = {
22
22
  },
23
23
  emits: ["select"],
24
24
  setup(c, { emit: P }) {
25
- const e = c, k = P, I = () => {
25
+ const e = c, k = P, w = () => {
26
26
  e.selectable && k("select", e.item);
27
- }, T = o(() => e.item.titleI18n ? n(e.item.titleI18n) : e.item.title), p = o(() => e.item.descriptionI18n ? n(e.item.descriptionI18n) : e.item.description), f = o(() => e.item.periodI18n ? n(e.item.periodI18n) : e.item.period), w = o(() => {
27
+ }, I = o(() => e.item.titleI18n ? n(e.item.titleI18n) : e.item.title), p = o(() => e.item.descriptionI18n ? n(e.item.descriptionI18n) : e.item.description), f = o(() => e.item.periodI18n ? n(e.item.periodI18n) : e.item.period), T = o(() => {
28
28
  if (e.item.buttonTextI18n) return n(e.item.buttonTextI18n);
29
29
  if (e.item.buttonText) return e.item.buttonText;
30
30
  const t = n("vlite.pricingPlan.selected") !== "vlite.pricingPlan.selected" ? n("vlite.pricingPlan.selected") : "Selected", r = n("vlite.pricingPlan.choosePlan") !== "vlite.pricingPlan.choosePlan" ? n("vlite.pricingPlan.choosePlan") : "Choose Plan";
@@ -42,30 +42,30 @@ const L = {
42
42
  return t !== "vlite.pricingPlan.mostPopular" ? t : "Most Popular";
43
43
  });
44
44
  return (t, r) => (i(), a("div", {
45
- class: m(C.value),
46
- onClick: I
45
+ class: u(C.value),
46
+ onClick: w
47
47
  }, [
48
48
  x.value ? (i(), a("div", L, [
49
- v(j, {
49
+ v(S, {
50
50
  variant: B.value,
51
- class: "shadow-sm px-4 py-1 text-xs uppercase tracking-wider font-bold"
51
+ class: "shadow-sm px-4 py-1 text-xs uppercase tracking-wider font-bold truncate max-w-full"
52
52
  }, {
53
53
  default: h(() => [
54
54
  b(l(z.value), 1)
55
55
  ]),
56
56
  _: 1
57
57
  }, 8, ["variant"])
58
- ])) : u("", !0),
58
+ ])) : m("", !0),
59
59
  s("div", M, [
60
- s("h3", R, l(T.value), 1),
61
- p.value ? (i(), a("p", q, l(p.value), 1)) : u("", !0)
60
+ s("h3", R, l(I.value), 1),
61
+ p.value ? (i(), a("p", q, l(p.value), 1)) : m("", !0)
62
62
  ]),
63
63
  s("div", A, [
64
64
  s("span", G, l(c.item.price), 1),
65
- f.value ? (i(), a("span", H, l(f.value), 1)) : u("", !0)
65
+ f.value ? (i(), a("span", H, l(f.value), 1)) : m("", !0)
66
66
  ]),
67
67
  s("ul", J, [
68
- (i(!0), a(D, null, E(c.item.features, (d, N) => (i(), a("li", {
68
+ (i(!0), a(j, null, D(c.item.features, (d, N) => (i(), a("li", {
69
69
  key: N,
70
70
  class: "flex items-start gap-3 text-sm group/feature"
71
71
  }, [
@@ -81,20 +81,20 @@ const L = {
81
81
  }))
82
82
  ]),
83
83
  s("span", {
84
- class: m(
84
+ class: u(
85
85
  g(d) ? "text-foreground/90 font-medium" : "text-muted-foreground/60 decoration-slate-300/50"
86
86
  )
87
87
  }, l($(d)), 3)
88
88
  ]))), 128))
89
89
  ]),
90
90
  s("div", O, [
91
- v(S, {
91
+ v(E, {
92
92
  variant: V.value,
93
- class: m(["w-full font-semibold shadow-sm rounded-lg", { "ring-2 ring-primary ring-offset-2": c.selected }]),
93
+ class: u(["w-full font-semibold shadow-sm rounded-lg", { "ring-2 ring-primary ring-offset-2": c.selected }]),
94
94
  size: "lg"
95
95
  }, {
96
96
  default: h(() => [
97
- b(l(w.value), 1)
97
+ b(l(T.value), 1)
98
98
  ]),
99
99
  _: 1
100
100
  }, 8, ["variant", "class"])
@@ -0,0 +1,41 @@
1
+ import { RadioSize, RadioColor } from '../types';
2
+ interface Props {
3
+ modelValue?: any;
4
+ value?: any;
5
+ disabled?: boolean;
6
+ label?: string;
7
+ labelI18n?: string;
8
+ id?: string;
9
+ class?: string;
10
+ size?: RadioSize;
11
+ color?: RadioColor;
12
+ name?: string;
13
+ }
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ default?(_: {}): any;
18
+ };
19
+ refs: {};
20
+ rootEl: HTMLDivElement;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
24
+ "update:modelValue": (value: any) => any;
25
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
+ "onUpdate:modelValue"?: (value: any) => any;
27
+ }>, {
28
+ value: any;
29
+ class: string;
30
+ color: RadioColor;
31
+ size: RadioSize;
32
+ disabled: boolean;
33
+ modelValue: any;
34
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
35
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
+ export default _default;
37
+ type __VLS_WithTemplateSlots<T, S> = T & {
38
+ new (): {
39
+ $slots: S;
40
+ };
41
+ };