@orchidui/dashboard 0.8.0 → 1.0.0
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/Dashboard/Card/OcCard.js +1 -1
- package/dist/Dashboard/Charts/PieChart/OcPieChart.js +1 -1
- package/dist/Dashboard/TextEditor/QuillEditor.js +1 -1
- package/dist/{OcCard-CfotNHx8.js → OcCard-w0EuBfr4.js} +1 -1
- package/dist/{OcPieChart-B6eV6nlg.js → OcPieChart-Kn-CkXip.js} +1 -1
- package/dist/{QuillEditor-CTgEQ0_O.js → QuillEditor-Bm3QXhLB.js} +80 -77
- package/dist/index.js +71 -71
- package/package.json +2 -2
- package/dist/OcComplexCalendar-Boa7mNFU-BOc2Ou_B.js +0 -5863
- package/dist/OcComplexDatePicker-BydI4VSR-WtcGs_4g.js +0 -92
- package/dist/OcCropper-7E2i6ayU-D2MlvrOQ.js +0 -1602
- package/dist/OcDataTable-CsCGrRx7-BQ4BTMoM.js +0 -580
- package/dist/OcDraggable-CA_BCbpl-5qLRNtse.js +0 -34
- package/dist/OcDraggableList-BUu5SgoA-CFkaqmpK.js +0 -157
- package/dist/OcEmojiPicker-DYYK7OB3-bcz9JkU1.js +0 -1170
- package/dist/OcFilterForm-7ehuJUMp-D7aE0HSM.js +0 -83
- package/dist/OcFilterSearch-B4AZsLBn-C9rTBQa6.js +0 -69
- package/dist/OcFilterSearchFor-DfwJG-5N-BzJe6fhu.js +0 -67
- package/dist/OcModalCropper-Z4jlnFc5-CtKIW0ED.js +0 -46
- package/dist/OcTimePicker-D9fPU8_m-DXvgZvEY.js +0 -98
- package/dist/OcTimePopup-CXGhaOev-Bh4cnZdX.js +0 -130
- package/dist/SubPlanCard-DHj4RHJZ-BXLF6lxf.js +0 -79
- package/dist/ThumbnailSection-CJBS0QXp-CzVwtuYN.js +0 -41
- package/dist/ThumbnailTheme-hey6se0g-jbmLdCu-.js +0 -118
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
- package/dist/index-DyVteXE3-BhWmKQss.js +0 -7340
- package/dist/vue-draggable-next.esm-bundler-Ci24Fze9.js +0 -1543
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { ref as t, computed as u, onMounted as O, openBlock as k, createElementBlock as w, renderSlot as B, createElementVNode as m, createVNode as s, unref as i } from "vue";
|
|
2
|
-
import { I as C, G as f } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const E = { class: "flex w-[326px] flex-col gap-y-5" }, A = { class: "max-h-[500px] overflow-y-auto p-5" }, I = { class: "flex gap-x-5 px-5 pb-5" }, S = {
|
|
4
|
-
__name: "OcFilterForm",
|
|
5
|
-
props: {
|
|
6
|
-
id: {
|
|
7
|
-
type: String,
|
|
8
|
-
required: !0
|
|
9
|
-
},
|
|
10
|
-
jsonForm: {
|
|
11
|
-
type: Array
|
|
12
|
-
},
|
|
13
|
-
values: {
|
|
14
|
-
type: Object
|
|
15
|
-
},
|
|
16
|
-
actions: {
|
|
17
|
-
type: Object
|
|
18
|
-
},
|
|
19
|
-
grid: {
|
|
20
|
-
type: Object,
|
|
21
|
-
default: null
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
emits: ["applyFilter", "cancel", "filter-fields-changed"],
|
|
25
|
-
setup(r, { emit: b }) {
|
|
26
|
-
const n = r, d = b, a = t({}), c = t({}), o = t([]), y = (e) => {
|
|
27
|
-
o.value.findIndex((l) => l === e) >= 0 || o.value.push(e);
|
|
28
|
-
}, p = (e, l = null) => {
|
|
29
|
-
typeof e.name == "object" ? e.name.forEach((v, h) => {
|
|
30
|
-
a.value[v.key] = l[h];
|
|
31
|
-
}) : a.value[e.name] = l, y(e.name);
|
|
32
|
-
}, g = u(() => Object.values(a.value).length > 0), j = u(() => {
|
|
33
|
-
var e, l;
|
|
34
|
-
return ((l = (e = n.actions) == null ? void 0 : e.applyButton) == null ? void 0 : l.label) || "Apply";
|
|
35
|
-
}), x = u(() => {
|
|
36
|
-
var e, l;
|
|
37
|
-
return ((l = (e = n.actions) == null ? void 0 : e.cancelButton) == null ? void 0 : l.label) || "Cancel";
|
|
38
|
-
});
|
|
39
|
-
O(() => {
|
|
40
|
-
a.value = { ...n.values };
|
|
41
|
-
});
|
|
42
|
-
const F = () => {
|
|
43
|
-
d("applyFilter", a.value), d("filter-fields-changed", o.value), o.value = [];
|
|
44
|
-
};
|
|
45
|
-
return (e, l) => (k(), w("div", E, [
|
|
46
|
-
B(e.$slots, "default", {
|
|
47
|
-
errors: c.value,
|
|
48
|
-
values: a.value,
|
|
49
|
-
jsonForm: r.jsonForm,
|
|
50
|
-
updateForm: p
|
|
51
|
-
}, () => [
|
|
52
|
-
m("div", A, [
|
|
53
|
-
s(i(C), {
|
|
54
|
-
id: `filter-form-${r.id}`,
|
|
55
|
-
class: "grid gap-5",
|
|
56
|
-
errors: c.value,
|
|
57
|
-
values: a.value,
|
|
58
|
-
"json-form": r.jsonForm,
|
|
59
|
-
grid: r.grid ?? null,
|
|
60
|
-
onOnUpdate: p
|
|
61
|
-
}, null, 8, ["id", "errors", "values", "json-form", "grid"])
|
|
62
|
-
])
|
|
63
|
-
]),
|
|
64
|
-
m("div", I, [
|
|
65
|
-
s(i(f), {
|
|
66
|
-
class: "w-full",
|
|
67
|
-
variant: "secondary",
|
|
68
|
-
label: x.value,
|
|
69
|
-
onClick: l[0] || (l[0] = (v) => e.$emit("cancel"))
|
|
70
|
-
}, null, 8, ["label"]),
|
|
71
|
-
s(i(f), {
|
|
72
|
-
class: "w-full",
|
|
73
|
-
"is-disabled": !g.value,
|
|
74
|
-
label: j.value,
|
|
75
|
-
onClick: F
|
|
76
|
-
}, null, 8, ["is-disabled", "label"])
|
|
77
|
-
])
|
|
78
|
-
]));
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
export {
|
|
82
|
-
S as default
|
|
83
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { ref as c, openBlock as o, createElementBlock as n, Fragment as x, createElementVNode as u, normalizeClass as m, createVNode as g, unref as s, withKeys as w, createBlock as d, createCommentVNode as v, nextTick as S } from "vue";
|
|
2
|
-
import { y as C, G as y } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const V = { class: "flex gap-x-4" }, $ = {
|
|
4
|
-
__name: "OcFilterSearch",
|
|
5
|
-
props: {
|
|
6
|
-
isSearchOnly: Boolean
|
|
7
|
-
},
|
|
8
|
-
emits: {
|
|
9
|
-
addQuery: [],
|
|
10
|
-
toggle: []
|
|
11
|
-
},
|
|
12
|
-
setup(r, { emit: h }) {
|
|
13
|
-
const p = h, a = c(!1), l = c(""), i = c(), f = async () => {
|
|
14
|
-
a.value = !0, p("toggle", a), await S(), i.value.focus();
|
|
15
|
-
};
|
|
16
|
-
return (t, e) => (o(), n(x, null, [
|
|
17
|
-
u("div", {
|
|
18
|
-
class: m(["w-full", a.value || r.isSearchOnly ? "" : "absolute max-w-0 overflow-hidden"])
|
|
19
|
-
}, [
|
|
20
|
-
u("div", V, [
|
|
21
|
-
g(s(C), {
|
|
22
|
-
ref_key: "searchInput",
|
|
23
|
-
ref: i,
|
|
24
|
-
modelValue: l.value,
|
|
25
|
-
"onUpdate:modelValue": e[0] || (e[0] = (k) => l.value = k),
|
|
26
|
-
placeholder: "Search something here",
|
|
27
|
-
class: "md:min-w-[310px]",
|
|
28
|
-
icon: "search",
|
|
29
|
-
onKeyup: e[1] || (e[1] = w(
|
|
30
|
-
() => {
|
|
31
|
-
t.$emit("addQuery", l.value), l.value = "";
|
|
32
|
-
},
|
|
33
|
-
["enter"]
|
|
34
|
-
))
|
|
35
|
-
}, null, 8, ["modelValue"]),
|
|
36
|
-
r.isSearchOnly ? (o(), d(s(y), {
|
|
37
|
-
key: 0,
|
|
38
|
-
label: "Search",
|
|
39
|
-
variant: "secondary",
|
|
40
|
-
class: "shrink-0",
|
|
41
|
-
onClick: e[2] || (e[2] = () => {
|
|
42
|
-
t.$emit("addQuery", l.value), l.value = "";
|
|
43
|
-
})
|
|
44
|
-
})) : (o(), n("span", {
|
|
45
|
-
key: 1,
|
|
46
|
-
class: "py-3 text-base cursor-pointer flex normal-case items-center font-medium text-oc-text-400",
|
|
47
|
-
onClick: e[3] || (e[3] = () => {
|
|
48
|
-
a.value = !1, t.$emit("toggle", a.value), l.value = "";
|
|
49
|
-
})
|
|
50
|
-
}, " Clear "))
|
|
51
|
-
])
|
|
52
|
-
], 2),
|
|
53
|
-
r.isSearchOnly ? v("", !0) : (o(), n("div", {
|
|
54
|
-
key: 0,
|
|
55
|
-
class: m(a.value ? "max-w-0 overflow-hidden" : "")
|
|
56
|
-
}, [
|
|
57
|
-
a.value ? v("", !0) : (o(), d(s(y), {
|
|
58
|
-
key: 0,
|
|
59
|
-
variant: "secondary",
|
|
60
|
-
"left-icon": "search",
|
|
61
|
-
onClick: f
|
|
62
|
-
}))
|
|
63
|
-
], 2))
|
|
64
|
-
], 64));
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
export {
|
|
68
|
-
$ as default
|
|
69
|
-
};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { computed as k, openBlock as a, createBlock as s, unref as m, withCtx as x, createElementVNode as v, createElementBlock as f, Fragment as b, renderList as p, createVNode as y, createCommentVNode as N } from "vue";
|
|
2
|
-
import { s as F, t as c } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const R = { class: "flex gap-1 items-center normal-case flex-wrap" }, j = {
|
|
4
|
-
__name: "OcFilterSearchFor",
|
|
5
|
-
props: {
|
|
6
|
-
filters: Object,
|
|
7
|
-
queries: Object
|
|
8
|
-
},
|
|
9
|
-
emits: {
|
|
10
|
-
removeQuery: [],
|
|
11
|
-
removeFilter: [],
|
|
12
|
-
removeAll: []
|
|
13
|
-
},
|
|
14
|
-
setup(n, { emit: h }) {
|
|
15
|
-
const d = n, i = h, u = k(() => {
|
|
16
|
-
var t;
|
|
17
|
-
let l = [];
|
|
18
|
-
return (t = d.filters) == null || t.forEach((e) => {
|
|
19
|
-
if (e.multiNames) {
|
|
20
|
-
const r = l.find((o) => o.name === e.multiNames[0]);
|
|
21
|
-
r ? r.label = r.label + e.label : l.push(e);
|
|
22
|
-
} else
|
|
23
|
-
l.push(e);
|
|
24
|
-
}), l;
|
|
25
|
-
}), g = (t, l) => {
|
|
26
|
-
let e = {};
|
|
27
|
-
e[t] = "", l ? l.forEach((r) => {
|
|
28
|
-
let o = {};
|
|
29
|
-
o[r] = "", i("removeFilter", o, r);
|
|
30
|
-
}) : i("removeFilter", e, t);
|
|
31
|
-
};
|
|
32
|
-
return (t, l) => u.value.length > 0 || n.queries.length > 0 ? (a(), s(m(F), {
|
|
33
|
-
key: 0,
|
|
34
|
-
class: "!w-full !justify-start !bg-oc-bg-light"
|
|
35
|
-
}, {
|
|
36
|
-
default: x(() => [
|
|
37
|
-
v("div", R, [
|
|
38
|
-
l[1] || (l[1] = v("span", { class: "pr-2 text-sm font-medium text-oc-text" }, "Search for:", -1)),
|
|
39
|
-
(a(!0), f(b, null, p(n.queries, (e) => (a(), s(m(c), {
|
|
40
|
-
key: e,
|
|
41
|
-
variant: "accent-1",
|
|
42
|
-
closable: "",
|
|
43
|
-
label: e,
|
|
44
|
-
onRemove: (r) => t.$emit("removeQuery", e)
|
|
45
|
-
}, null, 8, ["label", "onRemove"]))), 128)),
|
|
46
|
-
(a(!0), f(b, null, p(u.value, (e) => (a(), s(m(c), {
|
|
47
|
-
key: e.name,
|
|
48
|
-
variant: "accent-1",
|
|
49
|
-
closable: "",
|
|
50
|
-
label: e.label,
|
|
51
|
-
onRemove: (r) => g(e.name, e.multiNames)
|
|
52
|
-
}, null, 8, ["label", "onRemove"]))), 128)),
|
|
53
|
-
y(m(c), {
|
|
54
|
-
variant: "gray",
|
|
55
|
-
class: "cursor-pointer",
|
|
56
|
-
label: "Clear all",
|
|
57
|
-
onClick: l[0] || (l[0] = (e) => t.$emit("removeAll"))
|
|
58
|
-
})
|
|
59
|
-
])
|
|
60
|
-
]),
|
|
61
|
-
_: 1
|
|
62
|
-
})) : N("", !0);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
export {
|
|
66
|
-
j as default
|
|
67
|
-
};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ref as e, openBlock as c, createBlock as g, unref as u, withCtx as v, createVNode as f } from "vue";
|
|
2
|
-
import { K as d } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
import O from "./OcCropper-7E2i6ayU-D2MlvrOQ.js";
|
|
4
|
-
const C = {
|
|
5
|
-
__name: "OcModalCropper",
|
|
6
|
-
props: {
|
|
7
|
-
inputOptions: Array,
|
|
8
|
-
inputOptionValues: Object,
|
|
9
|
-
img: String,
|
|
10
|
-
maxSize: [String, Number]
|
|
11
|
-
},
|
|
12
|
-
emits: ["changeImage", "close", "update:input-options"],
|
|
13
|
-
setup(o, { emit: l }) {
|
|
14
|
-
const s = o, t = l;
|
|
15
|
-
e(), e();
|
|
16
|
-
const r = {
|
|
17
|
-
onClick: () => t("close")
|
|
18
|
-
}, n = e(), p = e(s.link), m = e({
|
|
19
|
-
label: "Save",
|
|
20
|
-
onClick: () => {
|
|
21
|
-
p.value && t("update:input-options", p.value), n.value ? t("changeImage", n.value) : t("close");
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return (b, i) => (c(), g(u(d), {
|
|
25
|
-
title: "Edit Image",
|
|
26
|
-
"is-close-icon": "",
|
|
27
|
-
"cancel-button-props": r,
|
|
28
|
-
"confirm-button-props": m.value
|
|
29
|
-
}, {
|
|
30
|
-
default: v(() => [
|
|
31
|
-
f(u(O), {
|
|
32
|
-
"input-options": o.inputOptions,
|
|
33
|
-
"input-option-values": o.inputOptionValues,
|
|
34
|
-
img: o.img,
|
|
35
|
-
"max-size": o.maxSize,
|
|
36
|
-
onChangeImage: i[0] || (i[0] = (a) => n.value = a),
|
|
37
|
-
"onUpdate:inputOptions": i[1] || (i[1] = (a) => p.value = a)
|
|
38
|
-
}, null, 8, ["input-options", "input-option-values", "img", "max-size"])
|
|
39
|
-
]),
|
|
40
|
-
_: 1
|
|
41
|
-
}, 8, ["confirm-button-props"]));
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
export {
|
|
45
|
-
C as default
|
|
46
|
-
};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { ref as d, watch as v, openBlock as s, createBlock as p, unref as i, withCtx as m, createCommentVNode as g, createVNode as h } from "vue";
|
|
2
|
-
import { c, b as y, F as S, y as x } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const T = {
|
|
4
|
-
__name: "OcTimePicker",
|
|
5
|
-
props: {
|
|
6
|
-
modelValue: [String, Date],
|
|
7
|
-
label: String,
|
|
8
|
-
hint: String,
|
|
9
|
-
icon: {
|
|
10
|
-
type: String,
|
|
11
|
-
default: "time"
|
|
12
|
-
},
|
|
13
|
-
preFill: String,
|
|
14
|
-
placeholder: String,
|
|
15
|
-
errorMessage: String,
|
|
16
|
-
isRequired: {
|
|
17
|
-
type: Boolean,
|
|
18
|
-
default: !1
|
|
19
|
-
},
|
|
20
|
-
isDisabled: {
|
|
21
|
-
type: Boolean,
|
|
22
|
-
default: !1
|
|
23
|
-
},
|
|
24
|
-
labelIcon: {
|
|
25
|
-
type: String,
|
|
26
|
-
default: ""
|
|
27
|
-
},
|
|
28
|
-
tooltipText: {
|
|
29
|
-
type: String,
|
|
30
|
-
default: ""
|
|
31
|
-
},
|
|
32
|
-
tooltipOptions: {
|
|
33
|
-
type: Object,
|
|
34
|
-
default: () => ({})
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
emits: {
|
|
38
|
-
"update:modelValue": []
|
|
39
|
-
},
|
|
40
|
-
setup(e, { emit: b }) {
|
|
41
|
-
const f = b, u = d(), r = d(!1), n = e, a = d(n.modelValue), V = () => {
|
|
42
|
-
f("update:modelValue", a.value), setTimeout(() => {
|
|
43
|
-
var l;
|
|
44
|
-
return (l = u.value) == null ? void 0 : l.updateActiveTime();
|
|
45
|
-
}, 300);
|
|
46
|
-
};
|
|
47
|
-
return v(
|
|
48
|
-
() => n.modelValue,
|
|
49
|
-
(l) => {
|
|
50
|
-
a.value = l != "" ? l : c().toDate();
|
|
51
|
-
},
|
|
52
|
-
{ immediate: !0 }
|
|
53
|
-
), (l, t) => (s(), p(i(y), {
|
|
54
|
-
modelValue: r.value,
|
|
55
|
-
"onUpdate:modelValue": [
|
|
56
|
-
t[2] || (t[2] = (o) => r.value = o),
|
|
57
|
-
V
|
|
58
|
-
],
|
|
59
|
-
"menu-classes": "min-w-fit",
|
|
60
|
-
distance: 10,
|
|
61
|
-
"is-disabled": e.isDisabled
|
|
62
|
-
}, {
|
|
63
|
-
menu: m(() => [
|
|
64
|
-
r.value ? (s(), p(i(S), {
|
|
65
|
-
key: 0,
|
|
66
|
-
ref_key: "popup",
|
|
67
|
-
ref: u,
|
|
68
|
-
modelValue: a.value,
|
|
69
|
-
"onUpdate:modelValue": [
|
|
70
|
-
t[0] || (t[0] = (o) => a.value = o),
|
|
71
|
-
t[1] || (t[1] = (o) => l.$emit("update:modelValue", o))
|
|
72
|
-
]
|
|
73
|
-
}, null, 8, ["modelValue"])) : g("", !0)
|
|
74
|
-
]),
|
|
75
|
-
default: m(() => [
|
|
76
|
-
h(i(x), {
|
|
77
|
-
icon: e.icon,
|
|
78
|
-
"error-message": e.errorMessage,
|
|
79
|
-
label: e.label,
|
|
80
|
-
hint: e.hint,
|
|
81
|
-
"pre-fill": e.preFill,
|
|
82
|
-
placeholder: e.placeholder,
|
|
83
|
-
"model-value": i(c)(a.value).format("hh:mm A"),
|
|
84
|
-
"is-required": e.isRequired,
|
|
85
|
-
"label-icon": e.labelIcon,
|
|
86
|
-
"tooltip-text": e.tooltipText,
|
|
87
|
-
"tooltip-options": e.tooltipOptions,
|
|
88
|
-
"is-readonly": !0,
|
|
89
|
-
disabled: e.isDisabled
|
|
90
|
-
}, null, 8, ["icon", "error-message", "label", "hint", "pre-fill", "placeholder", "model-value", "is-required", "label-icon", "tooltip-text", "tooltip-options", "disabled"])
|
|
91
|
-
]),
|
|
92
|
-
_: 1
|
|
93
|
-
}, 8, ["modelValue", "is-disabled"]));
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
export {
|
|
97
|
-
T as default
|
|
98
|
-
};
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { ref as a, onMounted as R, openBlock as d, createElementBlock as p, createElementVNode as t, Fragment as w, renderList as m, normalizeClass as y, toDisplayString as x } from "vue";
|
|
2
|
-
import { d as L } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const $ = { class: "overflow-hidden flex items-center relative rounded shadow-normal w-fit px-3" }, F = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, z = ["onClick"], N = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, O = ["onClick"], Y = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, j = ["onClick"], G = {
|
|
4
|
-
__name: "OcTimePopup",
|
|
5
|
-
props: {
|
|
6
|
-
modelValue: {
|
|
7
|
-
type: [String, Date],
|
|
8
|
-
default: () => /* @__PURE__ */ new Date()
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
emits: ["update:modelValue"],
|
|
12
|
-
setup(D, { expose: A, emit: P }) {
|
|
13
|
-
const u = D, T = P, r = a(
|
|
14
|
-
u.modelValue.getHours() <= 12 ? u.modelValue.getHours() : u.modelValue.getHours() - 12
|
|
15
|
-
), c = a(u.modelValue.getMinutes()), i = a(u.modelValue.getHours() >= 12 ? "PM" : "AM"), v = a(null), g = a(null), h = a(null), n = () => {
|
|
16
|
-
const l = (b, k) => {
|
|
17
|
-
b && k && b.scrollTo({
|
|
18
|
-
top: k.offsetTop - b.clientHeight / 2 + k.clientHeight / 2,
|
|
19
|
-
behavior: "smooth"
|
|
20
|
-
});
|
|
21
|
-
}, o = v.value.querySelector(`.w-7:nth-child(${r.value})`), e = g.value.querySelector(
|
|
22
|
-
`.w-7:nth-child(${c.value + 1})`
|
|
23
|
-
), f = h.value.querySelector(
|
|
24
|
-
`.w-7:nth-child(${i.value === "AM" ? 1 : 2})`
|
|
25
|
-
);
|
|
26
|
-
l(v.value, o), l(g.value, e), l(h.value, f), T(
|
|
27
|
-
"update:modelValue",
|
|
28
|
-
new Date(
|
|
29
|
-
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
30
|
-
(/* @__PURE__ */ new Date()).getMonth(),
|
|
31
|
-
(/* @__PURE__ */ new Date()).getDate(),
|
|
32
|
-
i.value === "AM" ? r.value === 12 ? 0 : r.value : r.value === 12 ? 12 : r.value + 12,
|
|
33
|
-
c.value,
|
|
34
|
-
0,
|
|
35
|
-
0
|
|
36
|
-
)
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
R(n);
|
|
40
|
-
const H = (l) => {
|
|
41
|
-
r.value = l, n();
|
|
42
|
-
}, q = (l) => {
|
|
43
|
-
c.value = l, n();
|
|
44
|
-
}, E = (l) => {
|
|
45
|
-
i.value = l, n();
|
|
46
|
-
}, s = a(null), M = a(null), C = a(null), S = a(null), _ = () => {
|
|
47
|
-
const l = s.value;
|
|
48
|
-
M.value.forEach((o, e) => {
|
|
49
|
-
Math.abs(o.getBoundingClientRect().top - l.getBoundingClientRect().top) < 12 && (r.value = e + 1, n());
|
|
50
|
-
});
|
|
51
|
-
}, V = () => {
|
|
52
|
-
const l = s.value;
|
|
53
|
-
C.value.forEach((o, e) => {
|
|
54
|
-
Math.abs(o.getBoundingClientRect().top - l.getBoundingClientRect().top) < 12 && (c.value = e, n());
|
|
55
|
-
});
|
|
56
|
-
}, B = () => {
|
|
57
|
-
const l = s.value;
|
|
58
|
-
S.value.forEach((o, e) => {
|
|
59
|
-
Math.abs(o.getBoundingClientRect().top - l.getBoundingClientRect().top) < 12 && (i.value = e === 0 ? "AM" : "PM", n());
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
return A({
|
|
63
|
-
updateActiveTime: n
|
|
64
|
-
}), (l, o) => (d(), p("div", $, [
|
|
65
|
-
t("div", {
|
|
66
|
-
ref_key: "triggerBox",
|
|
67
|
-
ref: s,
|
|
68
|
-
class: "bg-oc-accent-1-50-tr border-y absolute h-7 left-0 right-0"
|
|
69
|
-
}, null, 512),
|
|
70
|
-
t("div", {
|
|
71
|
-
ref_key: "hourList",
|
|
72
|
-
ref: v,
|
|
73
|
-
class: "w-7 inline-block max-h-[157px] overflow-y-auto hidden-scrollbar",
|
|
74
|
-
onScrollend: _,
|
|
75
|
-
onTouchend: _
|
|
76
|
-
}, [
|
|
77
|
-
t("ul", F, [
|
|
78
|
-
(d(), p(w, null, m(12, (e) => t("li", {
|
|
79
|
-
key: e,
|
|
80
|
-
ref_for: !0,
|
|
81
|
-
ref_key: "targetHour",
|
|
82
|
-
ref: M,
|
|
83
|
-
class: y(["w-7 cursor-pointer aspect-square leading-[24px] text-center", r.value === e ? "opacity-100" : "opacity-50"]),
|
|
84
|
-
onClick: (f) => H(e)
|
|
85
|
-
}, x(e.toString().padStart(2, "0")), 11, z)), 64))
|
|
86
|
-
])
|
|
87
|
-
], 544),
|
|
88
|
-
o[0] || (o[0] = t("span", null, ":", -1)),
|
|
89
|
-
t("div", {
|
|
90
|
-
ref_key: "minutesList",
|
|
91
|
-
ref: g,
|
|
92
|
-
class: "w-7 inline-block max-h-[157px] overflow-y-auto hidden-scrollbar",
|
|
93
|
-
onScrollend: V,
|
|
94
|
-
onTouchend: V
|
|
95
|
-
}, [
|
|
96
|
-
t("ul", N, [
|
|
97
|
-
(d(), p(w, null, m(60, (e) => t("li", {
|
|
98
|
-
key: e,
|
|
99
|
-
ref_for: !0,
|
|
100
|
-
ref_key: "targetMinute",
|
|
101
|
-
ref: C,
|
|
102
|
-
class: y(["w-7 cursor-pointer aspect-square leading-[24px] text-center", c.value === e - 1 ? "opacity-100" : "opacity-50"]),
|
|
103
|
-
onClick: (f) => q(e - 1)
|
|
104
|
-
}, x((e - 1).toString().padStart(2, "0")), 11, O)), 64))
|
|
105
|
-
])
|
|
106
|
-
], 544),
|
|
107
|
-
t("div", {
|
|
108
|
-
ref_key: "periodList",
|
|
109
|
-
ref: h,
|
|
110
|
-
class: "w-7 inline-block max-h-[157px] overflow-y-auto hidden-scrollbar",
|
|
111
|
-
onScrollend: B,
|
|
112
|
-
onTouchend: B
|
|
113
|
-
}, [
|
|
114
|
-
t("ul", Y, [
|
|
115
|
-
(d(), p(w, null, m(2, (e) => t("li", {
|
|
116
|
-
key: e,
|
|
117
|
-
ref_for: !0,
|
|
118
|
-
ref_key: "targetPeriod",
|
|
119
|
-
ref: S,
|
|
120
|
-
class: y(["w-7 aspect-square cursor-pointer leading-[24px] text-center", i.value === (e === 1 ? "AM" : "PM") ? "opacity-100" : "opacity-50"]),
|
|
121
|
-
onClick: (f) => E(e === 1 ? "AM" : "PM")
|
|
122
|
-
}, x(e === 1 ? "AM" : "PM"), 11, j)), 64))
|
|
123
|
-
])
|
|
124
|
-
], 544)
|
|
125
|
-
]));
|
|
126
|
-
}
|
|
127
|
-
}, J = /* @__PURE__ */ L(G, [["__scopeId", "data-v-434f8eef"]]);
|
|
128
|
-
export {
|
|
129
|
-
J as default
|
|
130
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { computed as n, openBlock as t, createElementBlock as o, normalizeClass as p, createElementVNode as e, toDisplayString as r, createBlock as x, unref as d, createCommentVNode as m, createTextVNode as v, Fragment as k, renderList as T, createVNode as w } from "vue";
|
|
2
|
-
import { d as P, t as C, G as F, g as E } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const _ = { class: "z-10 flex flex-col gap-4 p-9 relative" }, A = { class: "flex items-center gap-4" }, B = { class: "font-medium text-xl" }, N = { class: "flex gap-3 items-center mb-5" }, V = { class: "flex items-start gap-2" }, z = { class: "text-[24px] font-medium tracking-tighter" }, S = { class: "text-[40px] leading-none font-medium" }, j = { key: 0 }, q = {
|
|
4
|
-
__name: "SubPlanCard",
|
|
5
|
-
props: {
|
|
6
|
-
planTier: {
|
|
7
|
-
type: Object,
|
|
8
|
-
required: !0
|
|
9
|
-
},
|
|
10
|
-
isPlanActive: Boolean
|
|
11
|
-
},
|
|
12
|
-
emits: ["select"],
|
|
13
|
-
setup(a, { emit: g }) {
|
|
14
|
-
const l = a, b = g, i = n(() => l.planTier.name === "Free"), y = n(() => l.planTier.name === "Pro"), c = n(() => l.planTier.name === "Plus"), f = n(() => l.planTier.billing_frequency === "monthly") ? "/month" : "/year", h = n(() => l.planTier.name === "free" ? "For individual who just starting their business" : l.planTier.name === "pro" ? "For business who needs more features to increase their sales" : "For business who want in-depth analytics to win business and work");
|
|
15
|
-
return (L, s) => (t(), o("div", {
|
|
16
|
-
class: p(["tier-card rounded relative shadow-sm max-w-[300px]", {
|
|
17
|
-
"!bg-oc-bg-dark border border-oc-gray-200": i.value,
|
|
18
|
-
"tier-card--pro border border-oc-gray-200": y.value,
|
|
19
|
-
"tier-card--plus bg-oc-gray-900 text-white": c.value,
|
|
20
|
-
"border-2 border-oc-primary-500": a.isPlanActive
|
|
21
|
-
}])
|
|
22
|
-
}, [
|
|
23
|
-
e("div", _, [
|
|
24
|
-
e("div", A, [
|
|
25
|
-
e("span", B, r(a.planTier.name), 1),
|
|
26
|
-
a.isPlanActive ? (t(), x(d(C), {
|
|
27
|
-
key: 0,
|
|
28
|
-
label: "Current Plan"
|
|
29
|
-
})) : m("", !0)
|
|
30
|
-
]),
|
|
31
|
-
e("div", {
|
|
32
|
-
class: p(["text-oc-text-400 text-sm mb-5", { "!text-oc-text-200": c.value }])
|
|
33
|
-
}, r(h.value), 3),
|
|
34
|
-
e("div", N, [
|
|
35
|
-
e("div", V, [
|
|
36
|
-
e("span", z, r(a.planTier.currency.toUpperCase()), 1),
|
|
37
|
-
e("span", S, r(a.planTier.price), 1)
|
|
38
|
-
]),
|
|
39
|
-
i.value ? m("", !0) : (t(), o("span", {
|
|
40
|
-
key: 0,
|
|
41
|
-
class: p(["text-oc-text-400 text-base", { "!text-oc-text-200": c.value }])
|
|
42
|
-
}, r(d(f)), 3))
|
|
43
|
-
]),
|
|
44
|
-
a.isPlanActive ? m("", !0) : (t(), x(d(F), {
|
|
45
|
-
key: 0,
|
|
46
|
-
label: i.value ? "Change to Free" : "Start 14 day trial",
|
|
47
|
-
variant: i.value ? "secondary" : "primary",
|
|
48
|
-
size: "big",
|
|
49
|
-
class: "mb-5",
|
|
50
|
-
onClick: s[0] || (s[0] = (u) => b("select"))
|
|
51
|
-
}, null, 8, ["label", "variant"])),
|
|
52
|
-
e("div", {
|
|
53
|
-
class: p(["flex flex-col gap-3", { "text-oc-text-200": c.value }])
|
|
54
|
-
}, [
|
|
55
|
-
i.value ? m("", !0) : (t(), o("span", j, [
|
|
56
|
-
s[1] || (s[1] = v(" Everything on ")),
|
|
57
|
-
e("strong", null, r(a.planTier.code === "tier_s" ? "FREE" : "PRO"), 1),
|
|
58
|
-
s[2] || (s[2] = v(" includes: "))
|
|
59
|
-
])),
|
|
60
|
-
(t(!0), o(k, null, T(a.planTier.features, (u) => (t(), o("span", {
|
|
61
|
-
key: u.id,
|
|
62
|
-
class: "flex gap-3 items-center"
|
|
63
|
-
}, [
|
|
64
|
-
w(d(E), {
|
|
65
|
-
name: "check-fill",
|
|
66
|
-
class: "text-oc-primary-500",
|
|
67
|
-
height: "16",
|
|
68
|
-
width: "16"
|
|
69
|
-
}),
|
|
70
|
-
e("span", null, r(u.name), 1)
|
|
71
|
-
]))), 128))
|
|
72
|
-
], 2)
|
|
73
|
-
])
|
|
74
|
-
], 2));
|
|
75
|
-
}
|
|
76
|
-
}, $ = /* @__PURE__ */ P(q, [["__scopeId", "data-v-1c173638"]]);
|
|
77
|
-
export {
|
|
78
|
-
$ as default
|
|
79
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { openBlock as n, createElementBlock as r, createElementVNode as l, createVNode as c, unref as i, toDisplayString as m } from "vue";
|
|
2
|
-
import { G as o } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
|
-
const d = { class: "flex flex-col" }, u = { class: "w-full relative group" }, f = { class: "w-full h-full bg-black/25 absolute top-0 left-0 hidden group-hover:flex rounded-lg" }, p = { class: "w-full px-6 gap-3 m-auto flex" }, v = ["src", "alt"], x = { class: "mt-4 text-md text-center" }, w = {
|
|
4
|
-
__name: "ThumbnailSection",
|
|
5
|
-
props: {
|
|
6
|
-
section: Object
|
|
7
|
-
},
|
|
8
|
-
emits: ["add", "customize"],
|
|
9
|
-
setup(e) {
|
|
10
|
-
return (s, t) => (n(), r("div", d, [
|
|
11
|
-
l("div", u, [
|
|
12
|
-
l("div", f, [
|
|
13
|
-
l("div", p, [
|
|
14
|
-
c(i(o), {
|
|
15
|
-
class: "w-1/2",
|
|
16
|
-
variant: "secondary",
|
|
17
|
-
label: "Customize",
|
|
18
|
-
size: "small",
|
|
19
|
-
onClick: t[0] || (t[0] = (a) => s.$emit("customize", e.section))
|
|
20
|
-
}),
|
|
21
|
-
c(i(o), {
|
|
22
|
-
class: "w-1/2",
|
|
23
|
-
label: "Add",
|
|
24
|
-
size: "small",
|
|
25
|
-
onClick: t[1] || (t[1] = (a) => s.$emit("add", e.section))
|
|
26
|
-
})
|
|
27
|
-
])
|
|
28
|
-
]),
|
|
29
|
-
l("img", {
|
|
30
|
-
class: "w-full",
|
|
31
|
-
src: e.section.preview,
|
|
32
|
-
alt: e.section.title
|
|
33
|
-
}, null, 8, v)
|
|
34
|
-
]),
|
|
35
|
-
l("div", x, m(e.section.title), 1)
|
|
36
|
-
]));
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
export {
|
|
40
|
-
w as default
|
|
41
|
-
};
|