@orchidui/dashboard 0.4.0 → 0.7.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-w0EuBfr4.js → OcCard-CfotNHx8.js} +1 -1
- package/dist/OcComplexCalendar-Boa7mNFU-BOc2Ou_B.js +5863 -0
- package/dist/OcComplexDatePicker-BydI4VSR-WtcGs_4g.js +92 -0
- package/dist/OcCropper-7E2i6ayU-D2MlvrOQ.js +1602 -0
- package/dist/OcDataTable-CsCGrRx7-BQ4BTMoM.js +580 -0
- package/dist/OcDraggable-CA_BCbpl-5qLRNtse.js +34 -0
- package/dist/OcDraggableList-BUu5SgoA-CFkaqmpK.js +157 -0
- package/dist/OcEmojiPicker-DYYK7OB3-bcz9JkU1.js +1170 -0
- package/dist/OcFilterForm-7ehuJUMp-D7aE0HSM.js +83 -0
- package/dist/OcFilterSearch-B4AZsLBn-C9rTBQa6.js +69 -0
- package/dist/OcFilterSearchFor-DfwJG-5N-BzJe6fhu.js +67 -0
- package/dist/OcModalCropper-Z4jlnFc5-CtKIW0ED.js +46 -0
- package/dist/{OcPieChart-Kn-CkXip.js → OcPieChart-B6eV6nlg.js} +1 -1
- package/dist/OcTimePicker-D9fPU8_m-DXvgZvEY.js +98 -0
- package/dist/OcTimePopup-CXGhaOev-Bh4cnZdX.js +130 -0
- package/dist/{QuillEditor-CEkhRyf0.js → QuillEditor-CTgEQ0_O.js} +3 -8
- package/dist/SubPlanCard-DHj4RHJZ-BXLF6lxf.js +79 -0
- package/dist/ThumbnailSection-CJBS0QXp-CzVwtuYN.js +41 -0
- package/dist/ThumbnailTheme-hey6se0g-jbmLdCu-.js +118 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/index-DyVteXE3-BhWmKQss.js +7340 -0
- package/dist/index.js +959 -3526
- package/dist/vue-draggable-next.esm-bundler-Ci24Fze9.js +1543 -0
- package/package.json +1 -1
- package/dist/Dashboard/DataTable/utils/editColumnsUtils.js +0 -29
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { computed as _, ref as C, openBlock as t, createElementBlock as a, createElementVNode as r, Fragment as n, renderList as h, createBlock as f, unref as x, withCtx as y, normalizeClass as b, normalizeStyle as F, toDisplayString as i, createTextVNode as g, createCommentVNode as T } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { l as B, g as V } from "./index-DyVteXE3-BhWmKQss.js";
|
|
3
3
|
import { useChart as L } from "./Dashboard/composables/useChart.js";
|
|
4
4
|
const O = { class: "flex flex-col items-center" }, S = {
|
|
5
5
|
key: 0,
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,130 @@
|
|
|
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,11 +1,8 @@
|
|
|
1
1
|
var la = Object.defineProperty;
|
|
2
2
|
var oa = (n, t, e) => t in n ? la(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
|
|
3
3
|
var S = (n, t, e) => oa(n, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
import { c as ee, g as Gl } from "./_commonjsHelpers-DaMA6jEr.js";
|
|
4
5
|
import { defineComponent as aa, onMounted as ca, onBeforeUnmount as ua, ref as Fi, watch as Os, nextTick as Hi, h as ha } from "vue";
|
|
5
|
-
var ee = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
6
|
-
function Gl(n) {
|
|
7
|
-
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
|
|
8
|
-
}
|
|
9
6
|
var Kl = typeof global == "object" && global && global.Object === Object && global, fa = typeof self == "object" && self && self.Object === Object && self, Dt = Kl || fa || Function("return this")(), ie = Dt.Symbol, Vl = Object.prototype, da = Vl.hasOwnProperty, ga = Vl.toString, yn = ie ? ie.toStringTag : void 0;
|
|
10
7
|
function pa(n) {
|
|
11
8
|
var t = da.call(n, yn), e = n[yn];
|
|
@@ -7522,7 +7519,7 @@ N.register({
|
|
|
7522
7519
|
"ui/color-picker": Qo,
|
|
7523
7520
|
"ui/tooltip": ta
|
|
7524
7521
|
}, !0);
|
|
7525
|
-
const cp = N.import("delta"),
|
|
7522
|
+
const cp = N.import("delta"), yp = aa({
|
|
7526
7523
|
name: "QuillEditor",
|
|
7527
7524
|
inheritAttrs: !1,
|
|
7528
7525
|
props: {
|
|
@@ -7723,7 +7720,5 @@ const cp = N.import("delta"), bp = aa({
|
|
|
7723
7720
|
});
|
|
7724
7721
|
export {
|
|
7725
7722
|
N as Q,
|
|
7726
|
-
|
|
7727
|
-
ee as c,
|
|
7728
|
-
Gl as g
|
|
7723
|
+
yp as a
|
|
7729
7724
|
};
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
};
|