@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.
Files changed (27) 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-CfotNHx8.js → OcCard-w0EuBfr4.js} +1 -1
  5. package/dist/{OcPieChart-B6eV6nlg.js → OcPieChart-Kn-CkXip.js} +1 -1
  6. package/dist/{QuillEditor-CTgEQ0_O.js → QuillEditor-Bm3QXhLB.js} +80 -77
  7. package/dist/index.js +71 -71
  8. package/package.json +2 -2
  9. package/dist/OcComplexCalendar-Boa7mNFU-BOc2Ou_B.js +0 -5863
  10. package/dist/OcComplexDatePicker-BydI4VSR-WtcGs_4g.js +0 -92
  11. package/dist/OcCropper-7E2i6ayU-D2MlvrOQ.js +0 -1602
  12. package/dist/OcDataTable-CsCGrRx7-BQ4BTMoM.js +0 -580
  13. package/dist/OcDraggable-CA_BCbpl-5qLRNtse.js +0 -34
  14. package/dist/OcDraggableList-BUu5SgoA-CFkaqmpK.js +0 -157
  15. package/dist/OcEmojiPicker-DYYK7OB3-bcz9JkU1.js +0 -1170
  16. package/dist/OcFilterForm-7ehuJUMp-D7aE0HSM.js +0 -83
  17. package/dist/OcFilterSearch-B4AZsLBn-C9rTBQa6.js +0 -69
  18. package/dist/OcFilterSearchFor-DfwJG-5N-BzJe6fhu.js +0 -67
  19. package/dist/OcModalCropper-Z4jlnFc5-CtKIW0ED.js +0 -46
  20. package/dist/OcTimePicker-D9fPU8_m-DXvgZvEY.js +0 -98
  21. package/dist/OcTimePopup-CXGhaOev-Bh4cnZdX.js +0 -130
  22. package/dist/SubPlanCard-DHj4RHJZ-BXLF6lxf.js +0 -79
  23. package/dist/ThumbnailSection-CJBS0QXp-CzVwtuYN.js +0 -41
  24. package/dist/ThumbnailTheme-hey6se0g-jbmLdCu-.js +0 -118
  25. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  26. package/dist/index-DyVteXE3-BhWmKQss.js +0 -7340
  27. 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
- };