@bagelink/vue 1.0.52 → 1.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/components/MapEmbed/Index.vue.d.ts +30 -0
  2. package/dist/components/MapEmbed/Index.vue.d.ts.map +1 -0
  3. package/dist/components/Modal.vue.d.ts.map +1 -1
  4. package/dist/components/Spreadsheet/Index.vue.d.ts +2 -0
  5. package/dist/components/Spreadsheet/Index.vue.d.ts.map +1 -1
  6. package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
  7. package/dist/components/dashboard/index.d.ts.map +1 -1
  8. package/dist/components/form/BagelForm.vue.d.ts +3 -1
  9. package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
  10. package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -1
  12. package/dist/components/form/inputs/PasswordInput.vue.d.ts +1 -0
  13. package/dist/components/form/inputs/PasswordInput.vue.d.ts.map +1 -1
  14. package/dist/components/form/inputs/PhoneInput.vue.d.ts +2 -0
  15. package/dist/components/form/inputs/PhoneInput.vue.d.ts.map +1 -1
  16. package/dist/components/form/inputs/SelectInput.vue.d.ts +4 -0
  17. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  18. package/dist/components/form/inputs/TextInput.vue.d.ts +1 -0
  19. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  20. package/dist/components/index.d.ts +3 -3
  21. package/dist/components/index.d.ts.map +1 -1
  22. package/dist/components/layout/BottomMenu.vue.d.ts.map +1 -1
  23. package/dist/components/layout/Layout.vue.d.ts.map +1 -1
  24. package/dist/components/layout/SidebarMenu.vue.d.ts.map +1 -1
  25. package/dist/components/layout/Skeleton.vue.d.ts.map +1 -1
  26. package/dist/components/layout/TabbedLayout.vue.d.ts.map +1 -1
  27. package/dist/components/layout/Tabs.vue.d.ts.map +1 -1
  28. package/dist/components/layout/TabsBody.vue.d.ts.map +1 -1
  29. package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
  30. package/dist/components/layout/index.d.ts.map +1 -1
  31. package/dist/components/layout/tabsManager.d.ts.map +1 -1
  32. package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -1
  33. package/dist/components/lightbox/index.d.ts.map +1 -1
  34. package/dist/components/lightbox/lightbox.types.d.ts.map +1 -1
  35. package/dist/composables/useSchemaField.d.ts.map +1 -1
  36. package/dist/index.cjs +125 -51
  37. package/dist/index.mjs +125 -51
  38. package/dist/plugins/bagel.d.ts.map +1 -1
  39. package/dist/style.css +852 -571
  40. package/dist/utils/BagelFormUtils.d.ts +6 -1
  41. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  42. package/dist/utils/timeAgo.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/{MapEmbed.vue → MapEmbed/Index.vue} +1 -1
  45. package/src/components/Modal.vue +1 -0
  46. package/src/components/form/BagelForm.vue +23 -7
  47. package/src/components/form/FieldArray.vue +2 -2
  48. package/src/components/form/inputs/DateInput.vue +47 -7
  49. package/src/components/form/inputs/NumberInput.vue +2 -2
  50. package/src/components/form/inputs/PasswordInput.vue +2 -0
  51. package/src/components/form/inputs/TextInput.vue +4 -1
  52. package/src/components/index.ts +3 -3
  53. package/src/composables/useSchemaField.ts +34 -1
  54. package/src/plugins/bagel.ts +1 -2
  55. package/src/styles/text.css +911 -560
  56. package/src/utils/BagelFormUtils.ts +10 -1
  57. package/src/utils/timeAgo.ts +9 -17
  58. package/tsconfig.json +2 -1
  59. package/src/components/DataTable/tableTypes.d.ts +0 -0
  60. /package/src/components/{dashboard → Dashboard}/Lineart.vue +0 -0
  61. /package/src/components/{dashboard → Dashboard}/index.ts +0 -0
  62. /package/src/components/{layout → Layout}/BottomMenu.vue +0 -0
  63. /package/src/components/{layout → Layout}/Layout.vue +0 -0
  64. /package/src/components/{layout → Layout}/SidebarMenu.vue +0 -0
  65. /package/src/components/{layout → Layout}/Skeleton.vue +0 -0
  66. /package/src/components/{layout → Layout}/TabbedLayout.vue +0 -0
  67. /package/src/components/{layout → Layout}/Tabs.vue +0 -0
  68. /package/src/components/{layout → Layout}/TabsBody.vue +0 -0
  69. /package/src/components/{layout → Layout}/TabsNav.vue +0 -0
  70. /package/src/components/{layout → Layout}/index.ts +0 -0
  71. /package/src/components/{layout → Layout}/tabsManager.ts +0 -0
  72. /package/src/components/{lightbox → Lightbox}/Lightbox.vue +0 -0
  73. /package/src/components/{lightbox → Lightbox}/index.ts +0 -0
  74. /package/src/components/{lightbox → Lightbox}/lightbox.types.ts +0 -0
  75. /package/src/components/{leaflet → MapEmbed}/leaflet.css +0 -0
