golden-logic-ui 1.3.1 → 1.3.3

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.
@@ -1,10 +1,10 @@
1
- import { ref as t, resolveComponent as B, createElementBlock as L, createCommentVNode as N, openBlock as u, createElementVNode as e, toDisplayString as i, createBlock as h, createVNode as V, withCtx as c, createTextVNode as m, resolveDynamicComponent as j, normalizeClass as D } from "vue";
2
- const M = {
1
+ import { ref as t, resolveComponent as L, createElementBlock as N, createCommentVNode as V, openBlock as u, createElementVNode as e, toDisplayString as i, createBlock as _, createVNode as j, withCtx as c, createTextVNode as m, resolveDynamicComponent as D, normalizeClass as M } from "vue";
2
+ const P = {
3
3
  key: 0,
4
4
  class: "fixed inset-0 z-99999 overflow-y-auto",
5
5
  role: "dialog",
6
6
  "aria-modal": "true"
7
- }, P = { class: "flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:p-0" }, Z = { class: "inline-block relative overflow-hidden text-left align-bottom transition-all transform bg-white rounded-lg shadow-xl dark:bg-gray-800 sm:my-8 sm:align-middle sm:max-w-lg sm:w-full" }, z = { class: "px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, A = { class: "sm:flex sm:items-start" }, E = { class: "mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left" }, F = { class: "text-lg font-medium leading-6" }, O = { class: "mt-2" }, S = { class: "text-sm" }, T = { class: "flex gap-1 px-4 py-3 border-t border-gray-200 rounded-b dark:border-gray-600 sm:px-6 sm:flex-row-reverse" }, H = {
7
+ }, T = { class: "flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:p-0" }, Z = { class: "inline-block relative overflow-hidden text-start align-bottom transition-all transform bg-white rounded-lg shadow-xl dark:bg-gray-800 sm:my-8 sm:align-middle sm:max-w-lg sm:w-full" }, z = { class: "px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, A = { class: "sm:flex sm:items-start" }, E = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" }, F = { class: "text-lg font-medium leading-6" }, O = { class: "mt-2" }, S = { class: "text-sm" }, q = { class: "flex gap-1 px-4 py-3 border-t border-gray-200 rounded-b dark:border-gray-600 sm:px-6 sm:flex-row-reverse" }, I = {
8
8
  __name: "DynamicConfirmation",
9
9
  props: {
10
10
  is_open: {
@@ -12,35 +12,35 @@ const M = {
12
12
  default: !1
13
13
  }
14
14
  },
15
- setup(q, { expose: x }) {
16
- const f = t(""), v = t(""), g = t(""), p = t("Cancel"), o = t(!1), r = t(!1), d = t(!1), l = t(void 0), C = t(void 0), _ = (s = {}) => (f.value = s.title, v.value = s.message, g.value = s.okButton, s.cancelButton && (p.value = s.cancelButton), s.hasLoading && (d.value = s.hasLoading), o.value = !0, new Promise((n, a) => {
17
- l.value = n, C.value = a;
18
- })), b = () => {
15
+ setup(G, { expose: x }) {
16
+ const f = t(""), v = t(""), p = t(""), g = t("red"), C = t("Cancel"), n = t(!1), r = t(!1), d = t(!1), a = t(void 0), h = t(void 0), b = (o = {}) => (f.value = o.title, v.value = o.message, p.value = o.okButton, g.value = o.okButtonType || "red", C.value = o.cancelButton || "Cancel", d.value = !!o.hasLoading, n.value = !0, new Promise((s, l) => {
17
+ a.value = s, h.value = l;
18
+ })), y = () => {
19
19
  r.value = !0;
20
20
  }, w = () => {
21
- r.value = !1, o.value = !1, d.value = !1, l.value(!1);
22
- }, y = () => {
21
+ r.value = !1, n.value = !1, d.value = !1, a.value(!1);
22
+ }, k = () => {
23
23
  if (d.value === !0) {
24
- l.value(!0);
24
+ a.value(!0);
25
25
  return;
26
26
  }
27
- o.value = !1, l.value(!0);
28
- }, k = () => {
29
- o.value = !1, l.value(!1);
27
+ n.value = !1, a.value(!0);
28
+ }, B = () => {
29
+ n.value = !1, a.value(!1);
30
30
  };
31
31
  return x({
32
- show: _,
33
- showLoading: b,
32
+ show: b,
33
+ showLoading: y,
34
34
  hideLoading: w
35
- }), (s, n) => {
36
- const a = B("gl-button");
37
- return o.value ? (u(), L("div", M, [
38
- e("div", P, [
39
- n[1] || (n[1] = e("div", {
35
+ }), (o, s) => {
36
+ const l = L("gl-button");
37
+ return n.value ? (u(), N("div", P, [
38
+ e("div", T, [
39
+ s[1] || (s[1] = e("div", {
40
40
  class: "fixed inset-0 transition-opacity bg-gray-500/75",
41
41
  "aria-hidden": "true"
42
42
  }, null, -1)),
43
- n[2] || (n[2] = e("span", {
43
+ s[2] || (s[2] = e("span", {
44
44
  class: "hidden sm:inline-block sm:align-middle sm:h-screen",
45
45
  "aria-hidden": "true"
46
46
  }, "​", -1)),
@@ -55,13 +55,13 @@ const M = {
55
55
  ])
56
56
  ])
57
57
  ]),
58
- e("div", T, [
59
- r.value ? (u(), h(j("button"), {
58
+ e("div", q, [
59
+ r.value ? (u(), _(D("button"), {
60
60
  key: 1,
61
61
  disabled: "",
62
- class: D("inline-flex justify-center w-full px-4 py-2 text-base font-medium text-white bg-red-600 border border-transparent rounded-md shadow-xs hover:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm")
62
+ class: M("inline-flex justify-center w-full px-4 py-2 text-base font-medium text-white bg-red-600 border border-transparent rounded-md shadow-xs hover:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm")
63
63
  }, {
64
- default: c(() => n[0] || (n[0] = [
64
+ default: c(() => s[0] || (s[0] = [
65
65
  e("svg", {
66
66
  "aria-hidden": "true",
67
67
  role: "status",
@@ -82,34 +82,34 @@ const M = {
82
82
  m(" Loading... ")
83
83
  ])),
84
84
  _: 1
85
- })) : (u(), h(a, {
85
+ })) : (u(), _(l, {
86
86
  key: 0,
87
- onClick: y,
87
+ onClick: k,
88
88
  tag: "button",
89
- button_type: "red"
89
+ button_type: g.value
90
90
  }, {
91
91
  default: c(() => [
92
- m(i(g.value), 1)
92
+ m(i(p.value), 1)
93
93
  ]),
94
94
  _: 1
95
- })),
96
- V(a, {
97
- onClick: k,
95
+ }, 8, ["button_type"])),
96
+ j(l, {
97
+ onClick: B,
98
98
  tag: "button",
99
99
  button_type: "light"
100
100
  }, {
101
101
  default: c(() => [
102
- m(i(p.value), 1)
102
+ m(i(C.value), 1)
103
103
  ]),
104
104
  _: 1
105
105
  })
106
106
  ])
107
107
  ])
108
108
  ])
109
- ])) : N("", !0);
109
+ ])) : V("", !0);
110
110
  };
111
111
  }
112
112
  };
113
113
  export {
114
- H as default
114
+ I as default
115
115
  };
@@ -1,27 +1,27 @@
1
- import { ref as m, shallowRef as X, onMounted as fe, onBeforeUnmount as ve, watch as M, createElementBlock as c, openBlock as f, Fragment as Y, createCommentVNode as p, normalizeClass as E, createElementVNode as s, toDisplayString as w, withDirectives as P, withModifiers as Z, vShow as ee, vModelText as me, renderList as ge, nextTick as he } from "vue";
2
- const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3 mb-4" }, xe = {
1
+ import { ref as c, shallowRef as Y, onMounted as ve, onBeforeUnmount as me, watch as M, createElementBlock as f, openBlock as v, Fragment as Z, createCommentVNode as p, normalizeClass as B, createElementVNode as s, toDisplayString as w, withDirectives as R, withModifiers as ee, vShow as te, vModelText as ge, renderList as he, nextTick as pe } from "vue";
2
+ const ye = { class: "font-bold ptext-lg dark:text-white" }, xe = { class: "mt-3 mb-4" }, we = {
3
3
  key: 0,
4
4
  class: "bg-blue-100 text-blue-800 text-sm font-medium mb-2 mt-2 me-2 px-2.5 py-0.5 rounded-sm dark:bg-blue-900 dark:text-blue-300"
5
- }, we = ["name", "id", "value"], be = {
5
+ }, be = ["name", "id", "value"], ke = {
6
6
  key: 0,
7
7
  class: "dropdown"
8
- }, ke = { class: "relative focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:focus:ring-blue-500 dark:focus:border-blue-500" }, Se = { class: "relative showOptions" }, _e = ["value", "placeholder"], Ce = { class: "text-gray-700 bg-white border dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200 absolute w-full z-999999999 rounded-md mt-1 pt-1" }, De = {
8
+ }, Se = { class: "relative focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:focus:ring-blue-500 dark:focus:border-blue-500" }, _e = { class: "relative showOptions" }, Ce = ["value", "placeholder"], De = { class: "text-gray-700 bg-white border dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200 absolute w-full z-999999999 rounded-md mt-1 pt-1" }, Oe = {
9
9
  key: 0,
10
10
  class: "border-b border-gray-200 dark:border-gray-700"
11
- }, Oe = { class: "relative" }, Ee = ["id", "placeholder"], Be = { class: "flex items-center py-2 pr-4" }, $e = ["onClick", "onMousedown", "id"], Me = { class: "flex justify-between items-center py-2" }, Le = ["innerHTML"], Ie = {
11
+ }, Ee = { class: "relative" }, Be = ["id", "placeholder"], $e = { class: "flex items-center py-2 pr-4" }, Le = ["onClick", "onMousedown", "id"], Me = { class: "flex justify-between items-center py-2" }, Ie = ["innerHTML"], Te = {
12
12
  key: 0,
13
13
  class: "flex items-center shrink-0 w-4 h-4 text-green-500 ltr:right-2 rtl:left-2 dark:text-green-400",
14
14
  "aria-hidden": "true",
15
15
  xmlns: "http://www.w3.org/2000/svg",
16
16
  fill: "none",
17
17
  viewBox: "0 0 16 12"
18
- }, Te = {
18
+ }, Ue = {
19
19
  key: 2,
20
20
  class: "p-2 text-center text-gray-500"
21
- }, Ue = {
21
+ }, Ve = {
22
22
  key: 3,
23
23
  class: "p-2 text-gray-500"
24
- }, Ve = { class: "block mt-1 text-sm font-normal leading-5 text-red-500" }, je = { class: "block mt-1 text-sm font-normal leading-5 text-gray-500" }, qe = {
24
+ }, je = { class: "block mt-1 text-sm font-normal leading-5 text-red-500" }, Ae = { class: "block mt-1 text-sm font-normal leading-5 text-gray-500" }, Ne = {
25
25
  __name: "GlDropdown",
26
26
  props: {
27
27
  modelValue: {
@@ -109,51 +109,51 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
109
109
  }
110
110
  },
111
111
  emits: ["update:modelValue", "selected", "selectionChanged"],
112
- setup(r, { emit: te }) {
113
- const o = r, b = te, a = m({}), R = m(!1), y = m(0), x = m(!1), v = m(""), g = m(""), B = m(!1), C = m(1), D = m(null), $ = m(1), i = X([]), L = X([]), T = m([]), le = m(null), F = m(null);
114
- let O = !1, h = null, U = 0, k = null;
115
- const H = (e) => e?.name === "CanceledError" || e?.name === "AbortError" || typeof axios < "u" && axios.isCancel?.(e), V = async (e = "down") => {
116
- if (B.value || !o.api_url) return;
112
+ setup(r, { emit: le }) {
113
+ const o = r, b = le, a = c({}), F = c(!1), y = c(0), x = c(!1), m = c(""), g = c(""), $ = c(!1), k = c(1), S = c(null), L = c(1), i = Y([]), O = c(!1), I = Y([]), U = c([]), ne = c(null), H = c(null);
114
+ let E = !1, h = null, V = 0, _ = null;
115
+ const z = (e) => e?.name === "CanceledError" || e?.name === "AbortError" || typeof axios < "u" && axios.isCancel?.(e), j = async (e = "down") => {
116
+ if ($.value || !o.api_url) return;
117
117
  h && h.abort(), h = new AbortController();
118
- const t = ++U;
119
- B.value = !0;
118
+ const t = ++V;
119
+ $.value = !0;
120
120
  try {
121
- const l = e === "up" ? Math.max(C.value - 1, $.value) : C.value, { data: n } = await axios.get(o.api_url, {
122
- params: { search: v.value, page: l, per_page: 20 },
121
+ const l = e === "up" ? Math.max(k.value - 1, L.value) : k.value, { data: n } = await axios.get(o.api_url, {
122
+ params: { search: m.value, page: l, per_page: 20 },
123
123
  signal: h.signal
124
124
  });
125
- if (O || t !== U) return;
125
+ if (E || t !== V) return;
126
126
  if (!n || !n.data) {
127
- i.value = [];
127
+ i.value = [], O.value = !1;
128
128
  return;
129
129
  }
130
- const u = Q(n.data);
130
+ const u = W(n.data);
131
131
  if (e === "down") {
132
- const d = i.value.length ? i.value.concat(u) : u, _ = a.value;
133
- S(_) && _.id !== void 0 && _.name && !d.some((I) => String(I.id) === String(_.id)) && d.unshift(_), i.value = d, C.value++, D.value = n.last_page;
132
+ const d = i.value.length ? i.value.concat(u) : u, D = a.value;
133
+ C(D) && D.id !== void 0 && D.name && !d.some((T) => String(T.id) === String(D.id)) && d.unshift(D), i.value = d, k.value++, S.value = n.last_page, O.value = !0;
134
134
  }
135
- D.value || (D.value = n.last_page), $.value || ($.value = 1);
135
+ S.value || (S.value = n.last_page), L.value || (L.value = 1);
136
136
  } catch (l) {
137
- if (H(l)) return;
137
+ if (z(l)) return;
138
138
  console.error("Error fetching data:", l);
139
139
  } finally {
140
- !O && t === U && (B.value = !1, h = null);
140
+ !E && t === V && ($.value = !1, h = null);
141
141
  }
142
- }, ne = async (e) => {
142
+ }, ae = async (e) => {
143
143
  if (!o.api_url || e === null || e === void 0 || e === "") return null;
144
144
  try {
145
145
  const { data: t } = await axios.get(o.api_url, {
146
146
  params: { search: e, per_page: 20 }
147
147
  });
148
- if (O) return null;
148
+ if (E) return null;
149
149
  const l = t?.data;
150
150
  if (!l || !l.length) return null;
151
151
  const n = String(e);
152
- return Q(l).find((u) => String(u.id) === n) || null;
152
+ return W(l).find((u) => String(u.id) === n) || null;
153
153
  } catch (t) {
154
- return H(t) || console.error("Error fetching option by id:", t), null;
154
+ return z(t) || console.error("Error fetching option by id:", t), null;
155
155
  }
156
- }, ae = async (e) => {
156
+ }, oe = async (e) => {
157
157
  const t = typeof e == "object" && e !== null ? e.id : e;
158
158
  if (t == null || t === "") {
159
159
  a.value = {};
@@ -166,27 +166,27 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
166
166
  a.value = n;
167
167
  return;
168
168
  }
169
- const u = await ne(t);
170
- O || (u ? (a.value = u, i.value.some((d) => String(d.id) === String(u.id)) || (i.value = [u, ...i.value])) : o.allow_custom ? a.value = { id: t, name: t } : a.value = { id: t, name: "" });
171
- }, oe = (e) => {
169
+ const u = await ae(t);
170
+ E || (u ? (a.value = u, i.value.some((d) => String(d.id) === String(u.id)) || (i.value = [u, ...i.value])) : o.allow_custom ? a.value = { id: t, name: t } : a.value = { id: t, name: "" });
171
+ }, re = (e) => {
172
172
  const t = e.target;
173
- t && t.scrollHeight - t.clientHeight <= t.scrollTop + 10 && C.value <= D.value && V("down");
174
- }, z = (e) => {
175
- e.target && (document.activeElement.classList.contains("showOptions" + g.value) ? x.value || j() : e.target.id != o.field_name + "search" + g.value && e.target.id != o.field_name && !e.target.classList.contains("showOptions" + g.value) && (N(), y.value = 0, x.value = !1));
176
- }, j = () => {
173
+ t && t.scrollHeight - t.clientHeight <= t.scrollTop + 10 && k.value <= S.value && j("down");
174
+ }, K = (e) => {
175
+ e.target && (document.activeElement.classList.contains("showOptions" + g.value) ? x.value || A() : e.target.id != o.field_name + "search" + g.value && e.target.id != o.field_name && !e.target.classList.contains("showOptions" + g.value) && (P(), y.value = 0, x.value = !1));
176
+ }, A = () => {
177
177
  if (!o.show) {
178
178
  if (x.value) {
179
179
  x.value = !1;
180
180
  return;
181
181
  }
182
- v.value = "", x.value = !0, o.api_url && i.value.length === 0 && V("down"), he(() => {
182
+ m.value = "", x.value = !0, o.api_url && (!O.value || i.value.length === 0) && (k.value = 1, S.value = null, i.value = [], O.value = !1, j("down")), pe(() => {
183
183
  const e = document.getElementById(
184
184
  `${o.field_name}search${g.value}`
185
185
  );
186
186
  e && e.focus();
187
187
  });
188
188
  }
189
- }, A = () => {
189
+ }, q = () => {
190
190
  const e = (t) => {
191
191
  if (o.allow_custom && t) {
192
192
  const l = typeof t == "object" ? t.id : t;
@@ -194,7 +194,7 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
194
194
  }
195
195
  return {};
196
196
  };
197
- return S(a.value) ? typeof a.value == "object" ? i.value.find(
197
+ return C(a.value) ? typeof a.value == "object" ? i.value.find(
198
198
  (t) => String(t.id) === String(a.value.id)
199
199
  ) || e(a.value) : i.value.find(
200
200
  (t) => String(t.id) === String(a.value)
@@ -204,34 +204,34 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
204
204
  (t) => String(t.id) === String(o.modelValue)
205
205
  ) || e(o.modelValue) : {};
206
206
  };
207
- fe(() => {
208
- g.value = se(), o.show || (document.body.addEventListener("click", K), document.addEventListener("focusin", z));
209
- }), ve(() => {
210
- O = !0, h && (h.abort(), h = null), k && (clearTimeout(k), k = null), document.body.removeEventListener("click", K), document.removeEventListener("focusin", z);
207
+ ve(() => {
208
+ g.value = ue(), o.show || (document.body.addEventListener("click", G), document.addEventListener("focusin", K));
209
+ }), me(() => {
210
+ E = !0, h && (h.abort(), h = null), _ && (clearTimeout(_), _ = null), document.body.removeEventListener("click", G), document.removeEventListener("focusin", K);
211
211
  });
212
- function re() {
213
- const e = L.value, t = o.maxItem, l = v.value;
212
+ function ie() {
213
+ const e = I.value, t = o.maxItem, l = m.value;
214
214
  if (!l)
215
215
  return e.length > t ? e.slice(0, t) : e;
216
216
  const n = l.toLowerCase(), u = [];
217
- for (let d = 0, _ = e.length; d < _ && u.length < t; d++) {
218
- const I = e[d];
219
- String(I.name).toLowerCase().includes(n) && u.push(I);
217
+ for (let d = 0, D = e.length; d < D && u.length < t; d++) {
218
+ const T = e[d];
219
+ String(T.name).toLowerCase().includes(n) && u.push(T);
220
220
  }
221
221
  return u;
222
222
  }
223
- function ie(e) {
223
+ function se(e) {
224
224
  switch (e.key) {
225
225
  case "ArrowUp":
226
226
  case "ArrowDown":
227
- e.preventDefault(), J(e.key);
227
+ e.preventDefault(), Q(e.key);
228
228
  break;
229
229
  case "Enter":
230
- J(e.key);
230
+ Q(e.key);
231
231
  break;
232
232
  }
233
233
  }
234
- function se() {
234
+ function ue() {
235
235
  if (typeof crypto < "u" && typeof crypto.randomUUID == "function")
236
236
  return crypto.randomUUID();
237
237
  let e = Date.now();
@@ -240,27 +240,27 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
240
240
  return e = Math.floor(e / 16), (t === "x" ? l : l & 3 | 8).toString(16);
241
241
  });
242
242
  }
243
- function S(e) {
243
+ function C(e) {
244
244
  return e && typeof e == "object" && Object.keys(e).length > 0;
245
245
  }
246
- function K(e) {
247
- e.target.id != o.field_name + "search" + g.value && e.target.id != o.field_name && !e.target.classList.contains("showOptions" + g.value) && (N(), y.value = 0, x.value = !1);
248
- }
249
246
  function G(e) {
250
- const t = `${e}${g.value}`, l = document.getElementById(t), n = F.value;
247
+ e.target.id != o.field_name + "search" + g.value && e.target.id != o.field_name && !e.target.classList.contains("showOptions" + g.value) && (P(), y.value = 0, x.value = !1);
248
+ }
249
+ function J(e) {
250
+ const t = `${e}${g.value}`, l = document.getElementById(t), n = H.value;
251
251
  if (l && n) {
252
252
  const u = l.getBoundingClientRect(), d = n.getBoundingClientRect();
253
253
  u.top < d.top ? n.scrollTop -= d.top - u.top : u.bottom > d.bottom && (n.scrollTop += u.bottom - d.bottom);
254
254
  }
255
255
  }
256
- function ue(e) {
256
+ function de(e) {
257
257
  const t = `${e}${g.value}`, l = document.getElementById(t);
258
258
  l && l.click();
259
259
  }
260
- function J(e) {
261
- e === "ArrowDown" && y.value < i.value.length && (y.value++, G(y.value)), e === "ArrowUp" && y.value > 1 && (y.value--, G(y.value)), e === "Enter" && ue(y.value);
262
- }
263
260
  function Q(e) {
261
+ e === "ArrowDown" && y.value < i.value.length && (y.value++, J(y.value)), e === "ArrowUp" && y.value > 1 && (y.value--, J(y.value)), e === "Enter" && de(y.value);
262
+ }
263
+ function W(e) {
264
264
  const t = new Array(e.length);
265
265
  for (let l = 0; l < e.length; l++) {
266
266
  const n = e[l];
@@ -268,7 +268,7 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
268
268
  }
269
269
  return t;
270
270
  }
271
- function de() {
271
+ function ce() {
272
272
  const e = o.options, t = new Array(e.length);
273
273
  for (let l = 0; l < e.length; l++) {
274
274
  const n = e[l];
@@ -276,33 +276,33 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
276
276
  }
277
277
  return t;
278
278
  }
279
- function W() {
280
- const e = v.value, t = { id: e, name: e }, l = String(e);
281
- T.value.some((n) => String(n.id) === l) || T.value.push(t), i.value.some((n) => String(n.id) === l) || (i.value = [...i.value, t], L.value = [...L.value, t]), q(t);
279
+ function X() {
280
+ const e = m.value, t = { id: e, name: e }, l = String(e);
281
+ U.value.some((n) => String(n.id) === l) || U.value.push(t), i.value.some((n) => String(n.id) === l) || (i.value = [...i.value, t], I.value = [...I.value, t]), N(t);
282
282
  }
283
- function q(e) {
284
- R.value = !0, a.value = e, x.value = !1, b("update:modelValue", a.value.id), b("selected", a.value), b("selectionChanged", a.value);
283
+ function N(e) {
284
+ F.value = !0, a.value = e, x.value = !1, b("update:modelValue", a.value.id), b("selected", a.value), b("selectionChanged", a.value);
285
285
  }
286
- function ce() {
287
- o.show || (a.value = {}, v.value = "", b("update:modelValue", ""), b("selected", a.value), b("selectionChanged", a.value), j());
286
+ function fe() {
287
+ o.show || (a.value = {}, m.value = "", b("update:modelValue", ""), b("selected", a.value), b("selectionChanged", a.value), A());
288
288
  }
289
- function N() {
290
- (!a.value || !a.value.id) && (a.value = {}, v.value = "");
289
+ function P() {
290
+ (!a.value || !a.value.id) && (a.value = {}, m.value = "");
291
291
  }
292
- return M(v, () => {
292
+ return M(m, () => {
293
293
  if (!o.api_url) {
294
- i.value = re(), i.value.length === 0 && (a.value = {});
294
+ i.value = ie(), i.value.length === 0 && (a.value = {});
295
295
  return;
296
296
  }
297
- k && clearTimeout(k), k = setTimeout(() => {
298
- k = null, !O && (C.value = 1, D.value = null, $.value = 1, i.value = [], V("down"));
297
+ _ && clearTimeout(_), _ = setTimeout(() => {
298
+ _ = null, !E && (k.value = 1, S.value = null, L.value = 1, i.value = [], O.value = !1, j("down"));
299
299
  }, 250);
300
300
  }), M(a, (e) => {
301
- S(e) && e.id !== o.modelValue && b("update:modelValue", e.id);
301
+ C(e) && e.id !== o.modelValue && b("update:modelValue", e.id);
302
302
  }), M(
303
303
  () => o.api_url,
304
304
  () => {
305
- h && (h.abort(), h = null), C.value = 1, D.value = null, $.value = 1, i.value = [];
305
+ h && (h.abort(), h = null), k.value = 1, S.value = null, L.value = 1, i.value = [], O.value = !1;
306
306
  },
307
307
  { immediate: !0 }
308
308
  ), M(
@@ -312,74 +312,74 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
312
312
  a.value = {};
313
313
  return;
314
314
  }
315
- o.api_url ? R.value ? a.value = A() : await ae(e) : a.value = A();
315
+ o.api_url ? F.value ? a.value = q() : await oe(e) : a.value = q();
316
316
  },
317
317
  { immediate: !0 }
318
318
  ), M(
319
319
  () => o.options,
320
320
  () => {
321
321
  if (!o.api_url) {
322
- const e = de(), t = new Set(e.map((n) => String(n.id))), l = e;
323
- for (const n of T.value) {
322
+ const e = ce(), t = new Set(e.map((n) => String(n.id))), l = e;
323
+ for (const n of U.value) {
324
324
  const u = String(n.id);
325
325
  t.has(u) || (l.push(n), t.add(u));
326
326
  }
327
- L.value = l, i.value = l, a.value = A();
327
+ I.value = l, i.value = l, a.value = q();
328
328
  }
329
329
  },
330
330
  // deep so the list still updates when options load late by mutating the SAME
331
331
  // array in place (e.g. column.options.push(...)) — a reference-only watch
332
332
  // would miss that and leave the dropdown list empty.
333
333
  { immediate: !0, deep: !0 }
334
- ), (e, t) => (f(), c(Y, null, [
335
- r.show ? (f(), c("div", {
334
+ ), (e, t) => (v(), f(Z, null, [
335
+ r.show ? (v(), f("div", {
336
336
  key: 0,
337
- class: E(r.field_name)
337
+ class: B(r.field_name)
338
338
  }, [
339
- s("h3", pe, w(r.label_name), 1),
340
- s("p", ye, [
341
- S(a.value) ? (f(), c("span", xe, w(a.value?.name), 1)) : p("", !0)
339
+ s("h3", ye, w(r.label_name), 1),
340
+ s("p", xe, [
341
+ C(a.value) ? (v(), f("span", we, w(a.value?.name), 1)) : p("", !0)
342
342
  ]),
343
343
  t[6] || (t[6] = s("hr", { class: "opacity-100! bg-gray-200 border-0 dark:bg-gray-700" }, null, -1))
344
344
  ], 2)) : p("", !0),
345
- r.show ? p("", !0) : (f(), c("div", {
345
+ r.show ? p("", !0) : (v(), f("div", {
346
346
  key: 1,
347
- class: E(r.field_name)
347
+ class: B(r.field_name)
348
348
  }, [
349
349
  s("input", {
350
350
  type: "hidden",
351
351
  name: r.field_name,
352
352
  id: r.field_name,
353
353
  value: a.value?.id
354
- }, null, 8, we),
355
- r.options ? (f(), c("div", be, [
356
- r.label_name ? (f(), c("label", {
354
+ }, null, 8, be),
355
+ r.options ? (v(), f("div", ke, [
356
+ r.label_name ? (v(), f("label", {
357
357
  key: 0,
358
- class: E({
358
+ class: B({
359
359
  "gl-label-form": r.error_message == "",
360
360
  "gl-label-form-invalid": r.error_message !== "",
361
361
  required: r.is_required
362
362
  })
363
363
  }, w(r.label_name), 3)) : p("", !0),
364
- s("div", ke, [
365
- s("div", Se, [
364
+ s("div", Se, [
365
+ s("div", _e, [
366
366
  s("input", {
367
367
  ref_key: "myDivDropDown",
368
- ref: le,
369
- class: E([{
368
+ ref: ne,
369
+ class: B([{
370
370
  "gl-input-form": r.error_message == "",
371
371
  "gl-input-form-invalid": r.error_message !== "",
372
372
  [`showOptions${g.value}`]: !0,
373
- "pr-14!": S(a.value) && r.has_cancel,
374
- "pr-8!": !(S(a.value) && r.has_cancel)
373
+ "pr-14!": C(a.value) && r.has_cancel,
374
+ "pr-8!": !(C(a.value) && r.has_cancel)
375
375
  }, "truncate showOptions1"]),
376
376
  value: a.value?.name,
377
377
  placeholder: r.placeholder,
378
378
  autocomplete: "off",
379
379
  readonly: ""
380
- }, null, 10, _e),
381
- P(s("i", {
382
- onClick: t[0] || (t[0] = Z((l) => ce(), ["stop"])),
380
+ }, null, 10, Ce),
381
+ R(s("i", {
382
+ onClick: t[0] || (t[0] = ee((l) => fe(), ["stop"])),
383
383
  class: "absolute text-gray-500 cursor-pointer pointer-events-auto ltr:right-8 rtl:left-8 hover:text-red-600 dark:hover:text-red-400",
384
384
  style: { top: "13px" }
385
385
  }, t[7] || (t[7] = [
@@ -399,15 +399,15 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
399
399
  })
400
400
  ], -1)
401
401
  ]), 512), [
402
- [ee, S(a.value) && r.has_cancel]
402
+ [te, C(a.value) && r.has_cancel]
403
403
  ]),
404
404
  s("i", {
405
- onClick: t[1] || (t[1] = Z((l) => j(), ["stop"])),
405
+ onClick: t[1] || (t[1] = ee((l) => A(), ["stop"])),
406
406
  class: "absolute text-xl text-gray-500 cursor-pointer ltr:right-2 rtl:left-2 hover:text-gray-700 dark:hover:text-gray-700 showOptions",
407
407
  style: { top: "14px" }
408
408
  }, [
409
- (f(), c("svg", {
410
- class: E([x.value ? "" : "rotate-180", "w-3 h-3 shrink-0"]),
409
+ (v(), f("svg", {
410
+ class: B([x.value ? "" : "rotate-180", "w-3 h-3 shrink-0"]),
411
411
  "aria-hidden": "true",
412
412
  xmlns: "http://www.w3.org/2000/svg",
413
413
  fill: "none",
@@ -422,59 +422,59 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
422
422
  }, null, -1)
423
423
  ]), 2))
424
424
  ]),
425
- P(s("div", Ce, [
426
- r.hide_search ? p("", !0) : (f(), c("div", De, [
425
+ R(s("div", De, [
426
+ r.hide_search ? p("", !0) : (v(), f("div", Oe, [
427
427
  t[10] || (t[10] = s("label", {
428
428
  for: "default-search",
429
429
  class: "mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"
430
430
  }, "Search", -1)),
431
- s("div", Oe, [
431
+ s("div", Ee, [
432
432
  t[9] || (t[9] = s("div", { class: "absolute inset-y-0 flex items-center pointer-events-none start-0 ps-3" }, null, -1)),
433
- P(s("input", {
433
+ R(s("input", {
434
434
  type: "search",
435
- "onUpdate:modelValue": t[2] || (t[2] = (l) => v.value = l),
435
+ "onUpdate:modelValue": t[2] || (t[2] = (l) => m.value = l),
436
436
  id: `${r.field_name}search${g.value}`,
437
- onKeydown: ie,
438
- onBlur: t[3] || (t[3] = (l) => N()),
437
+ onKeydown: se,
438
+ onBlur: t[3] || (t[3] = (l) => P()),
439
439
  autocomplete: "off",
440
440
  class: "block w-full p-2 text-sm text-gray-900 outline-hidden dark:bg-gray-800 dark:text-white",
441
441
  placeholder: r.search_input_placeholder
442
- }, null, 40, Ee), [
443
- [me, v.value]
442
+ }, null, 40, Be), [
443
+ [ge, m.value]
444
444
  ])
445
445
  ])
446
446
  ])),
447
447
  s("div", {
448
448
  class: "overflow-y-auto max-h-64 px-1 py-1",
449
- onScroll: oe,
449
+ onScroll: re,
450
450
  ref_key: "dropdownRef",
451
- ref: F
451
+ ref: H
452
452
  }, [
453
- r.allow_custom && v.value && !i.value.find((l) => String(l.name) === String(v.value)) ? (f(), c("div", {
453
+ r.allow_custom && m.value && !i.value.find((l) => String(l.name) === String(m.value)) ? (v(), f("div", {
454
454
  key: 0,
455
455
  class: "relative px-2 py-0.5 text-xs leading-4 text-gray-700 no-underline cursor-pointer dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 dark:hover:text-white hover:rounded-sm",
456
- onClick: t[4] || (t[4] = (l) => W()),
457
- onMousedown: t[5] || (t[5] = (l) => W())
456
+ onClick: t[4] || (t[4] = (l) => X()),
457
+ onMousedown: t[5] || (t[5] = (l) => X())
458
458
  }, [
459
- s("div", Be, [
460
- s("span", null, w(r.custom_option_label) + ' "' + w(v.value) + '"', 1)
459
+ s("div", $e, [
460
+ s("span", null, w(r.custom_option_label) + ' "' + w(m.value) + '"', 1)
461
461
  ])
462
462
  ], 32)) : p("", !0),
463
- i.value.length ? (f(!0), c(Y, { key: 1 }, ge(i.value, (l, n) => (f(), c("div", {
464
- class: E([
463
+ i.value.length ? (v(!0), f(Z, { key: 1 }, he(i.value, (l, n) => (v(), f("div", {
464
+ class: B([
465
465
  "relative px-2 py-0.5 text-xs leading-4 text-gray-700 no-underline cursor-pointer dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 dark:hover:text-white hover:rounded-sm",
466
466
  n + 1 == y.value ? "bg-gray-100 dark:bg-gray-700 rounded-sm" : ""
467
467
  ]),
468
- onClick: (u) => q(l),
469
- onMousedown: (u) => q(l),
468
+ onClick: (u) => N(l),
469
+ onMousedown: (u) => N(l),
470
470
  key: n,
471
471
  id: `${n + 1}${g.value}`
472
472
  }, [
473
473
  s("div", Me, [
474
474
  s("span", {
475
475
  innerHTML: l.name || l.id || "-"
476
- }, null, 8, Le),
477
- a.value?.id === l.id ? (f(), c("svg", Ie, t[11] || (t[11] = [
476
+ }, null, 8, Ie),
477
+ a.value?.id === l.id ? (v(), f("svg", Te, t[11] || (t[11] = [
478
478
  s("path", {
479
479
  stroke: "currentColor",
480
480
  "stroke-linecap": "round",
@@ -484,22 +484,22 @@ const pe = { class: "font-bold ptext-lg dark:text-white" }, ye = { class: "mt-3
484
484
  }, null, -1)
485
485
  ]))) : p("", !0)
486
486
  ])
487
- ], 42, $e))), 128)) : p("", !0),
488
- B.value ? (f(), c("div", Te, " Loading... ")) : p("", !0),
489
- !B.value && i.value.length === 0 && !(r.allow_custom && v.value) ? (f(), c("div", Ue, w(r.no_results_found_placeholder), 1)) : p("", !0)
487
+ ], 42, Le))), 128)) : p("", !0),
488
+ $.value ? (v(), f("div", Ue, " Loading... ")) : p("", !0),
489
+ !$.value && i.value.length === 0 && !(r.allow_custom && m.value) ? (v(), f("div", Ve, w(r.no_results_found_placeholder), 1)) : p("", !0)
490
490
  ], 544)
491
491
  ], 512), [
492
- [ee, x.value]
492
+ [te, x.value]
493
493
  ])
494
494
  ])
495
495
  ])
496
496
  ])) : p("", !0),
497
- s("span", Ve, w(r.error_message), 1),
498
- s("small", je, w(r.description), 1)
497
+ s("span", je, w(r.error_message), 1),
498
+ s("small", Ae, w(r.description), 1)
499
499
  ], 2))
500
500
  ], 64));
501
501
  }
502
502
  };
503
503
  export {
504
- qe as default
504
+ Ne as default
505
505
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "The most popular library of interactive components built with Vuejs && Tailwind CSS",
4
4
  "type": "module",
5
5
  "private": false,
6
- "version": "1.3.1",
6
+ "version": "1.3.3",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/mrgiant/GoldenLogicUi.git"