@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.
- package/dist/components/MapEmbed/Index.vue.d.ts +30 -0
- package/dist/components/MapEmbed/Index.vue.d.ts.map +1 -0
- package/dist/components/Modal.vue.d.ts.map +1 -1
- package/dist/components/Spreadsheet/Index.vue.d.ts +2 -0
- package/dist/components/Spreadsheet/Index.vue.d.ts.map +1 -1
- package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
- package/dist/components/dashboard/index.d.ts.map +1 -1
- package/dist/components/form/BagelForm.vue.d.ts +3 -1
- package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/PasswordInput.vue.d.ts +1 -0
- package/dist/components/form/inputs/PasswordInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/PhoneInput.vue.d.ts +2 -0
- package/dist/components/form/inputs/PhoneInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts +4 -0
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TextInput.vue.d.ts +1 -0
- package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layout/BottomMenu.vue.d.ts.map +1 -1
- package/dist/components/layout/Layout.vue.d.ts.map +1 -1
- package/dist/components/layout/SidebarMenu.vue.d.ts.map +1 -1
- package/dist/components/layout/Skeleton.vue.d.ts.map +1 -1
- package/dist/components/layout/TabbedLayout.vue.d.ts.map +1 -1
- package/dist/components/layout/Tabs.vue.d.ts.map +1 -1
- package/dist/components/layout/TabsBody.vue.d.ts.map +1 -1
- package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/tabsManager.d.ts.map +1 -1
- package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -1
- package/dist/components/lightbox/index.d.ts.map +1 -1
- package/dist/components/lightbox/lightbox.types.d.ts.map +1 -1
- package/dist/composables/useSchemaField.d.ts.map +1 -1
- package/dist/index.cjs +125 -51
- package/dist/index.mjs +125 -51
- package/dist/plugins/bagel.d.ts.map +1 -1
- package/dist/style.css +852 -571
- package/dist/utils/BagelFormUtils.d.ts +6 -1
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/dist/utils/timeAgo.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/{MapEmbed.vue → MapEmbed/Index.vue} +1 -1
- package/src/components/Modal.vue +1 -0
- package/src/components/form/BagelForm.vue +23 -7
- package/src/components/form/FieldArray.vue +2 -2
- package/src/components/form/inputs/DateInput.vue +47 -7
- package/src/components/form/inputs/NumberInput.vue +2 -2
- package/src/components/form/inputs/PasswordInput.vue +2 -0
- package/src/components/form/inputs/TextInput.vue +4 -1
- package/src/components/index.ts +3 -3
- package/src/composables/useSchemaField.ts +34 -1
- package/src/plugins/bagel.ts +1 -2
- package/src/styles/text.css +911 -560
- package/src/utils/BagelFormUtils.ts +10 -1
- package/src/utils/timeAgo.ts +9 -17
- package/tsconfig.json +2 -1
- package/src/components/DataTable/tableTypes.d.ts +0 -0
- /package/src/components/{dashboard → Dashboard}/Lineart.vue +0 -0
- /package/src/components/{dashboard → Dashboard}/index.ts +0 -0
- /package/src/components/{layout → Layout}/BottomMenu.vue +0 -0
- /package/src/components/{layout → Layout}/Layout.vue +0 -0
- /package/src/components/{layout → Layout}/SidebarMenu.vue +0 -0
- /package/src/components/{layout → Layout}/Skeleton.vue +0 -0
- /package/src/components/{layout → Layout}/TabbedLayout.vue +0 -0
- /package/src/components/{layout → Layout}/Tabs.vue +0 -0
- /package/src/components/{layout → Layout}/TabsBody.vue +0 -0
- /package/src/components/{layout → Layout}/TabsNav.vue +0 -0
- /package/src/components/{layout → Layout}/index.ts +0 -0
- /package/src/components/{layout → Layout}/tabsManager.ts +0 -0
- /package/src/components/{lightbox → Lightbox}/Lightbox.vue +0 -0
- /package/src/components/{lightbox → Lightbox}/index.ts +0 -0
- /package/src/components/{lightbox → Lightbox}/lightbox.types.ts +0 -0
- /package/src/components/{leaflet → MapEmbed}/leaflet.css +0 -0
package/dist/index.cjs
CHANGED
|
@@ -10532,6 +10532,24 @@ const SLOT_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["div", "span", "p"]);
|
|
|
10532
10532
|
const SRC_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["img", "iframe"]);
|
|
10533
10533
|
function useSchemaField(optns) {
|
|
10534
10534
|
const { mode = "form", getRowData, onUpdate, includeUnset = false } = optns;
|
|
10535
|
+
function renderObject(obj, depth = 0) {
|
|
10536
|
+
if (obj === null || obj === void 0) return "";
|
|
10537
|
+
if (typeof obj !== "object") return String(obj);
|
|
10538
|
+
if (Array.isArray(obj)) return obj.map((item) => renderObject(item, depth + 1)).join(", ");
|
|
10539
|
+
const indent = depth > 0 ? " ".repeat(depth) : "";
|
|
10540
|
+
const nextIndent = " ".repeat(depth + 1);
|
|
10541
|
+
const entries = Object.entries(obj);
|
|
10542
|
+
if (entries.length === 0) return "{}";
|
|
10543
|
+
if (depth > 0) {
|
|
10544
|
+
return `{
|
|
10545
|
+
${entries.map(([key, value]) => `${nextIndent}${key}: ${renderObject(value, depth + 1)}`).join(",\n")}
|
|
10546
|
+
${indent}}`;
|
|
10547
|
+
}
|
|
10548
|
+
return entries.map(([key, value]) => {
|
|
10549
|
+
const valueStr = typeof value === "object" && value !== null ? renderObject(value, depth + 1) : String(value);
|
|
10550
|
+
return `${key}: ${valueStr}`;
|
|
10551
|
+
}).join("\n");
|
|
10552
|
+
}
|
|
10535
10553
|
function getComponent(field) {
|
|
10536
10554
|
var _a;
|
|
10537
10555
|
const componentMap = {
|
|
@@ -10671,7 +10689,7 @@ function useSchemaField(optns) {
|
|
|
10671
10689
|
return vue.h("div", { class: "preview-field" }, [
|
|
10672
10690
|
vue.h("div", { class: "field-label" }, `${field.label || keyToLabel(field.id || "")}:`),
|
|
10673
10691
|
vue.h("div", { class: "field-value" }, [
|
|
10674
|
-
slotContent || (typeof field.$el === "object" ? vue.h(Component, props2, componentSlots) : (transformedValue == null ? void 0 : transformedValue.toString()) || "")
|
|
10692
|
+
slotContent || (typeof field.$el === "object" ? vue.h(Component, props2, componentSlots) : typeof transformedValue === "object" && transformedValue !== null ? vue.h("pre", { style: "margin: 0; white-space: pre-wrap; font-family: inherit; font-size: inherit;" }, renderObject(transformedValue)) : (transformedValue == null ? void 0 : transformedValue.toString()) || "")
|
|
10675
10693
|
])
|
|
10676
10694
|
]);
|
|
10677
10695
|
}
|
|
@@ -15054,7 +15072,11 @@ function dateField(id, label, options) {
|
|
|
15054
15072
|
vIf: options == null ? void 0 : options.vIf,
|
|
15055
15073
|
attrs: {
|
|
15056
15074
|
disabled: options == null ? void 0 : options.disabled,
|
|
15057
|
-
autocomplete: options == null ? void 0 : options.autocomplete
|
|
15075
|
+
autocomplete: options == null ? void 0 : options.autocomplete,
|
|
15076
|
+
enableTime: options == null ? void 0 : options.enableTime,
|
|
15077
|
+
mode: options == null ? void 0 : options.mode,
|
|
15078
|
+
locale: options == null ? void 0 : options.locale,
|
|
15079
|
+
timezone: options == null ? void 0 : options.timezone
|
|
15058
15080
|
}
|
|
15059
15081
|
};
|
|
15060
15082
|
}
|
|
@@ -15472,9 +15494,16 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15472
15494
|
formData.value = newData;
|
|
15473
15495
|
emit2("update:modelValue", formData.value);
|
|
15474
15496
|
}
|
|
15497
|
+
const validateForm = () => {
|
|
15498
|
+
var _a;
|
|
15499
|
+
return ((_a = form.value) == null ? void 0 : _a.reportValidity()) ?? false;
|
|
15500
|
+
};
|
|
15501
|
+
let formError = vue.ref();
|
|
15475
15502
|
async function handleSubmit() {
|
|
15476
15503
|
var _a;
|
|
15477
15504
|
try {
|
|
15505
|
+
const valid = validateForm();
|
|
15506
|
+
if (!valid) return;
|
|
15478
15507
|
if (formState.value === "submitting") return;
|
|
15479
15508
|
formState.value = "submitting";
|
|
15480
15509
|
await ((_a = props2.onSubmit) == null ? void 0 : _a.call(props2, formData.value));
|
|
@@ -15482,14 +15511,11 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15482
15511
|
formState.value = "success";
|
|
15483
15512
|
window.parent.postMessage({ type: "BAGEL_FORM_SUCCESS", data: JSON.stringify(formData.value) }, "*");
|
|
15484
15513
|
} catch (error) {
|
|
15485
|
-
console.error("Submit error:", error);
|
|
15486
15514
|
formState.value = "error";
|
|
15515
|
+
formError.value = error;
|
|
15516
|
+
console.error("Submit error:", formError.value);
|
|
15487
15517
|
}
|
|
15488
15518
|
}
|
|
15489
|
-
const validateForm = () => {
|
|
15490
|
-
var _a;
|
|
15491
|
-
return ((_a = form.value) == null ? void 0 : _a.reportValidity()) ?? false;
|
|
15492
|
-
};
|
|
15493
15519
|
const { renderField } = useSchemaField({
|
|
15494
15520
|
mode: "form",
|
|
15495
15521
|
getRowData: () => ({
|
|
@@ -15505,6 +15531,13 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15505
15531
|
}
|
|
15506
15532
|
});
|
|
15507
15533
|
const renderSchemaField = (field) => renderField(field);
|
|
15534
|
+
function handleSlotInputChange(event) {
|
|
15535
|
+
const input = event.target;
|
|
15536
|
+
if (input.name) {
|
|
15537
|
+
const value = input.type === "checkbox" ? input.checked : input.value;
|
|
15538
|
+
updateFormData(input.name, value);
|
|
15539
|
+
}
|
|
15540
|
+
}
|
|
15508
15541
|
__expose({ form, isDirty, validateForm, resolveSchema, refreshSchema });
|
|
15509
15542
|
return (_ctx, _cache) => {
|
|
15510
15543
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
@@ -15514,7 +15547,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15514
15547
|
ref_key: "form",
|
|
15515
15548
|
ref: form,
|
|
15516
15549
|
class: vue.normalizeClass(props2.class),
|
|
15517
|
-
onSubmit: vue.withModifiers(handleSubmit, ["prevent"])
|
|
15550
|
+
onSubmit: vue.withModifiers(handleSubmit, ["prevent"]),
|
|
15551
|
+
onInput: handleSlotInputChange
|
|
15518
15552
|
}, [
|
|
15519
15553
|
schemaState.value === "loading" ? vue.renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
|
|
15520
15554
|
vue.createElementVNode("div", _hoisted_1$M, [
|
|
@@ -15548,7 +15582,10 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
15548
15582
|
], 64))
|
|
15549
15583
|
], 64)) : vue.createCommentVNode("", true),
|
|
15550
15584
|
formState.value === "success" ? vue.renderSlot(_ctx.$slots, "success", { key: 1 }) : vue.createCommentVNode("", true),
|
|
15551
|
-
formState.value === "error" ? vue.renderSlot(_ctx.$slots, "error", {
|
|
15585
|
+
formState.value === "error" ? vue.renderSlot(_ctx.$slots, "error", {
|
|
15586
|
+
key: 2,
|
|
15587
|
+
error: vue.unref(formError)
|
|
15588
|
+
}) : vue.createCommentVNode("", true)
|
|
15552
15589
|
], 64);
|
|
15553
15590
|
};
|
|
15554
15591
|
}
|
|
@@ -15674,7 +15711,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15674
15711
|
() => isPrimitiveType.value || props2.type === "object" && resolvedSchemaData.value.length > 0
|
|
15675
15712
|
);
|
|
15676
15713
|
const showMinimizeButton = vue.computed(() => {
|
|
15677
|
-
return resolvedSchemaData.value.length >
|
|
15714
|
+
return resolvedSchemaData.value.length > 2 || resolvedSchemaData.value.some((schema) => schema.$el === "richtext");
|
|
15678
15715
|
});
|
|
15679
15716
|
return (_ctx, _cache) => {
|
|
15680
15717
|
const _component_Icon = vue.resolveComponent("Icon");
|
|
@@ -15730,7 +15767,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
15730
15767
|
thin: "",
|
|
15731
15768
|
icon: "add",
|
|
15732
15769
|
color: "gray",
|
|
15733
|
-
class: "txt12",
|
|
15770
|
+
class: "txt12 arrayAddButton",
|
|
15734
15771
|
onClick: addItem
|
|
15735
15772
|
}, {
|
|
15736
15773
|
default: vue.withCtx(() => [
|
|
@@ -16042,7 +16079,7 @@ const _hoisted_12$4 = {
|
|
|
16042
16079
|
const _hoisted_13$3 = ["disabled", "onClick"];
|
|
16043
16080
|
const _hoisted_14$3 = {
|
|
16044
16081
|
key: 0,
|
|
16045
|
-
class: "time-picker border-start flex column gap-1 w-120px"
|
|
16082
|
+
class: "time-picker border-start flex column gap-1 w-120px px-025"
|
|
16046
16083
|
};
|
|
16047
16084
|
const _hoisted_15$3 = { class: "flex gap-025" };
|
|
16048
16085
|
const _hoisted_16$3 = { class: "txt-center opacity-6 txt14" };
|
|
@@ -16057,7 +16094,13 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
16057
16094
|
modelValue: {},
|
|
16058
16095
|
min: {},
|
|
16059
16096
|
max: {},
|
|
16060
|
-
timezone: { default:
|
|
16097
|
+
timezone: { default: () => {
|
|
16098
|
+
try {
|
|
16099
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
16100
|
+
} catch {
|
|
16101
|
+
return "UTC";
|
|
16102
|
+
}
|
|
16103
|
+
} },
|
|
16061
16104
|
mode: { default: "day" },
|
|
16062
16105
|
defaultValue: {},
|
|
16063
16106
|
firstDayOfWeek: { default: WEEK_START_DAY.SUNDAY },
|
|
@@ -16280,6 +16323,16 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
16280
16323
|
const date2 = parseUserInput(input.value);
|
|
16281
16324
|
if (date2) {
|
|
16282
16325
|
if (props2.enableTime) {
|
|
16326
|
+
try {
|
|
16327
|
+
const targetDate = new Date(date2.toLocaleString("en-US", { timeZone: props2.timezone }));
|
|
16328
|
+
const tzOffset = targetDate.getTime() - date2.getTime();
|
|
16329
|
+
date2.setTime(date2.getTime() - tzOffset);
|
|
16330
|
+
} catch {
|
|
16331
|
+
if (props2.timezone === "UTC") {
|
|
16332
|
+
const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
16333
|
+
date2.setMinutes(date2.getMinutes() + tzOffset);
|
|
16334
|
+
}
|
|
16335
|
+
}
|
|
16283
16336
|
emit2("update:modelValue", date2.toISOString());
|
|
16284
16337
|
} else {
|
|
16285
16338
|
const utcDate = new Date(Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate()));
|
|
@@ -16303,6 +16356,16 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
16303
16356
|
const date2 = parseUserInput(inputValue.value);
|
|
16304
16357
|
if (date2) {
|
|
16305
16358
|
if (props2.enableTime) {
|
|
16359
|
+
try {
|
|
16360
|
+
const targetDate = new Date(date2.toLocaleString("en-US", { timeZone: props2.timezone }));
|
|
16361
|
+
const tzOffset = targetDate.getTime() - date2.getTime();
|
|
16362
|
+
date2.setTime(date2.getTime() - tzOffset);
|
|
16363
|
+
} catch {
|
|
16364
|
+
if (props2.timezone === "UTC") {
|
|
16365
|
+
const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
16366
|
+
date2.setMinutes(date2.getMinutes() + tzOffset);
|
|
16367
|
+
}
|
|
16368
|
+
}
|
|
16306
16369
|
emit2("update:modelValue", date2.toISOString());
|
|
16307
16370
|
} else {
|
|
16308
16371
|
const utcDate = new Date(Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate()));
|
|
@@ -16339,9 +16402,15 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
16339
16402
|
const currentMinutes = ((_b = selectedDate.value) == null ? void 0 : _b.getMinutes()) ?? (/* @__PURE__ */ new Date()).getMinutes();
|
|
16340
16403
|
newDate.setHours(currentHours);
|
|
16341
16404
|
newDate.setMinutes(currentMinutes);
|
|
16342
|
-
|
|
16343
|
-
const
|
|
16344
|
-
|
|
16405
|
+
try {
|
|
16406
|
+
const targetDate = new Date(newDate.toLocaleString("en-US", { timeZone: props2.timezone }));
|
|
16407
|
+
const tzOffset = targetDate.getTime() - newDate.getTime();
|
|
16408
|
+
newDate.setTime(newDate.getTime() - tzOffset);
|
|
16409
|
+
} catch {
|
|
16410
|
+
if (props2.timezone === "UTC") {
|
|
16411
|
+
const tzOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
16412
|
+
newDate.setMinutes(newDate.getMinutes() + tzOffset);
|
|
16413
|
+
}
|
|
16345
16414
|
}
|
|
16346
16415
|
emit2("update:modelValue", newDate.toISOString());
|
|
16347
16416
|
} else {
|
|
@@ -16558,7 +16627,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
|
|
|
16558
16627
|
};
|
|
16559
16628
|
}
|
|
16560
16629
|
});
|
|
16561
|
-
const DateInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-
|
|
16630
|
+
const DateInput = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-80df1413"]]);
|
|
16562
16631
|
const _hoisted_1$F = ["title"];
|
|
16563
16632
|
const _hoisted_2$t = { key: 0 };
|
|
16564
16633
|
const _hoisted_3$o = {
|
|
@@ -17506,7 +17575,10 @@ const _hoisted_2$p = {
|
|
|
17506
17575
|
class: "block"
|
|
17507
17576
|
};
|
|
17508
17577
|
const _hoisted_3$k = ["id", "placeholder", "disabled", "required", "readonly", "pattern", "onKeydown"];
|
|
17509
|
-
const _hoisted_4$d = {
|
|
17578
|
+
const _hoisted_4$d = {
|
|
17579
|
+
key: 1,
|
|
17580
|
+
class: "opacity-7 light"
|
|
17581
|
+
};
|
|
17510
17582
|
const _hoisted_5$d = {
|
|
17511
17583
|
key: 5,
|
|
17512
17584
|
class: "flex column spinner"
|
|
@@ -17556,7 +17628,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17556
17628
|
const precision = ((_a = __props.step.toString().split(".")[1]) == null ? void 0 : _a.length) || 0;
|
|
17557
17629
|
return Number.parseFloat(numArr.reduce((acc, curr) => acc - curr, firstNum).toFixed(precision));
|
|
17558
17630
|
}
|
|
17559
|
-
const canAdd = vue.computed(() =>
|
|
17631
|
+
const canAdd = vue.computed(() => __props.max === void 0 || add(numberValue.value, __props.step) <= __props.max);
|
|
17560
17632
|
const canDecrement = vue.computed(() => __props.min === void 0 || subtract(numberValue.value, __props.step) >= __props.min);
|
|
17561
17633
|
function increment() {
|
|
17562
17634
|
if (!canAdd.value) return;
|
|
@@ -17709,7 +17781,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
17709
17781
|
};
|
|
17710
17782
|
}
|
|
17711
17783
|
});
|
|
17712
|
-
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-
|
|
17784
|
+
const NumberInput = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-b3711c9e"]]);
|
|
17713
17785
|
const _hoisted_1$A = ["value", "autofocus", "onKeydown", "onPaste"];
|
|
17714
17786
|
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
17715
17787
|
__name: "OTP",
|
|
@@ -17831,6 +17903,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17831
17903
|
pattern: {},
|
|
17832
17904
|
shrink: { type: Boolean },
|
|
17833
17905
|
disabled: { type: Boolean },
|
|
17906
|
+
name: {},
|
|
17834
17907
|
nativeInputAttrs: {},
|
|
17835
17908
|
icon: {},
|
|
17836
17909
|
iconStart: {},
|
|
@@ -17862,8 +17935,9 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17862
17935
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => password.value = $event)
|
|
17863
17936
|
}, props2, {
|
|
17864
17937
|
type: inputType.value,
|
|
17865
|
-
class: "mb-0"
|
|
17866
|
-
|
|
17938
|
+
class: "mb-0",
|
|
17939
|
+
name: props2.name
|
|
17940
|
+
}), null, 16, ["modelValue", "type", "name"]),
|
|
17867
17941
|
vue.createElementVNode("div", _hoisted_2$o, [
|
|
17868
17942
|
vue.createVNode(vue.unref(Btn), {
|
|
17869
17943
|
flat: "",
|
|
@@ -28365,15 +28439,19 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
28365
28439
|
const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-e9632f79"]]);
|
|
28366
28440
|
const _hoisted_1$o = ["title"];
|
|
28367
28441
|
const _hoisted_2$e = ["for"];
|
|
28368
|
-
const _hoisted_3$b = ["id", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
|
|
28369
|
-
const _hoisted_4$6 = ["id", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
|
|
28370
|
-
const _hoisted_5$6 = {
|
|
28442
|
+
const _hoisted_3$b = ["id", "name", "title", "autocomplete", "type", "placeholder", "disabled", "required", "pattern"];
|
|
28443
|
+
const _hoisted_4$6 = ["id", "name", "title", "type", "rows", "placeholder", "disabled", "required", "pattern"];
|
|
28444
|
+
const _hoisted_5$6 = {
|
|
28445
|
+
key: 2,
|
|
28446
|
+
class: "opacity-7 light"
|
|
28447
|
+
};
|
|
28371
28448
|
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
28372
28449
|
__name: "TextInput",
|
|
28373
28450
|
props: {
|
|
28374
28451
|
id: {},
|
|
28375
28452
|
title: {},
|
|
28376
28453
|
helptext: {},
|
|
28454
|
+
name: {},
|
|
28377
28455
|
placeholder: {},
|
|
28378
28456
|
modelValue: { default: "" },
|
|
28379
28457
|
label: {},
|
|
@@ -28457,6 +28535,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
28457
28535
|
ref_key: "input",
|
|
28458
28536
|
ref: input,
|
|
28459
28537
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(inputVal) ? inputVal.value = $event : inputVal = $event),
|
|
28538
|
+
name: _ctx.name,
|
|
28460
28539
|
title: _ctx.title,
|
|
28461
28540
|
autocomplete: _ctx.autocomplete,
|
|
28462
28541
|
type: _ctx.type,
|
|
@@ -28484,6 +28563,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
28484
28563
|
ref_key: "input",
|
|
28485
28564
|
ref: input,
|
|
28486
28565
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(inputVal) ? inputVal.value = $event : inputVal = $event),
|
|
28566
|
+
name: _ctx.name,
|
|
28487
28567
|
title: _ctx.title,
|
|
28488
28568
|
type: _ctx.type,
|
|
28489
28569
|
rows: inputRows.value,
|
|
@@ -28513,7 +28593,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
28513
28593
|
};
|
|
28514
28594
|
}
|
|
28515
28595
|
});
|
|
28516
|
-
const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-
|
|
28596
|
+
const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-dbcf2010"]]);
|
|
28517
28597
|
const _hoisted_1$n = ["title"];
|
|
28518
28598
|
const _hoisted_2$d = ["id", "required"];
|
|
28519
28599
|
const _hoisted_3$a = ["for"];
|
|
@@ -33652,7 +33732,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
33652
33732
|
};
|
|
33653
33733
|
}
|
|
33654
33734
|
});
|
|
33655
|
-
const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-
|
|
33735
|
+
const BottomMenu = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-864b768d"]]);
|
|
33656
33736
|
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
33657
33737
|
__name: "Layout",
|
|
33658
33738
|
props: {
|
|
@@ -33665,11 +33745,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
33665
33745
|
},
|
|
33666
33746
|
setup(__props) {
|
|
33667
33747
|
vue.useCssVars((_ctx) => ({
|
|
33668
|
-
"
|
|
33669
|
-
"
|
|
33670
|
-
"
|
|
33671
|
-
"
|
|
33672
|
-
"
|
|
33748
|
+
"39f67c85": gapSize.value,
|
|
33749
|
+
"0abc670b": gridTemplateRows.value,
|
|
33750
|
+
"40854d6b": gridTemplateColumns.value,
|
|
33751
|
+
"940dfd18": mGridTemplateRows.value,
|
|
33752
|
+
"41fa2e62": mGridTemplateColumns.value
|
|
33673
33753
|
}));
|
|
33674
33754
|
const props2 = __props;
|
|
33675
33755
|
const gridTemplateRows = vue.computed(() => props2.rows.length > 0 ? props2.rows.join(" ") : "auto");
|
|
@@ -33694,7 +33774,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
33694
33774
|
};
|
|
33695
33775
|
}
|
|
33696
33776
|
});
|
|
33697
|
-
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-
|
|
33777
|
+
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-d3589d43"]]);
|
|
33698
33778
|
const _hoisted_1$i = { key: 0 };
|
|
33699
33779
|
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
33700
33780
|
__name: "SidebarMenu",
|
|
@@ -33770,7 +33850,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
33770
33850
|
};
|
|
33771
33851
|
}
|
|
33772
33852
|
});
|
|
33773
|
-
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-
|
|
33853
|
+
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-4b730e73"]]);
|
|
33774
33854
|
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
33775
33855
|
__name: "Skeleton",
|
|
33776
33856
|
props: {
|
|
@@ -33802,7 +33882,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
33802
33882
|
};
|
|
33803
33883
|
}
|
|
33804
33884
|
});
|
|
33805
|
-
const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-
|
|
33885
|
+
const Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-7bce7e33"]]);
|
|
33806
33886
|
const _hoisted_1$h = { class: "bgl_card tabs-top" };
|
|
33807
33887
|
const _hoisted_2$a = { class: "tabs grid auto-flow-columns fit-content" };
|
|
33808
33888
|
const _hoisted_3$7 = ["onClick"];
|
|
@@ -33866,7 +33946,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
33866
33946
|
};
|
|
33867
33947
|
}
|
|
33868
33948
|
});
|
|
33869
|
-
const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-
|
|
33949
|
+
const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-138a7441"]]);
|
|
33870
33950
|
const state = vue.reactive(/* @__PURE__ */ new Map());
|
|
33871
33951
|
function useTabs(group) {
|
|
33872
33952
|
if (!state.has(group)) {
|
|
@@ -34043,7 +34123,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
34043
34123
|
};
|
|
34044
34124
|
}
|
|
34045
34125
|
});
|
|
34046
|
-
const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-
|
|
34126
|
+
const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-2e964f00"]]);
|
|
34047
34127
|
const _hoisted_1$e = { class: "no-margin ellipsis line-height-14 pb-025" };
|
|
34048
34128
|
const _hoisted_2$9 = { class: "txt12 no-margin txt-gray ellipsis" };
|
|
34049
34129
|
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -34180,7 +34260,7 @@ const _hoisted_1$b = ["id"];
|
|
|
34180
34260
|
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>';
|
|
34181
34261
|
const leafletScriptUrl = "https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";
|
|
34182
34262
|
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
34183
|
-
__name: "
|
|
34263
|
+
__name: "Index",
|
|
34184
34264
|
props: {
|
|
34185
34265
|
center: { default: () => [31.7683, 35.2137] },
|
|
34186
34266
|
zoom: { default: 15 },
|
|
@@ -34373,6 +34453,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
34373
34453
|
class: "position-start",
|
|
34374
34454
|
icon: "close",
|
|
34375
34455
|
thin: "",
|
|
34456
|
+
round: "",
|
|
34376
34457
|
color: "white",
|
|
34377
34458
|
onClick: closeModal
|
|
34378
34459
|
})
|
|
@@ -36737,7 +36818,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
36737
36818
|
};
|
|
36738
36819
|
}
|
|
36739
36820
|
});
|
|
36740
|
-
const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
36821
|
+
const Lightbox$1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7371018"]]);
|
|
36741
36822
|
const groups = {};
|
|
36742
36823
|
let clickHandler = (_e2) => void 0;
|
|
36743
36824
|
const lightboxDirective = {
|
|
@@ -37534,7 +37615,6 @@ function getBrowserNavigatorLocale() {
|
|
|
37534
37615
|
return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
|
|
37535
37616
|
}
|
|
37536
37617
|
function formatDate(date2, format2 = "dd.mm.yy", locale2) {
|
|
37537
|
-
var _a;
|
|
37538
37618
|
if (!date2) return "";
|
|
37539
37619
|
locale2 = locale2 || getBrowserNavigatorLocale();
|
|
37540
37620
|
try {
|
|
@@ -37543,8 +37623,6 @@ function formatDate(date2, format2 = "dd.mm.yy", locale2) {
|
|
|
37543
37623
|
console.warn("Invalid date provided to formatDate:", date2);
|
|
37544
37624
|
return "";
|
|
37545
37625
|
}
|
|
37546
|
-
const separator = ((_a = format2.match(/[^\w\s]/)) == null ? void 0 : _a[0]) || ".";
|
|
37547
|
-
const formatParts = format2.split(/[^\w\s]/);
|
|
37548
37626
|
const datePartsMap = {
|
|
37549
37627
|
dd: String(d2.getDate()).padStart(2, "0"),
|
|
37550
37628
|
ddd: d2.toLocaleString(locale2, { weekday: "short" }),
|
|
@@ -37586,15 +37664,11 @@ function formatDate(date2, format2 = "dd.mm.yy", locale2) {
|
|
|
37586
37664
|
if (partsMap.dayPeriod) {
|
|
37587
37665
|
datePartsMap.ampm = partsMap.dayPeriod;
|
|
37588
37666
|
}
|
|
37589
|
-
let formattedDate =
|
|
37590
|
-
|
|
37591
|
-
|
|
37592
|
-
|
|
37593
|
-
|
|
37594
|
-
}
|
|
37595
|
-
if (i2 < formatParts.length - 1) {
|
|
37596
|
-
formattedDate += separator;
|
|
37597
|
-
}
|
|
37667
|
+
let formattedDate = format2;
|
|
37668
|
+
const tokens = Object.keys(datePartsMap).sort((a2, b2) => b2.length - a2.length);
|
|
37669
|
+
for (const token of tokens) {
|
|
37670
|
+
const regex2 = new RegExp(token, "g");
|
|
37671
|
+
formattedDate = formattedDate.replace(regex2, datePartsMap[token]);
|
|
37598
37672
|
}
|
|
37599
37673
|
return formattedDate;
|
|
37600
37674
|
} catch (error) {
|