package/dist/index.mjs CHANGED
@@ -10530,6 +10530,24 @@ const SLOT_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["div", "span", "p"]);
10530
10530
  const SRC_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["img", "iframe"]);
10531
10531
  function useSchemaField(optns) {
10532
10532
  const { mode = "form", getRowData, onUpdate, includeUnset = false } = optns;
10533
+ function renderObject(obj, depth = 0) {
10534
+ if (obj === null || obj === void 0) return "";
10535
+ if (typeof obj !== "object") return String(obj);
10536
+ if (Array.isArray(obj)) return obj.map((item) => renderObject(item, depth + 1)).join(", ");
10537
+ const indent = depth > 0 ? " ".repeat(depth) : "";
10538
+ const nextIndent = " ".repeat(depth + 1);
10539
+ const entries = Object.entries(obj);
10540
+ if (entries.length === 0) return "{}";
10541
+ if (depth > 0) {
10542
+ return `{
10543
+ ${entries.map(([key, value]) => `${nextIndent}${key}: ${renderObject(value, depth + 1)}`).join(",\n")}
10544
+ ${indent}}`;
10545
+ }
10546
+ return entries.map(([key, value]) => {
10547
+ const valueStr = typeof value === "object" && value !== null ? renderObject(value, depth + 1) : String(value);
10548
+ return `${key}: ${valueStr}`;
10549
+ }).join("\n");
10550
+ }
10533
10551
  function getComponent(field) {
10534
10552
  var _a;
10535
10553
  const componentMap = {
@@ -10669,7 +10687,7 @@ function useSchemaField(optns) {
10669
10687
  return h$2("div", { class: "preview-field" }, [
10670
10688
  h$2("div", { class: "field-label" }, `${field.label || keyToLabel(field.id || "")}:`),
10671
10689
  h$2("div", { class: "field-value" }, [
10672
- slotContent || (typeof field.$el === "object" ? h$2(Component, props2, componentSlots) : (transformedValue == null ? void 0 : transformedValue.toString()) || "")
10690
+ slotContent || (typeof field.$el === "object" ? h$2(Component, props2, componentSlots) : typeof transformedValue === "object" && transformedValue !== null ? h$2("pre", { style: "margin: 0; white-space: pre-wrap; font-family: inherit; font-size: inherit;" }, renderObject(transformedValue)) : (transformedValue == null ? void 0 : transformedValue.toString()) || "")
10673
10691
  ])
10674
10692
  ]);
10675
10693
  }
@@ -15052,7 +15070,11 @@ function dateField(id, label, options) {
15052
15070
  vIf: options == null ? void 0 : options.vIf,
15053
15071
  attrs: {
15054
15072
  disabled: options == null ? void 0 : options.disabled,
15055
- autocomplete: options == null ? void 0 : options.autocomplete
15073
+ autocomplete: options == null ? void 0 : options.autocomplete,
15074
+ enableTime: options == null ? void 0 : options.enableTime,
15075
+ mode: options == null ? void 0 : options.mode,
15076
+ locale: options == null ? void 0 : options.locale,
15077
+ timezone: options == null ? void 0 : options.timezone
15056
15078
  }
15057
15079
  };
15058
15080
  }
@@ -15470,9 +15492,16 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
15470
15492
  formData.value = newData;
15471
15493
  emit2("update:modelValue", formData.value);
15472
15494
  }
15495
+ const validateForm = () => {
15496
+ var _a;
15497
+ return ((_a = form.value) == null ? void 0 : _a.reportValidity()) ?? false;
15498
+ };
15499
+ let formError = ref();
15473
15500
  async function handleSubmit() {
15474
15501
  var _a;
15475
15502
  try {
15503
+ const valid = validateForm();
15504
+ if (!valid) return;
15476
15505
  if (formState.value === "submitting") return;
15477
15506
  formState.value = "submitting";
15478
15507
  await ((_a = props2.onSubmit) == null ? void 0 : _a.call(props2, formData.value));
@@ -15480,14 +15509,11 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
15480
15509
  formState.value = "success";
15481
15510
  window.parent.postMessage({ type: "BAGEL_FORM_SUCCESS", data: JSON.stringify(formData.value) }, "*");
15482
15511
  } catch (error) {
15483
- console.error("Submit error:", error);
15484
15512
  formState.value = "error";
15513
+ formError.value = error;
15514
+ console.error("Submit error:", formError.value);
15485
15515
  }
15486
15516
  }
15487
- const validateForm = () => {
15488
- var _a;
15489
- return ((_a = form.value) == null ? void 0 : _a.reportValidity()) ?? false;
15490
- };
15491
15517
  const { renderField } = useSchemaField({
15492
15518
  mode: "form",
15493
15519
  getRowData: () => ({
@@ -15503,6 +15529,13 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
15503
15529
  }
15504
15530
  });
15505
15531
  const renderSchemaField = (field) => renderField(field);
15532
+ function handleSlotInputChange(event) {
15533
+ const input = event.target;
15534
+ if (input.name) {
15535
+ const value = input.type === "checkbox" ? input.checked : input.value;
15536
+ updateFormData(input.name, value);
15537
+ }
15538
+ }
15506
15539
  __expose({ form, isDirty, validateForm, resolveSchema, refreshSchema });
15507
15540
  return (_ctx, _cache) => {
15508
15541
  return openBlock(), createElementBlock(Fragment, null, [
@@ -15512,7 +15545,8 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
15512
15545
  ref_key: "form",
15513
15546
  ref: form,
15514
15547
  class: normalizeClass(props2.class),
15515
- onSubmit: withModifiers(handleSubmit, ["prevent"])
15548
+ onSubmit: withModifiers(handleSubmit, ["prevent"]),
15549
+ onInput: handleSlotInputChange
15516
15550
  }, [
15517
15551
  schemaState.value === "loading" ? renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
15518
15552
  createElementVNode("div", _hoisted_1$M, [
@@ -15546,7 +15580,10 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
15546
15580
  ], 64))
15547
15581
  ], 64)) : createCommentVNode("", true),
15548
15582
  formState.value === "success" ? renderSlot(_ctx.$slots, "success", { key: 1 }) : createCommentVNode("", true),
15549
- formState.value === "error" ? renderSlot(_ctx.$slots, "error", { key: 2 }) : createCommentVNode("", true)
15583
+ formState.value === "error" ? renderSlot(_ctx.$slots, "error", {
15584
+ key: 2,
15585
+ error: unref(formError)
15586
+ }) : createCommentVNode("", true)
15550
15587
  ], 64);
