@orchidui/core 1.19.0 → 1.20.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 (95) hide show
  1. package/dist/DataDisplay/CustomerCard/OcCustomerCard.js +1 -1
  2. package/dist/DataDisplay/FloatContent/OcFloatContent.js +1 -1
  3. package/dist/DataDisplay/HorizontalProgressbar/OcHorizontalProgressbar.js +1 -1
  4. package/dist/DataDisplay/InfoCard/OcInfoCard.js +1 -1
  5. package/dist/DataDisplay/ListDetail/OcListDetail.js +1 -1
  6. package/dist/DataDisplay/ListItem/OcListItem.js +1 -1
  7. package/dist/DataDisplay/NewTable/OcNewTable.js +4 -0
  8. package/dist/DataDisplay/OnboardingListItem/OcOnboardingListItem.js +1 -1
  9. package/dist/DataDisplay/Overview/OcOverview.js +1 -1
  10. package/dist/DataDisplay/Pagination/OcPagination.js +1 -1
  11. package/dist/DataDisplay/Table/OcTable.js +1 -1
  12. package/dist/DataDisplay/TransferSummary/OcTransferSummary.js +1 -1
  13. package/dist/DataTable/useDataTable.js +94 -57
  14. package/dist/Disclosure/Accordion/OcAccordion.js +1 -1
  15. package/dist/Disclosure/OnboardingAccordion/OnboardingAccordion.js +1 -1
  16. package/dist/Disclosure/Steps/OcSteps.js +1 -1
  17. package/dist/Disclosure/Tabs/Tabs.js +1 -1
  18. package/dist/Disclosure/Variants/OcVariants.js +1 -1
  19. package/dist/Elements/AdditionalContent/OcAdditionalContent.js +1 -1
  20. package/dist/Elements/AuthenticationOption/AuthenticationOption.js +1 -1
  21. package/dist/Elements/Box/OcBox.js +1 -1
  22. package/dist/Elements/EmptyPage/OcEmptyPage.js +1 -1
  23. package/dist/Elements/FeatureOverviewCard/OcFeatureOverviewCard.js +1 -1
  24. package/dist/Elements/Header/OcHeader.js +1 -1
  25. package/dist/Elements/PageTitle/OcPageTitle.js +1 -1
  26. package/dist/Elements/SandboxBanner/OcSandboxBanner.js +1 -1
  27. package/dist/Elements/Sidebar/OcSidebar.js +3 -3
  28. package/dist/Elements/SubSidebar/OcSubSidebar.js +1 -1
  29. package/dist/Elements/TopBanner/OcTopBanner.js +2 -2
  30. package/dist/Elements/VerificationOption/OcVerificationOption.js +2 -2
  31. package/dist/Feedback/Banner/OcBanner.js +1 -1
  32. package/dist/Feedback/Chip/OcChip.js +1 -1
  33. package/dist/Feedback/ShareIcon/OcShareIcon.js +1 -1
  34. package/dist/Feedback/Snackbar/OcSnackbar.js +1 -1
  35. package/dist/Feedback/Tag/OcTag.js +1 -1
  36. package/dist/Form/BaseInput/OcBaseInput.js +1 -1
  37. package/dist/Form/Button/OcButton.js +1 -1
  38. package/dist/Form/Calendar/OcCalendar.js +1 -1
  39. package/dist/Form/CardInput/OcCardInput.js +1 -1
  40. package/dist/Form/Checkbox/OcCheckbox.js +1 -1
  41. package/dist/Form/CheckboxesGroup/OcCheckboxesGroup.js +1 -1
  42. package/dist/Form/Criteria/OcCriteria.js +1 -1
  43. package/dist/Form/Cropper/OcCropper.js +1 -1
  44. package/dist/Form/DatePicker/OcDatePicker.js +1 -1
  45. package/dist/Form/EmojiPicker/OcEmojiPicker.js +1 -1
  46. package/dist/Form/Input/OcInput.js +1 -1
  47. package/dist/Form/LinkInput/OcLinkInput.js +1 -1
  48. package/dist/Form/MultipleUploadFile/OcMultipleUploadFile.js +1 -1
  49. package/dist/Form/NumberInput/OcNumberInput.js +1 -1
  50. package/dist/Form/PhoneInput/OcPhoneInput.js +1 -1
  51. package/dist/Form/Radio/OcRadio.js +1 -1
  52. package/dist/Form/RadioGroup/OcRadioGroup.js +1 -1
  53. package/dist/Form/RangeInput/OcRangeInput.js +1 -1
  54. package/dist/Form/SectionItem/OcSectionItem.js +1 -1
  55. package/dist/Form/Select/OcSelect.js +1 -1
  56. package/dist/Form/SelectOptions/OcSelectOptions.js +1 -1
  57. package/dist/Form/SingleFileUpload/OcSingleFileUpload.js +1 -1
  58. package/dist/Form/Slider/OcSlider.js +1 -1
  59. package/dist/Form/TextArea/OcTextArea.js +1 -1
  60. package/dist/Form/index.js +1 -1
  61. package/dist/FormBuilder/OcFormBuilder.js +1 -1
  62. package/dist/MediaAndIcons/Icon/OcIcon.js +1 -1
  63. package/dist/{OcAccountSetupProgress-BrFh0gV6.js → OcAccountSetupProgress-Bbhe6d9L.js} +2 -2
  64. package/dist/{OcComplexCalendar-H9AVEnPx.js → OcComplexCalendar-D8HrQXAa.js} +1 -1
  65. package/dist/{OcComplexDatePicker-DP29N26v.js → OcComplexDatePicker-CSMoghp5.js} +1 -1
  66. package/dist/{OcCropper-DiHMNZNd.js → OcCropper-CziGYVsj.js} +6 -6
  67. package/dist/OcDataTable-burJz9P_.js +582 -0
  68. package/dist/{OcDraggableList-DE5TsIZD.js → OcDraggableList-WAUxd-qH.js} +11 -11
  69. package/dist/{OcEmojiPicker-DKWtyTsI.js → OcEmojiPicker-BS7x4tBq.js} +6 -6
  70. package/dist/{OcFilterForm-DcVtNrT1.js → OcFilterForm-BZs_PStS.js} +1 -1
  71. package/dist/OcFilterSearch-Dobj7z1m.js +124 -0
  72. package/dist/{OcFilterSearchFor-CqsuXADi.js → OcFilterSearchFor-DBSIL8WM.js} +3 -3
  73. package/dist/OcHorizontalProgressbar-DapCdBDF.js +32 -0
  74. package/dist/OcIcon-CxreweI4.js +57 -0
  75. package/dist/{OcModalCropper-DxkU7yZh.js → OcModalCropper-NI4pQKOh.js} +7 -7
  76. package/dist/{OcTag.vue_vue_type_script_setup_true_lang-CzJFcg8l.js → OcTag-CuzgktNM.js} +7 -7
  77. package/dist/{OcTimePicker-BX6AF_Su.js → OcTimePicker-DQ_IoL_D.js} +1 -1
  78. package/dist/Overlay/ConfirmationModal/OcConfirmationModal.js +1 -1
  79. package/dist/Overlay/CopyTooltip/OcCopyTooltip.js +1 -1
  80. package/dist/Overlay/Dropdown/OcDropdown.js +1 -1
  81. package/dist/Overlay/Modal/OcModal.js +1 -1
  82. package/dist/Overlay/SupportMenu/OcSupportMenu.js +1 -1
  83. package/dist/Overlay/Tooltip/OcTooltip.js +1 -1
  84. package/dist/Overlay/Whitelist/OcWhiteList.js +1 -1
  85. package/dist/{SubPlanCard-BhKyfET3.js → SubPlanCard-BD0Ybr5h.js} +2 -2
  86. package/dist/{ThumbnailSection-CZPxt9Vt.js → ThumbnailSection-2BeOQmy0.js} +1 -1
  87. package/dist/{ThumbnailTheme-B8th9EGc.js → ThumbnailTheme-SRpmGqlo.js} +2 -2
  88. package/dist/core.css +1 -1
  89. package/dist/{index-d52sus6s.js → index-BhHJ45f7.js} +3509 -3088
  90. package/dist/index.js +87 -86
  91. package/package.json +1 -1
  92. package/dist/OcDataTable-DqKIOr6d.js +0 -557
  93. package/dist/OcFilterSearch-B7mIHuKn.js +0 -112
  94. package/dist/OcHorizontalProgressbar.vue_vue_type_script_setup_true_lang-C-8H1oP2.js +0 -32
  95. package/dist/OcIcon-CBf___w1.js +0 -64
