@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.
Files changed (28) hide show
  1. package/dist/Dashboard/Card/OcCard.js +1 -1
  2. package/dist/Dashboard/Charts/PieChart/OcPieChart.js +1 -1
  3. package/dist/Dashboard/TextEditor/QuillEditor.js +1 -1
  4. package/dist/{OcCard-w0EuBfr4.js → OcCard-CfotNHx8.js} +1 -1
  5. package/dist/OcComplexCalendar-Boa7mNFU-BOc2Ou_B.js +5863 -0
  6. package/dist/OcComplexDatePicker-BydI4VSR-WtcGs_4g.js +92 -0
  7. package/dist/OcCropper-7E2i6ayU-D2MlvrOQ.js +1602 -0
  8. package/dist/OcDataTable-CsCGrRx7-BQ4BTMoM.js +580 -0
  9. package/dist/OcDraggable-CA_BCbpl-5qLRNtse.js +34 -0
  10. package/dist/OcDraggableList-BUu5SgoA-CFkaqmpK.js +157 -0
  11. package/dist/OcEmojiPicker-DYYK7OB3-bcz9JkU1.js +1170 -0
  12. package/dist/OcFilterForm-7ehuJUMp-D7aE0HSM.js +83 -0
  13. package/dist/OcFilterSearch-B4AZsLBn-C9rTBQa6.js +69 -0
  14. package/dist/OcFilterSearchFor-DfwJG-5N-BzJe6fhu.js +67 -0
  15. package/dist/OcModalCropper-Z4jlnFc5-CtKIW0ED.js +46 -0
  16. package/dist/{OcPieChart-Kn-CkXip.js → OcPieChart-B6eV6nlg.js} +1 -1
  17. package/dist/OcTimePicker-D9fPU8_m-DXvgZvEY.js +98 -0
  18. package/dist/OcTimePopup-CXGhaOev-Bh4cnZdX.js +130 -0
  19. package/dist/{QuillEditor-CEkhRyf0.js → QuillEditor-CTgEQ0_O.js} +3 -8
  20. package/dist/SubPlanCard-DHj4RHJZ-BXLF6lxf.js +79 -0
  21. package/dist/ThumbnailSection-CJBS0QXp-CzVwtuYN.js +41 -0
  22. package/dist/ThumbnailTheme-hey6se0g-jbmLdCu-.js +118 -0
  23. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  24. package/dist/index-DyVteXE3-BhWmKQss.js +7340 -0
  25. package/dist/index.js +959 -3526
  26. package/dist/vue-draggable-next.esm-bundler-Ci24Fze9.js +1543 -0
  27. package/package.json +1 -1
  28. 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 { Tooltip as B, Icon as V } from "@orchidui/core";
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"), bp = aa({
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
- bp as a,
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
+ };