15551
15588
  };
15552
15589
  }
@@ -15672,7 +15709,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
15672
15709
  () => isPrimitiveType.value || props2.type === "object" && resolvedSchemaData.value.length > 0
15673
15710
  );
15674
15711
  const showMinimizeButton = computed(() => {
15675
- return resolvedSchemaData.value.length > 3 || resolvedSchemaData.value.some((schema) => schema.$el === "richtext");
15712
+ return resolvedSchemaData.value.length > 2 || resolvedSchemaData.value.some((schema) => schema.$el === "richtext");
15676
15713
  });
15677
15714
  return (_ctx, _cache) => {
15678
15715
  const _component_Icon = resolveComponent("Icon");
@@ -15728,7 +15765,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
15728
15765
  thin: "",
15729
15766
  icon: "add",
15730
15767
  color: "gray",
15731
- class: "txt12",
15768
+ class: "txt12 arrayAddButton",
15732
15769
  onClick: addItem
15733
15770
  }, {
15734
15771
  default: withCtx(() => [
@@ -16040,7 +16077,7 @@ const _hoisted_12$4 = {
16040
16077
  const _hoisted_13$3 = ["disabled", "onClick"];
16041
16078
  const _hoisted_14$3 = {
16042
16079
  key: 0,
16043
- class: "time-picker border-start flex column gap-1 w-120px"
16080
+ class: "time-picker border-start flex column gap-1 w-120px px-025"
16044
16081
  };
16045
16082
  const _hoisted_15$3 = { class: "flex gap-025" };
16046
16083
  const _hoisted_16$3 = { class: "txt-center opacity-6 txt14" };
@@ -16055,7 +16092,13 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
16055
16092
  modelValue: {},
16056
16093
  min: {},
16057
16094
  max: {},
16058
- timezone: { default: "UTC" },
16095
+ timezone: { default: () => {
16096
+ try {
16097
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
16098
+ } catch {
16099
+ return "UTC";
16100
+ }
16101
+ } },
16059
16102
  mode: { default: "day" },
16060
16103
  defaultValue: {},
16061
16104
  firstDayOfWeek: { default: WEEK_START_DAY.SUNDAY },
@@ -16278,6 +16321,16 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
16278
16321
  const date2 = parseUserInput(input.value);
16279
16322
  if (date2) {
16280
16323
  if (props2.enableTime) {
16324
+ try {
16325
+ const targetDate = new Date(date2.toLocaleString("en-US", { timeZone: props2.timezone }));
16326
+ const tzOffset = targetDate.getTime() - date2.getTime();
16327
+ date2.setTime(date2.getTime() - tzOffset);
16328
+ } catch {
16329
+ if (props2.timezone === "UTC") {
16330
+ const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
16331
+ date2.setMinutes(date2.getMinutes() + tzOffset);
16332
+ }
16333
+ }
16281
16334
  emit2("update:modelValue", date2.toISOString());
16282
16335
  } else {
16283
16336
  const utcDate = new Date(Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate()));
@@ -16301,6 +16354,16 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
16301
16354
  const date2 = parseUserInput(inputValue.value);
16302
16355
  if (date2) {
16303
16356
  if (props2.enableTime) {
16357
+ try {
16358
+ const targetDate = new Date(date2.toLocaleString("en-US", { timeZone: props2.timezone }));
16359
+ const tzOffset = targetDate.getTime() - date2.getTime();
16360
+ date2.setTime(date2.getTime() - tzOffset);
16361
+ } catch {
16362
+ if (props2.timezone === "UTC") {
16363
+ const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
16364
+ date2.setMinutes(date2.getMinutes() + tzOffset);
16365
+ }
16366
+ }
16304
16367
  emit2("update:modelValue", date2.toISOString());
16305
16368
  } else {
16306
16369
  const utcDate = new Date(Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate()));
@@ -16337,9 +16400,15 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
16337
16400
  const currentMinutes = ((_b = selectedDate.value) == null ? void 0 : _b.getMinutes()) ?? (/* @__PURE__ */ new Date()).getMinutes();
16338
16401
  newDate.setHours(currentHours);
16339
16402
  newDate.setMinutes(currentMinutes);
16340
- if (props2.timezone === "UTC") {
16341
- const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
16342
- newDate.setMinutes(newDate.getMinutes() + tzOffset);
16403
+ try {
16404
+ const targetDate = new Date(newDate.toLocaleString("en-US", { timeZone: props2.timezone }));
16405
+ const tzOffset = targetDate.getTime() - newDate.getTime();
16406
+ newDate.setTime(newDate.getTime() - tzOffset);
16407
+ } catch {
16408
+ if (props2.timezone === "UTC") {
16409
+ const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
16410
+ newDate.setMinutes(newDate.getMinutes() + tzOffset);
16411
+ }
16343
16412
  }
16344
16413
  emit2("update:modelValue", newDate.toISOString());
16345
16414
  } else {
@@ -16556,7 +16625,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
16556
16625
  };
16557
16626
  }
16558
16627
  });
16559
- const DateInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-ca4c1d9b"]]);
16628
+ const DateInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-80df1413"]]);
16560
16629
  const _hoisted_1$F = ["title"];
16561
16630
  const _hoisted_2$t = { key: 0 };
16562
16631
  const _hoisted_3$o = {
@@ -17504,7 +17573,10 @@ const _hoisted_2$p = {
17504
17573
  class: "block"
17505
17574
  };
17506
17575
  const _hoisted_3$k = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
17507
- const _hoisted_4$d = { key: 1 };
17576
+ const _hoisted_4$d = {
17577
+ key: 1,
17578
+ class: "opacity-7 light"
17579
+ };
17508
17580
  const _hoisted_5$d = {
17509
17581
  key: 5,
17510
17582
  class: "flex column spinner"
@@ -17554,7 +17626,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
17554
17626
  const precision = ((_a = __props.step.toString().split(".")[1]) == null ? void 0 : _a.length) || 0;
17555
17627
  return Number.parseFloat(numArr.reduce((acc, curr) => acc - curr, firstNum).toFixed(precision));
17556
17628
  }
17557
- const canAdd = computed(() => !(__props.max !== void 0 && add(numberValue.value, __props.step) <= __props.max));
17629
+ const canAdd = computed(() => __props.max === void 0 || add(numberValue.value, __props.step) <= __props.max);
17558
17630
  const canDecrement = computed(() => __props.min === void 0 || subtract(numberValue.value, __props.step) >= __props.min);
17559
17631
  function increment() {
17560
17632
  if (!canAdd.value) return;
@@ -17707,7 +17779,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
17707
17779
  };
17708
17780
  }
17709
17781
  });
17710
- const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-af266bf2"]]);
17782
+ const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-b3711c9e"]]);
17711
17783
  const _hoisted_1$A = ["value", "autofocus", "onKeydown", "onPaste"];
17712
17784
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
17713
17785
  __name: "OTP",
@@ -17829,6 +17901,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
17829
17901
  pattern: {},
17830
17902
  shrink: { type: Boolean },
17831
17903
  disabled: { type: Boolean },
17904
+ name: {},
17832
17905
  nativeInputAttrs: {},
17833
17906
  icon: {},
17834
17907
  iconStart: {},
@@ -17860,8 +17933,9 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
17860
17933
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => password.value = $event)
17861
17934
  }, props2, {
17862
17935
  type: inputType.value,
17863
- class: "mb-0"
17864
- }), null, 16, ["modelValue", "type"]),
17936
+ class: "mb-0",
17937
+ name: props2.name
17938
+ }), null, 16, ["modelValue", "type", "name"]),
17865
17939
  createElementVNode("div", _hoisted_2$o, [
17866
17940
  createVNode(unref(Btn), {
17867
17941
  flat: "",
@@ -28363,15 +28437,19 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
28363
28437
  const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-e9632f79"]]);
28364
28438
  const _hoisted_1$o = ["title"];
28365
28439
  const _hoisted_2$e = ["for"];
28366
- const _hoisted_3$b = ["id", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
28367
- const _hoisted_4$6 = ["id", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
28368
- const _hoisted_5$6 = { key: 2 };
28440
+ const _hoisted_3$b = ["id", "name", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
28441
+ const _hoisted_4$6 = ["id", "name", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
28442
+ const _hoisted_5$6 = {
28443
+ key: 2,
28444
+ class: "opacity-7 light"
28445
+ };
28369
28446
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
28370
28447
  __name: "TextInput",
28371
28448
  props: {
28372
28449
  id: {},
28373
28450
  title: {},
28374
28451
  helptext: {},
28452
+ name: {},
28375
28453
  placeholder: {},
28376
28454
  modelValue: { default: "" },
28377
28455
  label: {},
@@ -28455,6 +28533,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28455
28533
  ref_key: "input",
28456
28534
  ref: input,
28457
28535
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(inputVal) ? inputVal.value = $event : inputVal = $event),
28536
+ name: _ctx.name,
28458
28537
  title: _ctx.title,
28459
28538
  autocomplete: _ctx.autocomplete,
28460
28539
  type: _ctx.type,
@@ -28482,6 +28561,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28482
28561
  ref_key: "input",
28483
28562
  ref: input,
28484
28563
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(inputVal) ? inputVal.value = $event : inputVal = $event),
28564
+ name: _ctx.name,
28485
28565
  title: _ctx.title,
28486
28566
  type: _ctx.type,
28487
28567
  rows: inputRows.value,
@@ -28511,7 +28591,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28511
28591
  };
28512
28592
  }
28513
28593
  });
28514
- const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-99e3ea36"]]);
28594
+ const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-dbcf2010"]]);
28515
28595
  const _hoisted_1$n = ["title"];
28516
28596
  const _hoisted_2$d = ["id", "required"];
28517
28597
  const _hoisted_3$a = ["for"];
@@ -33650,7 +33730,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
33650
33730
  };
33651
33731
  }
33652
33732
  });
