@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.
Files changed (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/Calendar.js +103 -0
  4. package/dist/Cropper.js +6 -0
  5. package/dist/DataDisplay/CustomerCard/OcCustomerCard.js +4 -0
  6. package/dist/DataDisplay/FloatContent/OcFloatContent.js +4 -0
  7. package/dist/DataDisplay/HorizontalProgressbar/OcHorizontalProgressbar.js +4 -0
  8. package/dist/DataDisplay/InfoCard/OcInfoCard.js +4 -0
  9. package/dist/DataDisplay/ListDetail/OcListDetail.js +4 -0
  10. package/dist/DataDisplay/ListItem/OcListItem.js +5 -0
  11. package/dist/DataDisplay/OnboardingListItem/OcOnboardingListItem.js +4 -0
  12. package/dist/DataDisplay/Overview/OcOverview.js +7 -0
  13. package/dist/DataDisplay/Pagination/OcPagination.js +6 -0
  14. package/dist/DataDisplay/ProgressBar/OcProgressBar.js +4 -0
  15. package/dist/DataDisplay/Table/OcTable.js +11 -0
  16. package/dist/DataDisplay/TransferSummary/OcTransferSummary.js +4 -0
  17. package/dist/DatePicker-D3w435Ml.js +263 -0
  18. package/dist/Disclosure/Accordion/OcAccordion.js +4 -0
  19. package/dist/Disclosure/OnboardingAccordion/OnboardingAccordion.js +4 -0
  20. package/dist/Disclosure/Steps/OcSteps.js +5 -0
  21. package/dist/Disclosure/SwitchTabs/OcSwitchTabs.js +4 -0
  22. package/dist/Disclosure/Tabs/Tabs.js +5 -0
  23. package/dist/Disclosure/Variants/OcVariants.js +5 -0
  24. package/dist/Draggable.js +168 -0
  25. package/dist/Elements/AdditionalContent/OcAdditionalContent.js +5 -0
  26. package/dist/Elements/AuthenticationOption/AuthenticationOption.js +4 -0
  27. package/dist/Elements/Box/OcBox.js +4 -0
  28. package/dist/Elements/EmptyPage/OcEmptyPage.js +4 -0
  29. package/dist/Elements/FeatureOverviewCard/OcFeatureOverviewCard.js +4 -0
  30. package/dist/Elements/Header/OcHeader.js +9 -0
  31. package/dist/Elements/PageTitle/OcPageTitle.js +7 -0
  32. package/dist/Elements/SandboxBanner/OcSandboxBanner.js +4 -0
  33. package/dist/Elements/Sidebar/OcSidebar.js +6 -0
  34. package/dist/Elements/Skeleton/OcSkeleton.js +4 -0
  35. package/dist/Elements/SubSidebar/OcSubSidebar.js +4 -0
  36. package/dist/Elements/VerificationOption/OcVerificationOption.js +4 -0
  37. package/dist/EmojiPicker.js +4 -0
  38. package/dist/Feedback/Banner/OcBanner.js +4 -0
  39. package/dist/Feedback/Chip/OcChip.js +4 -0
  40. package/dist/Feedback/ShareIcon/OcShareIcon.js +4 -0
  41. package/dist/Feedback/Snackbar/OcSnackbar.js +4 -0
  42. package/dist/Feedback/Tag/OcTag.js +4 -0
  43. package/dist/Form/BaseInput/OcBaseInput.js +4 -0
  44. package/dist/Form/Button/OcButton.js +4 -0
  45. package/dist/Form/Calendar/OcCalendar.js +5 -0
  46. package/dist/Form/CardInput/OcCardInput.js +4 -0
  47. package/dist/Form/Checkbox/OcCheckbox.js +4 -0
  48. package/dist/Form/CheckboxesGroup/OcCheckboxesGroup.js +4 -0
  49. package/dist/Form/Criteria/OcCriteria.js +4 -0
  50. package/dist/Form/Cropper/OcCropper.js +4 -0
  51. package/dist/Form/DatePicker/OcDatePicker.js +4 -0
  52. package/dist/Form/EmojiPicker/OcEmojiPicker.js +4 -0
  53. package/dist/Form/EmojiPicker/conts/emoji.js +1030 -0
  54. package/dist/Form/Input/OcInput.js +6 -0
  55. package/dist/Form/LinkInput/OcLinkInput.js +4 -0
  56. package/dist/Form/MultipleUploadFile/OcMultipleUploadFile.js +4 -0
  57. package/dist/Form/NumberInput/OcNumberInput.js +4 -0
  58. package/dist/Form/PhoneInput/OcPhoneInput.js +4 -0
  59. package/dist/Form/Radio/OcRadio.js +4 -0
  60. package/dist/Form/RadioGroup/OcRadioGroup.js +4 -0
  61. package/dist/Form/RangeInput/OcRangeInput.js +4 -0
  62. package/dist/Form/SectionItem/OcSectionItem.js +4 -0
  63. package/dist/Form/Select/OcSelect.js +7 -0
  64. package/dist/Form/SelectOptions/OcSelectOptions.js +4 -0
  65. package/dist/Form/SingleFileUpload/OcSingleFileUpload.js +4 -0
  66. package/dist/Form/Slider/OcSlider.js +4 -0
  67. package/dist/Form/TextArea/OcTextArea.js +4 -0
  68. package/dist/Form/TimePicker/OcTimePicker.js +6 -0
  69. package/dist/Form/Toggle/OcToggle.js +4 -0
  70. package/dist/Form/index.js +54 -0
  71. package/dist/FormBuilder/OcFormBuilder.js +4 -0
  72. package/dist/MediaAndIcons/Avatar/OcAvatar.js +4 -0
  73. package/dist/MediaAndIcons/Icon/OcIcon.js +4 -0
  74. package/dist/OcAccordion-DdkNsXvN.js +101 -0
  75. package/dist/OcAccountSetup-BXDjf48o.js +324 -0
  76. package/dist/OcAdditionalContent-BMSysCXu.js +612 -0
  77. package/dist/OcAuthenticationOption.vue_vue_type_script_setup_true_lang-w5Y0ymGN.js +43 -0
  78. package/dist/OcAvatar-NDXQiZvz.js +41 -0
  79. package/dist/OcBanner-Cg2WJV6e.js +108 -0
  80. package/dist/OcBox.vue_vue_type_script_setup_true_lang-aB397QRg.js +43 -0
  81. package/dist/OcCardInput-BFE4Xu-S.js +75 -0
  82. package/dist/OcCheckboxesGroup-CLbquUO2.js +94 -0
  83. package/dist/OcChip-B1hm2Qni.js +144 -0
  84. package/dist/OcComplexCalendar-x-_kg9Yk.js +108 -0
  85. package/dist/OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js +1006 -0
  86. package/dist/OcConfirmationModal-BfCrRV9r.js +179 -0
  87. package/dist/OcCopyTooltip.vue_vue_type_script_setup_true_lang-S2RAfV_g.js +65 -0
  88. package/dist/OcCriteria-CpIohheZ.js +42 -0
  89. package/dist/OcCropper-31Y_S1Ne.js +240 -0
  90. package/dist/OcCustomerCard-DbDOBO03.js +160 -0
  91. package/dist/OcDraggable-BjhGJmpM.js +35 -0
  92. package/dist/OcDropdownItem-DAElmzEu.js +57 -0
  93. package/dist/OcEmojiPicker-BXm-_OGK.js +157 -0
  94. package/dist/OcEmptyPage-CTwgMzRp.js +155 -0
  95. package/dist/OcExpadingTable.vue_vue_type_script_setup_true_lang-B4HOMDBK.js +815 -0
  96. package/dist/OcFeatureOverviewCard-RVyrWLVW.js +71 -0
  97. package/dist/OcFloatContent-BIKQOxSw.js +142 -0
  98. package/dist/OcFormBuilder-CRXWtt8I.js +177 -0
  99. package/dist/OcGroupOptions-ChGJvTXl.js +16 -0
  100. package/dist/OcHorizontalProgressbar.vue_vue_type_script_setup_true_lang-4eVgPDi5.js +32 -0
  101. package/dist/OcIcon-CJgBICxh.js +63 -0
  102. package/dist/OcInfoCard-DpYUZOMZ.js +81 -0
  103. package/dist/OcInput-tcRxG3Y2.js +227 -0
  104. package/dist/OcInputOption-CncASfNt.js +160 -0
  105. package/dist/OcLinkInput-C2ixk-gk.js +143 -0
  106. package/dist/OcListDetail-6XeME6ko.js +76 -0
  107. package/dist/OcListUrl.vue_vue_type_script_setup_true_lang-BEJafLuT.js +749 -0
  108. package/dist/OcModal-DdD5VFEN.js +187 -0
  109. package/dist/OcModalCropper-D2OI2iun.js +56 -0
  110. package/dist/OcModalPage-BLVa-kcB.js +86 -0
  111. package/dist/OcMultipleUploadFile-B8Wl9Fuq.js +446 -0
  112. package/dist/OcNumberInput.vue_vue_type_script_setup_true_lang-C4EXUIUe.js +90 -0
  113. package/dist/OcOnboardingListItem.vue_vue_type_script_setup_true_lang-Cr80xmnz.js +81 -0
  114. package/dist/OcOption-DK2FBGq7.js +485 -0
  115. package/dist/OcOverviewIcon-D702Ujka.js +55 -0
  116. package/dist/OcOverviewItem-DNr5tWnt.js +186 -0
  117. package/dist/OcPageTitleRight-DMtJ1qmZ.js +243 -0
  118. package/dist/OcPaginationNumber-IKPorX26.js +172 -0
  119. package/dist/OcPaymentTab-Cna1IAhO.js +170 -0
  120. package/dist/OcPhoneInput-AC6BgQhN.js +432 -0
  121. package/dist/OcPopper-C11OgQAj.js +97 -0
  122. package/dist/OcPrimaryActions-D5IprKsQ.js +222 -0
  123. package/dist/OcProgressBar-hiyC5XSc.js +33 -0
  124. package/dist/OcRadio-CRYfNwV9.js +107 -0
  125. package/dist/OcRadioGroup-DgfdWJos.js +76 -0
  126. package/dist/OcRangeInput-C-hoHFhr.js +103 -0
  127. package/dist/OcSandboxBanner.vue_vue_type_script_setup_true_lang-BD0k_8xa.js +37 -0
  128. package/dist/OcSectionItem-BFgxO3se.js +84 -0
  129. package/dist/OcSelectOptions-BQlG_EUA.js +148 -0
  130. package/dist/OcShareIcon-BB-NPq0r.js +53 -0
  131. package/dist/OcSingleFileUpload-B8-e1H5t.js +464 -0
  132. package/dist/OcSkeleton-BdPTmGh0.js +13 -0
  133. package/dist/OcSlider-Bsi-ckbP.js +124 -0
  134. package/dist/OcSnackbar-CKxY1-ej.js +196 -0
  135. package/dist/OcSteps.vue_vue_type_script_setup_true_lang-CXGy8ma_.js +87 -0
  136. package/dist/OcSubSidebar.vue_vue_type_script_setup_true_lang-CNxgU07N.js +60 -0
  137. package/dist/OcSupportMenu.vue_vue_type_script_setup_true_lang-DrjZsWti.js +114 -0
  138. package/dist/OcSwitchTabs-CYp676bj.js +31 -0
  139. package/dist/OcTabToSelect-BHAz1Niv.js +183 -0
  140. package/dist/OcTag.vue_vue_type_script_setup_true_lang-D19lw-8Y.js +26 -0
  141. package/dist/OcTextArea-BpV1Bnj_.js +78 -0
  142. package/dist/OcTheme-CWgrJh5Q.js +25 -0
  143. package/dist/OcTimePicker-B61MCi0D.js +110 -0
  144. package/dist/OcTimePopup-zQFKCZLk.js +131 -0
  145. package/dist/OcToggle-C0wTjM_Y.js +54 -0
  146. package/dist/OcTransferSummary-Bk2GXhrT.js +67 -0
  147. package/dist/OcVariant.vue_vue_type_script_setup_true_lang-CY_82DLc.js +99 -0
  148. package/dist/OcVerificationOption.vue_vue_type_script_setup_true_lang-ChqvNoDe.js +59 -0
  149. package/dist/OcWhiteList.vue_vue_type_script_setup_true_lang-DI9pYU3w.js +64 -0
  150. package/dist/OnboardingAccordion.vue_vue_type_script_setup_true_lang-B0Z7ETmj.js +113 -0
  151. package/dist/Overlay/ConfirmationModal/OcConfirmationModal.js +4 -0
  152. package/dist/Overlay/CopyTooltip/OcCopyTooltip.js +4 -0
  153. package/dist/Overlay/Dropdown/OcDropdown.js +6 -0
  154. package/dist/Overlay/Modal/OcModal.js +6 -0
  155. package/dist/Overlay/Popper/OcPopper.js +4 -0
  156. package/dist/Overlay/SupportMenu/OcSupportMenu.js +4 -0
  157. package/dist/Overlay/Tooltip/OcTooltip.js +4 -0
  158. package/dist/Overlay/Whitelist/OcWhiteList.js +4 -0
  159. package/dist/StoreDesign.js +240 -0
  160. package/dist/Theme/OcTheme.js +4 -0
  161. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  162. package/dist/composables/helpers.js +48 -0
  163. package/dist/composables/uploadFileProgress.js +62 -0
  164. package/dist/composables/useWindowWidth.js +10 -0
  165. package/dist/data/Validator.js +5 -0
  166. package/dist/directives/clickOutside.js +13 -0
  167. package/dist/index.js +177 -1
  168. package/dist/style.css +1 -0
  169. package/package.json +23 -5
@@ -0,0 +1,170 @@
1
+ import { ref as h, computed as p, onMounted as B, watch as C, openBlock as n, createElementBlock as s, normalizeClass as u, createVNode as A, unref as S, withModifiers as I, createCommentVNode as x, createElementVNode as g, Fragment as O, renderList as P, renderSlot as M, toDisplayString as y, nextTick as q } from "vue";
2
+ import "dayjs";
3
+ import "./OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js";
4
+ import { _ as j } 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 E = ["onClick"], H = {
14
+ key: 0,
15
+ class: "bg-oc-error rounded-full h-6 w-6 flex items-center justify-center text-xs font-bold text-white px-4"
16
+ }, T = 100, z = 35, te = {
17
+ __name: "OcTabs",
18
+ props: {
19
+ variant: {
20
+ type: String,
21
+ default: "default",
22
+ validator: (e) => ["default", "pills"].includes(e)
23
+ },
24
+ tabs: Array,
25
+ modelValue: [String, Array],
26
+ maxCount: Number,
27
+ isArrows: Boolean,
28
+ direction: {
29
+ type: String,
30
+ default: "horizontal",
31
+ validator: (e) => ["horizontal", "vertical"].includes(e)
32
+ }
33
+ },
34
+ emits: {
35
+ "update:modelValue": []
36
+ },
37
+ setup(e, { emit: d }) {
38
+ const o = e, m = h(0), f = h(0), v = h(), N = d, w = p(() => o.tabs.findIndex((a) => a.value === o.modelValue)), i = p(() => o.variant === "pills"), r = p(() => o.direction === "vertical"), b = () => {
39
+ r.value ? f.value = Math.round(v.value.clientHeight / z) : f.value = Math.round(v.value.clientWidth / T);
40
+ }, V = (a) => {
41
+ var c;
42
+ const l = a === "left" ? --w.value : ++w.value, t = (c = o.tabs[l]) == null ? void 0 : c.value;
43
+ t !== void 0 && N("update:modelValue", t);
44
+ }, k = () => {
45
+ const a = o.tabs.findIndex((l) => l.value === o.modelValue);
46
+ a > -1 && q(() => {
47
+ var t;
48
+ b(), m.value = a;
49
+ const l = {};
50
+ r.value ? l.top = a * z : l.left = a * T, (t = v.value) == null || t.scroll({
51
+ ...l,
52
+ behavior: "smooth"
53
+ });
54
+ });
55
+ };
56
+ return B(() => {
57
+ b(), o.isArrows && k();
58
+ }), C(
59
+ () => o.tabs,
60
+ () => {
61
+ b();
62
+ },
63
+ {
64
+ deep: !0
65
+ }
66
+ ), C(
67
+ () => o.modelValue,
68
+ () => {
69
+ k();
70
+ }
71
+ ), (a, l) => (n(), s("div", {
72
+ id: "test",
73
+ ref_key: "tabsContainer",
74
+ ref: v,
75
+ class: u(["flex normal-case", {
76
+ "gap-x-2": i.value,
77
+ "border-b border-oc-gray-200": !i.value,
78
+ "overflow-hidden relative": e.isArrows,
79
+ "flex-col max-h-full": r.value,
80
+ "gap-y-2": i.value && r.value
81
+ }])
82
+ }, [
83
+ m.value > 0 && e.isArrows ? (n(), s("div", {
84
+ key: 0,
85
+ class: u(["sticky top-0 bottom-0 left-0 z-[1] flex items-center bg-white", { "pb-4": !i.value, "justify-center": r.value }])
86
+ }, [
87
+ A(S(j), {
88
+ name: r.value ? "chevron-up" : "chevron-left",
89
+ width: "16",
90
+ height: "16",
91
+ class: "text-oc-text-400 cursor-pointer hover:text-oc-text-500",
92
+ onClick: l[0] || (l[0] = I((t) => V("left"), ["prevent"]))
93
+ }, null, 8, ["name"])
94
+ ], 2)) : x("", !0),
95
+ g("div", {
96
+ class: u(["flex items-center", { "flex-col": r.value }])
97
+ }, [
98
+ (n(!0), s(O, null, P(e.tabs, (t) => {
99
+ var c, $;
100
+ return n(), s("div", {
101
+ key: t.value,
102
+ class: u(["relative cursor-pointer min-w-[48px] gap-x-3 items-center flex justify-center text-sm hover:text-oc-text-500", [
103
+ t.class,
104
+ i.value ? "py-2 px-3 rounded" : "px-4 pb-3 border-b-2 -mb-[1px]",
105
+ ((c = e.modelValue) == null ? void 0 : c.toString()) === (($ = t.value) == null ? void 0 : $.toString()) ? i.value ? "bg-oc-gray-200 text-oc-text-500" : "border-oc-primary-500 font-medium text-oc-text-500" : i.value ? "text-oc-text-400" : "border-transparent text-oc-text-400",
106
+ e.isArrows ? "!justify-normal !min-w-[100px]" : "",
107
+ r.value ? "!justify-start w-full py-3 px-5" : "",
108
+ r.value && e.isArrows ? "!min-h-[35px]" : ""
109
+ ]]),
110
+ onClick: (D) => a.$emit("update:modelValue", t.value)
111
+ }, [
112
+ M(a.$slots, t.value, {}, () => [
113
+ g("div", {
114
+ class: u({ truncate: e.isArrows })
115
+ }, y(t.label), 3),
116
+ t.count ? (n(), s("div", H, y(t.count > e.maxCount ? `${e.maxCount}+` : t.count), 1)) : x("", !0)
117
+ ])
118
+ ], 10, E);
119
+ }), 128))
120
+ ], 2),
121
+ f.value + m.value < e.tabs.length && e.isArrows ? (n(), s("div", {
122
+ key: 1,
123
+ class: u(["sticky top-0 bottom-0 right-0 flex items-center bg-white", {
124
+ "pb-4": !i.value,
125
+ "justify-center": r.value
126
+ }])
127
+ }, [
128
+ A(S(j), {
129
+ name: r.value ? "chevron-down" : "chevron-right",
130
+ width: "16",
131
+ height: "16",
132
+ class: "text-oc-text-400 cursor-pointer hover:text-oc-text-500",
133
+ onClick: l[1] || (l[1] = (t) => V("right"))
134
+ }, null, 8, ["name"])
135
+ ], 2)) : x("", !0)
136
+ ], 2));
137
+ }
138
+ }, L = ["src"], W = { class: "shrink-0" }, oe = {
139
+ __name: "OcPaymentTab",
140
+ props: {
141
+ tab: {
142
+ type: Object,
143
+ required: !0
144
+ },
145
+ modelValue: {
146
+ type: String,
147
+ required: !0
148
+ }
149
+ },
150
+ emits: ["update:modelValue"],
151
+ setup(e) {
152
+ return (d, o) => (n(), s("div", {
153
+ class: u(["flex items-center rounded-sm cursor-pointer text-sm p-3 gap-x-3 border h-[40px] border-oc-gray-200", { "border-oc-primary border-2 font-medium": e.modelValue === e.tab.value }]),
154
+ onClick: o[0] || (o[0] = (m) => d.$emit("update:modelValue", e.tab.value))
155
+ }, [
156
+ M(d.$slots, "logo", {}, () => [
157
+ e.tab.logo ? (n(), s("img", {
158
+ key: 0,
159
+ src: e.tab.logo,
160
+ alt: "logo"
161
+ }, null, 8, L)) : x("", !0)
162
+ ]),
163
+ g("div", W, y(e.tab.label), 1)
164
+ ], 2));
165
+ }
166
+ };
167
+ export {
168
+ te as _,
169
+ oe as a
170
+ };
@@ -0,0 +1,432 @@
1
+ import { ref as y, computed as w, openBlock as g, createBlock as E, unref as s, withCtx as m, createVNode as C, createElementVNode as a, withModifiers as v, createElementBlock as L, Fragment as K, renderList as D, normalizeClass as h, toDisplayString as M } from "vue";
2
+ import "dayjs";
3
+ import { D as k } from "./OcComplexCalendar.vue_vue_type_style_index_0_lang-CIQPD-6N.js";
4
+ import { _ as G } from "./OcIcon-CJgBICxh.js";
5
+ /* empty css */
6
+ import { _ as N } from "./OcInput-tcRxG3Y2.js";
7
+ import { preventEventIfNotNumberInput as U } from "./composables/helpers.js";
8
+ import { parsePhoneNumber as O } from "libphonenumber-js";
9
+ /* empty css */
10
+ import "v-calendar";
11
+ /* empty css */
12
+ import "./Cropper.js";
13
+ import "vue-draggable-next";
14
+ import "@popperjs/core";
15
+ const F = [
16
+ { country: "Afghanistan", code: "93", iso: "AF" },
17
+ { country: "Albania", code: "355", iso: "AL" },
18
+ { country: "Algeria", code: "213", iso: "DZ" },
19
+ { country: "American Samoa", code: "1-684", iso: "AS" },
20
+ { country: "Andorra", code: "376", iso: "AD" },
21
+ { country: "Angola", code: "244", iso: "AO" },
22
+ { country: "Anguilla", code: "1-264", iso: "AI" },
23
+ { country: "Antarctica", code: "672", iso: "AQ" },
24
+ { country: "Antigua and Barbuda", code: "1-268", iso: "AG" },
25
+ { country: "Argentina", code: "54", iso: "AR" },
26
+ { country: "Armenia", code: "374", iso: "AM" },
27
+ { country: "Aruba", code: "297", iso: "AW" },
28
+ { country: "Australia", code: "61", iso: "AU" },
29
+ { country: "Austria", code: "43", iso: "AT" },
30
+ { country: "Azerbaijan", code: "994", iso: "AZ" },
31
+ { country: "Bahamas", code: "1-242", iso: "BS" },
32
+ { country: "Bahrain", code: "973", iso: "BH" },
33
+ { country: "Bangladesh", code: "880", iso: "BD" },
34
+ { country: "Barbados", code: "1-246", iso: "BB" },
35
+ { country: "Belarus", code: "375", iso: "BY" },
36
+ { country: "Belgium", code: "32", iso: "BE" },
37
+ { country: "Belize", code: "501", iso: "BZ" },
38
+ { country: "Benin", code: "229", iso: "BJ" },
39
+ { country: "Bermuda", code: "1-441", iso: "BM" },
40
+ { country: "Bhutan", code: "975", iso: "BT" },
41
+ { country: "Bolivia", code: "591", iso: "BO" },
42
+ { country: "Bosnia and Herzegovina", code: "387", iso: "BA" },
43
+ { country: "Botswana", code: "267", iso: "BW" },
44
+ { country: "Brazil", code: "55", iso: "BR" },
45
+ { country: "British Indian Ocean Territory", code: "246", iso: "IO" },
46
+ { country: "British Virgin Islands", code: "1-284", iso: "VG" },
47
+ { country: "Brunei", code: "673", iso: "BN" },
48
+ { country: "Bulgaria", code: "359", iso: "BG" },
49
+ { country: "Burkina Faso", code: "226", iso: "BF" },
50
+ { country: "Burundi", code: "257", iso: "BI" },
51
+ { country: "Cambodia", code: "855", iso: "KH" },
52
+ { country: "Cameroon", code: "237", iso: "CM" },
53
+ { country: "Canada", code: "1", iso: "CA" },
54
+ { country: "Cape Verde", code: "238", iso: "CV" },
55
+ { country: "Cayman Islands", code: "1-345", iso: "KY" },
56
+ { country: "Central African Republic", code: "236", iso: "CF" },
57
+ { country: "Chad", code: "235", iso: "TD" },
58
+ { country: "Chile", code: "56", iso: "CL" },
59
+ { country: "China", code: "86", iso: "CN" },
60
+ { country: "Christmas Island", code: "61", iso: "CX" },
61
+ { country: "Cocos Islands", code: "61", iso: "CC" },
62
+ { country: "Colombia", code: "57", iso: "CO" },
63
+ { country: "Comoros", code: "269", iso: "KM" },
64
+ { country: "Cook Islands", code: "682", iso: "CK" },
65
+ { country: "Costa Rica", code: "506", iso: "CR" },
66
+ { country: "Croatia", code: "385", iso: "HR" },
67
+ { country: "Cuba", code: "53", iso: "CU" },
68
+ { country: "Curacao", code: "599", iso: "CW" },
69
+ { country: "Cyprus", code: "357", iso: "CY" },
70
+ { country: "Czech Republic", code: "420", iso: "CZ" },
71
+ { country: "Democratic Republic of the Congo", code: "243", iso: "CD" },
72
+ { country: "Denmark", code: "45", iso: "DK" },
73
+ { country: "Djibouti", code: "253", iso: "DJ" },
74
+ { country: "Dominica", code: "1-767", iso: "DM" },
75
+ { country: "Dominican Republic", code: "1-809, 1-829, 1-849", iso: "DO" },
76
+ { country: "East Timor", code: "670", iso: "TL" },
77
+ { country: "Ecuador", code: "593", iso: "EC" },
78
+ { country: "Egypt", code: "20", iso: "EG" },
79
+ { country: "El Salvador", code: "503", iso: "SV" },
80
+ { country: "Equatorial Guinea", code: "240", iso: "GQ" },
81
+ { country: "Eritrea", code: "291", iso: "ER" },
82
+ { country: "Estonia", code: "372", iso: "EE" },
83
+ { country: "Ethiopia", code: "251", iso: "ET" },
84
+ { country: "Falkland Islands", code: "500", iso: "FK" },
85
+ { country: "Faroe Islands", code: "298", iso: "FO" },
86
+ { country: "Fiji", code: "679", iso: "FJ" },
87
+ { country: "Finland", code: "358", iso: "FI" },
88
+ { country: "France", code: "33", iso: "FR" },
89
+ { country: "French Polynesia", code: "689", iso: "PF" },
90
+ { country: "Gabon", code: "241", iso: "GA" },
91
+ { country: "Gambia", code: "220", iso: "GM" },
92
+ { country: "Georgia", code: "995", iso: "GE" },
93
+ { country: "Germany", code: "49", iso: "DE" },
94
+ { country: "Ghana", code: "233", iso: "GH" },
95
+ { country: "Gibraltar", code: "350", iso: "GI" },
96
+ { country: "Greece", code: "30", iso: "GR" },
97
+ { country: "Greenland", code: "299", iso: "GL" },
98
+ { country: "Grenada", code: "1-473", iso: "GD" },
99
+ { country: "Guam", code: "1-671", iso: "GU" },
100
+ { country: "Guatemala", code: "502", iso: "GT" },
101
+ { country: "Guernsey", code: "44-1481", iso: "GG" },
102
+ { country: "Guinea", code: "224", iso: "GN" },
103
+ { country: "Guinea-Bissau", code: "245", iso: "GW" },
104
+ { country: "Guyana", code: "592", iso: "GY" },
105
+ { country: "Haiti", code: "509", iso: "HT" },
106
+ { country: "Honduras", code: "504", iso: "HN" },
107
+ { country: "Hong Kong", code: "852", iso: "HK" },
108
+ { country: "Hungary", code: "36", iso: "HU" },
109
+ { country: "Iceland", code: "354", iso: "IS" },
110
+ { country: "India", code: "91", iso: "IN" },
111
+ { country: "Indonesia", code: "62", iso: "ID" },
112
+ { country: "Iran", code: "98", iso: "IR" },
113
+ { country: "Iraq", code: "964", iso: "IQ" },
114
+ { country: "Ireland", code: "353", iso: "IE" },
115
+ { country: "Isle of Man", code: "44-1624", iso: "IM" },
116
+ { country: "Israel", code: "972", iso: "IL" },
117
+ { country: "Italy", code: "39", iso: "IT" },
118
+ { country: "Ivory Coast", code: "225", iso: "CI" },
119
+ { country: "Jamaica", code: "1-876", iso: "JM" },
120
+ { country: "Japan", code: "81", iso: "JP" },
121
+ { country: "Jersey", code: "44-1534", iso: "JE" },
122
+ { country: "Jordan", code: "962", iso: "JO" },
123
+ { country: "Kazakhstan", code: "7", iso: "KZ" },
124
+ { country: "Kenya", code: "254", iso: "KE" },
125
+ { country: "Kiribati", code: "686", iso: "KI" },
126
+ { country: "Kosovo", code: "383", iso: "XK" },
127
+ { country: "Kuwait", code: "965", iso: "KW" },
128
+ { country: "Kyrgyzstan", code: "996", iso: "KG" },
129
+ { country: "Laos", code: "856", iso: "LA" },
130
+ { country: "Latvia", code: "371", iso: "LV" },
131
+ { country: "Lebanon", code: "961", iso: "LB" },
132
+ { country: "Lesotho", code: "266", iso: "LS" },
133
+ { country: "Liberia", code: "231", iso: "LR" },
134
+ { country: "Libya", code: "218", iso: "LY" },
135
+ { country: "Liechtenstein", code: "423", iso: "LI" },
136
+ { country: "Lithuania", code: "370", iso: "LT" },
137
+ { country: "Luxembourg", code: "352", iso: "LU" },
138
+ { country: "Macao", code: "853", iso: "MO" },
139
+ { country: "Macedonia", code: "389", iso: "MK" },
140
+ { country: "Madagascar", code: "261", iso: "MG" },
141
+ { country: "Malawi", code: "265", iso: "MW" },
142
+ { country: "Malaysia", code: "60", iso: "MY" },
143
+ { country: "Maldives", code: "960", iso: "MV" },
144
+ { country: "Mali", code: "223", iso: "ML" },
145
+ { country: "Malta", code: "356", iso: "MT" },
146
+ { country: "Marshall Islands", code: "692", iso: "MH" },
147
+ { country: "Mauritania", code: "222", iso: "MR" },
148
+ { country: "Mauritius", code: "230", iso: "MU" },
149
+ { country: "Mayotte", code: "262", iso: "YT" },
150
+ { country: "Mexico", code: "52", iso: "MX" },
151
+ { country: "Micronesia", code: "691", iso: "FM" },
152
+ { country: "Moldova", code: "373", iso: "MD" },
153
+ { country: "Monaco", code: "377", iso: "MC" },
154
+ { country: "Mongolia", code: "976", iso: "MN" },
155
+ { country: "Montenegro", code: "382", iso: "ME" },
156
+ { country: "Montserrat", code: "1-664", iso: "MS" },
157
+ { country: "Morocco", code: "212", iso: "MA" },
158
+ { country: "Mozambique", code: "258", iso: "MZ" },
159
+ { country: "Myanmar", code: "95", iso: "MM" },
160
+ { country: "Namibia", code: "264", iso: "NA" },
161
+ { country: "Nauru", code: "674", iso: "NR" },
162
+ { country: "Nepal", code: "977", iso: "NP" },
163
+ { country: "Netherlands", code: "31", iso: "NL" },
164
+ { country: "Netherlands Antilles", code: "599", iso: "AN" },
165
+ { country: "New Caledonia", code: "687", iso: "NC" },
166
+ { country: "New Zealand", code: "64", iso: "NZ" },
167
+ { country: "Nicaragua", code: "505", iso: "NI" },
168
+ { country: "Niger", code: "227", iso: "NE" },
169
+ { country: "Nigeria", code: "234", iso: "NG" },
170
+ { country: "Niue", code: "683", iso: "NU" },
171
+ { country: "North Korea", code: "850", iso: "KP" },
172
+ { country: "Northern Mariana Islands", code: "1-670", iso: "MP" },
173
+ { country: "Norway", code: "47", iso: "NO" },
174
+ { country: "Oman", code: "968", iso: "OM" },
175
+ { country: "Pakistan", code: "92", iso: "PK" },
176
+ { country: "Palau", code: "680", iso: "PW" },
177
+ { country: "Palestine", code: "970", iso: "PS" },
178
+ { country: "Panama", code: "507", iso: "PA" },
179
+ { country: "Papua New Guinea", code: "675", iso: "PG" },
180
+ { country: "Paraguay", code: "595", iso: "PY" },
181
+ { country: "Peru", code: "51", iso: "PE" },
182
+ { country: "Philippines", code: "63", iso: "PH" },
183
+ { country: "Pitcairn", code: "64", iso: "PN" },
184
+ { country: "Poland", code: "48", iso: "PL" },
185
+ { country: "Portugal", code: "351", iso: "PT" },
186
+ { country: "Puerto Rico", code: "1-787, 1-939", iso: "PR" },
187
+ { country: "Qatar", code: "974", iso: "QA" },
188
+ { country: "Republic of the Congo", code: "242", iso: "CG" },
189
+ { country: "Reunion", code: "262", iso: "RE" },
190
+ { country: "Romania", code: "40", iso: "RO" },
191
+ { country: "Russia", code: "7", iso: "RU" },
192
+ { country: "Rwanda", code: "250", iso: "RW" },
193
+ { country: "Saint Barthelemy", code: "590", iso: "BL" },
194
+ { country: "Saint Helena", code: "290", iso: "SH" },
195
+ { country: "Saint Kitts and Nevis", code: "1-869", iso: "KN" },
196
+ { country: "Saint Lucia", code: "1-758", iso: "LC" },
197
+ { country: "Saint Martin", code: "590", iso: "MF" },
198
+ { country: "Saint Pierre and Miquelon", code: "508", iso: "PM" },
199
+ { country: "Saint Vincent and the Grenadines", code: "1-784", iso: "VC" },
200
+ { country: "Samoa", code: "685", iso: "WS" },
201
+ { country: "San Marino", code: "378", iso: "SM" },
202
+ { country: "Sao Tome and Principe", code: "239", iso: "ST" },
203
+ { country: "Saudi Arabia", code: "966", iso: "SA" },
204
+ { country: "Senegal", code: "221", iso: "SN" },
205
+ { country: "Serbia", code: "381", iso: "RS" },
206
+ { country: "Seychelles", code: "248", iso: "SC" },
207
+ { country: "Sierra Leone", code: "232", iso: "SL" },
208
+ { country: "Singapore", code: "65", iso: "SG" },
209
+ { country: "Sint Maarten", code: "1-721", iso: "SX" },
210
+ { country: "Slovakia", code: "421", iso: "SK" },
211
+ { country: "Slovenia", code: "386", iso: "SI" },
212
+ { country: "Solomon Islands", code: "677", iso: "SB" },
213
+ { country: "Somalia", code: "252", iso: "SO" },
214
+ { country: "South Africa", code: "27", iso: "ZA" },
215
+ { country: "South Korea", code: "82", iso: "KR" },
216
+ { country: "South Sudan", code: "211", iso: "SS" },
217
+ { country: "Spain", code: "34", iso: "ES" },
218
+ { country: "Sri Lanka", code: "94", iso: "LK" },
219
+ { country: "Sudan", code: "249", iso: "SD" },
220
+ { country: "Suriname", code: "597", iso: "SR" },
221
+ { country: "Svalbard and Jan Mayen", code: "47", iso: "SJ" },
222
+ { country: "Swaziland", code: "268", iso: "SZ" },
223
+ { country: "Sweden", code: "46", iso: "SE" },
224
+ { country: "Switzerland", code: "41", iso: "CH" },
225
+ { country: "Syria", code: "963", iso: "SY" },
226
+ { country: "Taiwan", code: "886", iso: "TW" },
227
+ { country: "Tajikistan", code: "992", iso: "TJ" },
228
+ { country: "Tanzania", code: "255", iso: "TZ" },
229
+ { country: "Thailand", code: "66", iso: "TH" },
230
+ { country: "Togo", code: "228", iso: "TG" },
231
+ { country: "Tokelau", code: "690", iso: "TK" },
232
+ { country: "Tonga", code: "676", iso: "TO" },
233
+ { country: "Trinidad and Tobago", code: "1-868", iso: "TT" },
234
+ { country: "Tunisia", code: "216", iso: "TN" },
235
+ { country: "Turkey", code: "90", iso: "TR" },
236
+ { country: "Turkmenistan", code: "993", iso: "TM" },
237
+ { country: "Turks and Caicos Islands", code: "1-649", iso: "TC" },
238
+ { country: "Tuvalu", code: "688", iso: "TV" },
239
+ { country: "U.S. Virgin Islands", code: "1-340", iso: "VI" },
240
+ { country: "Uganda", code: "256", iso: "UG" },
241
+ { country: "Ukraine", code: "380", iso: "UA" },
242
+ { country: "United Arab Emirates", code: "971", iso: "AE" },
243
+ { country: "United Kingdom", code: "44", iso: "GB" },
244
+ { country: "United States", code: "1", iso: "US" },
245
+ { country: "Uruguay", code: "598", iso: "UY" },
246
+ { country: "Uzbekistan", code: "998", iso: "UZ" },
247
+ { country: "Vanuatu", code: "678", iso: "VU" },
248
+ { country: "Vatican", code: "379", iso: "VA" },
249
+ { country: "Venezuela", code: "58", iso: "VE" },
250
+ { country: "Vietnam", code: "84", iso: "VN" },
251
+ { country: "Wallis and Futuna", code: "681", iso: "WF" },
252
+ { country: "Western Sahara", code: "212", iso: "EH" },
253
+ { country: "Yemen", code: "967", iso: "YE" },
254
+ { country: "Zambia", code: "260", iso: "ZM" },
255
+ { country: "Zimbabwe", code: "263", iso: "ZW" }
256
+ ], H = { class: "flex gap-x-2 items-center" }, Z = { class: "text-oc-text-400 font-medium text-sm" }, z = { class: "px-3 py-1 sticky top-0 bg-oc-bg-light z-[1000]" }, J = ["onClick"], W = { class: "text-oc-text-300" }, Y = { class: "text-oc-text-400" }, uo = {
257
+ __name: "OcPhoneInput",
258
+ props: {
259
+ countryCodes: { type: Array, default: () => F },
260
+ initialCountryCode: {
261
+ type: String,
262
+ default: "sg"
263
+ },
264
+ errorMessage: String,
265
+ modelValue: {
266
+ type: Array,
267
+ default: () => ["sg", ""]
268
+ },
269
+ placeholder: String,
270
+ hint: String,
271
+ label: String,
272
+ isInlineLabel: Boolean,
273
+ isDisabled: Boolean,
274
+ shouldParseCountryCode: Boolean,
275
+ isRequired: {
276
+ type: Boolean,
277
+ default: !1
278
+ },
279
+ labelIcon: {
280
+ type: String,
281
+ default: ""
282
+ },
283
+ tooltipText: {
284
+ type: String,
285
+ default: ""
286
+ },
287
+ tooltipOptions: {
288
+ type: Object,
289
+ default: () => ({})
290
+ }
291
+ },
292
+ emits: {
293
+ "update:modelValue": []
294
+ },
295
+ setup(n, { emit: V }) {
296
+ const t = n, u = V;
297
+ let f = t.initialCountryCode;
298
+ if (t.modelValue && t.modelValue[0]) {
299
+ const e = t.countryCodes.find((o) => o.code === t.modelValue[0].toString());
300
+ e && (f = e.iso.toLowerCase());
301
+ }
302
+ const i = y(f), p = y(!1), S = y(""), b = w(
303
+ () => t.countryCodes.filter((e) => e.country.toLowerCase().includes(S.value.toLowerCase())).sort((e, o) => e.country.localeCompare(o.country))
304
+ ), I = (e) => t.countryCodes.find((o) => o.iso.toLowerCase() === e.toLowerCase()) || null, d = (e) => {
305
+ var o;
306
+ return ((o = I(e)) == null ? void 0 : o.code) || "";
307
+ }, x = (e) => {
308
+ u("update:modelValue", [d(i.value), e]);
309
+ }, B = (e, o, r = null) => {
310
+ var c;
311
+ i.value = e.toLowerCase(), u("update:modelValue", [o, r || ((c = t.modelValue) == null ? void 0 : c[1]) || ""]), p.value = !1;
312
+ }, T = y(null), A = y([]), P = () => {
313
+ setTimeout(() => {
314
+ const e = b.value.indexOf(
315
+ I(i.value)
316
+ ), r = A.value[e].offsetTop;
317
+ T.value.scrollTo(0, r - 60, { behavior: "smooth" });
318
+ }, 10);
319
+ }, R = (e) => {
320
+ let o = e.clipboardData.getData("Text");
321
+ try {
322
+ if (o.search(/[^0-9]/g) < 0)
323
+ if (o = o.slice(0, 19), o.length > 5 && t.shouldParseCountryCode) {
324
+ const { nationalNumber: r, countryCallingCode: c, country: l } = O(
325
+ "+" + o.replace("+", "")
326
+ );
327
+ c && l ? B(l, c, r) : u("update:modelValue", [d(i.value), r]);
328
+ } else
329
+ u("update:modelValue", [d(i.value), o]);
330
+ } catch {
331
+ u("update:modelValue", [d(i.value), o]);
332
+ }
333
+ e.preventDefault();
334
+ };
335
+ return (e, o) => {
336
+ var r;
337
+ return g(), E(s(N), {
338
+ "error-message": n.errorMessage,
339
+ "model-value": ((r = n.modelValue) == null ? void 0 : r[1]) || "",
340
+ placeholder: n.placeholder,
341
+ label: n.label,
342
+ "is-inline-label": n.isInlineLabel,
343
+ disabled: n.isDisabled,
344
+ hint: n.hint,
345
+ "is-required": n.isRequired,
346
+ "label-icon": n.labelIcon,
347
+ "tooltip-text": n.tooltipText,
348
+ "tooltip-options": n.tooltipOptions,
349
+ onPaste: R,
350
+ onKeydown: s(U),
351
+ "onUpdate:modelValue": x
352
+ }, {
353
+ trailing: m(() => [
354
+ C(s(k), {
355
+ modelValue: p.value,
356
+ "onUpdate:modelValue": [
357
+ o[3] || (o[3] = (c) => p.value = c),
358
+ P
359
+ ],
360
+ distance: 10,
361
+ placement: "bottom-start"
362
+ }, {
363
+ menu: m(() => [
364
+ a("div", {
365
+ ref_key: "countryListRef",
366
+ ref: T,
367
+ class: "flex flex-col max-h-[300px] py-2 overflow-y-scroll hidden-scrollbar"
368
+ }, [
369
+ a("div", z, [
370
+ C(s(N), {
371
+ modelValue: S.value,
372
+ "onUpdate:modelValue": o[0] || (o[0] = (c) => S.value = c),
373
+ icon: "search",
374
+ placeholder: "Search",
375
+ onKeydown: o[1] || (o[1] = v(() => {
376
+ }, ["stop"])),
377
+ onClick: o[2] || (o[2] = v(() => {
378
+ }, ["stop"]))
379
+ }, {
380
+ icon: m(() => [
381
+ C(s(G), {
382
+ class: "w-5 h-5 text-oc-text-400",
383
+ name: "search"
384
+ })
385
+ ]),
386
+ _: 1
387
+ }, 8, ["modelValue"])
388
+ ]),
389
+ (g(!0), L(K, null, D(b.value, (c, l) => (g(), L("div", {
390
+ ref_for: !0,
391
+ ref_key: "countryListItemRef",
392
+ ref: A,
393
+ key: l,
394
+ class: h([
395
+ "py-3 px-4 flex gap-x-4 items-center hover:bg-oc-gray-50 cursor-pointer",
396
+ i.value === c.iso.toLowerCase() ? "bg-oc-gray-50 font-medium" : ""
397
+ ]),
398
+ onClick: (q) => B(c.iso, c.code)
399
+ }, [
400
+ a("div", {
401
+ class: h(["fi !w-[20px] !h-[15px] !rounded-[2px] shadow-md", `fi-${c.iso.toLowerCase()}`])
402
+ }, null, 2),
403
+ a("span", W, "+" + M(c.code), 1),
404
+ a("span", Y, M(c.country), 1)
405
+ ], 10, J))), 128))
406
+ ], 512)
407
+ ]),
408
+ default: m(() => [
409
+ a("div", H, [
410
+ a("div", {
411
+ class: h(["fi !w-[20px] !h-[15px] !rounded-[2px] shadow-md", `fi-${i.value}`])
412
+ }, null, 2),
413
+ a("span", Z, " +" + M(d(i.value)), 1),
414
+ C(s(G), {
415
+ width: "16",
416
+ height: "16",
417
+ class: "text-oc-text-400",
418
+ name: "chevron-down"
419
+ })
420
+ ])
421
+ ]),
422
+ _: 1
423
+ }, 8, ["modelValue"])
424
+ ]),
425
+ _: 1
426
+ }, 8, ["error-message", "model-value", "placeholder", "label", "is-inline-label", "disabled", "hint", "is-required", "label-icon", "tooltip-text", "tooltip-options", "onKeydown"]);
427
+ };
428
+ }
429
+ };
430
+ export {
431
+ uo as _
432
+ };