@@ -1,4 +1,4 @@
1
- import { _ as e, B as t, o, a as p, C as n, b as i, c as r, p as u, l, d as I, e as d, m as c, t as C, N as S, k as g, f as k, g as m, h as x, i as b, q as h, j as O, r as f, s as B, S as G, n as R } from "../index-d52sus6s.js";
1
+ import { _ as e, B as t, o, a as p, C as n, b as i, c as r, p as u, l, d as I, e as d, m as c, t as C, N as S, k as g, f as k, g as m, h as x, i as b, q as h, j as O, r as f, s as B, S as G, n as R } from "../index-BhHJ45f7.js";
2
2
  import { T as F } from "../OcToggle-DOfA-DZ8.js";
3
3
  export {
4
4
  e as BaseInput,
@@ -1,4 +1,4 @@
1
- import { u as e } from "../index-d52sus6s.js";
1
+ import { u as e } from "../index-BhHJ45f7.js";
2
2
  export {
3
3
  e as FormBuilder
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as a } from "../../OcIcon-CBf___w1.js";
1
+ import { _ as a } from "../../OcIcon-CxreweI4.js";
2
2
  export {
3
3
  a as Icon
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock as r, openBlock as n, createElementVNode as e, createVNode as o, createTextVNode as d, unref as l, toDisplayString as a, normalizeStyle as u } from "vue";
2
- import "./index-d52sus6s.js";
3
- import { _ as c } from "./OcIcon-CBf___w1.js";
2
+ import "./index-BhHJ45f7.js";
3
+ import { _ as c } from "./OcIcon-CxreweI4.js";
4
4
  const x = { class: "border relative z-10 border-oc-gray-200 shadow-normal bg-white rounded p-2 flex flex-col gap-y-2" }, p = { class: "py-2 px-3 gap-x-3 flex items-center" }, f = { class: "text-base flex-1 font-medium flex items-center gap-x-2" }, m = { class: "px-3 pb-3 flex flex-col gap-y-3" }, h = { class: "relative bg-oc-accent-1-50 rounded-full h-2" }, _ = { class: "flex items-center gap-x-3" }, g = { class: "text-sm text-oc-text-400" }, N = {
5
5
  __name: "OcAccountSetupProgress",
6
6
  props: {
@@ -1,7 +1,7 @@
1
1
  import { ref as x, createElementBlock as o, openBlock as n, createElementVNode as b, createCommentVNode as i, createVNode as d, Fragment as V, renderList as v, normalizeClass as k, unref as a, toDisplayString as p, mergeProps as m } from "vue";
2
2
  import { DatePicker as B } from "v-calendar";
3
3
  import r from "dayjs";
4
- import { B as f } from "./index-d52sus6s.js";
4
+ import { B as f } from "./index-BhHJ45f7.js";
5
5
  const C = { class: "flex flex-col p-6 gap-y-7 w-fit shadow-normal rounded" }, h = { class: "flex gap-x-7" }, M = {
6
6
  key: 0,
7
7
  class: "flex flex-col py-2 gap-y-4"
@@ -1,5 +1,5 @@
1
1
  import { ref as s, createBlock as d, openBlock as m, unref as t, withCtx as l, createVNode as n } from "vue";
2
- import { aG as c, _ as f, az as b, d as p, aH as V } from "./index-d52sus6s.js";
2
+ import { aH as c, _ as f, aA as b, d as p, aI as V } from "./index-BhHJ45f7.js";
3
3
  import r from "dayjs";
4
4
  const x = {
5
5
  __name: "OcComplexDatePicker",
@@ -1,7 +1,7 @@
1
1
  import { ref as u, watch as D, nextTick as J, createElementBlock as h, openBlock as o, createElementVNode as m, createBlock as r, unref as a, createCommentVNode as s, Fragment as K, createVNode as g, withCtx as T } from "vue";
2
- import { B as k, d as x, C as y, h as M, aE as P } from "./index-d52sus6s.js";
2
+ import { B as k, d as x, C as y, h as M, aF as P } from "./index-BhHJ45f7.js";
3
3
  import { Cropper as Q } from "vue-advanced-cropper";
4
- import { _ as W } from "./OcIcon-CBf___w1.js";
4
+ import { _ as W } from "./OcIcon-CxreweI4.js";
5
5
  const X = { class: "flex flex-col gap-y-5" }, Y = ["src"], Z = { class: "flex gap-x-1 justify-center relative" }, _ = { class: "grid grid-cols-2 gap-4" }, ee = {
6
6
  key: 1,
7
7
  class: "flex items-center gap-x-2 justify-normal"
@@ -18,8 +18,8 @@ const X = { class: "flex flex-col gap-y-5" }, Y = ["src"], Z = { class: "flex ga
18
18
  }
19
19
  },
20
20
  emits: ["changeImage", "update:input-options"],
21
- setup(i, { emit: q }) {
22
- const f = i, w = q, d = u(), V = u(), p = u(""), C = u(), O = u(!1), n = u(f.inputOptionValues ?? {});
21
+ setup(i, { emit: F }) {
22
+ const f = i, w = F, d = u(), V = u(), p = u(""), C = u(), O = u(!1), n = u(f.inputOptionValues ?? {});
23
23
  D(
24
24
  () => f.inputOptionValues,
25
25
  () => {
@@ -42,7 +42,7 @@ const X = { class: "flex flex-col gap-y-5" }, Y = ["src"], Z = { class: "flex ga
42
42
  },
43
43
  { immediate: !0 }
44
44
  );
45
- const F = () => {
45
+ const q = () => {
46
46
  if (p.value && O.value) {
47
47
  const { canvas: l } = d.value.getResult(), e = !(d.value.image.width === l.width && d.value.image.height === l.height && !d.value.imageTransforms.rotate);
48
48
  w("changeImage", {
@@ -94,7 +94,7 @@ const X = { class: "flex flex-col gap-y-5" }, Y = ["src"], Z = { class: "flex ga
94
94
  "resize-image": { wheel: !1 },
95
95
  "background-class": "cropper-background",
96
96
  "default-size": H,
97
- onChange: F
97
+ onChange: q
98
98
  }, null, 8, ["src"])) : (o(), h("img", {
99
99
  key: 1,
100
100
  class: "w-full",
@@ -0,0 +1,582 @@
1
+ import { ref as $, onMounted as Te, createBlock as L, openBlock as r, unref as u, withCtx as w, createVNode as j, createElementVNode as q, createElementBlock as h, createCommentVNode as y, mergeProps as Ce, Fragment as re, renderList as de, normalizeClass as ve, toDisplayString as Pe, computed as S, watch as ne, nextTick as nl, renderSlot as A, resolveDynamicComponent as dl, createSlots as vl, normalizeProps as Ae, guardReactiveProps as Le } from "vue";
2
+ import { aA as Ke, B as Ie, C as cl, D as ml, L as pl, $ as fl, aL as yl, aM as gl, aN as bl, I as kl, J as je, j as hl } from "./index-BhHJ45f7.js";
3
+ import { useDataTable as xl } from "./DataTable/useDataTable.js";
4
+ import { VueDraggableNext as Be } from "vue-draggable-next";
5
+ import { getFromLocalStorage as Ne, formatHeadersFromLocalStorage as qe, formatHeadersToLocalStorage as wl, setInLocalStorage as Sl } from "./DataTable/utils/editColumnsUtils.js";
6
+ import { _ as Ue } from "./OcIcon-CxreweI4.js";
7
+ import { formatFilterDisplay as $l, clearAllFilters as Fl } from "./DataTable/utils/filterUtils.js";
8
+ import { formatCustomItemsPerPageOptions as Ol, getItemsPerPageOptions as Vl } from "./DataTable/utils/paginationUtils.js";
9
+ import "dayjs";
10
+ const Dl = { class: "p-5 gap-y-4 text-sm flex w-[250px] flex-col" }, El = {
11
+ key: 0,
12
+ class: "gap-y-2 flex flex-col border-b pb-3 border-oc-gray-200"
13
+ }, Cl = { class: "gap-y-2 flex flex-col" }, Pl = {
14
+ key: 0,
15
+ class: "flex items-center bg-white justify-between h-[26px]"
16
+ }, Al = { class: "flex items-center w-full gap-x-3" }, Ll = { class: "truncate w-full max-w-[160px]" }, jl = {
17
+ __name: "ColumnEdit",
18
+ props: {
19
+ options: {
20
+ type: Object,
21
+ default: () => ({})
22
+ },
23
+ headers: {
24
+ type: Array,
25
+ default: () => []
26
+ },
27
+ localKey: {
28
+ type: String,
29
+ default: ""
30
+ }
31
+ },
32
+ emits: ["change-active", "onMoved", "update-order"],
33
+ setup(F, { emit: se }) {
34
+ const oe = se, i = F, g = $([]), d = $([]), T = $(!1), O = {
35
+ handle: ".drag-el",
36
+ filter: ".is-disabled",
37
+ group: "headers",
38
+ animation: 500,
39
+ forceFallback: !1,
40
+ move: (E) => E.to.dataset.activeHeaders ? !0 : !!E.draggedContext.futureIndex,
41
+ "onUpdate:modelValue": () => K()
42
+ }, K = (E = !1) => {
43
+ d.value = d.value.map((o) => ({
44
+ ...o,
45
+ isActive: !0
46
+ })), oe("update-order", {
47
+ fixedHeaders: d.value,
48
+ activeHeaders: g.value,
49
+ isOnMount: E
50
+ });
51
+ };
52
+ return Te(() => {
53
+ const E = Ne(i.localKey), { fixed: o, active: v } = qe(E, i.headers, i.localKey);
54
+ d.value = o || i.headers.slice(0, 1), g.value = v || i.headers.slice(1).map((C) => {
55
+ var ee, le, ae;
56
+ return {
57
+ ...C,
58
+ isActive: ((ae = (le = (ee = i.options) == null ? void 0 : ee.active) == null ? void 0 : le.find((ie) => ie.key === C.key)) == null ? void 0 : ae.isActive) ?? !0
59
+ };
60
+ }), K(!0);
61
+ }), (E, o) => (r(), L(u(Ke), {
62
+ modelValue: T.value,
63
+ "onUpdate:modelValue": o[3] || (o[3] = (v) => T.value = v),
64
+ "is-attach-to-body": ""
65
+ }, {
66
+ menu: w(() => [
67
+ q("div", Dl, [
68
+ d.value.length ? (r(), h("div", El, [
69
+ o[4] || (o[4] = q("span", { class: "text-oc-text-400 font-medium" }, "Fixed columns", -1)),
70
+ j(u(Be), Ce({
71
+ key: "key",
72
+ modelValue: d.value,
73
+ "onUpdate:modelValue": o[0] || (o[0] = (v) => d.value = v)
74
+ }, O), {
75
+ default: w(() => [
76
+ (r(!0), h(re, null, de(d.value, (v, C) => (r(), h("div", {
77
+ key: v.key,
78
+ class: ve(["flex items-center justify-between h-[26px]", C ? "" : "is-disabled"])
79
+ }, [
80
+ q("span", null, Pe(v.label), 1),
81
+ C ? (r(), L(u(Ue), {
82
+ key: 0,
83
+ width: "18",
84
+ height: "18",
85
+ class: "text-oc-text-400 drag-el cursor-move",
86
+ name: "draggable"
87
+ })) : y("", !0)
88
+ ], 2))), 128))
89
+ ]),
90
+ _: 1
91
+ }, 16, ["modelValue"])
92
+ ])) : y("", !0),
93
+ q("div", Cl, [
94
+ o[5] || (o[5] = q("span", { class: "text-oc-text-400 font-medium" }, "Active columns", -1)),
95
+ j(u(Be), Ce({
96
+ key: "key",
97
+ modelValue: g.value,
98
+ "onUpdate:modelValue": o[2] || (o[2] = (v) => g.value = v)
99
+ }, O, { "data-active-headers": "true" }), {
100
+ default: w(() => [
101
+ (r(!0), h(re, null, de(g.value, (v) => (r(), h(re, {
102
+ key: v.key
103
+ }, [
104
+ v.key !== "actions" ? (r(), h("div", Pl, [
105
+ q("div", Al, [
106
+ j(u(cl), {
107
+ modelValue: v.isActive,
108
+ "onUpdate:modelValue": [
109
+ (C) => v.isActive = C,
110
+ o[1] || (o[1] = (C) => K())
111
+ ],
112
+ class: "!w-fit"
113
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
114
+ q("div", Ll, Pe(v.label), 1)
115
+ ]),
116
+ g.value.length > 1 ? (r(), L(u(Ue), {
117
+ key: 0,
118
+ width: "18",
119
+ height: "18",
120
+ class: "text-oc-text-400 drag-el cursor-move",
121
+ name: "draggable"
122
+ })) : y("", !0)
123
+ ])) : y("", !0)
124
+ ], 64))), 128))
125
+ ]),
126
+ _: 1
127
+ }, 16, ["modelValue"])
128
+ ])
129
+ ])
130
+ ]),
131
+ default: w(() => [
132
+ j(u(Ie), {
133
+ label: "Edit Column",
134
+ "left-icon": "setting",
135
+ size: "small",
136
+ class: "whitespace-nowrap",
137
+ variant: "secondary"
138
+ })
139
+ ]),
140
+ _: 1
141
+ }, 8, ["modelValue"]));
142
+ }
143
+ }, Bl = { class: "relative flex flex-col gap-9" }, Ul = {
144
+ key: 0,
145
+ class: "flex items-center px-4 min-h-[44px]"
146
+ }, Tl = {
147
+ key: 0,
148
+ class: "absolute flex items-center gap-5 left-5"
149
+ }, Kl = {
150
+ key: 1,
151
+ class: "absolute flex gap-3 left-5"
152
+ }, Il = {
153
+ key: 1,
154
+ class: "flex justify-center w-full gap-5 md:justify-start"
155
+ }, Nl = {
156
+ key: 2,
157
+ class: "items-center hidden md:flex"
158
+ }, Yl = {
159
+ __name: "OcDataTable",
160
+ props: {
161
+ isLoading: Boolean,
162
+ id: {
163
+ type: String,
164
+ required: !0
165
+ },
166
+ options: {
167
+ type: Object,
168
+ required: !0
169
+ },
170
+ filter: {
171
+ type: Object,
172
+ required: !0
173
+ },
174
+ selected: {
175
+ type: Array,
176
+ required: !1
177
+ },
178
+ rowClass: String,
179
+ rowKey: {
180
+ type: [String, Function],
181
+ default: "id"
182
+ },
183
+ rowLink: String,
184
+ localDb: {
185
+ type: Object,
186
+ required: !1
187
+ },
188
+ sortBy: {
189
+ type: Object,
190
+ required: !1
191
+ },
192
+ isNewTable: {
193
+ type: Boolean,
194
+ default: !1
195
+ }
196
+ },
197
+ emits: {
198
+ "update:selected": [],
199
+ "update:filter": [],
200
+ "apply-filter": [],
201
+ "click:row": [],
202
+ "filter-fields-changed": [],
203
+ "filter-removed": [],
204
+ "filter-open": [],
205
+ "search-query-changed": [],
206
+ "hover:cell": [],
207
+ "columns-changed": [],
208
+ "on-table-ready": [],
209
+ "update:sort-by": []
210
+ },
211
+ setup(F, { expose: se, emit: oe }) {
212
+ var ye, ge, be, ke, he, xe, we, Se, $e, Fe, Oe, Ve, De, Ee;
213
+ const i = F, g = oe, d = S(() => {
214
+ var e;
215
+ return (e = i.options) == null ? void 0 : e.cursor;
216
+ }), T = $(), O = S(() => {
217
+ var e;
218
+ return (e = i.options) == null ? void 0 : e.tableOptions;
219
+ }), K = S(() => i.localDb !== void 0), {
220
+ localData: E,
221
+ paginationData: o,
222
+ isLoading: v,
223
+ // Methods
224
+ bulkPutLocalData: C,
225
+ bulkDeleteLocalData: ee,
226
+ getLocalDataUpdatedAt: le,
227
+ getProductIdAndLastUpdatedAt: ae,
228
+ syncLocalData: ie,
229
+ sortByData: R,
230
+ // Setters
231
+ setFilter: Qe,
232
+ setSortBy: ze
233
+ } = xl({
234
+ name: ((ye = i.localDb) == null ? void 0 : ye.table_name) ?? null,
235
+ db: ((ge = i.localDb) == null ? void 0 : ge.db) ?? null,
236
+ filterableFields: (be = i.options) == null ? void 0 : be.filterableFields,
237
+ sortableFields: (ke = i.options) == null ? void 0 : ke.sortableFields,
238
+ searchableFields: (he = i.options) == null ? void 0 : he.searchableFields
239
+ });
240
+ ne(
241
+ () => {
242
+ var e;
243
+ return (e = i.options) == null ? void 0 : e.pagination;
244
+ },
245
+ (e) => {
246
+ K.value || (o.value = e);
247
+ },
248
+ { deep: !0, immediate: !0 }
249
+ );
250
+ const ce = S(() => {
251
+ var l, c;
252
+ const e = {
253
+ ...O.value,
254
+ headers: T.value ? T.value.map((n) => {
255
+ var f, m;
256
+ return n.class = ((m = (f = O.value) == null ? void 0 : f.headers.find((s) => s.key === n.key)) == null ? void 0 : m.class) ?? "", n;
257
+ }).filter((n) => n.isActive) : (l = O.value) == null ? void 0 : l.headers.filter((n) => He(n.key))
258
+ };
259
+ return (c = e.fields) != null && c.length || (e.fields = E.value), e;
260
+ }), a = S(() => {
261
+ var e;
262
+ return (e = i.options) == null ? void 0 : e.filterOptions;
263
+ }), Re = S(() => {
264
+ var e;
265
+ return (e = i.options) == null ? void 0 : e.hidePerPageDropdown;
266
+ }), Je = S(() => {
267
+ var e;
268
+ return ((e = o.value) == null ? void 0 : e.last_page) === 1;
269
+ }), J = JSON.parse(JSON.stringify({ ...i.filter }));
270
+ !J && o.value ? J.page = 1 : !J && d && (J.cursor = "");
271
+ const t = $(J), Q = $(!1), B = $(t.value[(we = (xe = a.value) == null ? void 0 : xe.tabs) == null ? void 0 : we.key]), M = $(t.value.page), z = $(
272
+ ($e = (Se = a.value) == null ? void 0 : Se.per_page) != null && $e.key ? t.value[(Oe = (Fe = a.value) == null ? void 0 : Fe.per_page) == null ? void 0 : Oe.key] : t.value.per_page
273
+ ), me = ((Ee = t.value[t.value.selectedSearchOption || ((De = (Ve = a.value) == null ? void 0 : Ve.search) == null ? void 0 : De.key)]) == null ? void 0 : Ee.trim()) ?? "", U = $(me ? me.split(",") : []), pe = $(!1), Me = S(
274
+ () => {
275
+ var e;
276
+ return Ol((e = i.options) == null ? void 0 : e.perPageOptions);
277
+ }
278
+ ), Ge = S(() => Vl(Me.value, o.value)), We = S(() => {
279
+ var e;
280
+ return ((e = i.selected) == null ? void 0 : e.length) > 0;
281
+ }), Xe = (e) => {
282
+ !e.trim() || !t.value.selectedSearchOption && U.value.includes(e) || (U.value = [e], V(), g("search-query-changed", e));
283
+ }, Ye = (e) => {
284
+ U.value = U.value.filter((l) => l !== e), V();
285
+ }, Ze = S(() => $l(t.value, a.value)), He = (e) => {
286
+ var l, c, n, f, m, s;
287
+ return ((s = (m = (f = (n = t.value) == null ? void 0 : n[(c = (l = a.value) == null ? void 0 : l.columnEdit) == null ? void 0 : c.key]) == null ? void 0 : f.active) == null ? void 0 : m.find((b) => b.key === e)) == null ? void 0 : s.isActive) ?? !0;
288
+ }, _e = ({ fixedHeaders: e, activeHeaders: l, isOnMount: c }) => {
289
+ var n, f, m, s, b, x, P, D;
290
+ if (t.value[(f = (n = a.value) == null ? void 0 : n.columnEdit) == null ? void 0 : f.key] || (t.value[(s = (m = a.value) == null ? void 0 : m.columnEdit) == null ? void 0 : s.key] = {}), t.value[(x = (b = a.value) == null ? void 0 : b.columnEdit) == null ? void 0 : x.key].fixed = e, t.value[(D = (P = a.value) == null ? void 0 : P.columnEdit) == null ? void 0 : D.key].active = l, T.value = [...e, ...l], !c) {
291
+ const I = wl(e, l);
292
+ Sl(a.value.columnEdit.localStorageKey, I);
293
+ }
294
+ g("columns-changed", l);
295
+ }, el = () => {
296
+ var e, l, c, n, f, m;
297
+ if ((l = (e = a.value) == null ? void 0 : e.columnEdit) != null && l.localStorageKey) {
298
+ const s = Ne(a.value.columnEdit.localStorageKey);
299
+ if (s) {
300
+ const { fixed: b, active: x } = qe(
301
+ s,
302
+ O.value.headers,
303
+ a.value.columnEdit.localStorageKey
304
+ );
305
+ t.value[(n = (c = a.value) == null ? void 0 : c.columnEdit) == null ? void 0 : n.key].fixed = b, t.value[(m = (f = a.value) == null ? void 0 : f.columnEdit) == null ? void 0 : m.key].active = x, T.value = [...b, ...x];
306
+ }
307
+ }
308
+ }, ll = (e) => {
309
+ t.value.selectedSearchOption = e;
310
+ }, al = () => {
311
+ U.value = [], B.value = "", t.value = Fl(
312
+ t.value,
313
+ a.value,
314
+ z.value,
315
+ B.value
316
+ ), V();
317
+ }, tl = () => {
318
+ V(null, M.value);
319
+ }, V = (e = null, l = !1, c = "", n = !1, f = !1) => {
320
+ var s, b, x, P, D, I, G, W, X, Y, Z, H, _;
321
+ o.value && !l && (M.value = 1), o.value ? t.value.page = M.value : t.value.cursor = c, (s = a.value) != null && s.per_page ? t.value[a.value.per_page.key] = z.value : t.value.per_page = z.value, (b = a.value) != null && b.tabs && f && (t.value[a.value.tabs.key] = B.value), (x = a.value) != null && x.search && ((D = (P = a.value.search) == null ? void 0 : P.options) != null && D.length ? (Object.keys(t.value).forEach((k) => {
322
+ var N;
323
+ (N = a.value.search.options) != null && N.map((p) => p.value).includes(k) && delete t.value[k];
324
+ }), t.value[((I = t.value) == null ? void 0 : I.selectedSearchOption) || ((X = (W = (G = a.value.search) == null ? void 0 : G.options) == null ? void 0 : W[0]) == null ? void 0 : X.value) || a.value.search.key] = U.value.join()) : t.value[a.value.search.key] = U.value.join()), e && (Q.value = !1, t.value = { ...t.value, ...e }, Object.keys(t.value).forEach((k) => {
325
+ Array.isArray(t.value[k]) && t.value[k].length === 0 && delete t.value[k];
326
+ }));
327
+ let m = (Z = (Y = a.value) == null ? void 0 : Y.tabs) == null ? void 0 : Z.key;
328
+ if (m && B.value !== t.value[m]) {
329
+ const k = (_ = (H = a.value.tabs) == null ? void 0 : H.options) == null ? void 0 : _.find(
330
+ (N) => {
331
+ var p, te;
332
+ return ((p = N.value) == null ? void 0 : p.toString()) === ((te = t.value[m]) == null ? void 0 : te.toString());
333
+ }
334
+ );
335
+ k != null && k.value && (B.value = k.value, V());
336
+ }
337
+ sl(n);
338
+ }, fe = $(null), sl = (e = !1) => {
339
+ clearTimeout(fe.value), fe.value = setTimeout(() => {
340
+ g("update:filter", { ...t.value }, e), g("apply-filter", { ...t.value }, e);
341
+ }, 50);
342
+ }, ol = (e, l) => {
343
+ (l === a.value.tabs.key || l === "tabs") && (B.value = ""), V(e), g("filter-removed", l);
344
+ };
345
+ Te(() => {
346
+ el(), nl(() => {
347
+ g("on-table-ready");
348
+ });
349
+ });
350
+ const ue = S(() => i.isLoading || v.value);
351
+ se({
352
+ localData: E,
353
+ paginationData: o,
354
+ tableIsLoading: ue,
355
+ bulkPutLocalData: C,
356
+ bulkDeleteLocalData: ee,
357
+ getLocalDataUpdatedAt: le,
358
+ getProductIdAndLastUpdatedAt: ae,
359
+ syncLocalData: ie,
360
+ sortByData: R
361
+ });
362
+ const il = ({ key: e, value: l }) => {
363
+ Object.keys(R.value).forEach((c) => {
364
+ c !== e && (R.value[c] = null);
365
+ }), R.value[e] = l, g("update:sort-by", R.value);
366
+ };
367
+ return ne(
368
+ () => t.value,
369
+ () => {
370
+ K.value && t.value && Qe({ ...t.value });
371
+ },
372
+ { deep: !0, immediate: !0 }
373
+ ), ne(
374
+ () => i.sortBy,
375
+ () => {
376
+ K.value && i.sortBy && ze({ ...i.sortBy });
377
+ },
378
+ { deep: !0, immediate: !0 }
379
+ ), (e, l) => {
380
+ var c, n, f, m;
381
+ return r(), h("div", Bl, [
382
+ ce.value ? (r(), L(dl(F.isNewTable ? u(ml) : u(pl)), {
383
+ key: 0,
384
+ selected: F.selected,
385
+ "row-key": F.rowKey,
386
+ options: ce.value,
387
+ "is-loading": ue.value,
388
+ "loading-rows": z.value,
389
+ "row-class": F.rowClass,
390
+ "row-link": F.rowLink,
391
+ "is-sticky": O.value.isSticky,
392
+ "is-borderless": O.value.isBorderless,
393
+ "sort-by": F.sortBy,
394
+ "onUpdate:selected": l[8] || (l[8] = (s) => e.$emit("update:selected", s)),
395
+ "onUpdate:sortBy": il,
396
+ "onClick:row": l[9] || (l[9] = (s) => e.$emit("click:row", s)),
397
+ "onHover:cell": l[10] || (l[10] = (s) => e.$emit("hover:cell", s))
398
+ }, vl({
399
+ after: w(() => [
400
+ A(e.$slots, "after")
401
+ ]),
402
+ empty: w(() => [
403
+ A(e.$slots, "empty")
404
+ ]),
405
+ "table-header": w((s) => [
406
+ A(e.$slots, "table-header", Ae(Le(s)))
407
+ ]),
408
+ "table-body": w((s) => [
409
+ A(e.$slots, "table-body", Ae(Le(s)))
410
+ ]),
411
+ _: 2
412
+ }, [
413
+ e.$slots.before || (c = a.value) != null && c.search || (n = a.value) != null && n.form || (f = a.value) != null && f.tabs ? {
414
+ name: "before",
415
+ fn: w(() => {
416
+ var s, b, x, P;
417
+ return [
418
+ A(e.$slots, "before"),
419
+ (s = a.value) != null && s.search || (b = a.value) != null && b.form || (x = a.value) != null && x.tabs ? (r(), h("div", Ul, [
420
+ We.value ? (r(), h("div", Tl, [
421
+ A(e.$slots, "bulk-actions", { selectedRows: F.selected })
422
+ ])) : (r(), h("div", Kl, [
423
+ (P = a.value) != null && P.tabs ? (r(), L(u(fl), {
424
+ key: 0,
425
+ modelValue: B.value,
426
+ "onUpdate:modelValue": [
427
+ l[0] || (l[0] = (D) => B.value = D),
428
+ l[1] || (l[1] = (D) => V(null, !1, "", !1, !0))
429
+ ],
430
+ "is-disabled": ue.value,
431
+ tabs: a.value.tabs.options,
432
+ variant: "pills"
433
+ }, null, 8, ["modelValue", "is-disabled", "tabs"])) : y("", !0)
434
+ ])),
435
+ A(e.$slots, "filter-options", {}, () => {
436
+ var D, I, G, W, X, Y, Z, H, _, k, N;
437
+ return [
438
+ (D = a.value) != null && D.search || (I = a.value) != null && I.form || (G = a.value) != null && G.columnEdit ? (r(), h("div", {
439
+ key: 0,
440
+ class: ve([
441
+ "flex gap-3 absolute ml-auto items-center bg-oc-bg-light right-4 max-w-[calc(100%-24px)]",
442
+ a.value ? pe.value ? "md:w-fit w-full" : "" : "w-full justify-end"
443
+ ])
444
+ }, [
445
+ (W = a.value) != null && W.search ? (r(), L(u(yl), {
446
+ key: 0,
447
+ "is-search-only": !a.value.tabs || a.value.isSearchOnly,
448
+ "search-options": ((X = a.value.search) == null ? void 0 : X.options) ?? [],
449
+ "selected-option": (((Y = t.value) == null ? void 0 : Y.selectedSearchOption) || ((_ = (H = (Z = a.value.search) == null ? void 0 : Z.options) == null ? void 0 : H[0]) == null ? void 0 : _.value)) ?? "keywords",
450
+ onAddQuery: Xe,
451
+ onToggle: l[2] || (l[2] = (p) => pe.value = p),
452
+ onChangeSearchKey: ll
453
+ }, null, 8, ["is-search-only", "search-options", "selected-option"])) : y("", !0),
454
+ (k = a.value) != null && k.form ? (r(), L(u(Ke), {
455
+ key: 1,
456
+ modelValue: Q.value,
457
+ "onUpdate:modelValue": [
458
+ l[6] || (l[6] = (p) => Q.value = p),
459
+ l[7] || (l[7] = (p) => e.$emit("filter-open", p))
460
+ ],
461
+ distance: 9,
462
+ placement: "bottom-end",
463
+ "is-attach-to-body": ""
464
+ }, {
465
+ menu: w(() => [
466
+ Q.value ? (r(), L(u(gl), {
467
+ key: 0,
468
+ id: F.id,
469
+ "json-form": a.value.form ?? [],
470
+ grid: a.value.grid ?? null,
471
+ values: t.value,
472
+ actions: a.value.actions,
473
+ onApplyFilter: l[3] || (l[3] = (p) => V(p)),
474
+ onFilterFieldsChanged: l[4] || (l[4] = (p) => g("filter-fields-changed", p)),
475
+ onCancel: l[5] || (l[5] = (p) => Q.value = !1)
476
+ }, {
477
+ default: w(({ errors: p, values: te, jsonForm: ul, updateForm: rl }) => [
478
+ A(e.$slots, "custom-filter-form", {
479
+ errors: p,
480
+ values: te,
481
+ jsonForm: ul,
482
+ updateFilter: rl
483
+ })
484
+ ]),
485
+ _: 3
486
+ }, 8, ["id", "json-form", "grid", "values", "actions"])) : y("", !0)
487
+ ]),
488
+ default: w(() => [
489
+ j(u(Ie), {
490
+ "is-active": Q.value,
491
+ variant: "secondary",
492
+ "left-icon": "filter",
493
+ size: "small",
494
+ class: "w-8",
495
+ "icon-class": "shrink-0"
496
+ }, null, 8, ["is-active"])
497
+ ]),
498
+ _: 3
499
+ }, 8, ["modelValue"])) : y("", !0),
500
+ a.value.columnEdit ? (r(), L(jl, {
501
+ key: 2,
502
+ options: t.value.columnEdit,
503
+ headers: ((N = O.value) == null ? void 0 : N.headers) || [],
504
+ "local-key": a.value.columnEdit.localStorageKey,
505
+ onUpdateOrder: _e
506
+ }, null, 8, ["options", "headers", "local-key"])) : y("", !0)
507
+ ], 2)) : y("", !0)
508
+ ];
509
+ })
510
+ ])) : y("", !0),
511
+ j(u(bl), {
512
+ filters: Ze.value,
513
+ queries: U.value,
514
+ class: "border-t border-oc-gray-200",
515
+ onRemoveQuery: Ye,
516
+ onRemoveAll: al,
517
+ onRemoveFilter: ol
518
+ }, null, 8, ["filters", "queries"])
519
+ ];
520
+ }),
521
+ key: "0"
522
+ } : void 0,
523
+ de((m = O.value) == null ? void 0 : m.headers, (s, b) => ({
524
+ name: s.key,
525
+ fn: w(({ data: x, item: P }) => [
526
+ A(e.$slots, s.key, {
527
+ data: x,
528
+ item: P
529
+ })
530
+ ])
531
+ }))
532
+ ]), 1064, ["selected", "row-key", "options", "is-loading", "loading-rows", "row-class", "row-link", "is-sticky", "is-borderless", "sort-by"])) : y("", !0),
533
+ A(e.$slots, "before-pagination"),
534
+ u(o) || d.value ? (r(), h("div", {
535
+ key: 1,
536
+ class: ve(["flex items-center gap-3", u(o) && u(o).last_page === 1 ? "justify-end" : ""])
537
+ }, [
538
+ u(o) && !Je.value ? (r(), L(u(kl), {
539
+ key: 0,
540
+ modelValue: M.value,
541
+ "onUpdate:modelValue": [
542
+ l[11] || (l[11] = (s) => M.value = s),
543
+ tl
544
+ ],
545
+ class: "justify-center text-[13px]",
546
+ "max-page": u(o).last_page,
547
+ strategy: u(o).strategy,
548
+ "total-visible": "5"
549
+ }, null, 8, ["modelValue", "max-page", "strategy"])) : y("", !0),
550
+ d.value ? (r(), h("div", Il, [
551
+ j(u(je), {
552
+ disabled: !d.value.prev,
553
+ onClick: l[12] || (l[12] = (s) => d.value.prev ? V(null, !1, d.value.prev) : null)
554
+ }, null, 8, ["disabled"]),
555
+ j(u(je), {
556
+ disabled: !d.value.next,
557
+ "is-next": "",
558
+ onClick: l[13] || (l[13] = (s) => d.value.next ? V(null, !1, d.value.next) : null)
559
+ }, null, 8, ["disabled"])
560
+ ])) : y("", !0),
561
+ Re.value ? y("", !0) : (r(), h("div", Nl, [
562
+ j(u(hl), {
563
+ modelValue: z.value,
564
+ "onUpdate:modelValue": [
565
+ l[14] || (l[14] = (s) => z.value = s),
566
+ l[15] || (l[15] = (s) => V(null))
567
+ ],
568
+ label: "Item per page",
569
+ "is-inline-label": "",
570
+ "popper-options": { placement: "auto" },
571
+ options: Ge.value,
572
+ "select-text-class": "!text-[13px]"
573
+ }, null, 8, ["modelValue", "options"])
574
+ ]))
575
+ ], 2)) : y("", !0)
576
+ ]);
577
+ };
578
+ }
579
+ };
580
+ export {
581
+ Yl as default
582
+ };