@bagelink/vue 0.0.392 → 0.0.398
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/Card.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/layout/SidebarMenu.vue.d.ts.map +1 -1
- package/dist/index.cjs +47 -27
- package/dist/index.mjs +47 -27
- package/dist/style.css +67 -57
- package/package.json +1 -1
- package/src/components/Card.vue +22 -8
- package/src/components/form/inputs/RichText.vue +5 -0
- package/src/components/form/inputs/SelectInput.vue +17 -4
- package/src/components/layout/SidebarMenu.vue +72 -54
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.vue.d.ts","sourceRoot":"","sources":["../../src/components/Card.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Card.vue.d.ts","sourceRoot":"","sources":["../../src/components/Card.vue"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;AA+IA,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichText.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/RichText.vue"],"names":[],"mappings":"AAiBA;;
|
|
1
|
+
{"version":3,"file":"RichText.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/RichText.vue"],"names":[],"mappings":"AAiBA;;gBAwTyD,MAAM;;;;gBAAN,MAAM;;;;AAL/D,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectInput.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/form/inputs/SelectInput.vue"],"names":[],"mappings":"AAyDA;AAIA,OAAO,wBAAwB,CAAC;AAKhC,KAAK,MAAM,GACR,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmc7C,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/layout/SidebarMenu.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SidebarMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/layout/SidebarMenu.vue"],"names":[],"mappings":"AAoCA;AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;AA2P7C,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -4569,11 +4569,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4569
4569
|
return value;
|
|
4570
4570
|
};
|
|
4571
4571
|
const axios = axios$1.create({
|
|
4572
|
-
|
|
4573
|
-
headers: {
|
|
4574
|
-
"Allow-Control-Allow-Origin": "*",
|
|
4575
|
-
withCredentials: true
|
|
4576
|
-
}
|
|
4572
|
+
withCredentials: true
|
|
4577
4573
|
});
|
|
4578
4574
|
class DataRequest {
|
|
4579
4575
|
constructor(table, bagel) {
|
|
@@ -4653,11 +4649,10 @@ class BagelAuth {
|
|
|
4653
4649
|
}
|
|
4654
4650
|
async validateUser() {
|
|
4655
4651
|
try {
|
|
4656
|
-
const usr = await
|
|
4652
|
+
const { data: usr } = await axios.get("/users/me", { withCredentials: true });
|
|
4657
4653
|
this.user = usr;
|
|
4658
4654
|
return usr;
|
|
4659
4655
|
} catch (err) {
|
|
4660
|
-
console.log(err);
|
|
4661
4656
|
return null;
|
|
4662
4657
|
}
|
|
4663
4658
|
}
|
|
@@ -4680,13 +4675,15 @@ class BagelAuth {
|
|
|
4680
4675
|
const formData = new FormData();
|
|
4681
4676
|
formData.append("username", (user == null ? void 0 : user.email) || "");
|
|
4682
4677
|
formData.append("password", (user == null ? void 0 : user.password) || "");
|
|
4678
|
+
console.log("Logging in");
|
|
4683
4679
|
try {
|
|
4684
4680
|
await axios.post("/auth/cookie/login", formData, {
|
|
4685
4681
|
headers: {
|
|
4686
|
-
|
|
4687
|
-
|
|
4682
|
+
withCredentials: true,
|
|
4683
|
+
"Content-Type": "multipart/form-data"
|
|
4688
4684
|
}
|
|
4689
4685
|
});
|
|
4686
|
+
axios.defaults.withCredentials = true;
|
|
4690
4687
|
return this.validateUser();
|
|
4691
4688
|
} catch (err) {
|
|
4692
4689
|
throw responses(((_b = (_a2 = err.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.detail) || "LOGIN_BAD_CREDENTIALS");
|
|
@@ -4720,7 +4717,6 @@ class BagelAuth {
|
|
|
4720
4717
|
class Bagel {
|
|
4721
4718
|
constructor({ host, onError }) {
|
|
4722
4719
|
__publicField(this, "host");
|
|
4723
|
-
__publicField(this, "axiosInstance", axios);
|
|
4724
4720
|
__publicField(this, "onError");
|
|
4725
4721
|
__publicField(this, "read_table", null);
|
|
4726
4722
|
__publicField(this, "auth", new BagelAuth(this));
|
|
@@ -5794,7 +5790,10 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
5794
5790
|
}
|
|
5795
5791
|
});
|
|
5796
5792
|
const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-bb2526f9"]]);
|
|
5797
|
-
const _hoisted_1$u = {
|
|
5793
|
+
const _hoisted_1$u = {
|
|
5794
|
+
key: 0,
|
|
5795
|
+
class: "card_label"
|
|
5796
|
+
};
|
|
5798
5797
|
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
5799
5798
|
__name: "Card",
|
|
5800
5799
|
props: {
|
|
@@ -5818,7 +5817,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
5818
5817
|
"overflow-y": _ctx.overflowY
|
|
5819
5818
|
}])
|
|
5820
5819
|
}, [
|
|
5821
|
-
vue.
|
|
5820
|
+
_ctx.label ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$u, vue.toDisplayString(_ctx.label), 1)) : vue.createCommentVNode("", true),
|
|
5822
5821
|
vue.renderSlot(_ctx.$slots, "default")
|
|
5823
5822
|
], 2);
|
|
5824
5823
|
};
|
|
@@ -6417,9 +6416,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
6417
6416
|
};
|
|
6418
6417
|
}
|
|
6419
6418
|
});
|
|
6420
|
-
const _withScopeId$
|
|
6419
|
+
const _withScopeId$2 = (n2) => (vue.pushScopeId("data-v-e8219826"), n2 = n2(), vue.popScopeId(), n2);
|
|
6421
6420
|
const _hoisted_1$p = ["title"];
|
|
6422
|
-
const _hoisted_2$l = /* @__PURE__ */ _withScopeId$
|
|
6421
|
+
const _hoisted_2$l = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("svg", {
|
|
6423
6422
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6424
6423
|
height: "24",
|
|
6425
6424
|
viewBox: "0 -960 960 960",
|
|
@@ -15197,6 +15196,10 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15197
15196
|
let search = vue.ref("");
|
|
15198
15197
|
const dropdown = vue.ref(null);
|
|
15199
15198
|
let open = vue.ref(false);
|
|
15199
|
+
function openOptions() {
|
|
15200
|
+
var _a2;
|
|
15201
|
+
(_a2 = dropdown.value) == null ? void 0 : _a2.show();
|
|
15202
|
+
}
|
|
15200
15203
|
function updateOpen(visible) {
|
|
15201
15204
|
open.value = visible;
|
|
15202
15205
|
if (!open.value)
|
|
@@ -15238,8 +15241,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15238
15241
|
const isSelected = (option2) => !!selectedItems.value.find((item) => getValue(option2) === getValue(item));
|
|
15239
15242
|
const filteredOptions = vue.computed(
|
|
15240
15243
|
() => props2.options.filter((option2) => {
|
|
15241
|
-
const searchTerm = new RegExp(
|
|
15242
|
-
return Boolean(option2) && (getLabel(option2).match(
|
|
15244
|
+
const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
|
|
15245
|
+
return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
|
|
15243
15246
|
})
|
|
15244
15247
|
);
|
|
15245
15248
|
const select2 = (option2) => {
|
|
@@ -15300,12 +15303,16 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15300
15303
|
const exists = props2.options.find(
|
|
15301
15304
|
(o2) => getValue(o2) === getValue(option2)
|
|
15302
15305
|
);
|
|
15303
|
-
|
|
15306
|
+
if (!exists)
|
|
15307
|
+
selectedItems.value.splice(i2, 1);
|
|
15308
|
+
else
|
|
15309
|
+
selectedItems.value.splice(i2, 1, exists);
|
|
15304
15310
|
});
|
|
15305
15311
|
const newSelection = JSON.stringify(selectedItems.value.map(getValue));
|
|
15306
15312
|
if (original !== newSelection)
|
|
15307
15313
|
emitUpdate();
|
|
15308
|
-
}
|
|
15314
|
+
},
|
|
15315
|
+
{ deep: true }
|
|
15309
15316
|
);
|
|
15310
15317
|
return (_ctx, _cache) => {
|
|
15311
15318
|
return vue.openBlock(), vue.createBlock(vue.unref(kt$1), {
|
|
@@ -15358,6 +15365,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15358
15365
|
vue.createElementVNode("label", null, [
|
|
15359
15366
|
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
15360
15367
|
vue.createElementVNode("button", {
|
|
15368
|
+
onKeydown: openOptions,
|
|
15361
15369
|
onClick: _cache[0] || (_cache[0] = ($event) => updateOpen(true)),
|
|
15362
15370
|
disabled: _ctx.disabled,
|
|
15363
15371
|
type: "button",
|
|
@@ -15365,9 +15373,10 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15365
15373
|
}, [
|
|
15366
15374
|
vue.createElementVNode("p", null, vue.toDisplayString(selectedLabel.value), 1),
|
|
15367
15375
|
vue.createVNode(vue.unref(_sfc_main$H), vue.normalizeProps(vue.guardReactiveProps({ icon: vue.unref(open) ? "unfold_less" : "unfold_more" })), null, 16)
|
|
15368
|
-
],
|
|
15376
|
+
], 42, _hoisted_1$m),
|
|
15369
15377
|
_ctx.required ? (vue.openBlock(), vue.createElementBlock("input", {
|
|
15370
15378
|
key: 0,
|
|
15379
|
+
tabindex: "-1",
|
|
15371
15380
|
style: { "width": "0", "height": "0", "position": "absolute", "opacity": "0", "z-index": "-1" },
|
|
15372
15381
|
onInput: _cache[1] || (_cache[1] = ($event) => updateOpen(true)),
|
|
15373
15382
|
value: selectedItems.value,
|
|
@@ -15380,7 +15389,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
15380
15389
|
};
|
|
15381
15390
|
}
|
|
15382
15391
|
});
|
|
15383
|
-
const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-
|
|
15392
|
+
const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3e27cf1d"]]);
|
|
15384
15393
|
/*!
|
|
15385
15394
|
* vue-draggable-next v2.2.0
|
|
15386
15395
|
* (c) 2023 Anish George
|
|
@@ -18643,9 +18652,9 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
18643
18652
|
}
|
|
18644
18653
|
});
|
|
18645
18654
|
const $el = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0dbacaa0"]]);
|
|
18646
|
-
const _withScopeId = (n2) => (vue.pushScopeId("data-v-b87221d6"), n2 = n2(), vue.popScopeId(), n2);
|
|
18655
|
+
const _withScopeId$1 = (n2) => (vue.pushScopeId("data-v-b87221d6"), n2 = n2(), vue.popScopeId(), n2);
|
|
18647
18656
|
const _hoisted_1$e = ["title"];
|
|
18648
|
-
const _hoisted_2$b = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
|
|
18657
|
+
const _hoisted_2$b = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
|
|
18649
18658
|
const _hoisted_3$8 = [
|
|
18650
18659
|
_hoisted_2$b
|
|
18651
18660
|
];
|
|
@@ -39454,6 +39463,10 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
39454
39463
|
return editor.value.chain().focus();
|
|
39455
39464
|
};
|
|
39456
39465
|
const { showModalForm } = useModal();
|
|
39466
|
+
Image.configure({
|
|
39467
|
+
inline: true,
|
|
39468
|
+
allowBase64: true
|
|
39469
|
+
});
|
|
39457
39470
|
function addImage() {
|
|
39458
39471
|
showModalForm({
|
|
39459
39472
|
title: "Add Image",
|
|
@@ -45111,7 +45124,7 @@ const _hoisted_1$2$1 = {
|
|
|
45111
45124
|
class: "layer-marker"
|
|
45112
45125
|
};
|
|
45113
45126
|
const _hoisted_2$2$1 = ["x", "y", "fill"];
|
|
45114
|
-
const _hoisted_3$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
45127
|
+
const _hoisted_3$1$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
45115
45128
|
const _hoisted_4$1 = {
|
|
45116
45129
|
key: 1,
|
|
45117
45130
|
class: "layer-marker"
|
|
@@ -45135,7 +45148,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
45135
45148
|
"stroke-opacity": _ctx.strokeOpacity,
|
|
45136
45149
|
"stroke-width": _ctx.strokeWidth,
|
|
45137
45150
|
"stroke-dasharray": _ctx.strokeDasharray
|
|
45138
|
-
}, null, 8, _hoisted_3$1)
|
|
45151
|
+
}, null, 8, _hoisted_3$1$1)
|
|
45139
45152
|
])) : (vue.openBlock(), vue.createElementBlock("g", _hoisted_4$1, [
|
|
45140
45153
|
vue.createElementVNode("text", {
|
|
45141
45154
|
x: _ctx.y + 10,
|
|
@@ -46062,8 +46075,10 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46062
46075
|
}
|
|
46063
46076
|
});
|
|
46064
46077
|
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-977dfbf4"]]);
|
|
46078
|
+
const _withScopeId = (n2) => (vue.pushScopeId("data-v-3c893fb1"), n2 = n2(), vue.popScopeId(), n2);
|
|
46065
46079
|
const _hoisted_1$5 = { class: "w-100 px-075" };
|
|
46066
46080
|
const _hoisted_2$2 = { key: 0 };
|
|
46081
|
+
const _hoisted_3$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("div", { style: { "flex-grow": "1" } }, null, -1));
|
|
46067
46082
|
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
46068
46083
|
__name: "SidebarMenu",
|
|
46069
46084
|
props: {
|
|
@@ -46084,7 +46099,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46084
46099
|
return (_ctx, _cache) => {
|
|
46085
46100
|
const _directive_tooltip = vue.resolveDirective("tooltip");
|
|
46086
46101
|
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$u), {
|
|
46087
|
-
class: vue.normalizeClass(["flex column gap-05 pt-1 bgl_sidebar", {
|
|
46102
|
+
class: vue.normalizeClass(["flex column gap-05 pt-1 bgl_sidebar", { wideNav: vue.unref(isOpen) }])
|
|
46088
46103
|
}, {
|
|
46089
46104
|
default: vue.withCtx(() => [
|
|
46090
46105
|
vue.createElementVNode("div", _hoisted_1$5, [
|
|
@@ -46116,12 +46131,17 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46116
46131
|
}, 1032, ["to"])), [
|
|
46117
46132
|
[
|
|
46118
46133
|
_directive_tooltip,
|
|
46119
|
-
{
|
|
46134
|
+
{
|
|
46135
|
+
content: nav2.label,
|
|
46136
|
+
disabled: _ctx.open,
|
|
46137
|
+
class: ["nav-tooltip"]
|
|
46138
|
+
},
|
|
46120
46139
|
void 0,
|
|
46121
46140
|
{ right: true }
|
|
46122
46141
|
]
|
|
46123
46142
|
]);
|
|
46124
46143
|
}), 128)),
|
|
46144
|
+
_hoisted_3$1,
|
|
46125
46145
|
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
46126
46146
|
]),
|
|
46127
46147
|
_: 3
|
|
@@ -46129,7 +46149,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46129
46149
|
};
|
|
46130
46150
|
}
|
|
46131
46151
|
});
|
|
46132
|
-
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-
|
|
46152
|
+
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-3c893fb1"]]);
|
|
46133
46153
|
const _hoisted_1$4 = { class: "m-0 pb-025 txt14 line-height-1" };
|
|
46134
46154
|
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
46135
46155
|
__name: "BottomMenu",
|
package/dist/index.mjs
CHANGED
|
@@ -4567,11 +4567,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4567
4567
|
return value;
|
|
4568
4568
|
};
|
|
4569
4569
|
const axios = axios$1.create({
|
|
4570
|
-
|
|
4571
|
-
headers: {
|
|
4572
|
-
"Allow-Control-Allow-Origin": "*",
|
|
4573
|
-
withCredentials: true
|
|
4574
|
-
}
|
|
4570
|
+
withCredentials: true
|
|
4575
4571
|
});
|
|
4576
4572
|
class DataRequest {
|
|
4577
4573
|
constructor(table, bagel) {
|
|
@@ -4651,11 +4647,10 @@ class BagelAuth {
|
|
|
4651
4647
|
}
|
|
4652
4648
|
async validateUser() {
|
|
4653
4649
|
try {
|
|
4654
|
-
const usr = await
|
|
4650
|
+
const { data: usr } = await axios.get("/users/me", { withCredentials: true });
|
|
4655
4651
|
this.user = usr;
|
|
4656
4652
|
return usr;
|
|
4657
4653
|
} catch (err) {
|
|
4658
|
-
console.log(err);
|
|
4659
4654
|
return null;
|
|
4660
4655
|
}
|
|
4661
4656
|
}
|
|
@@ -4678,13 +4673,15 @@ class BagelAuth {
|
|
|
4678
4673
|
const formData = new FormData();
|
|
4679
4674
|
formData.append("username", (user == null ? void 0 : user.email) || "");
|
|
4680
4675
|
formData.append("password", (user == null ? void 0 : user.password) || "");
|
|
4676
|
+
console.log("Logging in");
|
|
4681
4677
|
try {
|
|
4682
4678
|
await axios.post("/auth/cookie/login", formData, {
|
|
4683
4679
|
headers: {
|
|
4684
|
-
|
|
4685
|
-
|
|
4680
|
+
withCredentials: true,
|
|
4681
|
+
"Content-Type": "multipart/form-data"
|
|
4686
4682
|
}
|
|
4687
4683
|
});
|
|
4684
|
+
axios.defaults.withCredentials = true;
|
|
4688
4685
|
return this.validateUser();
|
|
4689
4686
|
} catch (err) {
|
|
4690
4687
|
throw responses(((_b = (_a2 = err.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.detail) || "LOGIN_BAD_CREDENTIALS");
|
|
@@ -4718,7 +4715,6 @@ class BagelAuth {
|
|
|
4718
4715
|
class Bagel {
|
|
4719
4716
|
constructor({ host, onError }) {
|
|
4720
4717
|
__publicField(this, "host");
|
|
4721
|
-
__publicField(this, "axiosInstance", axios);
|
|
4722
4718
|
__publicField(this, "onError");
|
|
4723
4719
|
__publicField(this, "read_table", null);
|
|
4724
4720
|
__publicField(this, "auth", new BagelAuth(this));
|
|
@@ -5792,7 +5788,10 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
5792
5788
|
}
|
|
5793
5789
|
});
|
|
5794
5790
|
const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-bb2526f9"]]);
|
|
5795
|
-
const _hoisted_1$u = {
|
|
5791
|
+
const _hoisted_1$u = {
|
|
5792
|
+
key: 0,
|
|
5793
|
+
class: "card_label"
|
|
5794
|
+
};
|
|
5796
5795
|
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
5797
5796
|
__name: "Card",
|
|
5798
5797
|
props: {
|
|
@@ -5816,7 +5815,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
5816
5815
|
"overflow-y": _ctx.overflowY
|
|
5817
5816
|
}])
|
|
5818
5817
|
}, [
|
|
5819
|
-
|
|
5818
|
+
_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$u, toDisplayString(_ctx.label), 1)) : createCommentVNode("", true),
|
|
5820
5819
|
renderSlot(_ctx.$slots, "default")
|
|
5821
5820
|
], 2);
|
|
5822
5821
|
};
|
|
@@ -6415,9 +6414,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
6415
6414
|
};
|
|
6416
6415
|
}
|
|
6417
6416
|
});
|
|
6418
|
-
const _withScopeId$
|
|
6417
|
+
const _withScopeId$2 = (n2) => (pushScopeId("data-v-e8219826"), n2 = n2(), popScopeId(), n2);
|
|
6419
6418
|
const _hoisted_1$p = ["title"];
|
|
6420
|
-
const _hoisted_2$l = /* @__PURE__ */ _withScopeId$
|
|
6419
|
+
const _hoisted_2$l = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("svg", {
|
|
6421
6420
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6422
6421
|
height: "24",
|
|
6423
6422
|
viewBox: "0 -960 960 960",
|
|
@@ -15195,6 +15194,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15195
15194
|
let search = ref("");
|
|
15196
15195
|
const dropdown = ref(null);
|
|
15197
15196
|
let open = ref(false);
|
|
15197
|
+
function openOptions() {
|
|
15198
|
+
var _a2;
|
|
15199
|
+
(_a2 = dropdown.value) == null ? void 0 : _a2.show();
|
|
15200
|
+
}
|
|
15198
15201
|
function updateOpen(visible) {
|
|
15199
15202
|
open.value = visible;
|
|
15200
15203
|
if (!open.value)
|
|
@@ -15236,8 +15239,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15236
15239
|
const isSelected = (option2) => !!selectedItems.value.find((item) => getValue(option2) === getValue(item));
|
|
15237
15240
|
const filteredOptions = computed(
|
|
15238
15241
|
() => props2.options.filter((option2) => {
|
|
15239
|
-
const searchTerm = new RegExp(
|
|
15240
|
-
return Boolean(option2) && (getLabel(option2).match(
|
|
15242
|
+
const searchTerm = search.value.split(/\s+/).filter(Boolean).map((t) => new RegExp(t, "gi"));
|
|
15243
|
+
return Boolean(option2) && (searchTerm.every((s2) => getLabel(option2).match(s2)) || searchTerm.length === 0);
|
|
15241
15244
|
})
|
|
15242
15245
|
);
|
|
15243
15246
|
const select2 = (option2) => {
|
|
@@ -15298,12 +15301,16 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15298
15301
|
const exists = props2.options.find(
|
|
15299
15302
|
(o2) => getValue(o2) === getValue(option2)
|
|
15300
15303
|
);
|
|
15301
|
-
|
|
15304
|
+
if (!exists)
|
|
15305
|
+
selectedItems.value.splice(i2, 1);
|
|
15306
|
+
else
|
|
15307
|
+
selectedItems.value.splice(i2, 1, exists);
|
|
15302
15308
|
});
|
|
15303
15309
|
const newSelection = JSON.stringify(selectedItems.value.map(getValue));
|
|
15304
15310
|
if (original !== newSelection)
|
|
15305
15311
|
emitUpdate();
|
|
15306
|
-
}
|
|
15312
|
+
},
|
|
15313
|
+
{ deep: true }
|
|
15307
15314
|
);
|
|
15308
15315
|
return (_ctx, _cache) => {
|
|
15309
15316
|
return openBlock(), createBlock(unref(kt$1), {
|
|
@@ -15356,6 +15363,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15356
15363
|
createElementVNode("label", null, [
|
|
15357
15364
|
createTextVNode(toDisplayString(_ctx.label) + " ", 1),
|
|
15358
15365
|
createElementVNode("button", {
|
|
15366
|
+
onKeydown: openOptions,
|
|
15359
15367
|
onClick: _cache[0] || (_cache[0] = ($event) => updateOpen(true)),
|
|
15360
15368
|
disabled: _ctx.disabled,
|
|
15361
15369
|
type: "button",
|
|
@@ -15363,9 +15371,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15363
15371
|
}, [
|
|
15364
15372
|
createElementVNode("p", null, toDisplayString(selectedLabel.value), 1),
|
|
15365
15373
|
createVNode(unref(_sfc_main$H), normalizeProps(guardReactiveProps({ icon: unref(open) ? "unfold_less" : "unfold_more" })), null, 16)
|
|
15366
|
-
],
|
|
15374
|
+
], 42, _hoisted_1$m),
|
|
15367
15375
|
_ctx.required ? (openBlock(), createElementBlock("input", {
|
|
15368
15376
|
key: 0,
|
|
15377
|
+
tabindex: "-1",
|
|
15369
15378
|
style: { "width": "0", "height": "0", "position": "absolute", "opacity": "0", "z-index": "-1" },
|
|
15370
15379
|
onInput: _cache[1] || (_cache[1] = ($event) => updateOpen(true)),
|
|
15371
15380
|
value: selectedItems.value,
|
|
@@ -15378,7 +15387,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
15378
15387
|
};
|
|
15379
15388
|
}
|
|
15380
15389
|
});
|
|
15381
|
-
const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-
|
|
15390
|
+
const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3e27cf1d"]]);
|
|
15382
15391
|
/*!
|
|
15383
15392
|
* vue-draggable-next v2.2.0
|
|
15384
15393
|
* (c) 2023 Anish George
|
|
@@ -18641,9 +18650,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
18641
18650
|
}
|
|
18642
18651
|
});
|
|
18643
18652
|
const $el = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-0dbacaa0"]]);
|
|
18644
|
-
const _withScopeId = (n2) => (pushScopeId("data-v-b87221d6"), n2 = n2(), popScopeId(), n2);
|
|
18653
|
+
const _withScopeId$1 = (n2) => (pushScopeId("data-v-b87221d6"), n2 = n2(), popScopeId(), n2);
|
|
18645
18654
|
const _hoisted_1$e = ["title"];
|
|
18646
|
-
const _hoisted_2$b = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "slider round" }, null, -1));
|
|
18655
|
+
const _hoisted_2$b = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("span", { class: "slider round" }, null, -1));
|
|
18647
18656
|
const _hoisted_3$8 = [
|
|
18648
18657
|
_hoisted_2$b
|
|
18649
18658
|
];
|
|
@@ -39452,6 +39461,10 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
39452
39461
|
return editor.value.chain().focus();
|
|
39453
39462
|
};
|
|
39454
39463
|
const { showModalForm } = useModal();
|
|
39464
|
+
Image.configure({
|
|
39465
|
+
inline: true,
|
|
39466
|
+
allowBase64: true
|
|
39467
|
+
});
|
|
39455
39468
|
function addImage() {
|
|
39456
39469
|
showModalForm({
|
|
39457
39470
|
title: "Add Image",
|
|
@@ -45109,7 +45122,7 @@ const _hoisted_1$2$1 = {
|
|
|
45109
45122
|
class: "layer-marker"
|
|
45110
45123
|
};
|
|
45111
45124
|
const _hoisted_2$2$1 = ["x", "y", "fill"];
|
|
45112
|
-
const _hoisted_3$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
45125
|
+
const _hoisted_3$1$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
45113
45126
|
const _hoisted_4$1 = {
|
|
45114
45127
|
key: 1,
|
|
45115
45128
|
class: "layer-marker"
|
|
@@ -45133,7 +45146,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
45133
45146
|
"stroke-opacity": _ctx.strokeOpacity,
|
|
45134
45147
|
"stroke-width": _ctx.strokeWidth,
|
|
45135
45148
|
"stroke-dasharray": _ctx.strokeDasharray
|
|
45136
|
-
}, null, 8, _hoisted_3$1)
|
|
45149
|
+
}, null, 8, _hoisted_3$1$1)
|
|
45137
45150
|
])) : (openBlock(), createElementBlock("g", _hoisted_4$1, [
|
|
45138
45151
|
createElementVNode("text", {
|
|
45139
45152
|
x: _ctx.y + 10,
|
|
@@ -46060,8 +46073,10 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
46060
46073
|
}
|
|
46061
46074
|
});
|
|
46062
46075
|
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-977dfbf4"]]);
|
|
46076
|
+
const _withScopeId = (n2) => (pushScopeId("data-v-3c893fb1"), n2 = n2(), popScopeId(), n2);
|
|
46063
46077
|
const _hoisted_1$5 = { class: "w-100 px-075" };
|
|
46064
46078
|
const _hoisted_2$2 = { key: 0 };
|
|
46079
|
+
const _hoisted_3$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { style: { "flex-grow": "1" } }, null, -1));
|
|
46065
46080
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
46066
46081
|
__name: "SidebarMenu",
|
|
46067
46082
|
props: {
|
|
@@ -46082,7 +46097,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
46082
46097
|
return (_ctx, _cache) => {
|
|
46083
46098
|
const _directive_tooltip = resolveDirective("tooltip");
|
|
46084
46099
|
return openBlock(), createBlock(unref(_sfc_main$u), {
|
|
46085
|
-
class: normalizeClass(["flex column gap-05 pt-1 bgl_sidebar", {
|
|
46100
|
+
class: normalizeClass(["flex column gap-05 pt-1 bgl_sidebar", { wideNav: unref(isOpen) }])
|
|
46086
46101
|
}, {
|
|
46087
46102
|
default: withCtx(() => [
|
|
46088
46103
|
createElementVNode("div", _hoisted_1$5, [
|
|
@@ -46114,12 +46129,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
46114
46129
|
}, 1032, ["to"])), [
|
|
46115
46130
|
[
|
|
46116
46131
|
_directive_tooltip,
|
|
46117
|
-
{
|
|
46132
|
+
{
|
|
46133
|
+
content: nav2.label,
|
|
46134
|
+
disabled: _ctx.open,
|
|
46135
|
+
class: ["nav-tooltip"]
|
|
46136
|
+
},
|
|
46118
46137
|
void 0,
|
|
46119
46138
|
{ right: true }
|
|
46120
46139
|
]
|
|
46121
46140
|
]);
|
|
46122
46141
|
}), 128)),
|
|
46142
|
+
_hoisted_3$1,
|
|
46123
46143
|
renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
46124
46144
|
]),
|
|
46125
46145
|
_: 3
|
|
@@ -46127,7 +46147,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
46127
46147
|
};
|
|
46128
46148
|
}
|
|
46129
46149
|
});
|
|
46130
|
-
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-
|
|
46150
|
+
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-3c893fb1"]]);
|
|
46131
46151
|
const _hoisted_1$4 = { class: "m-0 pb-025 txt14 line-height-1" };
|
|
46132
46152
|
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
46133
46153
|
__name: "BottomMenu",
|
package/dist/style.css
CHANGED
|
@@ -752,15 +752,25 @@ th[data-v-10808aad] {
|
|
|
752
752
|
}
|
|
753
753
|
|
|
754
754
|
.card_label {
|
|
755
|
+
font-size: 1rem;
|
|
756
|
+
position: relative;
|
|
757
|
+
top: -0.5rem;
|
|
758
|
+
padding: 0.75rem 0;
|
|
759
|
+
display: block;
|
|
760
|
+
border-bottom: 1px solid var(--border-color);
|
|
761
|
+
margin-bottom: 1rem;
|
|
762
|
+
}
|
|
763
|
+
.border .card_label {
|
|
755
764
|
font-size: 0.7rem;
|
|
756
765
|
font-weight: 300;
|
|
757
|
-
background:
|
|
758
|
-
padding:
|
|
759
|
-
display: block;
|
|
766
|
+
background:var(--bgl-white);
|
|
767
|
+
padding: 0 0.75rem;
|
|
760
768
|
position: absolute;
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
left:
|
|
769
|
+
top: -0.5rem;
|
|
770
|
+
inset-inline-start: 1rem;
|
|
771
|
+
border-left: 1px solid var(--border-color);
|
|
772
|
+
border-right: 1px solid var(--border-color);
|
|
773
|
+
border-bottom: unset;
|
|
764
774
|
}
|
|
765
775
|
.bgl_card {
|
|
766
776
|
border-radius: var(--card-border-radius);
|
|
@@ -1056,10 +1066,10 @@ display: block;
|
|
|
1056
1066
|
}
|
|
1057
1067
|
.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
|
|
1058
1068
|
|
|
1059
|
-
.selectinput[data-v-
|
|
1069
|
+
.selectinput[data-v-3e27cf1d] {
|
|
1060
1070
|
width: 100%;
|
|
1061
1071
|
}
|
|
1062
|
-
.selectinput-option[data-v-
|
|
1072
|
+
.selectinput-option[data-v-3e27cf1d] {
|
|
1063
1073
|
padding: 6px 12px;
|
|
1064
1074
|
cursor: pointer;
|
|
1065
1075
|
border-radius: 5px;
|
|
@@ -1070,14 +1080,14 @@ display: block;
|
|
|
1070
1080
|
width: 100%;
|
|
1071
1081
|
font-size: var(--input-font-size);
|
|
1072
1082
|
}
|
|
1073
|
-
.selectinput-options[data-v-
|
|
1083
|
+
.selectinput-options[data-v-3e27cf1d] {
|
|
1074
1084
|
max-height: 300px;
|
|
1075
1085
|
overflow-y: auto;
|
|
1076
1086
|
}
|
|
1077
|
-
.selectinput-option[data-v-
|
|
1087
|
+
.selectinput-option[data-v-3e27cf1d]:hover {
|
|
1078
1088
|
background: var(--bgl-gray-20);
|
|
1079
1089
|
}
|
|
1080
|
-
.isEmpty p[data-v-
|
|
1090
|
+
.isEmpty p[data-v-3e27cf1d] {
|
|
1081
1091
|
opacity: 0.3;
|
|
1082
1092
|
}
|
|
1083
1093
|
|
|
@@ -1777,72 +1787,72 @@ img.preview[data-v-0dbacaa0] {
|
|
|
1777
1787
|
}
|
|
1778
1788
|
|
|
1779
1789
|
.v-popper--theme-tooltip .v-popper__inner {
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1790
|
+
background: rgb(255, 255, 255) !important;
|
|
1791
|
+
color: var(--bgl-primary) !important;
|
|
1792
|
+
font-size: 15px;
|
|
1793
|
+
padding: 0.5rem 1rem;
|
|
1794
|
+
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
|
|
1785
1795
|
}
|
|
1786
1796
|
.wideNav .nav-button .bgl_btn-flex {
|
|
1787
|
-
|
|
1797
|
+
justify-content: flex-start !important;
|
|
1788
1798
|
}
|
|
1789
1799
|
.nav-button.router-link-active {
|
|
1790
|
-
|
|
1791
|
-
|
|
1800
|
+
background: var(--bgl-white) !important;
|
|
1801
|
+
color: var(--bgl-primary);
|
|
1792
1802
|
}
|
|
1793
1803
|
|
|
1794
|
-
.bgl_sidebar[data-v-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1804
|
+
.bgl_sidebar[data-v-3c893fb1] {
|
|
1805
|
+
background-color: var(--bgl-primary);
|
|
1806
|
+
color: var(--bgl-white);
|
|
1807
|
+
overflow: hidden;
|
|
1808
|
+
border-radius: var(--card-border-radius);
|
|
1809
|
+
margin: 0.5rem;
|
|
1810
|
+
width: calc(100% - 1rem);
|
|
1811
|
+
padding: 0.5rem;
|
|
1812
|
+
overflow-y: auto;
|
|
1803
1813
|
}
|
|
1804
|
-
.toggleNav[data-v-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1814
|
+
.toggleNav[data-v-3c893fb1] {
|
|
1815
|
+
height: 22px !important;
|
|
1816
|
+
width: 22px !important;
|
|
1817
|
+
opacity: 0.4;
|
|
1818
|
+
transition: var(--bgl-transition);
|
|
1809
1819
|
}
|
|
1810
|
-
.toggleNav[data-v-
|
|
1811
|
-
|
|
1820
|
+
.toggleNav[data-v-3c893fb1]:hover {
|
|
1821
|
+
opacity: 1;
|
|
1812
1822
|
}
|
|
1813
|
-
.wideNav .toggleNav[data-v-
|
|
1814
|
-
|
|
1823
|
+
.wideNav .toggleNav[data-v-3c893fb1] {
|
|
1824
|
+
transform: rotate(180deg);
|
|
1815
1825
|
}
|
|
1816
|
-
.wideNav .nav-button[data-v-
|
|
1817
|
-
|
|
1818
|
-
|
|
1826
|
+
.wideNav .nav-button[data-v-3c893fb1] {
|
|
1827
|
+
padding-inline-start: 1rem !important;
|
|
1828
|
+
width: 100%;
|
|
1819
1829
|
}
|
|
1820
|
-
[dir=
|
|
1821
|
-
|
|
1830
|
+
[dir='rtl'] .toggleNav[data-v-3c893fb1] {
|
|
1831
|
+
transform: rotate(180deg);
|
|
1822
1832
|
}
|
|
1823
|
-
[dir=
|
|
1824
|
-
|
|
1833
|
+
[dir='rtl'] .wideNav .toggleNav[data-v-3c893fb1] {
|
|
1834
|
+
transform: rotate(0deg);
|
|
1825
1835
|
}
|
|
1826
|
-
.nav-button.bgl_btn-icon[data-v-
|
|
1827
|
-
|
|
1836
|
+
.nav-button.bgl_btn-icon[data-v-3c893fb1] {
|
|
1837
|
+
border-radius: var(--btn-border-radius) !important;
|
|
1828
1838
|
}
|
|
1829
|
-
.nav-button p[data-v-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1839
|
+
.nav-button p[data-v-3c893fb1] {
|
|
1840
|
+
transition: var(--nav-tran);
|
|
1841
|
+
animation: fade-3c893fb1 2s;
|
|
1842
|
+
animation-duration: 900ms;
|
|
1833
1843
|
}
|
|
1834
|
-
@keyframes fade-
|
|
1844
|
+
@keyframes fade-3c893fb1 {
|
|
1835
1845
|
0% {
|
|
1836
|
-
|
|
1837
|
-
|
|
1846
|
+
opacity: 0;
|
|
1847
|
+
transform: translateX(-20px);
|
|
1838
1848
|
}
|
|
1839
1849
|
30% {
|
|
1840
|
-
|
|
1841
|
-
|
|
1850
|
+
opacity: 0;
|
|
1851
|
+
transform: translateX(-20px);
|
|
1842
1852
|
}
|
|
1843
1853
|
100% {
|
|
1844
|
-
|
|
1845
|
-
|
|
1854
|
+
opacity: 1;
|
|
1855
|
+
transform: translateX(0);
|
|
1846
1856
|
}
|
|
1847
1857
|
}
|
|
1848
1858
|
|
package/package.json
CHANGED
package/src/components/Card.vue
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
[bg || '']: bg,
|
|
9
9
|
'overflow-x': overflowX,
|
|
10
10
|
'overflow-y': overflowY,
|
|
11
|
-
}"
|
|
12
|
-
|
|
11
|
+
}"
|
|
12
|
+
>
|
|
13
|
+
<span v-if="label" class="card_label">
|
|
13
14
|
{{ label }}
|
|
14
15
|
</span>
|
|
15
16
|
<slot />
|
|
@@ -41,16 +42,29 @@ defineProps<{
|
|
|
41
42
|
|
|
42
43
|
<style>
|
|
43
44
|
.card_label {
|
|
45
|
+
font-size: 1rem;
|
|
46
|
+
position: relative;
|
|
47
|
+
top: -0.5rem;
|
|
48
|
+
padding: 0.75rem 0;
|
|
49
|
+
display: block;
|
|
50
|
+
border-bottom: 1px solid var(--border-color);
|
|
51
|
+
margin-bottom: 1rem;
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
.border .card_label {
|
|
44
55
|
font-size: 0.7rem;
|
|
45
56
|
font-weight: 300;
|
|
46
|
-
background:
|
|
47
|
-
padding:
|
|
48
|
-
display: block;
|
|
57
|
+
background:var(--bgl-white);
|
|
58
|
+
padding: 0 0.75rem;
|
|
49
59
|
position: absolute;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
left:
|
|
60
|
+
top: -0.5rem;
|
|
61
|
+
inset-inline-start: 1rem;
|
|
62
|
+
border-left: 1px solid var(--border-color);
|
|
63
|
+
border-right: 1px solid var(--border-color);
|
|
64
|
+
border-bottom: unset;
|
|
65
|
+
|
|
53
66
|
}
|
|
67
|
+
|
|
54
68
|
.bgl_card {
|
|
55
69
|
border-radius: var(--card-border-radius);
|
|
56
70
|
background: var(--bgl-white);
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
<label>
|
|
8
8
|
{{ label }}
|
|
9
9
|
<button
|
|
10
|
+
@keydown="openOptions"
|
|
10
11
|
@click="updateOpen(true)"
|
|
11
12
|
:disabled="disabled"
|
|
12
13
|
type="button"
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
<Icon v-bind="{ icon: open ? 'unfold_less' : 'unfold_more' }" />
|
|
17
18
|
</button>
|
|
18
19
|
<input
|
|
20
|
+
tabindex="-1"
|
|
19
21
|
style="width: 0; height: 0; position: absolute; opacity: 0; z-index: -1"
|
|
20
22
|
v-if="required"
|
|
21
23
|
@input="updateOpen(true)"
|
|
@@ -87,6 +89,11 @@ const dropdown = $ref<InstanceType<typeof Dropdown> | null>(null);
|
|
|
87
89
|
|
|
88
90
|
let open = $ref(false);
|
|
89
91
|
|
|
92
|
+
function openOptions() {
|
|
93
|
+
dropdown?.show();
|
|
94
|
+
// updateOpen(true);
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
function updateOpen(visible: boolean) {
|
|
91
98
|
open = visible;
|
|
92
99
|
if (!open) search = '';
|
|
@@ -129,10 +136,14 @@ const isSelected = (option: Option) =>
|
|
|
129
136
|
|
|
130
137
|
const filteredOptions = $computed(() =>
|
|
131
138
|
props.options.filter((option) => {
|
|
132
|
-
const searchTerm =
|
|
139
|
+
const searchTerm = search
|
|
140
|
+
.split(/\s+/)
|
|
141
|
+
.filter(Boolean)
|
|
142
|
+
.map((t) => new RegExp(t, 'gi'));
|
|
133
143
|
return (
|
|
134
144
|
Boolean(option) &&
|
|
135
|
-
(
|
|
145
|
+
(searchTerm.every((s) => getLabel(option).match(s)) ||
|
|
146
|
+
searchTerm.length === 0)
|
|
136
147
|
);
|
|
137
148
|
})
|
|
138
149
|
);
|
|
@@ -196,11 +207,13 @@ watch(
|
|
|
196
207
|
const exists = props.options.find(
|
|
197
208
|
(o) => getValue(o) === getValue(option)
|
|
198
209
|
);
|
|
199
|
-
selectedItems.splice(i, 1
|
|
210
|
+
if (!exists) selectedItems.splice(i, 1);
|
|
211
|
+
else selectedItems.splice(i, 1, exists);
|
|
200
212
|
});
|
|
201
213
|
const newSelection = JSON.stringify(selectedItems.map(getValue));
|
|
202
214
|
if (original !== newSelection) emitUpdate();
|
|
203
|
-
}
|
|
215
|
+
},
|
|
216
|
+
{ deep: true }
|
|
204
217
|
);
|
|
205
218
|
</script>
|
|
206
219
|
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Card
|
|
2
|
+
<Card
|
|
3
|
+
class="flex column gap-05 pt-1 bgl_sidebar"
|
|
4
|
+
:class="{ wideNav: isOpen }">
|
|
3
5
|
<div class="w-100 px-075">
|
|
4
|
-
<Btn
|
|
6
|
+
<Btn
|
|
7
|
+
thin
|
|
8
|
+
color="light"
|
|
9
|
+
class="toggleNav mb-05"
|
|
10
|
+
icon="keyboard_arrow_right"
|
|
11
|
+
@click="toggleMenu" />
|
|
5
12
|
</div>
|
|
6
13
|
<slot v-if="!isOpen || !slots['brand-open']" name="brand" />
|
|
7
14
|
<slot v-if="isOpen" name="brand-open" />
|
|
8
15
|
<slot v-if="!navLinks" />
|
|
9
16
|
<Btn
|
|
10
|
-
v-for="(nav, i) in navLinks"
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
v-for="(nav, i) in navLinks"
|
|
18
|
+
:key="i"
|
|
19
|
+
:to="nav.to"
|
|
20
|
+
class="nav-button px-075"
|
|
21
|
+
v-tooltip.right="{
|
|
22
|
+
content: nav.label,
|
|
23
|
+
disabled: open,
|
|
24
|
+
class: ['nav-tooltip'],
|
|
25
|
+
}">
|
|
13
26
|
<template #default>
|
|
14
27
|
<Icon :icon="nav.icon" :size="1.4" />
|
|
15
28
|
<p v-if="open">
|
|
@@ -17,6 +30,7 @@
|
|
|
17
30
|
</p>
|
|
18
31
|
</template>
|
|
19
32
|
</Btn>
|
|
33
|
+
<div style="flex-grow: 1" />
|
|
20
34
|
<slot name="footer" />
|
|
21
35
|
</Card>
|
|
22
36
|
</template>
|
|
@@ -28,7 +42,11 @@ import type { NavLink } from '@bagelink/vue';
|
|
|
28
42
|
|
|
29
43
|
const slots = useSlots();
|
|
30
44
|
|
|
31
|
-
const props = defineProps<{
|
|
45
|
+
const props = defineProps<{
|
|
46
|
+
navLinks?: NavLink[];
|
|
47
|
+
expandable?: boolean;
|
|
48
|
+
open: boolean;
|
|
49
|
+
}>();
|
|
32
50
|
|
|
33
51
|
let isOpen = $ref(props.open);
|
|
34
52
|
|
|
@@ -41,85 +59,85 @@ function toggleMenu() {
|
|
|
41
59
|
|
|
42
60
|
<style>
|
|
43
61
|
.v-popper--theme-tooltip .v-popper__inner {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
62
|
+
background: rgb(255, 255, 255) !important;
|
|
63
|
+
color: var(--bgl-primary) !important;
|
|
64
|
+
font-size: 15px;
|
|
65
|
+
padding: 0.5rem 1rem;
|
|
66
|
+
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
|
|
49
67
|
}
|
|
50
68
|
|
|
51
69
|
.wideNav .nav-button .bgl_btn-flex {
|
|
52
|
-
|
|
70
|
+
justify-content: flex-start !important;
|
|
53
71
|
}
|
|
54
72
|
|
|
55
73
|
.nav-button.router-link-active {
|
|
56
|
-
|
|
57
|
-
|
|
74
|
+
background: var(--bgl-white) !important;
|
|
75
|
+
color: var(--bgl-primary);
|
|
58
76
|
}
|
|
59
77
|
</style>
|
|
60
78
|
|
|
61
79
|
<style scoped>
|
|
62
80
|
.bgl_sidebar {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
81
|
+
background-color: var(--bgl-primary);
|
|
82
|
+
color: var(--bgl-white);
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
border-radius: var(--card-border-radius);
|
|
85
|
+
margin: 0.5rem;
|
|
86
|
+
width: calc(100% - 1rem);
|
|
87
|
+
padding: 0.5rem;
|
|
88
|
+
overflow-y: auto;
|
|
71
89
|
}
|
|
72
|
-
.toggleNav{
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
90
|
+
.toggleNav {
|
|
91
|
+
height: 22px !important;
|
|
92
|
+
width: 22px !important;
|
|
93
|
+
opacity: 0.4;
|
|
94
|
+
transition: var(--bgl-transition);
|
|
77
95
|
}
|
|
78
|
-
.toggleNav:hover{
|
|
79
|
-
|
|
96
|
+
.toggleNav:hover {
|
|
97
|
+
opacity: 1;
|
|
80
98
|
}
|
|
81
99
|
|
|
82
100
|
.wideNav .toggleNav {
|
|
83
|
-
|
|
101
|
+
transform: rotate(180deg);
|
|
84
102
|
}
|
|
85
103
|
|
|
86
104
|
.wideNav .nav-button {
|
|
87
|
-
|
|
88
|
-
|
|
105
|
+
padding-inline-start: 1rem !important;
|
|
106
|
+
width: 100%;
|
|
89
107
|
}
|
|
90
108
|
|
|
91
|
-
[dir=
|
|
92
|
-
|
|
109
|
+
[dir='rtl'] .toggleNav {
|
|
110
|
+
transform: rotate(180deg);
|
|
93
111
|
}
|
|
94
112
|
|
|
95
|
-
[dir=
|
|
96
|
-
|
|
113
|
+
[dir='rtl'] .wideNav .toggleNav {
|
|
114
|
+
transform: rotate(0deg);
|
|
97
115
|
}
|
|
98
116
|
|
|
99
117
|
.nav-button.bgl_btn-icon {
|
|
100
|
-
|
|
118
|
+
border-radius: var(--btn-border-radius) !important;
|
|
101
119
|
}
|
|
102
120
|
|
|
103
121
|
.nav-button p {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
transition: var(--nav-tran);
|
|
123
|
+
animation: fade 2s;
|
|
124
|
+
animation-duration: 900ms;
|
|
107
125
|
}
|
|
108
126
|
|
|
109
127
|
@keyframes fade {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
128
|
+
0% {
|
|
129
|
+
opacity: 0;
|
|
130
|
+
transform: translateX(-20px);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
30% {
|
|
134
|
+
opacity: 0;
|
|
135
|
+
transform: translateX(-20px);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
100% {
|
|
139
|
+
opacity: 1;
|
|
140
|
+
transform: translateX(0);
|
|
141
|
+
}
|
|
124
142
|
}
|
|
125
143
|
</style>
|