@bagelink/vue 1.7.49 → 1.7.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -6060,6 +6060,7 @@ function txtField(e, t, j) {
6060
6060
  vIf: j?.vIf,
6061
6061
  transform: j?.transform,
6062
6062
  attrs: {
6063
+ title: j?.title,
6063
6064
  autocomplete: j?.autocomplete,
6064
6065
  pattern: j?.pattern,
6065
6066
  multiline: j?.multiline,
@@ -6088,6 +6089,7 @@ function selectField(e, t, j, M) {
6088
6089
  options: j,
6089
6090
  attrs: {
6090
6091
  ...M?.attrs,
6092
+ title: M?.title,
6091
6093
  searchable: M?.searchable,
6092
6094
  multiselect: M?.multiselect,
6093
6095
  clearable: M?.clearable
@@ -6123,6 +6125,7 @@ function emailField(e, t, j) {
6123
6125
  vIf: j?.vIf,
6124
6126
  transform: j?.transform,
6125
6127
  attrs: {
6128
+ title: j?.title,
6126
6129
  autocorrect: j?.autocorrect,
6127
6130
  serverValidate: j?.serverValidate,
6128
6131
  preventFakeEmails: j?.preventFakeEmails,
@@ -6142,6 +6145,7 @@ function dateField(e, t, j) {
6142
6145
  vIf: j?.vIf,
6143
6146
  transform: j?.transform,
6144
6147
  attrs: {
6148
+ title: j?.title,
6145
6149
  disabled: j?.disabled,
6146
6150
  autocomplete: j?.autocomplete,
6147
6151
  enableTime: j?.enableTime,
@@ -6165,6 +6169,7 @@ function numField(e, t, j) {
6165
6169
  vIf: j?.vIf,
6166
6170
  transform: j?.transform,
6167
6171
  attrs: {
6172
+ title: j?.title,
6168
6173
  autocomplete: j?.autocomplete,
6169
6174
  step: j?.step,
6170
6175
  min: j?.min,
@@ -6241,6 +6246,7 @@ function telField(e, t, j) {
6241
6246
  transform: j?.transform,
6242
6247
  attrs: {
6243
6248
  ...j?.attrs,
6249
+ title: j?.title,
6244
6250
  pattern: j?.pattern,
6245
6251
  autocomplete: j?.autocomplete
6246
6252
  }
@@ -9049,9 +9055,10 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9049
9055
  if (M.multiselect) {
9050
9056
  let t = [e].flat();
9051
9057
  Kj(t, yj.value) || yj.value.splice(0, bj.value, ...t);
9052
- } else {
9058
+ } else if (e == null) yj.value.length > 0 && (yj.value = []);
9059
+ else {
9053
9060
  let t = Array.isArray(M.options) ? M.options.find((t) => Bj(t) === e) ?? e : e;
9054
- t != null && !Ij(t) && (yj.value = [t]);
9061
+ Ij(t) || (yj.value = [t]);
9055
9062
  }
9056
9063
  }, { immediate: !0 }), watch(() => wj.value, (e) => {
9057
9064
  e && (jj.value = -1, setTimeout(() => {
@@ -9076,7 +9083,7 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9076
9083
  });
9077
9084
  }, { deep: !0 }), onMounted(() => {
9078
9085
  let e = M.options;
9079
- if (M.defaultValue !== void 0 && Array.isArray(e)) {
9086
+ if (M.modelValue == null && M.defaultValue !== void 0 && Array.isArray(e)) {
9080
9087
  let t = e.find((e) => Bj(e) === Bj(M.defaultValue));
9081
9088
  if (t === void 0) return;
9082
9089
  yj.value = [t];
@@ -9190,7 +9197,7 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9190
9197
  _: 3
9191
9198
  }, 8, ["shown", "placement"]));
9192
9199
  }
9193
- }), [["__scopeId", "data-v-5beb2e3d"]]), _hoisted_1$42 = ["title"], _hoisted_2$28 = ["for"], _hoisted_3$22 = { key: 0 }, _hoisted_4$13 = [
9200
+ }), [["__scopeId", "data-v-53212b64"]]), _hoisted_1$42 = ["title"], _hoisted_2$28 = ["for"], _hoisted_3$22 = { key: 0 }, _hoisted_4$13 = [
9194
9201
  "id",
9195
9202
  "name",
9196
9203
  "title",
@@ -9247,33 +9254,47 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9247
9254
  },
9248
9255
  emits: ["update:modelValue", "debounce"],
9249
9256
  setup(e, { expose: t, emit: j }) {
9250
- let M = e, N = j, V = ref(), hj = ref();
9251
- useValidateFieldValue(() => V.value, () => hj.value, M.validate, M.getFormData);
9252
- let _j = computed(() => {
9257
+ let M = e, N = j, V = computed(() => {
9258
+ if (!M.pattern) return;
9259
+ let { pattern: e } = M;
9260
+ e = e.replace(/^\^/, "").replace(/\$$/, "");
9261
+ try {
9262
+ return e;
9263
+ } catch {
9264
+ try {
9265
+ return e;
9266
+ } catch (e) {
9267
+ console.error("Invalid pattern:", M.pattern, e);
9268
+ return;
9269
+ }
9270
+ }
9271
+ }), hj = ref(), _j = ref();
9272
+ useValidateFieldValue(() => hj.value, () => _j.value, M.validate, M.getFormData);
9273
+ let vj = computed(() => {
9253
9274
  let e = Number(M.rows) || 1;
9254
- return M.autoheight && (e = Math.max(e, String(V.value).split("\n").length)), (M.multiline || M.code) && (e = Math.max(e, 4)), e;
9255
- }), vj = useDebounceFn(() => {
9256
- N("debounce", V.value);
9275
+ return M.autoheight && (e = Math.max(e, String(hj.value).split("\n").length)), (M.multiline || M.code) && (e = Math.max(e, 4)), e;
9276
+ }), yj = useDebounceFn(() => {
9277
+ N("debounce", hj.value);
9257
9278
  }, 700);
9258
- function yj() {
9259
- if (!M.autoheight || !hj.value || hj.value.tagName !== "TEXTAREA") return;
9260
- let e = hj.value;
9279
+ function bj() {
9280
+ if (!M.autoheight || !_j.value || _j.value.tagName !== "TEXTAREA") return;
9281
+ let e = _j.value;
9261
9282
  e.style.height = "auto", e.style.height = `${e.scrollHeight + 1}px`;
9262
9283
  }
9263
- function bj() {
9264
- M.disabled || (N("update:modelValue", V.value), vj(), M.autoheight && nextTick(() => {
9265
- yj();
9284
+ function xj() {
9285
+ M.disabled || (N("update:modelValue", hj.value), yj(), M.autoheight && nextTick(() => {
9286
+ bj();
9266
9287
  }));
9267
9288
  }
9268
9289
  return watch(() => M.modelValue, (e) => {
9269
- e !== V.value && (V.value = e, M.autoheight && nextTick(() => {
9270
- yj();
9290
+ e !== hj.value && (hj.value = e, M.autoheight && nextTick(() => {
9291
+ bj();
9271
9292
  }));
9272
9293
  }, { immediate: !0 }), t({
9273
- focus: () => hj.value?.focus(),
9274
- hasFocus: () => document.activeElement === hj.value
9294
+ focus: () => _j.value?.focus(),
9295
+ hasFocus: () => document.activeElement === _j.value
9275
9296
  }), onMounted(async () => {
9276
- M.autofocus && (await until(() => hj.value).toBeTruthy(), await sleep(400), hj.value?.focus()), M.autoheight && (await nextTick(), yj());
9297
+ M.autofocus && (await until(() => _j.value).toBeTruthy(), await sleep(400), _j.value?.focus()), M.autoheight && (await nextTick(), bj());
9277
9298
  }), (e, t) => (openBlock(), createElementBlock("div", {
9278
9299
  class: normalizeClass(["bagel-input text-input", {
9279
9300
  dense: e.dense,
@@ -9287,12 +9308,12 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9287
9308
  }, [createElementVNode("label", { for: e.id }, [
9288
9309
  createTextVNode(toDisplayString(e.label) + " ", 1),
9289
9310
  e.required && e.label ? (openBlock(), createElementBlock("span", _hoisted_3$22, "*")) : createCommentVNode("", !0),
9290
- !e.multiline && !e.autoheight && !e.code && _j.value < 2 ? withDirectives((openBlock(), createElementBlock("input", mergeProps({
9311
+ !e.multiline && !e.autoheight && !e.code && vj.value < 2 ? withDirectives((openBlock(), createElementBlock("input", mergeProps({
9291
9312
  key: 1,
9292
9313
  id: e.id,
9293
9314
  ref_key: "input",
9294
- ref: hj,
9295
- "onUpdate:modelValue": t[0] ||= (e) => V.value = e,
9315
+ ref: _j,
9316
+ "onUpdate:modelValue": t[0] ||= (e) => hj.value = e,
9296
9317
  name: e.name,
9297
9318
  title: e.title,
9298
9319
  autocomplete: e.autocomplete,
@@ -9300,35 +9321,35 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9300
9321
  rows: 1,
9301
9322
  placeholder: e.placeholder || e.label,
9302
9323
  disabled: e.disabled,
9303
- required: e.required,
9304
- pattern: e.pattern
9324
+ required: e.required
9305
9325
  }, e.nativeInputAttrs, {
9326
+ pattern: V.value,
9306
9327
  onFocusout: t[1] ||= (...t) => e.onFocusout && e.onFocusout(...t),
9307
9328
  onFocus: t[2] ||= (...t) => e.onFocus && e.onFocus(...t),
9308
- onInput: bj
9329
+ onInput: xj
9309
9330
  }), null, 16, _hoisted_4$13)), [[
9310
9331
  vModelDynamic,
9311
- V.value,
9332
+ hj.value,
9312
9333
  void 0,
9313
9334
  { trim: !0 }
9314
9335
  ]]) : withDirectives((openBlock(), createElementBlock("textarea", mergeProps({
9315
9336
  key: 2,
9316
9337
  id: e.id,
9317
9338
  ref_key: "input",
9318
- ref: hj,
9319
- "onUpdate:modelValue": t[3] ||= (e) => V.value = e,
9339
+ ref: _j,
9340
+ "onUpdate:modelValue": t[3] ||= (e) => hj.value = e,
9320
9341
  name: e.name,
9321
9342
  title: e.title,
9322
9343
  type: e.type,
9323
- rows: _j.value,
9344
+ rows: vj.value,
9324
9345
  placeholder: e.placeholder || e.label,
9325
9346
  disabled: e.disabled,
9326
- required: e.required,
9327
- pattern: e.pattern
9347
+ required: e.required
9328
9348
  }, e.nativeInputAttrs, {
9329
- onInput: bj,
9349
+ pattern: V.value,
9350
+ onInput: xj,
9330
9351
  onFocusout: t[4] ||= (...t) => e.onFocusout && e.onFocusout(...t)
9331
- }), null, 16, _hoisted_5$13)), [[vModelText, V.value]]),
9352
+ }), null, 16, _hoisted_5$13)), [[vModelText, hj.value]]),
9332
9353
  e.helptext ? (openBlock(), createElementBlock("p", _hoisted_6$11, toDisplayString(e.helptext), 1)) : createCommentVNode("", !0),
9333
9354
  e.iconStart ? (openBlock(), createBlock(unref(Icon_default), {
9334
9355
  key: 4,
@@ -9341,7 +9362,7 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9341
9362
  }, null, 8, ["icon"])) : createCommentVNode("", !0)
9342
9363
  ], 8, _hoisted_2$28)], 10, _hoisted_1$42));
9343
9364
  }
9344
- }), [["__scopeId", "data-v-ab83eb49"]]);
9365
+ }), [["__scopeId", "data-v-1d2dc7ba"]]);
9345
9366
  const tableTools = [
9346
9367
  "mergeCells",
9347
9368
  "splitCells",
@@ -24510,9 +24531,9 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24510
24531
  e = e.filter((e) => e.name.toLowerCase().includes(t) || e.iso2.toLowerCase().includes(t) || e.dialCode.includes(hj.value.replace("+", "")));
24511
24532
  }
24512
24533
  return e;
24513
- }), wj = computed(() => vj.value?.iso2);
24514
- function Tj(e) {
24515
- if (vj.value = e, bj.value = !1, hj.value = "", !V.value) V.value = `+${vj.value.dialCode}`;
24534
+ }), wj = computed(() => vj.value?.iso2), Tj = computed(() => M.placeholder ? M.placeholder : vj.value ? `+${vj.value.dialCode} ${M.label || "Phone Number"}` : M.label || "Phone Number");
24535
+ function Ej(e) {
24536
+ if (vj.value = e, bj.value = !1, hj.value = "", !V.value) M.required && (V.value = `+${vj.value.dialCode}`);
24516
24537
  else if (V.value.startsWith("+")) {
24517
24538
  let t = Cj.value.find((e) => V.value.startsWith(`+${e.dialCode}`));
24518
24539
  if (t && t !== e) {
@@ -24521,66 +24542,75 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24521
24542
  }
24522
24543
  } else V.value = `+${vj.value.dialCode} ${V.value.replace(/^0+/, "")}`;
24523
24544
  }
24524
- async function Ej() {
24545
+ async function Dj() {
24525
24546
  let { country_code: e } = await ipapi();
24526
- Tj(Cj.value.find((t) => t.iso2 === e) ?? Cj.value[0]);
24547
+ Ej(Cj.value.find((t) => t.iso2 === e) ?? Cj.value[0]);
24527
24548
  }
24528
- function Dj() {
24549
+ function Oj() {
24529
24550
  return vj.value?.iso2 ? vj.value.iso2.toUpperCase() : void 0;
24530
24551
  }
24531
- function Oj(e) {
24552
+ function kj(e) {
24532
24553
  if (!e) return e;
24533
24554
  try {
24534
- let t = parsePhoneNumber(e, Dj());
24555
+ let t = parsePhoneNumber(e, Oj());
24535
24556
  if (t && t.isValid()) return t.formatInternational();
24536
24557
  } catch (e) {
24537
24558
  console.error("Error parsing phone number:", e);
24538
24559
  }
24539
24560
  return e;
24540
24561
  }
24541
- function kj() {
24542
- if (xj.value) try {
24543
- let e = parsePhoneNumber(V.value, Dj());
24544
- e && e.isValid() ? (xj.value.setCustomValidity(""), Sj.value = !0) : (xj.value.setCustomValidity("Please enter a valid phone number"), Sj.value = !1);
24545
- } catch (e) {
24546
- console.error("Error validating phone number:", e), xj.value.setCustomValidity("Please enter a valid phone number"), Sj.value = !1;
24562
+ function jj() {
24563
+ if (xj.value) {
24564
+ if (!M.required) {
24565
+ let e = V.value.replace(/[\s+]/g, ""), t = vj.value && e === vj.value.dialCode;
24566
+ if (!V.value || t) {
24567
+ xj.value.setCustomValidity(""), Sj.value = !0;
24568
+ return;
24569
+ }
24570
+ }
24571
+ try {
24572
+ let e = parsePhoneNumber(V.value, Oj());
24573
+ e && e.isValid() ? (xj.value.setCustomValidity(""), Sj.value = !0) : (xj.value.setCustomValidity("Please enter a valid phone number"), Sj.value = !1);
24574
+ } catch (e) {
24575
+ console.error("Error validating phone number:", e), xj.value.setCustomValidity("Please enter a valid phone number"), Sj.value = !1;
24576
+ }
24547
24577
  }
24548
24578
  }
24549
- function jj(e) {
24579
+ function Mj(e) {
24550
24580
  if (!e.startsWith("+")) return !1;
24551
24581
  let t = e.replace(/\D/g, "");
24552
24582
  if (t.length <= 1) return !1;
24553
- for (let e of Cj.value) if (t.startsWith(e.dialCode) && e !== vj.value) return Tj(e), !0;
24583
+ for (let e of Cj.value) if (t.startsWith(e.dialCode) && e !== vj.value) return Ej(e), !0;
24554
24584
  return !1;
24555
24585
  }
24556
- async function Mj() {
24557
- V.value ? jj(V.value) : await Ej();
24558
- let e = Oj(V.value);
24559
- e !== V.value && (V.value = e, N("input", V.value), kj()), kj();
24586
+ async function Nj() {
24587
+ V.value ? Mj(V.value) : await Dj();
24588
+ let e = kj(V.value);
24589
+ e !== V.value && (V.value = e, N("input", V.value), jj()), jj();
24560
24590
  }
24561
- function Nj(e) {
24591
+ function Pj(e) {
24562
24592
  let { value: t } = e.target;
24563
- if (jj(t), t.startsWith("+")) {
24564
- let j = Oj(t);
24593
+ if (Mj(t), t.startsWith("+")) {
24594
+ let j = kj(t);
24565
24595
  if (j !== t) {
24566
- V.value = j, N("input", e), kj();
24596
+ V.value = j, N("input", e), jj();
24567
24597
  return;
24568
24598
  }
24569
24599
  }
24570
- V.value = t, N("input", e), kj();
24600
+ V.value = t, N("input", e), jj();
24571
24601
  }
24572
- function Pj(e) {
24602
+ function Ij(e) {
24573
24603
  if (V.value && !V.value.startsWith("+") && vj.value) {
24574
24604
  let e = V.value.replace(/^0+/, "");
24575
24605
  V.value = `+${vj.value.dialCode} ${e}`;
24576
- } else V.value &&= Oj(V.value);
24577
- kj(), N("blur", e);
24606
+ } else V.value &&= kj(V.value);
24607
+ jj(), N("blur", e);
24578
24608
  }
24579
- let Ij = computed(() => Cj.value.length === 1 && !hj.value), Lj = computed(() => Cj.value.length > 7 || hj.value);
24580
- function Rj() {
24609
+ let Lj = computed(() => Cj.value.length === 1 && !hj.value), Rj = computed(() => Cj.value.length > 7 || hj.value);
24610
+ function Bj() {
24581
24611
  setTimeout(() => yj.value?.focus(), 100);
24582
24612
  }
24583
- return onMounted(Mj), (e, j) => {
24613
+ return onMounted(Nj), (e, j) => {
24584
24614
  let M = resolveDirective("pattern");
24585
24615
  return openBlock(), createElementBlock("div", { class: normalizeClass(["bagel-input text-input", { invalid: !Sj.value }]) }, [createElementVNode("label", null, [
24586
24616
  createTextVNode(toDisplayString(e.label) + " ", 1),
@@ -24596,17 +24626,17 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24596
24626
  shown: bj.value,
24597
24627
  "onUpdate:shown": j[1] ||= (e) => bj.value = e,
24598
24628
  placement: "bottom-start",
24599
- disabled: Ij.value,
24600
- onShow: Rj
24629
+ disabled: Lj.value,
24630
+ onShow: Bj
24601
24631
  }, {
24602
- trigger: withCtx(() => [createElementVNode("span", _hoisted_3$18, [Ij.value ? createCommentVNode("", !0) : (openBlock(), createBlock(unref(Icon_default), {
24632
+ trigger: withCtx(() => [createElementVNode("span", _hoisted_3$18, [Lj.value ? createCommentVNode("", !0) : (openBlock(), createBlock(unref(Icon_default), {
24603
24633
  key: 0,
24604
24634
  icon: bj.value ? "collapse_all" : "expand_all"
24605
24635
  }, null, 8, ["icon"])), wj.value ? (openBlock(), createBlock(unref(Flag_default), {
24606
24636
  key: 1,
24607
24637
  country: wj.value
24608
24638
  }, null, 8, ["country"])) : createCommentVNode("", !0)])]),
24609
- default: withCtx(() => [createElementVNode("div", _hoisted_4$9, [Lj.value ? (openBlock(), createBlock(unref(TextInput_default), {
24639
+ default: withCtx(() => [createElementVNode("div", _hoisted_4$9, [Rj.value ? (openBlock(), createBlock(unref(TextInput_default), {
24610
24640
  key: 0,
24611
24641
  ref_key: "searchInput",
24612
24642
  ref: yj,
@@ -24621,7 +24651,7 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24621
24651
  class: "flex gap-075 pointer hover",
24622
24652
  tabindex: "-1",
24623
24653
  "aria-selected": wj.value === e.iso2,
24624
- onClick: (t) => Tj(e)
24654
+ onClick: (t) => Ej(e)
24625
24655
  }, [
24626
24656
  createVNode(unref(Flag_default), { country: e.iso2 }, null, 8, ["country"]),
24627
24657
  createElementVNode("p", _hoisted_7$6, toDisplayString(e.name), 1),
@@ -24634,17 +24664,17 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24634
24664
  ref: xj,
24635
24665
  "onUpdate:modelValue": j[2] ||= (e) => V.value = e,
24636
24666
  required: e.required,
24637
- placeholder: e.placeholder || e.label || "Phone Number",
24667
+ placeholder: Tj.value,
24638
24668
  disabled: e.disabled,
24639
24669
  type: "tel",
24640
24670
  autocomplete: "tel",
24641
24671
  name: e.id,
24642
24672
  tabindex: "0",
24643
24673
  class: "national-number-input",
24644
- onBlur: j[3] ||= (e) => Pj(e),
24674
+ onBlur: j[3] ||= (e) => Ij(e),
24645
24675
  onFocus: j[4] ||= (e) => N("focus", e),
24646
24676
  onKeydown: j[5] ||= (e) => N("keydown", e),
24647
- onInput: j[6] ||= (e) => Nj(e),
24677
+ onInput: j[6] ||= (e) => Pj(e),
24648
24678
  onPaste: j[7] ||= (e) => N("paste", e)
24649
24679
  }, null, 40, _hoisted_8$5), [[vModelText, V.value], [
24650
24680
  M,
@@ -24655,7 +24685,7 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24655
24685
  ])], 2);
24656
24686
  };
24657
24687
  }
24658
- }), [["__scopeId", "data-v-5b5fd380"]]), _hoisted_1$34 = ["title"], _hoisted_2$21 = ["id", "required"], _hoisted_3$17 = ["for"], ToggleInput_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
24688
+ }), [["__scopeId", "data-v-0a8c927c"]]), _hoisted_1$34 = ["title"], _hoisted_2$21 = ["id", "required"], _hoisted_3$17 = ["for"], ToggleInput_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
24659
24689
  __name: "ToggleInput",
24660
24690
  props: /* @__PURE__ */ mergeModels({
24661
24691
  label: {},