33653
- const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2227f9cc"]]);
33733
+ const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-864b768d"]]);
33654
33734
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
33655
33735
  __name: "Layout",
33656
33736
  props: {
@@ -33663,11 +33743,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
33663
33743
  },
33664
33744
  setup(__props) {
33665
33745
  useCssVars((_ctx) => ({
33666
- "16111f2e": gapSize.value,
33667
- "2c189afc": gridTemplateRows.value,
33668
- "243c3a94": gridTemplateColumns.value,
33669
- "84a9b646": mGridTemplateRows.value,
33670
- "55be334e": mGridTemplateColumns.value
33746
+ "39f67c85": gapSize.value,
33747
+ "0abc670b": gridTemplateRows.value,
33748
+ "40854d6b": gridTemplateColumns.value,
33749
+ "940dfd18": mGridTemplateRows.value,
33750
+ "41fa2e62": mGridTemplateColumns.value
33671
33751
  }));
33672
33752
  const props2 = __props;
33673
33753
  const gridTemplateRows = computed(() => props2.rows.length > 0 ? props2.rows.join(" ") : "auto");
@@ -33692,7 +33772,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
33692
33772
  };
33693
33773
  }
33694
33774
  });
33695
- const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-1814129a"]]);
33775
+ const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-d3589d43"]]);
33696
33776
  const _hoisted_1$i = { key: 0 };
