@orchidui/core 0.0.1 → 0.2.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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/Calendar.js +103 -0
- package/dist/Cropper.js +6 -0
- package/dist/DataDisplay/CustomerCard/OcCustomerCard.js +4 -0
- package/dist/DataDisplay/FloatContent/OcFloatContent.js +4 -0
- package/dist/DataDisplay/HorizontalProgressbar/OcHorizontalProgressbar.js +4 -0
- package/dist/DataDisplay/InfoCard/OcInfoCard.js +4 -0
- package/dist/DataDisplay/ListDetail/OcListDetail.js +4 -0
- package/dist/DataDisplay/ListItem/OcListItem.js +5 -0
- package/dist/DataDisplay/OnboardingListItem/OcOnboardingListItem.js +4 -0
- package/dist/DataDisplay/Overview/OcOverview.js +7 -0
- package/dist/DataDisplay/Pagination/OcPagination.js +6 -0
- package/dist/DataDisplay/ProgressBar/OcProgressBar.js +4 -0
- package/dist/DataDisplay/Table/OcTable.js +11 -0
- package/dist/DataDisplay/TransferSummary/OcTransferSummary.js +4 -0
- package/dist/DatePicker-D3w435Ml.js +263 -0
- package/dist/Disclosure/Accordion/OcAccordion.js +4 -0
- package/dist/Disclosure/OnboardingAccordion/OnboardingAccordion.js +4 -0
- package/dist/Disclosure/Steps/OcSteps.js +5 -0
- package/dist/Disclosure/SwitchTabs/OcSwitchTabs.js +4 -0
- package/dist/Disclosure/Tabs/Tabs.js +5 -0
- package/dist/Disclosure/Variants/OcVariants.js +5 -0
- package/dist/Draggable.js +168 -0
- package/dist/Elements/AdditionalContent/OcAdditionalContent.js +5 -0
- package/dist/Elements/AuthenticationOption/AuthenticationOption.js +4 -0
- package/dist/Elements/Box/OcBox.js +4 -0
- package/dist/Elements/EmptyPage/OcEmptyPage.js +4 -0
- package/dist/Elements/FeatureOverviewCard/OcFeatureOverviewCard.js +4 -0
- package/dist/Elements/Header/OcHeader.js +9 -0
- package/dist/Elements/PageTitle/OcPageTitle.js +7 -0
- package/dist/Elements/SandboxBanner/OcSandboxBanner.js +4 -0
- package/dist/Elements/Sidebar/OcSidebar.js +6 -0
- package/dist/Elements/Skeleton/OcSkeleton.js +4 -0
- package/dist/Elements/SubSidebar/OcSubSidebar.js +4 -0
- package/dist/Elements/VerificationOption/OcVerificationOption.js +4 -0
- package/dist/EmojiPicker.js +4 -0
- package/dist/Feedback/Banner/OcBanner.js +4 -0
- package/dist/Feedback/Chip/OcChip.js +4 -0
- package/dist/Feedback/ShareIcon/OcShareIcon.js +4 -0
- package/dist/Feedback/Snackbar/OcSnackbar.js +4 -0
- package/dist/Feedback/Tag/OcTag.js +4 -0
- package/dist/Form/BaseInput/OcBaseInput.js +4 -0
- package/dist/Form/Button/OcButton.js +4 -0
- package/dist/Form/Calendar/OcCalendar.js +5 -0
- package/dist/Form/CardInput/OcCardInput.js +4 -0
- package/dist/Form/Checkbox/OcCheckbox.js +4 -0
- package/dist/Form/CheckboxesGroup/OcCheckboxesGroup.js +4 -0
- package/dist/Form/Criteria/OcCriteria.js +4 -0
- package/dist/Form/Cropper/OcCropper.js +4 -0
- package/dist/Form/DatePicker/OcDatePicker.js +4 -0
- package/dist/Form/EmojiPicker/OcEmojiPicker.js +4 -0
- package/dist/Form/EmojiPicker/conts/emoji.js +1030 -0
- package/dist/Form/Input/OcInput.js +6 -0
- package/dist/Form/LinkInput/OcLinkInput.js +4 -0
- package/dist/Form/MultipleUploadFile/OcMultipleUploadFile.js +4 -0
- package/dist/Form/NumberInput/OcNumberInput.js +4 -0
- package/dist/Form/PhoneInput/OcPhoneInput.js +4 -0
- package/dist/Form/Radio/OcRadio.js +4 -0
- package/dist/Form/RadioGroup/OcRadioGroup.js +4 -0
- package/dist/Form/RangeInput/OcRangeInput.js +4 -0
- package/dist/Form/SectionItem/OcSectionItem.js +4 -0
- package/dist/Form/Select/OcSelect.js +7 -0
- package/dist/Form/SelectOptions/OcSelectOptions.js +4 -0
- package/dist/Form/SingleFileUpload/OcSingleFileUpload.js +4 -0
- package/dist/Form/Slider/OcSlider.js +4 -0
- package/dist/Form/TextArea/OcTextArea.js +4 -0
- package/dist/Form/TimePicker/OcTimePicker.js +6 -0
- package/dist/Form/Toggle/OcToggle.js +4 -0
- package/dist/Form/index.js +54 -0
- package/dist/FormBuilder/OcFormBuilder.js +4 -0
- package/dist/MediaAndIcons/Avatar/OcAvatar.js +4 -0
- package/dist/MediaAndIcons/Icon/OcIcon.js +4 -0
- package/dist/OcAccordion-DdkNsXvN.js +101 -0
- package/dist/OcAccountSetup-BXDjf48o.js +324 -0
- package/dist/OcAdditionalContent-BMSysCXu.js +612 -0
- package/dist/OcAuthenticationOption.vue_vue_type_script_setup_true_lang-w5Y0ymGN.js +43 -0
- package/dist/OcAvatar-NDXQiZvz.js +41 -0
- package/dist/OcBanner-Cg2WJV6e.js +108 -0
- package/dist/OcBox.vue_vue_type_script_setup_true_lang-aB397QRg.js +43 -0
- package/dist/OcCardInput-BFE4Xu-S.js +75 -0
- package/dist/OcCheckboxesGroup-CLbquUO2.js +94 -0
- package/dist/OcChip-B1hm2Qni.js +144 -0
- package/dist/OcComplexCalendar-x-_kg9Yk.js +108 -0
- package/dist/OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js +1006 -0
- package/dist/OcConfirmationModal-BfCrRV9r.js +179 -0
- package/dist/OcCopyTooltip.vue_vue_type_script_setup_true_lang-S2RAfV_g.js +65 -0
- package/dist/OcCriteria-CpIohheZ.js +42 -0
- package/dist/OcCropper-31Y_S1Ne.js +240 -0
- package/dist/OcCustomerCard-DbDOBO03.js +160 -0
- package/dist/OcDraggable-BjhGJmpM.js +35 -0
- package/dist/OcDropdownItem-DAElmzEu.js +57 -0
- package/dist/OcEmojiPicker-BXm-_OGK.js +157 -0
- package/dist/OcEmptyPage-CTwgMzRp.js +155 -0
- package/dist/OcExpadingTable.vue_vue_type_script_setup_true_lang-B4HOMDBK.js +815 -0
- package/dist/OcFeatureOverviewCard-RVyrWLVW.js +71 -0
- package/dist/OcFloatContent-BIKQOxSw.js +142 -0
- package/dist/OcFormBuilder-CRXWtt8I.js +177 -0
- package/dist/OcGroupOptions-ChGJvTXl.js +16 -0
- package/dist/OcHorizontalProgressbar.vue_vue_type_script_setup_true_lang-4eVgPDi5.js +32 -0
- package/dist/OcIcon-CJgBICxh.js +63 -0
- package/dist/OcInfoCard-DpYUZOMZ.js +81 -0
- package/dist/OcInput-tcRxG3Y2.js +227 -0
- package/dist/OcInputOption-CncASfNt.js +160 -0
- package/dist/OcLinkInput-C2ixk-gk.js +143 -0
- package/dist/OcListDetail-6XeME6ko.js +76 -0
- package/dist/OcListUrl.vue_vue_type_script_setup_true_lang-BEJafLuT.js +749 -0
- package/dist/OcModal-DdD5VFEN.js +187 -0
- package/dist/OcModalCropper-D2OI2iun.js +56 -0
- package/dist/OcModalPage-BLVa-kcB.js +86 -0
- package/dist/OcMultipleUploadFile-B8Wl9Fuq.js +446 -0
- package/dist/OcNumberInput.vue_vue_type_script_setup_true_lang-C4EXUIUe.js +90 -0
- package/dist/OcOnboardingListItem.vue_vue_type_script_setup_true_lang-Cr80xmnz.js +81 -0
- package/dist/OcOption-DK2FBGq7.js +485 -0
- package/dist/OcOverviewIcon-D702Ujka.js +55 -0
- package/dist/OcOverviewItem-DNr5tWnt.js +186 -0
- package/dist/OcPageTitleRight-DMtJ1qmZ.js +243 -0
- package/dist/OcPaginationNumber-IKPorX26.js +172 -0
- package/dist/OcPaymentTab-Cna1IAhO.js +170 -0
- package/dist/OcPhoneInput-AC6BgQhN.js +432 -0
- package/dist/OcPopper-C11OgQAj.js +97 -0
- package/dist/OcPrimaryActions-D5IprKsQ.js +222 -0
- package/dist/OcProgressBar-hiyC5XSc.js +33 -0
- package/dist/OcRadio-CRYfNwV9.js +107 -0
- package/dist/OcRadioGroup-DgfdWJos.js +76 -0
- package/dist/OcRangeInput-C-hoHFhr.js +103 -0
- package/dist/OcSandboxBanner.vue_vue_type_script_setup_true_lang-BD0k_8xa.js +37 -0
- package/dist/OcSectionItem-BFgxO3se.js +84 -0
- package/dist/OcSelectOptions-BQlG_EUA.js +148 -0
- package/dist/OcShareIcon-BB-NPq0r.js +53 -0
- package/dist/OcSingleFileUpload-B8-e1H5t.js +464 -0
- package/dist/OcSkeleton-BdPTmGh0.js +13 -0
- package/dist/OcSlider-Bsi-ckbP.js +124 -0
- package/dist/OcSnackbar-CKxY1-ej.js +196 -0
- package/dist/OcSteps.vue_vue_type_script_setup_true_lang-CXGy8ma_.js +87 -0
- package/dist/OcSubSidebar.vue_vue_type_script_setup_true_lang-CNxgU07N.js +60 -0
- package/dist/OcSupportMenu.vue_vue_type_script_setup_true_lang-DrjZsWti.js +114 -0
- package/dist/OcSwitchTabs-CYp676bj.js +31 -0
- package/dist/OcTabToSelect-BHAz1Niv.js +183 -0
- package/dist/OcTag.vue_vue_type_script_setup_true_lang-D19lw-8Y.js +26 -0
- package/dist/OcTextArea-BpV1Bnj_.js +78 -0
- package/dist/OcTheme-CWgrJh5Q.js +25 -0
- package/dist/OcTimePicker-B61MCi0D.js +110 -0
- package/dist/OcTimePopup-zQFKCZLk.js +131 -0
- package/dist/OcToggle-C0wTjM_Y.js +54 -0
- package/dist/OcTransferSummary-Bk2GXhrT.js +67 -0
- package/dist/OcVariant.vue_vue_type_script_setup_true_lang-CY_82DLc.js +99 -0
- package/dist/OcVerificationOption.vue_vue_type_script_setup_true_lang-ChqvNoDe.js +59 -0
- package/dist/OcWhiteList.vue_vue_type_script_setup_true_lang-DI9pYU3w.js +64 -0
- package/dist/OnboardingAccordion.vue_vue_type_script_setup_true_lang-B0Z7ETmj.js +113 -0
- package/dist/Overlay/ConfirmationModal/OcConfirmationModal.js +4 -0
- package/dist/Overlay/CopyTooltip/OcCopyTooltip.js +4 -0
- package/dist/Overlay/Dropdown/OcDropdown.js +6 -0
- package/dist/Overlay/Modal/OcModal.js +6 -0
- package/dist/Overlay/Popper/OcPopper.js +4 -0
- package/dist/Overlay/SupportMenu/OcSupportMenu.js +4 -0
- package/dist/Overlay/Tooltip/OcTooltip.js +4 -0
- package/dist/Overlay/Whitelist/OcWhiteList.js +4 -0
- package/dist/StoreDesign.js +240 -0
- package/dist/Theme/OcTheme.js +4 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/composables/helpers.js +48 -0
- package/dist/composables/uploadFileProgress.js +62 -0
- package/dist/composables/useWindowWidth.js +10 -0
- package/dist/data/Validator.js +5 -0
- package/dist/directives/clickOutside.js +13 -0
- package/dist/index.js +177 -1
- package/dist/style.css +1 -0
- package/package.json +23 -5
@@ -0,0 +1,64 @@
|
|
1
|
+
import { defineComponent as a, openBlock as l, createElementBlock as m, createElementVNode as t, renderSlot as s, createTextVNode as p, toDisplayString as r, createBlock as d, unref as n, normalizeProps as f, mergeProps as c, createCommentVNode as u, createVNode as g } from "vue";
|
2
|
+
import "dayjs";
|
3
|
+
import { B as x } from "./OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js";
|
4
|
+
/* empty css */
|
5
|
+
import { _ as h } from "./OcTag.vue_vue_type_script_setup_true_lang-D19lw-8Y.js";
|
6
|
+
import "libphonenumber-js";
|
7
|
+
/* empty css */
|
8
|
+
import "v-calendar";
|
9
|
+
/* empty css */
|
10
|
+
import "./Cropper.js";
|
11
|
+
import "vue-draggable-next";
|
12
|
+
import "@popperjs/core";
|
13
|
+
const y = { class: "flex justify-center pt-[75px] items-start backdrop-blur-sm" }, _ = { class: "bg-white relative z-10 rounded pb-3 max-w-[320px] w-[96vw] shadow" }, b = { class: "flex flex-col gap-y-7 p-5" }, v = { class: "min-w-[142px] pt-7 flex justify-center items-center" }, w = ["src"], j = { class: "flex text-center flex-col gap-y-3" }, O = { class: "text-lg flex justify-center gap-x-3 items-center font-medium" }, P = { class: "text-oc-text-400" }, k = { class: "py-6 px-5 flex items-center justify-center" }, R = /* @__PURE__ */ a({
|
14
|
+
__name: "OcWhiteList",
|
15
|
+
props: {
|
16
|
+
buttonProps: {
|
17
|
+
type: Object,
|
18
|
+
default: () => ({})
|
19
|
+
},
|
20
|
+
tagOptions: {
|
21
|
+
type: Object,
|
22
|
+
default: () => null
|
23
|
+
},
|
24
|
+
title: String,
|
25
|
+
imagePath: String,
|
26
|
+
description: String
|
27
|
+
},
|
28
|
+
setup(e) {
|
29
|
+
return (o, i) => (l(), m("div", y, [
|
30
|
+
i[0] || (i[0] = t("div", { class: "absolute w-full h-full top-0 left-0 bg-oc-gray-50 opacity-80" }, null, -1)),
|
31
|
+
t("div", _, [
|
32
|
+
t("div", b, [
|
33
|
+
s(o.$slots, "logo", {}, () => [
|
34
|
+
t("div", v, [
|
35
|
+
t("img", {
|
36
|
+
src: e.imagePath,
|
37
|
+
alt: "logo"
|
38
|
+
}, null, 8, w)
|
39
|
+
])
|
40
|
+
]),
|
41
|
+
t("div", j, [
|
42
|
+
t("div", O, [
|
43
|
+
p(r(e.title) + " ", 1),
|
44
|
+
e.tagOptions ? (l(), d(n(h), f(c({ key: 0 }, e.tagOptions)), null, 16)) : u("", !0)
|
45
|
+
]),
|
46
|
+
t("span", P, r(e.description), 1)
|
47
|
+
]),
|
48
|
+
s(o.$slots, "bottom")
|
49
|
+
]),
|
50
|
+
t("div", k, [
|
51
|
+
s(o.$slots, "footer", {}, () => [
|
52
|
+
g(n(x), c({
|
53
|
+
label: "Request Access",
|
54
|
+
class: "w-fit"
|
55
|
+
}, e.buttonProps), null, 16)
|
56
|
+
])
|
57
|
+
])
|
58
|
+
])
|
59
|
+
]));
|
60
|
+
}
|
61
|
+
});
|
62
|
+
export {
|
63
|
+
R as _
|
64
|
+
};
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { defineComponent as g, computed as y, openBlock as l, createElementBlock as f, normalizeClass as c, renderSlot as d, createBlock as b, unref as v, ref as p, watch as x, createElementVNode as o, createVNode as m, toDisplayString as u } from "vue";
|
2
|
+
import "dayjs";
|
3
|
+
import "./OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js";
|
4
|
+
import { _ as h } from "./OcIcon-CJgBICxh.js";
|
5
|
+
/* empty css */
|
6
|
+
import "libphonenumber-js";
|
7
|
+
/* empty css */
|
8
|
+
import "v-calendar";
|
9
|
+
/* empty css */
|
10
|
+
import "./Cropper.js";
|
11
|
+
import "vue-draggable-next";
|
12
|
+
import "@popperjs/core";
|
13
|
+
const _ = /* @__PURE__ */ g({
|
14
|
+
__name: "OnboardingStatusIcon",
|
15
|
+
props: {
|
16
|
+
variant: {
|
17
|
+
type: String,
|
18
|
+
default: "current",
|
19
|
+
validator: (e) => ["completed", "not_completed", "current", "partially_completed", "pending", "error"].includes(
|
20
|
+
e
|
21
|
+
)
|
22
|
+
}
|
23
|
+
},
|
24
|
+
setup(e) {
|
25
|
+
const t = e, r = y(() => !["completed", "error", "pending"].includes(t.variant)), a = {
|
26
|
+
completed: "check-2",
|
27
|
+
pending: "time",
|
28
|
+
error: "filled-x-circle"
|
29
|
+
}, i = {
|
30
|
+
completed: "text-white bg-oc-primary",
|
31
|
+
pending: "text-oc-warning border border-oc-warning",
|
32
|
+
error: "text-oc-error border border-oc-error",
|
33
|
+
not_completed: "border border-oc-gray-300",
|
34
|
+
partially_completed: "border-2 border-dashed border-oc-primary",
|
35
|
+
current: "border border-oc-gray-800"
|
36
|
+
}, n = {
|
37
|
+
completed: 12,
|
38
|
+
error: 18,
|
39
|
+
pending: 18
|
40
|
+
};
|
41
|
+
return (s, $) => (l(), f("div", {
|
42
|
+
class: c(["rounded-full w-7 h-7 flex items-center justify-center", i[e.variant]])
|
43
|
+
}, [
|
44
|
+
r.value ? d(s.$slots, "default", { key: 0 }) : (l(), b(v(h), {
|
45
|
+
key: 1,
|
46
|
+
width: n[e.variant],
|
47
|
+
height: n[e.variant],
|
48
|
+
name: a[e.variant]
|
49
|
+
}, null, 8, ["width", "height", "name"]))
|
50
|
+
], 2));
|
51
|
+
}
|
52
|
+
}), w = { class: "flex items-center flex-1 gap-x-4" }, S = { class: "flex flex-col gap-y-1" }, k = { class: "font-medium" }, B = { class: "text-oc-text-400 text-sm" }, q = /* @__PURE__ */ g({
|
53
|
+
__name: "OnboardingAccordion",
|
54
|
+
props: {
|
55
|
+
description: {
|
56
|
+
type: String,
|
57
|
+
default: ""
|
58
|
+
},
|
59
|
+
title: {
|
60
|
+
type: String,
|
61
|
+
default: ""
|
62
|
+
},
|
63
|
+
isBorder: {
|
64
|
+
type: Boolean,
|
65
|
+
default: !1
|
66
|
+
},
|
67
|
+
variant: {
|
68
|
+
type: String,
|
69
|
+
default: "current",
|
70
|
+
validator: (e) => ["completed", "not_completed", "current", "partially_completed", "pending", "error"].includes(
|
71
|
+
e
|
72
|
+
)
|
73
|
+
}
|
74
|
+
},
|
75
|
+
setup(e) {
|
76
|
+
const t = p(), r = p(!1), a = () => {
|
77
|
+
t.value && (t.value.style.height = r.value ? `${t.value.scrollHeight}px` : "0px");
|
78
|
+
}, i = () => {
|
79
|
+
r.value = !r.value, a();
|
80
|
+
};
|
81
|
+
return x(() => t.value, a), (n, s) => (l(), f("div", {
|
82
|
+
class: c(["hover:bg-oc-gray-50 border overflow-hidden", e.isBorder ? "border-oc-gray-200 rounded" : "border-transparent"])
|
83
|
+
}, [
|
84
|
+
o("div", {
|
85
|
+
class: "px-7 items-center py-5 flex gap-x-7",
|
86
|
+
onClick: i
|
87
|
+
}, [
|
88
|
+
o("div", w, [
|
89
|
+
m(_, { variant: e.variant }, null, 8, ["variant"]),
|
90
|
+
o("div", S, [
|
91
|
+
o("span", k, u(e.title), 1),
|
92
|
+
o("span", B, u(e.description), 1)
|
93
|
+
])
|
94
|
+
]),
|
95
|
+
d(n.$slots, "button-group"),
|
96
|
+
m(v(h), {
|
97
|
+
name: "chevron-down",
|
98
|
+
class: c(["text-oc-text-400 transition duration-300", r.value ? "rotate-180" : ""])
|
99
|
+
}, null, 8, ["class"])
|
100
|
+
]),
|
101
|
+
o("div", {
|
102
|
+
ref_key: "bodyWrapper",
|
103
|
+
ref: t,
|
104
|
+
class: "transition-all duration-300"
|
105
|
+
}, [
|
106
|
+
d(n.$slots, "default")
|
107
|
+
], 512)
|
108
|
+
], 2));
|
109
|
+
}
|
110
|
+
});
|
111
|
+
export {
|
112
|
+
q as _
|
113
|
+
};
|
@@ -0,0 +1,240 @@
|
|
1
|
+
import { openBlock as s, createElementBlock as a, normalizeClass as u, createElementVNode as i, Fragment as k, createVNode as c, unref as l, createTextVNode as v, toDisplayString as o, createBlock as x, withCtx as $, createCommentVNode as h, computed as b, renderList as z } from "vue";
|
2
|
+
import "dayjs";
|
3
|
+
import { B as m } from "./OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js";
|
4
|
+
import { _ as w } from "./OcIcon-CJgBICxh.js";
|
5
|
+
import { _ as p } from "./OcChip-B1hm2Qni.js";
|
6
|
+
/* empty css */
|
7
|
+
import "libphonenumber-js";
|
8
|
+
/* empty css */
|
9
|
+
import "v-calendar";
|
10
|
+
/* empty css */
|
11
|
+
import "./Cropper.js";
|
12
|
+
import "vue-draggable-next";
|
13
|
+
import "@popperjs/core";
|
14
|
+
import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
15
|
+
const F = { class: "w-full relative group" }, B = {
|
16
|
+
key: 0,
|
17
|
+
class: "m-auto"
|
18
|
+
}, S = {
|
19
|
+
key: 1,
|
20
|
+
class: "m-auto flex gap-3"
|
21
|
+
}, j = {
|
22
|
+
key: 2,
|
23
|
+
class: "m-auto flex gap-3"
|
24
|
+
}, E = {
|
25
|
+
key: 1,
|
26
|
+
class: "m-auto bg-white/75 rounded p-5 flex text-center flex-col justify-center"
|
27
|
+
}, N = { class: "mx-auto mb-3" }, O = ["src", "alt"], V = { class: "p-4 flex items-center" }, q = { class: "w-full" }, D = { class: "text-md font-medium" }, R = { class: "text-oc-text-400 text-sm mt-1" }, U = { class: "h-full flex items-start" }, xe = {
|
28
|
+
__name: "ThumbnailTheme",
|
29
|
+
props: {
|
30
|
+
theme: Object,
|
31
|
+
activating: Boolean,
|
32
|
+
isFreeAccount: Boolean
|
33
|
+
},
|
34
|
+
emits: ["activate", "customize", "preview", "upgrade", "publish"],
|
35
|
+
setup(e) {
|
36
|
+
return (n, t) => (s(), a("div", {
|
37
|
+
class: u(["bg-oc-bg-dark border-[3px] rounded-lg flex flex-col", e.theme.active ? "border-oc-primary" : "border-oc-bg-dark"])
|
38
|
+
}, [
|
39
|
+
i("div", F, [
|
40
|
+
i("div", {
|
41
|
+
class: u(["w-full h-full bg-black/25 absolute top-0 left-0 group-hover:flex rounded-t-lg", e.activating ? "flex" : "hidden"])
|
42
|
+
}, [
|
43
|
+
e.activating ? (s(), a("div", E, [
|
44
|
+
i("div", N, [
|
45
|
+
c(l(w), {
|
46
|
+
name: "loading-2",
|
47
|
+
width: "32",
|
48
|
+
height: "32",
|
49
|
+
class: "text-oc-text-400 motion-safe:animate-spin"
|
50
|
+
})
|
51
|
+
]),
|
52
|
+
t[6] || (t[6] = v(" Adding theme "))
|
53
|
+
])) : (s(), a(k, { key: 0 }, [
|
54
|
+
e.theme.active ? (s(), a("div", B, [
|
55
|
+
c(l(m), {
|
56
|
+
variant: "secondary",
|
57
|
+
label: "Customize",
|
58
|
+
onClick: t[0] || (t[0] = (r) => n.$emit("customize", e.theme))
|
59
|
+
})
|
60
|
+
])) : e.theme.draft ? (s(), a("div", S, [
|
61
|
+
c(l(m), {
|
62
|
+
variant: "secondary",
|
63
|
+
label: "Customize",
|
64
|
+
onClick: t[1] || (t[1] = (r) => n.$emit("customize", e.theme))
|
65
|
+
}),
|
66
|
+
c(l(m), {
|
67
|
+
label: "Publish",
|
68
|
+
onClick: t[2] || (t[2] = (r) => n.$emit("publish", e.theme))
|
69
|
+
})
|
70
|
+
])) : (s(), a("div", j, [
|
71
|
+
c(l(m), {
|
72
|
+
variant: "secondary",
|
73
|
+
label: "Preview",
|
74
|
+
onClick: t[3] || (t[3] = (r) => n.$emit("preview", e.theme))
|
75
|
+
}),
|
76
|
+
c(l(m), {
|
77
|
+
label: e.isFreeAccount ? "Activate" : "Try Theme",
|
78
|
+
onClick: t[4] || (t[4] = (r) => n.$emit("activate", e.theme))
|
79
|
+
}, null, 8, ["label"])
|
80
|
+
]))
|
81
|
+
], 64))
|
82
|
+
], 2),
|
83
|
+
i("img", {
|
84
|
+
class: "w-full rounded-t-md",
|
85
|
+
src: e.theme.thumbnail,
|
86
|
+
alt: e.theme.title
|
87
|
+
}, null, 8, O)
|
88
|
+
]),
|
89
|
+
i("div", V, [
|
90
|
+
i("div", q, [
|
91
|
+
i("div", D, o(e.theme.title), 1),
|
92
|
+
i("div", R, o(e.theme.description), 1)
|
93
|
+
]),
|
94
|
+
i("div", U, [
|
95
|
+
e.theme.active ? (s(), x(l(p), {
|
96
|
+
key: 0,
|
97
|
+
class: "ml-auto"
|
98
|
+
}, {
|
99
|
+
default: $(() => t[7] || (t[7] = [
|
100
|
+
v("Active")
|
101
|
+
])),
|
102
|
+
_: 1
|
103
|
+
})) : e.theme.draft ? (s(), x(l(p), {
|
104
|
+
key: 1,
|
105
|
+
variant: "gray",
|
106
|
+
class: "ml-auto"
|
107
|
+
}, {
|
108
|
+
default: $(() => t[8] || (t[8] = [
|
109
|
+
v("Draft")
|
110
|
+
])),
|
111
|
+
_: 1
|
112
|
+
})) : e.theme.pro ? (s(), x(l(p), {
|
113
|
+
key: 2,
|
114
|
+
class: "ml-auto",
|
115
|
+
variant: "accent-2",
|
116
|
+
onClick: t[5] || (t[5] = (r) => n.$emit("upgrade", e.theme))
|
117
|
+
}, {
|
118
|
+
default: $(() => t[9] || (t[9] = [
|
119
|
+
v("Upgrade")
|
120
|
+
])),
|
121
|
+
_: 1
|
122
|
+
})) : h("", !0)
|
123
|
+
])
|
124
|
+
])
|
125
|
+
], 2));
|
126
|
+
}
|
127
|
+
}, I = { class: "flex flex-col" }, L = { class: "w-full relative group" }, G = { class: "w-full h-full bg-black/25 absolute top-0 left-0 hidden group-hover:flex rounded-lg" }, H = { class: "w-full px-6 gap-3 m-auto flex" }, J = ["src", "alt"], K = { class: "mt-4 text-md text-center" }, ge = {
|
128
|
+
__name: "ThumbnailSection",
|
129
|
+
props: {
|
130
|
+
section: Object
|
131
|
+
},
|
132
|
+
emits: ["add", "customize"],
|
133
|
+
setup(e) {
|
134
|
+
return (n, t) => (s(), a("div", I, [
|
135
|
+
i("div", L, [
|
136
|
+
i("div", G, [
|
137
|
+
i("div", H, [
|
138
|
+
c(l(m), {
|
139
|
+
class: "w-1/2",
|
140
|
+
variant: "secondary",
|
141
|
+
label: "Customize",
|
142
|
+
size: "small",
|
143
|
+
onClick: t[0] || (t[0] = (r) => n.$emit("customize", e.section))
|
144
|
+
}),
|
145
|
+
c(l(m), {
|
146
|
+
class: "w-1/2",
|
147
|
+
label: "Add",
|
148
|
+
size: "small",
|
149
|
+
onClick: t[1] || (t[1] = (r) => n.$emit("add", e.section))
|
150
|
+
})
|
151
|
+
])
|
152
|
+
]),
|
153
|
+
i("img", {
|
154
|
+
class: "w-full",
|
155
|
+
src: e.section.preview,
|
156
|
+
alt: e.section.title
|
157
|
+
}, null, 8, J)
|
158
|
+
]),
|
159
|
+
i("div", K, o(e.section.title), 1)
|
160
|
+
]));
|
161
|
+
}
|
162
|
+
}, M = { class: "z-10 flex flex-col gap-4 p-9 relative" }, Q = { class: "flex items-center gap-4" }, W = { class: "font-medium text-xl" }, X = { class: "flex gap-3 items-center mb-5" }, Y = { class: "flex items-start gap-2" }, Z = { class: "text-[24px] font-medium tracking-tighter" }, _ = { class: "text-[40px] leading-none font-medium" }, ee = { key: 0 }, te = {
|
163
|
+
__name: "SubPlanCard",
|
164
|
+
props: {
|
165
|
+
planTier: {
|
166
|
+
type: Object,
|
167
|
+
required: !0
|
168
|
+
},
|
169
|
+
isPlanActive: Boolean
|
170
|
+
},
|
171
|
+
emits: ["select"],
|
172
|
+
setup(e, { emit: n }) {
|
173
|
+
const t = e, r = n, f = b(() => t.planTier.name === "Free"), T = b(() => t.planTier.name === "Pro"), g = b(() => t.planTier.name === "Plus"), C = b(() => t.planTier.billing_frequency === "monthly") ? "/month" : "/year", P = b(() => t.planTier.name === "free" ? "For individual who just starting their business" : t.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");
|
174
|
+
return (ie, d) => (s(), a("div", {
|
175
|
+
class: u(["tier-card rounded relative shadow-sm max-w-[300px]", {
|
176
|
+
"!bg-oc-bg-dark border border-oc-gray-200": f.value,
|
177
|
+
"tier-card--pro border border-oc-gray-200": T.value,
|
178
|
+
"tier-card--plus bg-oc-gray-900 text-white": g.value,
|
179
|
+
"border-2 border-oc-primary-500": e.isPlanActive
|
180
|
+
}])
|
181
|
+
}, [
|
182
|
+
i("div", M, [
|
183
|
+
i("div", Q, [
|
184
|
+
i("span", W, o(e.planTier.name), 1),
|
185
|
+
e.isPlanActive ? (s(), x(l(p), {
|
186
|
+
key: 0,
|
187
|
+
label: "Current Plan"
|
188
|
+
})) : h("", !0)
|
189
|
+
]),
|
190
|
+
i("div", {
|
191
|
+
class: u(["text-oc-text-400 text-sm mb-5", { "!text-oc-text-200": g.value }])
|
192
|
+
}, o(P.value), 3),
|
193
|
+
i("div", X, [
|
194
|
+
i("div", Y, [
|
195
|
+
i("span", Z, o(e.planTier.currency.toUpperCase()), 1),
|
196
|
+
i("span", _, o(e.planTier.price), 1)
|
197
|
+
]),
|
198
|
+
f.value ? h("", !0) : (s(), a("span", {
|
199
|
+
key: 0,
|
200
|
+
class: u(["text-oc-text-400 text-base", { "!text-oc-text-200": g.value }])
|
201
|
+
}, o(l(C)), 3))
|
202
|
+
]),
|
203
|
+
e.isPlanActive ? h("", !0) : (s(), x(l(m), {
|
204
|
+
key: 0,
|
205
|
+
label: f.value ? "Change to Free" : "Start 14 day trial",
|
206
|
+
variant: f.value ? "secondary" : "primary",
|
207
|
+
size: "big",
|
208
|
+
class: "mb-5",
|
209
|
+
onClick: d[0] || (d[0] = (y) => r("select"))
|
210
|
+
}, null, 8, ["label", "variant"])),
|
211
|
+
i("div", {
|
212
|
+
class: u(["flex flex-col gap-3", { "text-oc-text-200": g.value }])
|
213
|
+
}, [
|
214
|
+
f.value ? h("", !0) : (s(), a("span", ee, [
|
215
|
+
d[1] || (d[1] = v(" Everything on ")),
|
216
|
+
i("strong", null, o(e.planTier.code === "tier_s" ? "FREE" : "PRO"), 1),
|
217
|
+
d[2] || (d[2] = v(" includes: "))
|
218
|
+
])),
|
219
|
+
(s(!0), a(k, null, z(e.planTier.features, (y) => (s(), a("span", {
|
220
|
+
key: y.id,
|
221
|
+
class: "flex gap-3 items-center"
|
222
|
+
}, [
|
223
|
+
c(l(w), {
|
224
|
+
name: "check-fill",
|
225
|
+
class: "text-oc-primary-500",
|
226
|
+
height: "16",
|
227
|
+
width: "16"
|
228
|
+
}),
|
229
|
+
i("span", null, o(y.name), 1)
|
230
|
+
]))), 128))
|
231
|
+
], 2)
|
232
|
+
])
|
233
|
+
], 2));
|
234
|
+
}
|
235
|
+
}, pe = /* @__PURE__ */ A(te, [["__scopeId", "data-v-1c173638"]]);
|
236
|
+
export {
|
237
|
+
pe as SubPlanCard,
|
238
|
+
ge as ThumbnailSection,
|
239
|
+
xe as ThumbnailTheme
|
240
|
+
};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
const k = (e) => {
|
2
|
+
let i = {};
|
3
|
+
try {
|
4
|
+
document.cookie.split(";").forEach(function(n) {
|
5
|
+
let [t, c] = n.split("=");
|
6
|
+
i[t.trim()] = c;
|
7
|
+
});
|
8
|
+
} catch (n) {
|
9
|
+
console.log(n);
|
10
|
+
}
|
11
|
+
return i[e] ?? "";
|
12
|
+
}, p = (e, i, n = 9600) => {
|
13
|
+
let t = /* @__PURE__ */ new Date();
|
14
|
+
t.setTime(t.getTime() + n * 60 * 60 * 1e3);
|
15
|
+
try {
|
16
|
+
document.cookie = `${e}=${i};expires=${t.toUTCString()};path=/;domain=.${window.location.hostname};Secure;SameSite=Lax`;
|
17
|
+
} catch (c) {
|
18
|
+
console.log(c);
|
19
|
+
}
|
20
|
+
}, m = (e, i = {}) => {
|
21
|
+
const { isAmountInput: n } = i, t = [];
|
22
|
+
n && t.push(["."]), !(e.key >= "0" && e.key <= "9" || e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "Tab" || e.key === "Backspace" || e.key.startsWith("F") && e.key.length > 1 && !isNaN(e.key.substring(1)) || e.metaKey || t.includes(e.key)) && e.preventDefault();
|
23
|
+
}, a = (e, i) => {
|
24
|
+
const n = e.match(/oc-emit/), t = e.match(/oc-end-emit/);
|
25
|
+
if (n && t) {
|
26
|
+
let c = e.substring(n.index, t.index) + "oc-end-emit", o = e.substring(n.index, t.index).replace("[", "").replace("]", "").replace("oc-emit", ""), r = `<span class="underline font-medium">${o.split("|")[2].replace("-", " ")}</span>`;
|
27
|
+
return i && i(c, o.split("|")), e.replace(c, r);
|
28
|
+
} else
|
29
|
+
return e;
|
30
|
+
}, u = (e, i) => {
|
31
|
+
let n = document.createElement("div");
|
32
|
+
n.innerHTML = e;
|
33
|
+
let t = n.textContent || n.innerText || "";
|
34
|
+
n.remove();
|
35
|
+
const c = t.match(/oc-link/), o = t.match(/oc-end-link/);
|
36
|
+
if (c && o) {
|
37
|
+
let r = t.substring(c.index, o.index) + "oc-end-link", l = t.substring(c.index, o.index).replace("[", "").replace("]", "").replace("oc-link", ""), s = `<a target="_blank" class="text-oc-accent-1" href="${l.split("|")[1]}">${l.split("|")[0].replace("-", " ")}</a>`;
|
38
|
+
return t.replace(r, s);
|
39
|
+
} else
|
40
|
+
return a(t, i);
|
41
|
+
};
|
42
|
+
export {
|
43
|
+
k as getCookie,
|
44
|
+
a as getTextWithAction,
|
45
|
+
u as getTextWithLink,
|
46
|
+
m as preventEventIfNotNumberInput,
|
47
|
+
p as setCookie
|
48
|
+
};
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { ref as p } from "vue";
|
2
|
+
const g = (u, n) => {
|
3
|
+
const d = n.split(","), f = u.name.split(".").pop().toLowerCase();
|
4
|
+
return d.find((t) => t.includes(f));
|
5
|
+
}, h = (u, n, d, f = !1) => {
|
6
|
+
const t = p([]), c = p(!1), v = (l, o = !1) => {
|
7
|
+
const e = [...l.target.files].filter((a) => {
|
8
|
+
const s = !t.value.some((i) => i.fileName === a.name);
|
9
|
+
if (s || n("fileExist"), f) {
|
10
|
+
const i = g(a, d);
|
11
|
+
return i || n("invalidFileType"), s && i;
|
12
|
+
} else
|
13
|
+
return s;
|
14
|
+
});
|
15
|
+
if (c.value = e.reduce((a, s) => a + s.size, 0) > u * 1024 * 1024, c.value) {
|
16
|
+
n("onExceedMaxFileSize", e);
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
for (let a = 0; a < e.length; a++) {
|
20
|
+
const s = e[a], i = new FileReader();
|
21
|
+
new FormData().append("file", s), t.value.unshift({
|
22
|
+
file: s,
|
23
|
+
fileName: s.name,
|
24
|
+
link: s.link,
|
25
|
+
progress: 0,
|
26
|
+
fileUrl: "",
|
27
|
+
totalSize: 0,
|
28
|
+
isLoaded: !1,
|
29
|
+
extension: s.name.split(".").at(-1) || "png"
|
30
|
+
}), n("update:modelValue", o ? t.value[0] : t.value), s && (F(i, a), i.readAsDataURL(s));
|
31
|
+
}
|
32
|
+
}, r = (l, o, e) => {
|
33
|
+
if (!l.type) return;
|
34
|
+
const a = () => {
|
35
|
+
t.value[e].totalSize = l.total;
|
36
|
+
}, s = () => {
|
37
|
+
t.value[e].fileUrl = o.result, t.value[e].isLoaded = !0;
|
38
|
+
};
|
39
|
+
({
|
40
|
+
loadstart: a,
|
41
|
+
loadend: s,
|
42
|
+
load: s,
|
43
|
+
progress: () => {
|
44
|
+
t.value[e].progress = Number((l.loaded / t.value[e].totalSize).toFixed(2)) * 100;
|
45
|
+
}
|
46
|
+
})[l.type]();
|
47
|
+
}, F = (l, o) => {
|
48
|
+
l.addEventListener("loadstart", (e) => r(e, l, o)), l.addEventListener("load", (e) => r(e, l, o)), l.addEventListener("loadend", (e) => r(e, l, o)), l.addEventListener("progress", (e) => r(e, l, o)), l.addEventListener("error", (e) => r(e, l, o)), l.addEventListener("abort", (e) => r(e, l, o));
|
49
|
+
};
|
50
|
+
return {
|
51
|
+
isErrorMaxSize: c,
|
52
|
+
currentFiles: t,
|
53
|
+
onChangeFile: v,
|
54
|
+
onDeleteFile: (l) => {
|
55
|
+
let o = t.value.find((e, a) => a === l);
|
56
|
+
t.value = t.value.filter((e) => e !== o), n("onRemoveFile", o), n("update:modelValue", t.value.length > 0 ? t.value : null);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
};
|
60
|
+
export {
|
61
|
+
h as useUploadFileProgress
|
62
|
+
};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { ref as o, onMounted as i, onBeforeUnmount as t } from "vue";
|
2
|
+
const d = () => {
|
3
|
+
const e = o(window.innerWidth < 768), n = () => e.value = window.innerWidth < 768;
|
4
|
+
return i(() => window.addEventListener("resize", n)), t(() => window.removeEventListener("resize", n)), {
|
5
|
+
isMobile: e
|
6
|
+
};
|
7
|
+
};
|
8
|
+
export {
|
9
|
+
d as useWindowWidth
|
10
|
+
};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
const i = {
|
2
|
+
beforeMount(t, c) {
|
3
|
+
t.clickOutsideEvent = function(e) {
|
4
|
+
document.contains(e.target) && !(t === e.target || t.contains(e.target)) && c.value(e);
|
5
|
+
}, document.addEventListener("click", t.clickOutsideEvent);
|
6
|
+
},
|
7
|
+
unmounted(t) {
|
8
|
+
document.removeEventListener("click", t.clickOutsideEvent);
|
9
|
+
}
|
10
|
+
};
|
11
|
+
export {
|
12
|
+
i as clickOutside
|
13
|
+
};
|