@bagelink/vue 1.7.51 → 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
  }
@@ -9248,33 +9254,47 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9248
9254
  },
9249
9255
  emits: ["update:modelValue", "debounce"],
9250
9256
  setup(e, { expose: t, emit: j }) {
9251
- let M = e, N = j, V = ref(), hj = ref();
9252
- useValidateFieldValue(() => V.value, () => hj.value, M.validate, M.getFormData);
9253
- 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(() => {
9254
9274
  let e = Number(M.rows) || 1;
9255
- return M.autoheight && (e = Math.max(e, String(V.value).split("\n").length)), (M.multiline || M.code) && (e = Math.max(e, 4)), e;
9256
- }), vj = useDebounceFn(() => {
9257
- 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);
9258
9278
  }, 700);
9259
- function yj() {
9260
- if (!M.autoheight || !hj.value || hj.value.tagName !== "TEXTAREA") return;
9261
- let e = hj.value;
9279
+ function bj() {
9280
+ if (!M.autoheight || !_j.value || _j.value.tagName !== "TEXTAREA") return;
9281
+ let e = _j.value;
9262
9282
  e.style.height = "auto", e.style.height = `${e.scrollHeight + 1}px`;
9263
9283
  }
9264
- function bj() {
9265
- M.disabled || (N("update:modelValue", V.value), vj(), M.autoheight && nextTick(() => {
9266
- yj();
9284
+ function xj() {
9285
+ M.disabled || (N("update:modelValue", hj.value), yj(), M.autoheight && nextTick(() => {
9286
+ bj();
9267
9287
  }));
9268
9288
  }
9269
9289
  return watch(() => M.modelValue, (e) => {
9270
- e !== V.value && (V.value = e, M.autoheight && nextTick(() => {
9271
- yj();
9290
+ e !== hj.value && (hj.value = e, M.autoheight && nextTick(() => {
9291
+ bj();
9272
9292
  }));
9273
9293
  }, { immediate: !0 }), t({
9274
- focus: () => hj.value?.focus(),
9275
- hasFocus: () => document.activeElement === hj.value
9294
+ focus: () => _j.value?.focus(),
9295
+ hasFocus: () => document.activeElement === _j.value
9276
9296
  }), onMounted(async () => {
9277
- 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());
9278
9298
  }), (e, t) => (openBlock(), createElementBlock("div", {
9279
9299
  class: normalizeClass(["bagel-input text-input", {
9280
9300
  dense: e.dense,
@@ -9288,12 +9308,12 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9288
9308
  }, [createElementVNode("label", { for: e.id }, [
9289
9309
  createTextVNode(toDisplayString(e.label) + " ", 1),
9290
9310
  e.required && e.label ? (openBlock(), createElementBlock("span", _hoisted_3$22, "*")) : createCommentVNode("", !0),
9291
- !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({
9292
9312
  key: 1,
9293
9313
  id: e.id,
9294
9314
  ref_key: "input",
9295
- ref: hj,
9296
- "onUpdate:modelValue": t[0] ||= (e) => V.value = e,
9315
+ ref: _j,
9316
+ "onUpdate:modelValue": t[0] ||= (e) => hj.value = e,
9297
9317
  name: e.name,
9298
9318
  title: e.title,
9299
9319
  autocomplete: e.autocomplete,
@@ -9301,35 +9321,35 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9301
9321
  rows: 1,
9302
9322
  placeholder: e.placeholder || e.label,
9303
9323
  disabled: e.disabled,
9304
- required: e.required,
9305
- pattern: e.pattern
9324
+ required: e.required
9306
9325
  }, e.nativeInputAttrs, {
9326
+ pattern: V.value,
9307
9327
  onFocusout: t[1] ||= (...t) => e.onFocusout && e.onFocusout(...t),
9308
9328
  onFocus: t[2] ||= (...t) => e.onFocus && e.onFocus(...t),
9309
- onInput: bj
9329
+ onInput: xj
9310
9330
  }), null, 16, _hoisted_4$13)), [[
9311
9331
  vModelDynamic,
9312
- V.value,
9332
+ hj.value,
9313
9333
  void 0,
9314
9334
  { trim: !0 }
9315
9335
  ]]) : withDirectives((openBlock(), createElementBlock("textarea", mergeProps({
9316
9336
  key: 2,
9317
9337
  id: e.id,
9318
9338
  ref_key: "input",
9319
- ref: hj,
9320
- "onUpdate:modelValue": t[3] ||= (e) => V.value = e,
9339
+ ref: _j,
9340
+ "onUpdate:modelValue": t[3] ||= (e) => hj.value = e,
9321
9341
  name: e.name,
9322
9342
  title: e.title,
9323
9343
  type: e.type,
9324
- rows: _j.value,
9344
+ rows: vj.value,
9325
9345
  placeholder: e.placeholder || e.label,
9326
9346
  disabled: e.disabled,
9327
- required: e.required,
9328
- pattern: e.pattern
9347
+ required: e.required
9329
9348
  }, e.nativeInputAttrs, {
9330
- onInput: bj,
9349
+ pattern: V.value,
9350
+ onInput: xj,
9331
9351
  onFocusout: t[4] ||= (...t) => e.onFocusout && e.onFocusout(...t)
9332
- }), null, 16, _hoisted_5$13)), [[vModelText, V.value]]),
9352
+ }), null, 16, _hoisted_5$13)), [[vModelText, hj.value]]),
9333
9353
  e.helptext ? (openBlock(), createElementBlock("p", _hoisted_6$11, toDisplayString(e.helptext), 1)) : createCommentVNode("", !0),
9334
9354
  e.iconStart ? (openBlock(), createBlock(unref(Icon_default), {
9335
9355
  key: 4,
@@ -9342,7 +9362,7 @@ var _hoisted_1$51 = ["title"], _hoisted_2$36 = ["for"], _hoisted_3$29 = { class:
9342
9362
  }, null, 8, ["icon"])) : createCommentVNode("", !0)
9343
9363
  ], 8, _hoisted_2$28)], 10, _hoisted_1$42));
9344
9364
  }
9345
- }), [["__scopeId", "data-v-ab83eb49"]]);
9365
+ }), [["__scopeId", "data-v-1d2dc7ba"]]);
9346
9366
  const tableTools = [
9347
9367
  "mergeCells",
9348
9368
  "splitCells",
@@ -24511,9 +24531,9 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24511
24531
  e = e.filter((e) => e.name.toLowerCase().includes(t) || e.iso2.toLowerCase().includes(t) || e.dialCode.includes(hj.value.replace("+", "")));
24512
24532
  }