33697
33777
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
33698
33778
  __name: "SidebarMenu",
@@ -33768,7 +33848,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
33768
33848
  };
33769
33849
  }
33770
33850
  });
33771
- const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-951fdacc"]]);
33851
+ const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-4b730e73"]]);
33772
33852
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
33773
33853
  __name: "Skeleton",
33774
33854
  props: {
@@ -33800,7 +33880,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
33800
33880
  };
33801
33881
  }
33802
33882
  });
33803
- const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-8788ed73"]]);
33883
+ const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-7bce7e33"]]);
33804
33884
  const _hoisted_1$h = { class: "bgl_card tabs-top" };
33805
33885
  const _hoisted_2$a = { class: "tabs grid auto-flow-columns fit-content" };
33806
33886
  const _hoisted_3$7 = ["onClick"];
@@ -33864,7 +33944,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
33864
33944
  };
33865
33945
  }
33866
33946
  });
33867
- const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-915732c1"]]);
33947
+ const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-138a7441"]]);
33868
33948
  const state = reactive(/* @__PURE__ */ new Map());
33869
33949
  function useTabs(group) {
33870
33950
  if (!state.has(group)) {
@@ -34041,7 +34121,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
34041
34121
  };
34042
34122
  }
34043
34123
  });
34044
- const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-6ece2018"]]);
34124
+ const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-2e964f00"]]);
34045
34125
  const _hoisted_1$e = { class: "no-margin ellipsis line-height-14 pb-025" };
