@webx-ui/module-inbox 0.11.5 → 0.12.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.
@@ -1,9 +1,9 @@
1
- import { defineComponent as D, useModel as H, computed as g, openBlock as v, createBlock as V, unref as e, withCtx as t, createVNode as l, isRef as T, createTextVNode as k, toDisplayString as y, createCommentVNode as W, mergeModels as oe, createElementBlock as A, createElementVNode as B, ref as I, onMounted as be, Fragment as te, renderList as ue, reactive as xe, watch as ye } from "vue";
1
+ import { defineComponent as D, useModel as H, computed as g, openBlock as v, createBlock as V, unref as e, withCtx as t, createVNode as l, isRef as T, createTextVNode as k, toDisplayString as y, createCommentVNode as W, mergeModels as oe, createElementBlock as q, createElementVNode as A, ref as I, onMounted as be, Fragment as te, renderList as ue, reactive as xe, watch as ye } from "vue";
2
2
  import { useRouter as pe, useRoute as ge } from "vue-router";
3
- import { useTranslate as G, useAdmin as ie, emptyLink as de, WxLinkPicker as _e, WxRelationsField as he, useErrorText as ke, WxScreenHead as Ve } from "@webx-ui/module-admin";
4
- import { WxCard as q, WxFormItem as z, WxSwitch as me, WxInputNumber as re, WxSelect as ae, WxText as F, WxAlert as J, WxAction as K, WxTable as we, toast as P, WxInput as M, WxRadioGroup as $e, WxSpace as Ue, WxButton as ne, WxIcon as We, WxLink as ze, confirm as Fe, useLocales as Se, localizedValue as Ce, WxSkeleton as Te, WxBadge as Ae, WxTabs as Be, WxTab as R, WxActionBar as qe } from "@webx-ui/core";
5
- import { o as C, u as ce, _ as Q, a as Ie, c as fe, F as Ne } from "./index-C_zPRhNm.js";
6
- const Ee = /* @__PURE__ */ D({
3
+ import { useTranslate as G, useAdmin as ie, emptyLink as de, WxCodeField as _e, WxLinkPicker as he, WxRelationsField as ke, useErrorText as Ve, WxScreenHead as we } from "@webx-ui/module-admin";
4
+ import { WxCard as B, WxFormItem as z, WxSwitch as me, WxInputNumber as re, WxSelect as ae, WxText as F, WxAlert as J, WxAction as K, WxTable as $e, toast as R, WxInput as P, WxRadioGroup as Ue, WxSpace as We, WxButton as ne, WxIcon as ze, WxLink as Fe, confirm as Ce, useLocales as Se, localizedValue as Te, WxSkeleton as qe, WxBadge as Ae, WxTabs as Be, WxTab as O, WxActionBar as Ie } from "@webx-ui/core";
5
+ import { o as S, u as ce, q as Ne, _ as Q, a as Ee, c as fe, F as Le } from "./index-CAa0K6Q6.js";
6
+ const Me = /* @__PURE__ */ D({
7
7
  __name: "FormAntispam",
8
8
  props: /* @__PURE__ */ oe({
9
9
  site: {}
@@ -13,39 +13,39 @@ const Ee = /* @__PURE__ */ D({
13
13
  }),
14
14
  emits: ["update:modelValue"],
15
15
  setup(c) {
16
- const m = H(c, "modelValue"), u = c, s = G("webx-inbox"), w = C(m, "antispam.honeypot", !0), o = C(m, "antispam.min_seconds", 3), $ = C(m, "antispam.throttle", 5), r = C(m, "antispam.captcha", "off"), U = g(() => [
17
- { value: "off", label: s("panel.captcha-off") },
18
- { value: "recaptcha", label: s("panel.captcha-recaptcha") },
19
- { value: "turnstile", label: s("panel.captcha-turnstile") }
16
+ const m = H(c, "modelValue"), s = c, i = G("webx-inbox"), w = S(m, "antispam.honeypot", !0), o = S(m, "antispam.min_seconds", 3), $ = S(m, "antispam.throttle", 5), r = S(m, "antispam.captcha", "off"), U = g(() => [
17
+ { value: "off", label: i("panel.captcha-off") },
18
+ { value: "recaptcha", label: i("panel.captcha-recaptcha") },
19
+ { value: "turnstile", label: i("panel.captcha-turnstile") }
20
20
  ]), f = g(() => {
21
21
  const p = r.value;
22
- return p !== "recaptcha" && p !== "turnstile" ? null : { provider: p, site: u.site?.[p] ?? null };
22
+ return p !== "recaptcha" && p !== "turnstile" ? null : { provider: p, site: s.site?.[p] ?? null };
23
23
  }), _ = g(() => {
24
24
  const p = f.value?.site;
25
- return p ? s(`panel.captcha-${f.value.provider}-${p.type}`) : null;
25
+ return p ? i(`panel.captcha-${f.value.provider}-${p.type}`) : null;
26
26
  });
27
- return (p, i) => (v(), V(e(q), null, {
27
+ return (p, u) => (v(), V(e(B), null, {
28
28
  default: t(() => [
29
29
  l(e(z), {
30
- help: e(s)("panel.honeypot-help")
30
+ help: e(i)("panel.honeypot-help")
31
31
  }, {
32
32
  default: t(() => [
33
33
  l(e(me), {
34
34
  modelValue: e(w),
35
- "onUpdate:modelValue": i[0] || (i[0] = (h) => T(w) ? w.value = h : null),
36
- label: e(s)("panel.honeypot")
35
+ "onUpdate:modelValue": u[0] || (u[0] = (h) => T(w) ? w.value = h : null),
36
+ label: e(i)("panel.honeypot")
37
37
  }, null, 8, ["modelValue", "label"])
38
38
  ]),
39
39
  _: 1
40
40
  }, 8, ["help"]),
41
41
  l(e(z), {
42
- label: e(s)("panel.min-seconds"),
43
- help: e(s)("panel.min-seconds-help")
42
+ label: e(i)("panel.min-seconds"),
43
+ help: e(i)("panel.min-seconds-help")
44
44
  }, {
45
45
  default: t(() => [
46
46
  l(e(re), {
47
47
  modelValue: e(o),
48
- "onUpdate:modelValue": i[1] || (i[1] = (h) => T(o) ? o.value = h : null),
48
+ "onUpdate:modelValue": u[1] || (u[1] = (h) => T(o) ? o.value = h : null),
49
49
  min: 0,
50
50
  max: 120
51
51
  }, null, 8, ["modelValue"])
@@ -53,13 +53,13 @@ const Ee = /* @__PURE__ */ D({
53
53
  _: 1
54
54
  }, 8, ["label", "help"]),
55
55
  l(e(z), {
56
- label: e(s)("panel.throttle"),
57
- help: e(s)("panel.throttle-help")
56
+ label: e(i)("panel.throttle"),
57
+ help: e(i)("panel.throttle-help")
58
58
  }, {
59
59
  default: t(() => [
60
60
  l(e(re), {
61
61
  modelValue: e($),
62
- "onUpdate:modelValue": i[2] || (i[2] = (h) => T($) ? $.value = h : null),
62
+ "onUpdate:modelValue": u[2] || (u[2] = (h) => T($) ? $.value = h : null),
63
63
  min: 0,
64
64
  max: 120
65
65
  }, null, 8, ["modelValue"])
@@ -67,13 +67,13 @@ const Ee = /* @__PURE__ */ D({
67
67
  _: 1
68
68
  }, 8, ["label", "help"]),
69
69
  l(e(z), {
70
- label: e(s)("panel.captcha"),
71
- help: e(s)("panel.captcha-keys")
70
+ label: e(i)("panel.captcha"),
71
+ help: e(i)("panel.captcha-keys")
72
72
  }, {
73
73
  default: t(() => [
74
74
  l(e(ae), {
75
75
  modelValue: e(r),
76
- "onUpdate:modelValue": i[3] || (i[3] = (h) => T(r) ? r.value = h : null),
76
+ "onUpdate:modelValue": u[3] || (u[3] = (h) => T(r) ? r.value = h : null),
77
77
  options: U.value
78
78
  }, null, 8, ["modelValue", "options"])
79
79
  ]),
@@ -94,13 +94,13 @@ const Ee = /* @__PURE__ */ D({
94
94
  type: "warning",
95
95
  variant: "soft",
96
96
  closable: !1,
97
- description: e(s)("panel.captcha-unconfigured")
97
+ description: e(i)("panel.captcha-unconfigured")
98
98
  }, null, 8, ["description"])) : W("", !0)
99
99
  ]),
100
100
  _: 1
101
101
  }));
102
102
  }
103
- }), Le = { class: "wx-inbox-embed" }, Me = { class: "wx-inbox-embed__snippet" }, Oe = { class: "wx-inbox-embed__snippet" }, Re = { class: "wx-inbox-embed__snippet" }, Pe = /* @__PURE__ */ D({
103
+ }), Oe = { class: "wx-inbox-embed" }, Re = { class: "wx-inbox-embed__snippet" }, Pe = { class: "wx-inbox-embed__snippet" }, De = { class: "wx-inbox-embed__snippet" }, Ge = /* @__PURE__ */ D({
104
104
  __name: "FormEmbed",
105
105
  props: {
106
106
  form: {},
@@ -110,30 +110,30 @@ const Ee = /* @__PURE__ */ D({
110
110
  setup(c) {
111
111
  const m = c;
112
112
  ce();
113
- const u = G("webx-inbox"), s = ie(), w = g(
114
- () => s.state.manifest?.modules.some((i) => i.id === "blocks") ?? !1
113
+ const s = G("webx-inbox"), i = ie(), w = g(
114
+ () => i.state.manifest?.modules.some((u) => u.id === "blocks") ?? !1
115
115
  ), o = g(() => `<x-webx-inbox::form slug="${m.slug}" />`), $ = g(
116
116
  () => w.value ? o.value : `{{-- resources/views/blocks/contact.blade.php --}}
117
117
  <x-webx-inbox::form slug="${m.slug}" />`
118
118
  ), r = g(
119
- () => m.fields.find((i) => i.type === "hidden" && i.is_enabled)?.key ?? "page"
119
+ () => m.fields.find((u) => u.type === "hidden" && u.is_enabled)?.key ?? "page"
120
120
  ), U = g(
121
121
  () => `<x-webx-inbox::form slug="${m.slug}" :values="['${r.value}' => url()->current()]" />
122
122
  <x-webx-inbox::form slug="${m.slug}" placement="footer" />`
123
123
  ), f = g(() => [
124
- { key: "key", label: u("fields.name") },
125
- { key: "title", label: u("fields.title") },
126
- { key: "type", label: u("fields.type"), hideBelow: 520 }
127
- ]), _ = g(() => m.fields.filter((i) => i.is_enabled));
128
- async function p(i) {
124
+ { key: "key", label: s("fields.name") },
125
+ { key: "title", label: s("fields.title") },
126
+ { key: "type", label: s("fields.type"), hideBelow: 520 }
127
+ ]), _ = g(() => Ne(m.fields));
128
+ async function p(u) {
129
129
  try {
130
- await navigator.clipboard.writeText(i), P.success(u("panel.copied"));
130
+ await navigator.clipboard.writeText(u), R.success(s("panel.copied"));
131
131
  } catch {
132
132
  }
133
133
  }
134
- return (i, h) => (v(), A("div", Le, [
135
- l(e(q), {
136
- title: e(u)("panel.embed-blade")
134
+ return (u, h) => (v(), q("div", Oe, [
135
+ l(e(B), {
136
+ title: e(s)("panel.embed-blade")
137
137
  }, {
138
138
  default: t(() => [
139
139
  l(e(F), {
@@ -141,23 +141,23 @@ const Ee = /* @__PURE__ */ D({
141
141
  tone: "muted"
142
142
  }, {
143
143
  default: t(() => [
144
- k(y(e(u)("panel.embed-blade-help")), 1)
144
+ k(y(e(s)("panel.embed-blade-help")), 1)
145
145
  ]),
146
146
  _: 1
147
147
  }),
148
- B("div", Me, [
149
- B("code", null, y(o.value), 1),
148
+ A("div", Re, [
149
+ A("code", null, y(o.value), 1),
150
150
  l(e(K), {
151
151
  icon: "copy",
152
- title: e(u)("panel.copy"),
152
+ title: e(s)("panel.copy"),
153
153
  onClick: h[0] || (h[0] = (b) => p(o.value))
154
154
  }, null, 8, ["title"])
155
155
  ])
156
156
  ]),
157
157
  _: 1
158
158
  }, 8, ["title"]),
159
- l(e(q), {
160
- title: e(u)("panel.embed-block")
159
+ l(e(B), {
160
+ title: e(s)("panel.embed-block")
161
161
  }, {
162
162
  default: t(() => [
163
163
  l(e(F), {
@@ -165,23 +165,23 @@ const Ee = /* @__PURE__ */ D({
165
165
  tone: "muted"
166
166
  }, {
167
167
  default: t(() => [
168
- k(y(e(u)(w.value ? "panel.embed-block-panel-help" : "panel.embed-block-help")), 1)
168
+ k(y(e(s)(w.value ? "panel.embed-block-panel-help" : "panel.embed-block-help")), 1)
169
169
  ]),
170
170
  _: 1
171
171
  }),
172
- B("div", Oe, [
173
- B("code", null, y($.value), 1),
172
+ A("div", Pe, [
173
+ A("code", null, y($.value), 1),
174
174
  l(e(K), {
175
175
  icon: "copy",
176
- title: e(u)("panel.copy"),
176
+ title: e(s)("panel.copy"),
177
177
  onClick: h[1] || (h[1] = (b) => p($.value))
178
178
  }, null, 8, ["title"])
179
179
  ])
180
180
  ]),
181
181
  _: 1
182
182
  }, 8, ["title"]),
183
- l(e(q), {
184
- title: e(u)("panel.embed-extras")
183
+ l(e(B), {
184
+ title: e(s)("panel.embed-extras")
185
185
  }, {
186
186
  default: t(() => [
187
187
  l(e(F), {
@@ -189,23 +189,23 @@ const Ee = /* @__PURE__ */ D({
189
189
  tone: "muted"
190
190
  }, {
191
191
  default: t(() => [
192
- k(y(e(u)("panel.embed-extras-help")), 1)
192
+ k(y(e(s)("panel.embed-extras-help")), 1)
193
193
  ]),
194
194
  _: 1
195
195
  }),
196
- B("div", Re, [
197
- B("code", null, y(U.value), 1),
196
+ A("div", De, [
197
+ A("code", null, y(U.value), 1),
198
198
  l(e(K), {
199
199
  icon: "copy",
200
- title: e(u)("panel.copy"),
200
+ title: e(s)("panel.copy"),
201
201
  onClick: h[2] || (h[2] = (b) => p(U.value))
202
202
  }, null, 8, ["title"])
203
203
  ])
204
204
  ]),
205
205
  _: 1
206
206
  }, 8, ["title"]),
207
- l(e(q), {
208
- title: e(u)("panel.embed-names")
207
+ l(e(B), {
208
+ title: e(s)("panel.embed-names")
209
209
  }, {
210
210
  default: t(() => [
211
211
  l(e(F), {
@@ -213,16 +213,16 @@ const Ee = /* @__PURE__ */ D({
213
213
  tone: "muted"
214
214
  }, {
215
215
  default: t(() => [
216
- k(y(e(u)("panel.embed-names-help")), 1)
216
+ k(y(e(s)("panel.embed-names-help")), 1)
217
217
  ]),
218
218
  _: 1
219
219
  }),
220
- l(e(we), {
220
+ l(e($e), {
221
221
  data: _.value,
222
222
  columns: f.value,
223
223
  "row-key": "id",
224
224
  flush: "",
225
- "empty-text": e(u)("fields.no-fields")
225
+ "empty-text": e(s)("fields.no-fields")
226
226
  }, {
227
227
  "cell-key": t(({ row: b }) => [
228
228
  l(e(F), {
@@ -239,7 +239,7 @@ const Ee = /* @__PURE__ */ D({
239
239
  k(y(Object.values(b.title)[0] ?? b.key), 1)
240
240
  ]),
241
241
  "cell-type": t(({ row: b }) => [
242
- k(y(e(u)(`fields.type-${b.type}`)), 1)
242
+ k(y(e(s)(`fields.type-${b.type}`)), 1)
243
243
  ]),
244
244
  _: 1
245
245
  }, 8, ["data", "columns", "empty-text"])
@@ -248,7 +248,7 @@ const Ee = /* @__PURE__ */ D({
248
248
  }, 8, ["title"])
249
249
  ]));
250
250
  }
251
- }), De = /* @__PURE__ */ Q(Pe, [["__scopeId", "data-v-7f9788ed"]]), Ge = { class: "wx-inbox-general" }, Ke = /* @__PURE__ */ D({
251
+ }), Ke = /* @__PURE__ */ Q(Ge, [["__scopeId", "data-v-83b5e98b"]]), je = { class: "wx-inbox-general" }, He = /* @__PURE__ */ D({
252
252
  __name: "FormGeneral",
253
253
  props: /* @__PURE__ */ oe({
254
254
  errors: {}
@@ -263,7 +263,7 @@ const Ee = /* @__PURE__ */ D({
263
263
  const m = H(
264
264
  c,
265
265
  "settings"
266
- ), u = H(c, "options"), s = G("webx-inbox"), w = C(u, "description", {}), o = C(u, "thank-you.heading", {}), $ = C(u, "thank-you.text", {}), r = C(u, "design.submit-text", {}), U = C(u, "redirect", null), f = g({
266
+ ), s = H(c, "options"), i = G("webx-inbox"), w = S(s, "description", {}), o = S(s, "thank-you.heading", {}), $ = S(s, "thank-you.text", {}), r = S(s, "design.submit-text", {}), U = S(s, "redirect", null), f = g({
267
267
  get: () => {
268
268
  const _ = U.value;
269
269
  return typeof _ == "string" ? { ...de(), target: "url", url: _ } : _ ?? { ...de(), target: "none" };
@@ -272,59 +272,60 @@ const Ee = /* @__PURE__ */ D({
272
272
  U.value = _ === null || _.target === "none" ? null : _;
273
273
  }
274
274
  });
275
- return (_, p) => (v(), A("div", Ge, [
276
- l(e(q), null, {
275
+ return (_, p) => (v(), q("div", je, [
276
+ l(e(B), null, {
277
277
  default: t(() => [
278
278
  l(e(z), {
279
- label: e(s)("panel.title"),
279
+ label: e(i)("panel.title"),
280
280
  error: c.errors.title?.[0],
281
281
  required: ""
282
282
  }, {
283
283
  default: t(() => [
284
- l(e(M), {
284
+ l(e(P), {
285
285
  modelValue: m.value.title,
286
- "onUpdate:modelValue": p[0] || (p[0] = (i) => m.value.title = i),
286
+ "onUpdate:modelValue": p[0] || (p[0] = (u) => m.value.title = u),
287
287
  localized: ""
288
288
  }, null, 8, ["modelValue"])
289
289
  ]),
290
290
  _: 1
291
291
  }, 8, ["label", "error"]),
292
292
  l(e(z), {
293
- label: e(s)("panel.description"),
294
- help: e(s)("panel.description-help")
293
+ label: e(i)("panel.description"),
294
+ help: e(i)("panel.description-help")
295
295
  }, {
296
296
  default: t(() => [
297
- l(e(M), {
297
+ l(e(P), {
298
298
  modelValue: e(w),
299
- "onUpdate:modelValue": p[1] || (p[1] = (i) => T(w) ? w.value = i : null),
299
+ "onUpdate:modelValue": p[1] || (p[1] = (u) => T(w) ? w.value = u : null),
300
300
  localized: ""
301
301
  }, null, 8, ["modelValue"])
302
302
  ]),
303
303
  _: 1
304
304
  }, 8, ["label", "help"]),
305
305
  l(e(z), {
306
- label: e(s)("panel.slug"),
307
- help: e(s)("panel.slug-help"),
306
+ label: e(i)("panel.slug"),
307
+ help: e(i)("panel.slug-help"),
308
308
  error: c.errors.slug?.[0],
309
309
  required: ""
310
310
  }, {
311
311
  default: t(() => [
312
- l(e(M), {
312
+ l(e(_e), {
313
313
  modelValue: m.value.slug,
314
- "onUpdate:modelValue": p[2] || (p[2] = (i) => m.value.slug = i),
314
+ "onUpdate:modelValue": p[2] || (p[2] = (u) => m.value.slug = u),
315
+ maxlength: 96,
315
316
  placeholder: "contact"
316
317
  }, null, 8, ["modelValue"])
317
318
  ]),
318
319
  _: 1
319
320
  }, 8, ["label", "help", "error"]),
320
321
  l(e(z), {
321
- help: e(s)("panel.is-enabled-help")
322
+ help: e(i)("panel.is-enabled-help")
322
323
  }, {
323
324
  default: t(() => [
324
325
  l(e(me), {
325
326
  modelValue: m.value.is_enabled,
326
- "onUpdate:modelValue": p[3] || (p[3] = (i) => m.value.is_enabled = i),
327
- label: e(s)("panel.is-enabled")
327
+ "onUpdate:modelValue": p[3] || (p[3] = (u) => m.value.is_enabled = u),
328
+ label: e(i)("panel.is-enabled")
328
329
  }, null, 8, ["modelValue", "label"])
329
330
  ]),
330
331
  _: 1
@@ -332,54 +333,54 @@ const Ee = /* @__PURE__ */ D({
332
333
  ]),
333
334
  _: 1
334
335
  }),
335
- l(e(q), {
336
- title: e(s)("panel.after-sending")
336
+ l(e(B), {
337
+ title: e(i)("panel.after-sending")
337
338
  }, {
338
339
  default: t(() => [
339
340
  l(e(z), {
340
- label: e(s)("panel.submit-text")
341
+ label: e(i)("panel.submit-text")
341
342
  }, {
342
343
  default: t(() => [
343
- l(e(M), {
344
+ l(e(P), {
344
345
  modelValue: e(r),
345
- "onUpdate:modelValue": p[4] || (p[4] = (i) => T(r) ? r.value = i : null),
346
+ "onUpdate:modelValue": p[4] || (p[4] = (u) => T(r) ? r.value = u : null),
346
347
  localized: ""
347
348
  }, null, 8, ["modelValue"])
348
349
  ]),
349
350
  _: 1
350
351
  }, 8, ["label"]),
351
352
  l(e(z), {
352
- label: e(s)("panel.thank-you-heading")
353
+ label: e(i)("panel.thank-you-heading")
353
354
  }, {
354
355
  default: t(() => [
355
- l(e(M), {
356
+ l(e(P), {
356
357
  modelValue: e(o),
357
- "onUpdate:modelValue": p[5] || (p[5] = (i) => T(o) ? o.value = i : null),
358
+ "onUpdate:modelValue": p[5] || (p[5] = (u) => T(o) ? o.value = u : null),
358
359
  localized: ""
359
360
  }, null, 8, ["modelValue"])
360
361
  ]),
361
362
  _: 1
362
363
  }, 8, ["label"]),
363
364
  l(e(z), {
364
- label: e(s)("panel.thank-you-text")
365
+ label: e(i)("panel.thank-you-text")
365
366
  }, {
366
367
  default: t(() => [
367
- l(Ie, {
368
+ l(Ee, {
368
369
  modelValue: e($),
369
- "onUpdate:modelValue": p[6] || (p[6] = (i) => T($) ? $.value = i : null)
370
+ "onUpdate:modelValue": p[6] || (p[6] = (u) => T($) ? $.value = u : null)
370
371
  }, null, 8, ["modelValue"])
371
372
  ]),
372
373
  _: 1
373
374
  }, 8, ["label"]),
374
375
  l(e(z), {
375
- label: e(s)("panel.redirect"),
376
- help: e(s)("panel.redirect-help"),
376
+ label: e(i)("panel.redirect"),
377
+ help: e(i)("panel.redirect-help"),
377
378
  error: c.errors["options.redirect"]?.[0]
378
379
  }, {
379
380
  default: t(() => [
380
- l(e(_e), {
381
+ l(e(he), {
381
382
  modelValue: f.value,
382
- "onUpdate:modelValue": p[7] || (p[7] = (i) => f.value = i),
383
+ "onUpdate:modelValue": p[7] || (p[7] = (u) => f.value = u),
383
384
  attributes: !1
384
385
  }, null, 8, ["modelValue"])
385
386
  ]),
@@ -390,30 +391,30 @@ const Ee = /* @__PURE__ */ D({
390
391
  }, 8, ["title"])
391
392
  ]));
392
393
  }
393
- }), je = /* @__PURE__ */ Q(Ke, [["__scopeId", "data-v-1065e341"]]), He = /^[^\s@]+@[^\s@]+$/;
394
+ }), Je = /* @__PURE__ */ Q(He, [["__scopeId", "data-v-02798a1a"]]), Qe = /^[^\s@]+@[^\s@]+$/;
394
395
  function j(c) {
395
396
  return "admin_id" in c;
396
397
  }
397
398
  function ve(c, m = []) {
398
399
  return j(c) ? m.find(
399
- (s) => s.type === "admin" && s.admin_id === c.admin_id
400
- )?.problem ?? null : He.test((c.email ?? "").trim()) ? null : "invalid_email";
400
+ (i) => i.type === "admin" && i.admin_id === c.admin_id
401
+ )?.problem ?? null : Qe.test((c.email ?? "").trim()) ? null : "invalid_email";
401
402
  }
402
- function Je(c, m = []) {
403
- return (c ?? []).some((u) => ve(u, m) === null);
403
+ function Xe(c, m = []) {
404
+ return (c ?? []).some((s) => ve(s, m) === null);
404
405
  }
405
- const Qe = {
406
+ const Ye = {
406
407
  key: 1,
407
408
  class: "wx-inbox-notifications__way",
408
409
  "data-way": "email"
409
- }, Xe = {
410
+ }, Ze = {
410
411
  key: 1,
411
412
  class: "wx-inbox-notifications__route"
412
- }, Ye = { class: "wx-inbox-recipients" }, Ze = { class: "wx-inbox-recipients__row" }, el = {
413
+ }, el = { class: "wx-inbox-recipients" }, ll = { class: "wx-inbox-recipients__row" }, tl = {
413
414
  key: 2,
414
415
  class: "wx-inbox-notifications__way",
415
416
  "data-way": "channels"
416
- }, ll = { class: "wx-inbox-channels" }, tl = /* @__PURE__ */ D({
417
+ }, al = { class: "wx-inbox-channels" }, nl = /* @__PURE__ */ D({
417
418
  __name: "FormNotifications",
418
419
  props: /* @__PURE__ */ oe({
419
420
  fields: {},
@@ -428,15 +429,15 @@ const Qe = {
428
429
  }),
429
430
  emits: ["update:modelValue"],
430
431
  setup(c) {
431
- const m = c, u = H(c, "modelValue"), s = ie(), w = fe(s), o = G("webx-inbox"), $ = I([]), r = C(u, "recipients", []), U = C(u, "email_field", ""), f = C(u, "notify_channels", []), _ = g({
432
- get: () => u.value.notify_via ?? m.via ?? "email",
432
+ const m = c, s = H(c, "modelValue"), i = ie(), w = fe(i), o = G("webx-inbox"), $ = I([]), r = S(s, "recipients", []), U = S(s, "email_field", ""), f = S(s, "notify_channels", []), _ = g({
433
+ get: () => s.value.notify_via ?? m.via ?? "email",
433
434
  set: (d) => {
434
- u.value = { ...u.value, notify_via: d };
435
+ s.value = { ...s.value, notify_via: d };
435
436
  }
436
437
  }), p = g(() => [
437
438
  { value: "email", label: o("panel.via-email") },
438
439
  { value: "channels", label: o("panel.via-channels") }
439
- ]), i = g(() => !m.notifications || _.value === "email"), h = pe(), b = g(() => s.can("notifications.manage")), S = g(() => `${s.basePath}/notifications`.replace(/\/{2,}/g, "/"));
440
+ ]), u = g(() => !m.notifications || _.value === "email"), h = pe(), b = g(() => i.can("notifications.manage")), C = g(() => `${i.basePath}/notifications`.replace(/\/{2,}/g, "/"));
440
441
  function se(d) {
441
442
  d.metaKey || d.ctrlKey || d.shiftKey || d.button !== 0 || (d.preventDefault(), h.push("/notifications"));
442
443
  }
@@ -458,7 +459,7 @@ const Qe = {
458
459
  );
459
460
  return a === void 0 ? d.name ?? d.key : d.name ? `${a} · ${d.name}` : a;
460
461
  }
461
- function O(d) {
462
+ function M(d) {
462
463
  if (!j(d)) return null;
463
464
  const a = ve(d, m.reported);
464
465
  return a === null ? null : o(`panel.recipient-${a}`);
@@ -468,7 +469,7 @@ const Qe = {
468
469
  }
469
470
  async function Z(d) {
470
471
  const a = r.value[d];
471
- a !== void 0 && (j(a) || (a.email ?? "").trim() !== "") && !await Fe({
472
+ a !== void 0 && (j(a) || (a.email ?? "").trim() !== "") && !await Ce({
472
473
  title: o("panel.remove-recipient-title"),
473
474
  message: o("panel.remove-recipient-text"),
474
475
  confirmText: o("panel.remove"),
@@ -482,7 +483,7 @@ const Qe = {
482
483
  function le(d, a) {
483
484
  r.value = r.value.map((n, x) => x === d ? { email: a } : n);
484
485
  }
485
- return (d, a) => (v(), V(e(q), {
486
+ return (d, a) => (v(), V(e(B), {
486
487
  class: "wx-inbox-notifications",
487
488
  title: m.notifications ? void 0 : e(o)("panel.recipients")
488
489
  }, {
@@ -506,7 +507,7 @@ const Qe = {
506
507
  label: e(o)("panel.notify-via")
507
508
  }, {
508
509
  default: t(() => [
509
- l(e($e), {
510
+ l(e(Ue), {
510
511
  modelValue: _.value,
511
512
  "onUpdate:modelValue": a[1] || (a[1] = (n) => _.value = n),
512
513
  options: p.value,
@@ -515,7 +516,7 @@ const Qe = {
515
516
  ]),
516
517
  _: 1
517
518
  }, 8, ["label"])) : W("", !0),
518
- i.value ? (v(), A("section", Qe, [
519
+ u.value ? (v(), q("section", Ye, [
519
520
  m.notifications ? (v(), V(e(F), {
520
521
  key: 0,
521
522
  weight: "medium"
@@ -534,14 +535,14 @@ const Qe = {
534
535
  ]),
535
536
  _: 1
536
537
  }),
537
- c.mail ? (v(), A("div", Xe, [
538
+ c.mail ? (v(), q("div", Ze, [
538
539
  l(e(F), {
539
540
  size: "sm",
540
541
  tone: "muted"
541
542
  }, {
542
543
  default: t(() => [
543
544
  k(y(e(o)("panel.mail-route")) + " ", 1),
544
- B("code", null, y(c.mail.route.label), 1)
545
+ A("code", null, y(c.mail.route.label), 1)
545
546
  ]),
546
547
  _: 1
547
548
  }),
@@ -555,7 +556,7 @@ const Qe = {
555
556
  ]),
556
557
  _: 1
557
558
  })) : W("", !0),
558
- (v(!0), A(te, null, ue(c.mail.warnings, (n) => (v(), V(e(J), {
559
+ (v(!0), q(te, null, ue(c.mail.warnings, (n) => (v(), V(e(J), {
559
560
  key: n.code,
560
561
  type: "warning",
561
562
  variant: "soft",
@@ -568,7 +569,7 @@ const Qe = {
568
569
  variant: "soft",
569
570
  description: c.errors["options.recipients"]?.[0]
570
571
  }, null, 8, ["description"])) : W("", !0),
571
- B("div", Ye, [
572
+ A("div", el, [
572
573
  e(r).length === 0 ? (v(), V(e(F), {
573
574
  key: 0,
574
575
  size: "sm",
@@ -579,17 +580,17 @@ const Qe = {
579
580
  ]),
580
581
  _: 1
581
582
  })) : W("", !0),
582
- (v(!0), A(te, null, ue(e(r), (n, x) => (v(), A("div", {
583
+ (v(!0), q(te, null, ue(e(r), (n, x) => (v(), q("div", {
583
584
  key: x,
584
585
  class: "wx-inbox-recipients__item"
585
586
  }, [
586
- B("div", Ze, [
587
+ A("div", ll, [
587
588
  e(j)(n) ? (v(), V(e(ae), {
588
589
  key: 0,
589
590
  "model-value": n.admin_id,
590
591
  options: E.value,
591
592
  "onUpdate:modelValue": (L) => ee(x, Number(L))
592
- }, null, 8, ["model-value", "options", "onUpdate:modelValue"])) : (v(), V(e(M), {
593
+ }, null, 8, ["model-value", "options", "onUpdate:modelValue"])) : (v(), V(e(P), {
593
594
  key: 1,
594
595
  "model-value": n.email,
595
596
  type: "email",
@@ -603,19 +604,19 @@ const Qe = {
603
604
  onClick: (L) => Z(x)
604
605
  }, null, 8, ["title", "onClick"])
605
606
  ]),
606
- O(n) ? (v(), V(e(F), {
607
+ M(n) ? (v(), V(e(F), {
607
608
  key: 0,
608
609
  size: "sm",
609
610
  tone: "danger"
610
611
  }, {
611
612
  default: t(() => [
612
- k(y(O(n)), 1)
613
+ k(y(M(n)), 1)
613
614
  ]),
614
615
  _: 2
615
616
  }, 1024)) : W("", !0)
616
617
  ]))), 128))
617
618
  ]),
618
- l(e(Ue), { size: "sm" }, {
619
+ l(e(We), { size: "sm" }, {
619
620
  default: t(() => [
620
621
  l(e(ne), {
621
622
  variant: "outline",
@@ -633,7 +634,7 @@ const Qe = {
633
634
  onClick: a[3] || (a[3] = (n) => N({ email: "" }))
634
635
  }, {
635
636
  icon: t(() => [
636
- l(e(We), { name: "mail" })
637
+ l(e(ze), { name: "mail" })
637
638
  ]),
638
639
  default: t(() => [
639
640
  k(" " + y(e(o)("panel.add-email")), 1)
@@ -643,7 +644,7 @@ const Qe = {
643
644
  ]),
644
645
  _: 1
645
646
  })
646
- ])) : (v(), A("section", el, [
647
+ ])) : (v(), q("section", tl, [
647
648
  l(e(F), { weight: "medium" }, {
648
649
  default: t(() => [
649
650
  k(y(e(o)("panel.notify-through")), 1)
@@ -659,8 +660,8 @@ const Qe = {
659
660
  ]),
660
661
  _: 1
661
662
  }),
662
- B("div", ll, [
663
- l(e(he), {
663
+ A("div", al, [
664
+ l(e(ke), {
664
665
  modelValue: e(f),
665
666
  "onUpdate:modelValue": a[4] || (a[4] = (n) => T(f) ? f.value = n : null),
666
667
  target: "notify-inbox-submission",
@@ -669,9 +670,9 @@ const Qe = {
669
670
  "empty-text": e(o)("panel.no-channels"),
670
671
  "none-text": e(o)("panel.no-channels-yet")
671
672
  }, null, 8, ["modelValue", "add-text", "empty-text", "none-text"]),
672
- b.value ? (v(), V(e(ze), {
673
+ b.value ? (v(), V(e(Fe), {
673
674
  key: 0,
674
- href: S.value,
675
+ href: C.value,
675
676
  size: "sm",
676
677
  onClick: se
677
678
  }, {
@@ -686,38 +687,38 @@ const Qe = {
686
687
  _: 1
687
688
  }, 8, ["title"]));
688
689
  }
689
- }), al = /* @__PURE__ */ Q(tl, [["__scopeId", "data-v-5fc21abd"]]), nl = { class: "wx-inbox-editor" }, ol = /* @__PURE__ */ D({
690
+ }), ol = /* @__PURE__ */ Q(nl, [["__scopeId", "data-v-5fc21abd"]]), il = { class: "wx-inbox-editor" }, sl = /* @__PURE__ */ D({
690
691
  __name: "FormEditorPage",
691
692
  props: {
692
693
  base: { default: "/inbox" }
693
694
  },
694
695
  setup(c) {
695
- const m = c, u = ie(), s = fe(u), w = ge(), o = pe(), $ = Se();
696
+ const m = c, s = ie(), i = fe(s), w = ge(), o = pe(), $ = Se();
696
697
  ce();
697
- const r = G("webx-inbox"), U = ke(), f = I(null), _ = I([]), p = I(!0), i = I(!1), h = I({});
698
+ const r = G("webx-inbox"), U = Ve(), f = I(null), _ = I([]), p = I(!0), u = I(!1), h = I({});
698
699
  let b = xe({
699
700
  slug: "",
700
701
  title: {},
701
702
  is_enabled: !0
702
703
  });
703
- const S = I({}), E = I(["general", "fields", "notifications", "antispam", "embed"].includes(String(w.query.tab)) ? String(w.query.tab) : "general"), X = g(
704
- () => b.is_enabled && !Je(S.value.recipients, f.value?.recipients) && !Y.value
704
+ const C = I({}), E = I(["general", "fields", "notifications", "antispam", "embed"].includes(String(w.query.tab)) ? String(w.query.tab) : "general"), X = g(
705
+ () => b.is_enabled && !Xe(C.value.recipients, f.value?.recipients) && !Y.value
705
706
  ), Y = g(() => {
706
707
  if (f.value?.notifications !== !0) return !1;
707
708
  const a = f.value.channels ?? [];
708
- return (S.value.notify_channels ?? []).some(
709
+ return (C.value.notify_channels ?? []).some(
709
710
  (n) => a.find((x) => x.id === n)?.sends ?? !0
710
711
  );
711
- }), O = g(() => u.can("inbox.manage")), N = g(() => Number(w.params.id)), Z = g(
712
- () => f.value === null ? "" : Ce(b.title, $.active.value, b.slug)
712
+ }), M = g(() => s.can("inbox.manage")), N = g(() => Number(w.params.id)), Z = g(
713
+ () => f.value === null ? "" : Te(b.title, $.active.value, b.slug)
713
714
  ), ee = g(() => `${m.base}?form=${N.value}`);
714
715
  async function le() {
715
716
  p.value = !0;
716
717
  try {
717
- const a = await s.form(N.value);
718
- f.value = a, _.value = a.fields ?? [], b.slug = a.slug, b.title = { ...a.title }, b.is_enabled = a.is_enabled, S.value = { ...a.options };
718
+ const a = await i.form(N.value);
719
+ f.value = a, _.value = a.fields ?? [], b.slug = a.slug, b.title = { ...a.title }, b.is_enabled = a.is_enabled, C.value = { ...a.options };
719
720
  } catch (a) {
720
- P.danger(U(a)), o.replace(m.base);
721
+ R.danger(U(a)), o.replace(m.base);
721
722
  } finally {
722
723
  p.value = !1;
723
724
  }
@@ -726,33 +727,33 @@ const Qe = {
726
727
  le();
727
728
  }, { immediate: !0 });
728
729
  async function d() {
729
- i.value = !0, h.value = {};
730
+ u.value = !0, h.value = {};
730
731
  try {
731
- const a = await s.saveForm(N.value, {
732
+ const a = await i.saveForm(N.value, {
732
733
  slug: b.slug.trim(),
733
734
  title: b.title,
734
735
  is_enabled: b.is_enabled,
735
- options: S.value
736
+ options: C.value
736
737
  });
737
- f.value = a, P.success(r("panel.saved"));
738
+ f.value = a, R.success(r("panel.saved"));
738
739
  } catch (a) {
739
740
  const n = a.body;
740
- n?.errors ? (h.value = n.errors, P.danger(r("panel.failed"))) : P.danger(U(a));
741
+ n?.errors ? (h.value = n.errors, R.danger(r("panel.failed"))) : R.danger(U(a));
741
742
  } finally {
742
- i.value = !1;
743
+ u.value = !1;
743
744
  }
744
745
  }
745
- return (a, n) => (v(), A("div", nl, [
746
- p.value ? (v(), V(e(q), { key: 0 }, {
746
+ return (a, n) => (v(), q("div", il, [
747
+ p.value ? (v(), V(e(B), { key: 0 }, {
747
748
  default: t(() => [
748
- l(e(Te), {
749
+ l(e(qe), {
749
750
  title: "",
750
751
  rows: 8
751
752
  })
752
753
  ]),
753
754
  _: 1
754
- })) : f.value ? (v(), A(te, { key: 1 }, [
755
- l(e(Ve), {
755
+ })) : f.value ? (v(), q(te, { key: 1 }, [
756
+ l(e(we), {
756
757
  class: "wx-inbox-editor__head",
757
758
  title: Z.value,
758
759
  subtitle: f.value.slug,
@@ -788,43 +789,43 @@ const Qe = {
788
789
  "keep-alive": ""
789
790
  }, {
790
791
  default: t(() => [
791
- l(e(R), {
792
+ l(e(O), {
792
793
  value: "general",
793
794
  label: e(r)("panel.tab-general")
794
795
  }, {
795
796
  default: t(() => [
796
- l(je, {
797
+ l(Je, {
797
798
  settings: e(b),
798
799
  "onUpdate:settings": n[0] || (n[0] = (x) => T(b) ? b.value = x : b = x),
799
- options: S.value,
800
- "onUpdate:options": n[1] || (n[1] = (x) => S.value = x),
800
+ options: C.value,
801
+ "onUpdate:options": n[1] || (n[1] = (x) => C.value = x),
801
802
  errors: h.value
802
803
  }, null, 8, ["settings", "options", "errors"])
803
804
  ]),
804
805
  _: 1
805
806
  }, 8, ["label"]),
806
- l(e(R), {
807
+ l(e(O), {
807
808
  value: "fields",
808
809
  label: e(r)("panel.tab-fields")
809
810
  }, {
810
811
  default: t(() => [
811
- l(Ne, {
812
+ l(Le, {
812
813
  modelValue: _.value,
813
814
  "onUpdate:modelValue": n[2] || (n[2] = (x) => _.value = x),
814
815
  form: f.value,
815
- "can-manage": O.value
816
+ "can-manage": M.value
816
817
  }, null, 8, ["modelValue", "form", "can-manage"])
817
818
  ]),
818
819
  _: 1
819
820
  }, 8, ["label"]),
820
- l(e(R), {
821
+ l(e(O), {
821
822
  value: "notifications",
822
823
  label: e(r)("panel.tab-notifications")
823
824
  }, {
824
825
  default: t(() => [
825
- l(al, {
826
- modelValue: S.value,
827
- "onUpdate:modelValue": n[3] || (n[3] = (x) => S.value = x),
826
+ l(ol, {
827
+ modelValue: C.value,
828
+ "onUpdate:modelValue": n[3] || (n[3] = (x) => C.value = x),
828
829
  fields: _.value,
829
830
  errors: h.value,
830
831
  reported: f.value.recipients,
@@ -835,25 +836,25 @@ const Qe = {
835
836
  ]),
836
837
  _: 1
837
838
  }, 8, ["label"]),
838
- l(e(R), {
839
+ l(e(O), {
839
840
  value: "antispam",
840
841
  label: e(r)("panel.tab-antispam")
841
842
  }, {
842
843
  default: t(() => [
843
- l(Ee, {
844
- modelValue: S.value,
845
- "onUpdate:modelValue": n[4] || (n[4] = (x) => S.value = x),
844
+ l(Me, {
845
+ modelValue: C.value,
846
+ "onUpdate:modelValue": n[4] || (n[4] = (x) => C.value = x),
846
847
  site: f.value.captcha
847
848
  }, null, 8, ["modelValue", "site"])
848
849
  ]),
849
850
  _: 1
850
851
  }, 8, ["label"]),
851
- l(e(R), {
852
+ l(e(O), {
852
853
  value: "embed",
853
854
  label: e(r)("panel.tab-embed")
854
855
  }, {
855
856
  default: t(() => [
856
- l(De, {
857
+ l(Ke, {
857
858
  form: f.value,
858
859
  slug: e(b).slug,
859
860
  fields: _.value
@@ -864,11 +865,11 @@ const Qe = {
864
865
  ]),
865
866
  _: 1
866
867
  }, 8, ["modelValue"]),
867
- O.value ? (v(), V(e(qe), { key: 1 }, {
868
+ M.value ? (v(), V(e(Ie), { key: 1 }, {
868
869
  default: t(() => [
869
870
  l(e(ne), {
870
871
  type: "primary",
871
- loading: i.value,
872
+ loading: u.value,
872
873
  onClick: d
873
874
  }, {
874
875
  default: t(() => [
@@ -882,8 +883,8 @@ const Qe = {
882
883
  ], 64)) : W("", !0)
883
884
  ]));
884
885
  }
885
- }), pl = /* @__PURE__ */ Q(ol, [["__scopeId", "data-v-1d18ccd2"]]);
886
+ }), cl = /* @__PURE__ */ Q(sl, [["__scopeId", "data-v-1d18ccd2"]]);
886
887
  export {
887
- pl as default
888
+ cl as default
888
889
  };
889
- //# sourceMappingURL=FormEditorPage-DC5AjYv6.js.map
890
+ //# sourceMappingURL=FormEditorPage-BsJTI_wN.js.map