24513
24533
  return e;
24514
- }), wj = computed(() => vj.value?.iso2);
24515
- function Tj(e) {
24516
- 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}`);
24517
24537
  else if (V.value.startsWith("+")) {
24518
24538
  let t = Cj.value.find((e) => V.value.startsWith(`+${e.dialCode}`));
24519
24539
  if (t && t !== e) {
@@ -24522,66 +24542,75 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24522
24542
  }
24523
24543
  } else V.value = `+${vj.value.dialCode} ${V.value.replace(/^0+/, "")}`;
24524
24544
  }
24525
- async function Ej() {
24545
+ async function Dj() {
24526
24546
  let { country_code: e } = await ipapi();
24527
- Tj(Cj.value.find((t) => t.iso2 === e) ?? Cj.value[0]);
24547
+ Ej(Cj.value.find((t) => t.iso2 === e) ?? Cj.value[0]);
24528
24548
  }
24529
- function Dj() {
24549
+ function Oj() {
24530
24550
  return vj.value?.iso2 ? vj.value.iso2.toUpperCase() : void 0;
24531
24551
  }
24532
- function Oj(e) {
24552
+ function kj(e) {
24533
24553
  if (!e) return e;
24534
24554
  try {
24535
- let t = parsePhoneNumber(e, Dj());
24555
+ let t = parsePhoneNumber(e, Oj());
24536
24556
  if (t && t.isValid()) return t.formatInternational();
24537
24557
  } catch (e) {
24538
24558
  console.error("Error parsing phone number:", e);
24539
24559
  }
24540
24560
  return e;
24541
24561
  }
24542
- function kj() {
24543
- if (xj.value) try {
24544
- let e = parsePhoneNumber(V.value, Dj());
24545
- e && e.isValid() ? (xj.value.setCustomValidity(""), Sj.value = !0) : (xj.value.setCustomValidity("Please enter a valid phone number"), Sj.value = !1);
24546
- } catch (e) {
24547
- 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
+ }
24548
24577
  }
24549
24578
  }
24550
- function jj(e) {
24579
+ function Mj(e) {
24551
24580
  if (!e.startsWith("+")) return !1;
24552
24581
  let t = e.replace(/\D/g, "");
24553
24582
  if (t.length <= 1) return !1;
24554
- 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;
24555
24584
  return !1;
24556
24585
  }
24557
- async function Mj() {
24558
- V.value ? jj(V.value) : await Ej();
24559
- let e = Oj(V.value);
24560
- 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();
24561
24590
  }
24562
- function Nj(e) {
24591
+ function Pj(e) {
24563
24592
  let { value: t } = e.target;
24564
- if (jj(t), t.startsWith("+")) {
24565
- let j = Oj(t);
24593
+ if (Mj(t), t.startsWith("+")) {
24594
+ let j = kj(t);
24566
24595
  if (j !== t) {
24567
- V.value = j, N("input", e), kj();
24596
+ V.value = j, N("input", e), jj();
24568
24597
  return;
24569
24598
  }
24570
24599
  }
24571
- V.value = t, N("input", e), kj();
24600
+ V.value = t, N("input", e), jj();
24572
24601
  }
24573
- function Pj(e) {
24602
+ function Ij(e) {
24574
24603
  if (V.value && !V.value.startsWith("+") && vj.value) {
24575
24604
  let e = V.value.replace(/^0+/, "");
24576
24605
  V.value = `+${vj.value.dialCode} ${e}`;
24577
- } else V.value &&= Oj(V.value);
24578
- kj(), N("blur", e);
24606
+ } else V.value &&= kj(V.value);
24607
+ jj(), N("blur", e);
24579
24608
  }
24580
- let Ij = computed(() => Cj.value.length === 1 && !hj.value), Lj = computed(() => Cj.value.length > 7 || hj.value);
24581
- function Rj() {
24609
+ let Lj = computed(() => Cj.value.length === 1 && !hj.value), Rj = computed(() => Cj.value.length > 7 || hj.value);
24610
+ function Bj() {
24582
24611
  setTimeout(() => yj.value?.focus(), 100);
24583
24612
  }
24584
- return onMounted(Mj), (e, j) => {
24613
+ return onMounted(Nj), (e, j) => {
24585
24614
  let M = resolveDirective("pattern");
24586
24615
  return openBlock(), createElementBlock("div", { class: normalizeClass(["bagel-input text-input", { invalid: !Sj.value }]) }, [createElementVNode("label", null, [
24587
24616
  createTextVNode(toDisplayString(e.label) + " ", 1),
@@ -24597,17 +24626,17 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24597
24626
  shown: bj.value,
24598
24627
  "onUpdate:shown": j[1] ||= (e) => bj.value = e,
24599
24628
  placement: "bottom-start",
24600
- disabled: Ij.value,
24601
- onShow: Rj
24629
+ disabled: Lj.value,
24630
+ onShow: Bj
24602
24631
  }, {
24603
- 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), {
24604
24633
  key: 0,
24605
24634
  icon: bj.value ? "collapse_all" : "expand_all"
24606
24635
  }, null, 8, ["icon"])), wj.value ? (openBlock(), createBlock(unref(Flag_default), {
24607
24636
  key: 1,
24608
24637
  country: wj.value
24609
24638
  }, null, 8, ["country"])) : createCommentVNode("", !0)])]),
24610
- 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), {
24611
24640
  key: 0,
24612
24641
  ref_key: "searchInput",
24613
24642
  ref: yj,
@@ -24622,7 +24651,7 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24622
24651
  class: "flex gap-075 pointer hover",
24623
24652
  tabindex: "-1",
24624
24653
  "aria-selected": wj.value === e.iso2,
24625
- onClick: (t) => Tj(e)
24654
+ onClick: (t) => Ej(e)
24626
24655
  }, [
24627
24656
  createVNode(unref(Flag_default), { country: e.iso2 }, null, 8, ["country"]),
24628
24657
  createElementVNode("p", _hoisted_7$6, toDisplayString(e.name), 1),
@@ -24635,17 +24664,17 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24635
24664
  ref: xj,
24636
24665
  "onUpdate:modelValue": j[2] ||= (e) => V.value = e,
24637
24666
  required: e.required,
24638
- placeholder: e.placeholder || e.label || "Phone Number",
24667
+ placeholder: Tj.value,
24639
24668
  disabled: e.disabled,
24640
24669
  type: "tel",
24641
24670
  autocomplete: "tel",
24642
24671
  name: e.id,
24643
24672
  tabindex: "0",
24644
24673
  class: "national-number-input",
24645
- onBlur: j[3] ||= (e) => Pj(e),
24674
+ onBlur: j[3] ||= (e) => Ij(e),
24646
24675
  onFocus: j[4] ||= (e) => N("focus", e),
24647
24676
  onKeydown: j[5] ||= (e) => N("keydown", e),
24648
- onInput: j[6] ||= (e) => Nj(e),
24677
+ onInput: j[6] ||= (e) => Pj(e),
24649
24678
  onPaste: j[7] ||= (e) => N("paste", e)
24650
24679
  }, null, 40, _hoisted_8$5), [[vModelText, V.value], [
24651
24680
  M,
@@ -24656,7 +24685,7 @@ var _hoisted_1$35 = { key: 0 }, _hoisted_2$22 = ["aria-expanded"], _hoisted_3$18
24656
24685
  ])], 2);
24657
24686
  };
24658
24687
  }
24659
- }), [["__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({
24660
24689
  __name: "ToggleInput",
24661
24690
  props: /* @__PURE__ */ mergeModels({
24662
24691
  label: {},