34046
34126
  const _hoisted_2$9 = { class: "txt12 no-margin txt-gray ellipsis" };
34047
34127
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
@@ -34178,7 +34258,7 @@ const _hoisted_1$b = ["id"];
34178
34258
  const defaultMarkerSVG = '<svg width="28" height="38" viewBox="0 0 28 38" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2263 37.7955C17.0897 37.7955 19.4109 37.0138 19.4109 36.0496C19.4109 35.0854 17.0897 34.3037 14.2263 34.3037C11.363 34.3037 9.04175 35.0854 9.04175 36.0496C9.04175 37.0138 11.363 37.7955 14.2263 37.7955Z" fill="black" fill-opacity="0.1"/><path d="M14.2265 0.549591C21.2842 0.549591 27.0131 6.23786 27.0787 13.28V13.4024C27.0787 19.3328 24.4759 24.4306 21.5627 28.2764C18.6511 32.12 15.4577 34.6754 14.3457 35.5097C14.2748 35.5629 14.1778 35.5629 14.1068 35.5097C12.9947 34.675 9.80135 32.1197 6.88984 28.2762C3.97665 24.4304 1.37378 19.3328 1.37378 13.4024C1.37378 6.30387 7.12806 0.549591 14.2265 0.549591Z" fill="#ED1b3E" stroke="#ED6C6F"/><path d="M14.2263 21.6185C18.7639 21.6185 22.4424 17.94 22.4424 13.4024C22.4424 8.86477 18.7639 5.18631 14.2263 5.18631C9.68872 5.18631 6.01025 8.86477 6.01025 13.4024C6.01025 17.94 9.68872 21.6185 14.2263 21.6185Z" fill="white"/></svg>';
34179
34259
  const leafletScriptUrl = "https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";
34180
34260
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
34181
- __name: "MapEmbed",
34261
+ __name: "Index",
34182
34262
  props: {
34183
34263
  center: { default: () => [31.7683, 35.2137] },
34184
34264
  zoom: { default: 15 },
@@ -34371,6 +34451,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
34371
34451
  class: "position-start",
34372
34452
  icon: "close",
34373
34453
  thin: "",
34454
+ round: "",
34374
34455
  color: "white",
34375
34456
  onClick: closeModal
34376
34457
  })
@@ -36735,7 +36816,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36735
36816
  };
36736
36817
  }
36737
36818
  });
36738
- const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-977a5319"]]);
36819
+ const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7371018"]]);
36739
36820
  const groups = {};
36740
36821
  let clickHandler = (_e2) => void 0;
36741
36822
  const lightboxDirective = {
@@ -37532,7 +37613,6 @@ function getBrowserNavigatorLocale() {
37532
37613
  return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
37533
37614
  }
37534
37615
  function formatDate(date2, format2 = "dd.mm.yy", locale2) {
37535
- var _a;
37536
37616
  if (!date2) return "";
37537
37617
  locale2 = locale2 || getBrowserNavigatorLocale();
37538
37618
  try {
@@ -37541,8 +37621,6 @@ function formatDate(date2, format2 = "dd.mm.yy", locale2) {
37541
37621
  console.warn("Invalid date provided to formatDate:", date2);
37542
37622
  return "";
37543
37623
  }
37544
- const separator = ((_a = format2.match(/[^\w\s]/)) == null ? void 0 : _a[0]) || ".";
37545
- const formatParts = format2.split(/[^\w\s]/);
37546
37624
  const datePartsMap = {
37547
37625
  dd: String(d2.getDate()).padStart(2, "0"),
37548
37626
  ddd: d2.toLocaleString(locale2, { weekday: "short" }),
@@ -37584,15 +37662,11 @@ function formatDate(date2, format2 = "dd.mm.yy", locale2) {
37584
37662
  if (partsMap.dayPeriod) {
37585
37663
  datePartsMap.ampm = partsMap.dayPeriod;
37586
37664
  }
37587
- let formattedDate = "";
37588
- for (let i2 = 0; i2 < formatParts.length; i2++) {
37589
- const part = formatParts[i2];
37590
- if (datePartsMap[part]) {
37591
- formattedDate += datePartsMap[part];
37592
- }
37593
- if (i2 < formatParts.length - 1) {
37594
- formattedDate += separator;
37595
- }
37665
+ let formattedDate = format2;
37666
+ const tokens = Object.keys(datePartsMap).sort((a2, b2) => b2.length - a2.length);
37667
+ for (const token of tokens) {
37668
+ const regex2 = new RegExp(token, "g");
37669
+ formattedDate = formattedDate.replace(regex2, datePartsMap[token]);
37596
37670
  }
37597
37671
  return formattedDate;
37598
37672
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"bagel.d.ts","sourceRoot":"","sources":["../../src/plugins/bagel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQrC,eAAO,MAAM,iBAAiB,EAAsB,YAAY,CAAC,KAAK,CAAC,CAAA;AACvE,eAAO,MAAM,iBAAiB,EAAsB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;AAEzF,wBAAgB,QAAQ,UAKvB;AAED,wBAAgB,QAAQ,UAT+C,MAAM,KAAK,MAAM,CAcvF;AAED,MAAM,WAAW,YAAY;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAE9B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/B;AACD,eAAO,MAAM,QAAQ,EAAE,MA0BtB,CAAA"}
1
+ {"version":3,"file":"bagel.d.ts","sourceRoot":"","sources":["../../src/plugins/bagel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAQrC,eAAO,MAAM,iBAAiB,EAAsB,YAAY,CAAC,KAAK,CAAC,CAAA;AACvE,eAAO,MAAM,iBAAiB,EAAsB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;AAEzF,wBAAgB,QAAQ,UAIvB;AAED,wBAAgB,QAAQ,UAR+C,MAAM,KAAK,MAAM,CAavF;AAED,MAAM,WAAW,YAAY;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAE9B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/B;AACD,eAAO,MAAM,QAAQ,EAAE,MA0BtB,CAAA"}