@bagelink/vue 0.0.331 → 0.0.337
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/MaterialIcon.vue.d.ts +4 -2
- package/dist/components/MaterialIcon.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts +24 -16
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layout/Layout.vue.d.ts +8 -0
- 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/TabbedLayout.vue.d.ts +38 -0
- package/dist/components/layout/TabbedLayout.vue.d.ts.map +1 -0
- package/dist/components/layout/Tabs.vue.d.ts +24 -0
- package/dist/components/layout/Tabs.vue.d.ts.map +1 -0
- package/dist/components/layout/TabsBody.vue.d.ts +21 -0
- package/dist/components/layout/TabsBody.vue.d.ts.map +1 -0
- package/dist/components/layout/TabsNav.vue.d.ts +25 -0
- package/dist/components/layout/TabsNav.vue.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +4 -0
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/tabsManager.d.ts +4 -0
- package/dist/components/layout/tabsManager.d.ts.map +1 -0
- package/dist/index.cjs +806 -2027
- package/dist/index.mjs +808 -2029
- package/dist/style.css +420 -504
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/materialIcons.d.ts +1 -1
- package/dist/types/materialIcons.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/MaterialIcon.vue +3 -2
- package/src/components/PageTitle.vue +10 -20
- package/src/components/form/BglField.vue +2 -2
- package/src/components/form/BglForm.vue +0 -1
- package/src/components/form/inputs/SelectInput.vue +161 -482
- package/src/components/index.ts +0 -2
- package/src/components/layout/Layout.vue +34 -13
- package/src/components/layout/SidebarMenu.vue +22 -22
- package/src/components/layout/TabbedLayout.vue +79 -0
- package/src/components/layout/Tabs.vue +19 -0
- package/src/components/layout/TabsBody.vue +15 -0
- package/src/components/layout/TabsNav.vue +48 -0
- package/src/components/layout/index.ts +4 -0
- package/src/components/layout/tabsManager.ts +18 -0
- package/src/styles/appearance.css +42 -0
- package/src/styles/layout.css +74 -12
- package/src/styles/mobilLayout.css +77 -17
- package/src/styles/text.css +153 -1
- package/src/types/index.ts +9 -1
- package/src/types/materialIcons.ts +1180 -1178
- package/src/utils/index.ts +0 -1
- package/src/components/ComboBox.vue +0 -171
- package/src/components/TabbedLayout.vue +0 -87
package/dist/index.cjs
CHANGED
|
@@ -262,7 +262,7 @@ const computePosition = async (reference, floating, config) => {
|
|
|
262
262
|
middlewareData
|
|
263
263
|
};
|
|
264
264
|
};
|
|
265
|
-
async function detectOverflow(
|
|
265
|
+
async function detectOverflow(state2, options) {
|
|
266
266
|
var _await$platform$isEle;
|
|
267
267
|
if (options === void 0) {
|
|
268
268
|
options = {};
|
|
@@ -274,14 +274,14 @@ async function detectOverflow(state, options) {
|
|
|
274
274
|
rects,
|
|
275
275
|
elements,
|
|
276
276
|
strategy
|
|
277
|
-
} =
|
|
277
|
+
} = state2;
|
|
278
278
|
const {
|
|
279
279
|
boundary = "clippingAncestors",
|
|
280
280
|
rootBoundary = "viewport",
|
|
281
281
|
elementContext = "floating",
|
|
282
282
|
altBoundary = false,
|
|
283
283
|
padding = 0
|
|
284
|
-
} = evaluate(options,
|
|
284
|
+
} = evaluate(options, state2);
|
|
285
285
|
const paddingObject = getPaddingObject(padding);
|
|
286
286
|
const altContext = elementContext === "floating" ? "reference" : "floating";
|
|
287
287
|
const element = elements[altBoundary ? altContext : elementContext];
|
|
@@ -320,7 +320,7 @@ async function detectOverflow(state, options) {
|
|
|
320
320
|
const arrow = (options) => ({
|
|
321
321
|
name: "arrow",
|
|
322
322
|
options,
|
|
323
|
-
async fn(
|
|
323
|
+
async fn(state2) {
|
|
324
324
|
const {
|
|
325
325
|
x: x2,
|
|
326
326
|
y: y2,
|
|
@@ -329,11 +329,11 @@ const arrow = (options) => ({
|
|
|
329
329
|
platform: platform2,
|
|
330
330
|
elements,
|
|
331
331
|
middlewareData
|
|
332
|
-
} =
|
|
332
|
+
} = state2;
|
|
333
333
|
const {
|
|
334
334
|
element,
|
|
335
335
|
padding = 0
|
|
336
|
-
} = evaluate(options,
|
|
336
|
+
} = evaluate(options, state2) || {};
|
|
337
337
|
if (element == null) {
|
|
338
338
|
return {};
|
|
339
339
|
}
|
|
@@ -395,7 +395,7 @@ const autoPlacement = function(options) {
|
|
|
395
395
|
return {
|
|
396
396
|
name: "autoPlacement",
|
|
397
397
|
options,
|
|
398
|
-
async fn(
|
|
398
|
+
async fn(state2) {
|
|
399
399
|
var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
|
|
400
400
|
const {
|
|
401
401
|
rects,
|
|
@@ -403,16 +403,16 @@ const autoPlacement = function(options) {
|
|
|
403
403
|
placement,
|
|
404
404
|
platform: platform2,
|
|
405
405
|
elements
|
|
406
|
-
} =
|
|
406
|
+
} = state2;
|
|
407
407
|
const {
|
|
408
408
|
crossAxis = false,
|
|
409
409
|
alignment,
|
|
410
410
|
allowedPlacements = placements,
|
|
411
411
|
autoAlignment = true,
|
|
412
412
|
...detectOverflowOptions
|
|
413
|
-
} = evaluate(options,
|
|
413
|
+
} = evaluate(options, state2);
|
|
414
414
|
const placements$1 = alignment !== void 0 || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
|
|
415
|
-
const overflow = await detectOverflow(
|
|
415
|
+
const overflow = await detectOverflow(state2, detectOverflowOptions);
|
|
416
416
|
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
|
|
417
417
|
const currentPlacement = placements$1[currentIndex];
|
|
418
418
|
if (currentPlacement == null) {
|
|
@@ -482,7 +482,7 @@ const flip = function(options) {
|
|
|
482
482
|
return {
|
|
483
483
|
name: "flip",
|
|
484
484
|
options,
|
|
485
|
-
async fn(
|
|
485
|
+
async fn(state2) {
|
|
486
486
|
var _middlewareData$arrow, _middlewareData$flip;
|
|
487
487
|
const {
|
|
488
488
|
placement,
|
|
@@ -491,7 +491,7 @@ const flip = function(options) {
|
|
|
491
491
|
initialPlacement,
|
|
492
492
|
platform: platform2,
|
|
493
493
|
elements
|
|
494
|
-
} =
|
|
494
|
+
} = state2;
|
|
495
495
|
const {
|
|
496
496
|
mainAxis: checkMainAxis = true,
|
|
497
497
|
crossAxis: checkCrossAxis = true,
|
|
@@ -500,7 +500,7 @@ const flip = function(options) {
|
|
|
500
500
|
fallbackAxisSideDirection = "none",
|
|
501
501
|
flipAlignment = true,
|
|
502
502
|
...detectOverflowOptions
|
|
503
|
-
} = evaluate(options,
|
|
503
|
+
} = evaluate(options, state2);
|
|
504
504
|
if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
|
505
505
|
return {};
|
|
506
506
|
}
|
|
@@ -512,7 +512,7 @@ const flip = function(options) {
|
|
|
512
512
|
fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
|
|
513
513
|
}
|
|
514
514
|
const placements2 = [initialPlacement, ...fallbackPlacements];
|
|
515
|
-
const overflow = await detectOverflow(
|
|
515
|
+
const overflow = await detectOverflow(state2, detectOverflowOptions);
|
|
516
516
|
const overflows = [];
|
|
517
517
|
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
|
|
518
518
|
if (checkMainAxis) {
|
|
@@ -569,19 +569,19 @@ const flip = function(options) {
|
|
|
569
569
|
}
|
|
570
570
|
};
|
|
571
571
|
};
|
|
572
|
-
async function convertValueToCoords(
|
|
572
|
+
async function convertValueToCoords(state2, options) {
|
|
573
573
|
const {
|
|
574
574
|
placement,
|
|
575
575
|
platform: platform2,
|
|
576
576
|
elements
|
|
577
|
-
} =
|
|
577
|
+
} = state2;
|
|
578
578
|
const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
|
|
579
579
|
const side = getSide$1(placement);
|
|
580
580
|
const alignment = getAlignment(placement);
|
|
581
581
|
const isVertical = getSideAxis(placement) === "y";
|
|
582
582
|
const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
|
|
583
583
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
584
|
-
const rawValue = evaluate(options,
|
|
584
|
+
const rawValue = evaluate(options, state2);
|
|
585
585
|
let {
|
|
586
586
|
mainAxis,
|
|
587
587
|
crossAxis,
|
|
@@ -614,15 +614,15 @@ const offset = function(options) {
|
|
|
614
614
|
return {
|
|
615
615
|
name: "offset",
|
|
616
616
|
options,
|
|
617
|
-
async fn(
|
|
617
|
+
async fn(state2) {
|
|
618
618
|
var _middlewareData$offse, _middlewareData$arrow;
|
|
619
619
|
const {
|
|
620
620
|
x: x2,
|
|
621
621
|
y: y2,
|
|
622
622
|
placement,
|
|
623
623
|
middlewareData
|
|
624
|
-
} =
|
|
625
|
-
const diffCoords = await convertValueToCoords(
|
|
624
|
+
} = state2;
|
|
625
|
+
const diffCoords = await convertValueToCoords(state2, options);
|
|
626
626
|
if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
|
627
627
|
return {};
|
|
628
628
|
}
|
|
@@ -644,12 +644,12 @@ const shift$1 = function(options) {
|
|
|
644
644
|
return {
|
|
645
645
|
name: "shift",
|
|
646
646
|
options,
|
|
647
|
-
async fn(
|
|
647
|
+
async fn(state2) {
|
|
648
648
|
const {
|
|
649
649
|
x: x2,
|
|
650
650
|
y: y2,
|
|
651
651
|
placement
|
|
652
|
-
} =
|
|
652
|
+
} = state2;
|
|
653
653
|
const {
|
|
654
654
|
mainAxis: checkMainAxis = true,
|
|
655
655
|
crossAxis: checkCrossAxis = false,
|
|
@@ -666,12 +666,12 @@ const shift$1 = function(options) {
|
|
|
666
666
|
}
|
|
667
667
|
},
|
|
668
668
|
...detectOverflowOptions
|
|
669
|
-
} = evaluate(options,
|
|
669
|
+
} = evaluate(options, state2);
|
|
670
670
|
const coords = {
|
|
671
671
|
x: x2,
|
|
672
672
|
y: y2
|
|
673
673
|
};
|
|
674
|
-
const overflow = await detectOverflow(
|
|
674
|
+
const overflow = await detectOverflow(state2, detectOverflowOptions);
|
|
675
675
|
const crossAxis = getSideAxis(getSide$1(placement));
|
|
676
676
|
const mainAxis = getOppositeAxis(crossAxis);
|
|
677
677
|
let mainAxisCoord = coords[mainAxis];
|
|
@@ -691,7 +691,7 @@ const shift$1 = function(options) {
|
|
|
691
691
|
crossAxisCoord = clamp(min2, crossAxisCoord, max2);
|
|
692
692
|
}
|
|
693
693
|
const limitedCoords = limiter.fn({
|
|
694
|
-
...
|
|
694
|
+
...state2,
|
|
695
695
|
[mainAxis]: mainAxisCoord,
|
|
696
696
|
[crossAxis]: crossAxisCoord
|
|
697
697
|
});
|
|
@@ -712,19 +712,19 @@ const size = function(options) {
|
|
|
712
712
|
return {
|
|
713
713
|
name: "size",
|
|
714
714
|
options,
|
|
715
|
-
async fn(
|
|
715
|
+
async fn(state2) {
|
|
716
716
|
const {
|
|
717
717
|
placement,
|
|
718
718
|
rects,
|
|
719
719
|
platform: platform2,
|
|
720
720
|
elements
|
|
721
|
-
} =
|
|
721
|
+
} = state2;
|
|
722
722
|
const {
|
|
723
723
|
apply: apply2 = () => {
|
|
724
724
|
},
|
|
725
725
|
...detectOverflowOptions
|
|
726
|
-
} = evaluate(options,
|
|
727
|
-
const overflow = await detectOverflow(
|
|
726
|
+
} = evaluate(options, state2);
|
|
727
|
+
const overflow = await detectOverflow(state2, detectOverflowOptions);
|
|
728
728
|
const side = getSide$1(placement);
|
|
729
729
|
const alignment = getAlignment(placement);
|
|
730
730
|
const isYAxis = getSideAxis(placement) === "y";
|
|
@@ -743,7 +743,7 @@ const size = function(options) {
|
|
|
743
743
|
}
|
|
744
744
|
const overflowAvailableHeight = height - overflow[heightSide];
|
|
745
745
|
const overflowAvailableWidth = width - overflow[widthSide];
|
|
746
|
-
const noShift = !
|
|
746
|
+
const noShift = !state2.middlewareData.shift;
|
|
747
747
|
let availableHeight = overflowAvailableHeight;
|
|
748
748
|
let availableWidth = overflowAvailableWidth;
|
|
749
749
|
if (isYAxis) {
|
|
@@ -765,7 +765,7 @@ const size = function(options) {
|
|
|
765
765
|
}
|
|
766
766
|
}
|
|
767
767
|
await apply2({
|
|
768
|
-
...
|
|
768
|
+
...state2,
|
|
769
769
|
availableWidth,
|
|
770
770
|
availableHeight
|
|
771
771
|
});
|
|
@@ -4019,7 +4019,7 @@ const adapters = {
|
|
|
4019
4019
|
}
|
|
4020
4020
|
if (!adapter) {
|
|
4021
4021
|
const reasons = Object.entries(rejectedReasons).map(
|
|
4022
|
-
([id,
|
|
4022
|
+
([id, state2]) => `adapter ${id} ` + (state2 === false ? "is not supported by the environment" : "is not available in the build")
|
|
4023
4023
|
);
|
|
4024
4024
|
let s2 = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
|
|
4025
4025
|
throw new AxiosError(
|
|
@@ -4880,7 +4880,7 @@ const ModalPlugin = {
|
|
|
4880
4880
|
const props2 = { ...modal.modalOptions, visible: true, "onUpdate:visible": () => hideModal(index2) };
|
|
4881
4881
|
if (modal.modalType === "modalForm")
|
|
4882
4882
|
return vue.h(ModalForm, props2, modal.componentSlots);
|
|
4883
|
-
return vue.h(_sfc_main$
|
|
4883
|
+
return vue.h(_sfc_main$E, props2, modal.componentSlots);
|
|
4884
4884
|
});
|
|
4885
4885
|
}
|
|
4886
4886
|
});
|
|
@@ -4991,8 +4991,6 @@ function bindAttrs(attrs, fieldVal, row) {
|
|
|
4991
4991
|
key,
|
|
4992
4992
|
typeof value === "function" ? value(fieldVal, row) : value
|
|
4993
4993
|
]);
|
|
4994
|
-
if (attrs.options)
|
|
4995
|
-
console.log("arr", arr);
|
|
4996
4994
|
const resolvedAttrs = Object.fromEntries(arr);
|
|
4997
4995
|
return resolvedAttrs;
|
|
4998
4996
|
}
|
|
@@ -6970,19 +6968,19 @@ function dfa(nfa2) {
|
|
|
6970
6968
|
});
|
|
6971
6969
|
});
|
|
6972
6970
|
});
|
|
6973
|
-
let
|
|
6971
|
+
let state2 = labeled[states.join(",")] = new ContentMatch(states.indexOf(nfa2.length - 1) > -1);
|
|
6974
6972
|
for (let i2 = 0; i2 < out.length; i2++) {
|
|
6975
6973
|
let states2 = out[i2][1].sort(cmp);
|
|
6976
|
-
|
|
6974
|
+
state2.next.push({ type: out[i2][0], next: labeled[states2.join(",")] || explore(states2) });
|
|
6977
6975
|
}
|
|
6978
|
-
return
|
|
6976
|
+
return state2;
|
|
6979
6977
|
}
|
|
6980
6978
|
}
|
|
6981
6979
|
function checkForDeadEnds(match2, stream) {
|
|
6982
6980
|
for (let i2 = 0, work = [match2]; i2 < work.length; i2++) {
|
|
6983
|
-
let
|
|
6984
|
-
for (let j = 0; j <
|
|
6985
|
-
let { type: type3, next } =
|
|
6981
|
+
let state2 = work[i2], dead = !state2.validEnd, nodes2 = [];
|
|
6982
|
+
for (let j = 0; j < state2.next.length; j++) {
|
|
6983
|
+
let { type: type3, next } = state2.next[j];
|
|
6986
6984
|
nodes2.push(type3.name);
|
|
6987
6985
|
if (dead && !(type3.isText || type3.hasRequiredAttrs()))
|
|
6988
6986
|
dead = false;
|
|
@@ -10379,14 +10377,14 @@ class Transaction extends Transform {
|
|
|
10379
10377
|
/**
|
|
10380
10378
|
@internal
|
|
10381
10379
|
*/
|
|
10382
|
-
constructor(
|
|
10383
|
-
super(
|
|
10380
|
+
constructor(state2) {
|
|
10381
|
+
super(state2.doc);
|
|
10384
10382
|
this.curSelectionFor = 0;
|
|
10385
10383
|
this.updated = 0;
|
|
10386
10384
|
this.meta = /* @__PURE__ */ Object.create(null);
|
|
10387
10385
|
this.time = Date.now();
|
|
10388
|
-
this.curSelection =
|
|
10389
|
-
this.storedMarks =
|
|
10386
|
+
this.curSelection = state2.selection;
|
|
10387
|
+
this.storedMarks = state2.storedMarks;
|
|
10390
10388
|
}
|
|
10391
10389
|
/**
|
|
10392
10390
|
The transaction's current selection. This defaults to the editor
|
|
@@ -10593,8 +10591,8 @@ const baseFields = [
|
|
|
10593
10591
|
init(config) {
|
|
10594
10592
|
return config.storedMarks || null;
|
|
10595
10593
|
},
|
|
10596
|
-
apply(tr2, _marks, _old,
|
|
10597
|
-
return
|
|
10594
|
+
apply(tr2, _marks, _old, state2) {
|
|
10595
|
+
return state2.selection.$cursor ? tr2.storedMarks : null;
|
|
10598
10596
|
}
|
|
10599
10597
|
}),
|
|
10600
10598
|
new FieldDesc("scrollToSelection", {
|
|
@@ -10758,9 +10756,9 @@ class EditorState {
|
|
|
10758
10756
|
for (let prop3 in pluginFields) {
|
|
10759
10757
|
if (prop3 == "doc" || prop3 == "selection")
|
|
10760
10758
|
throw new RangeError("The JSON fields `doc` and `selection` are reserved");
|
|
10761
|
-
let plugin = pluginFields[prop3],
|
|
10762
|
-
if (
|
|
10763
|
-
result[prop3] =
|
|
10759
|
+
let plugin = pluginFields[prop3], state2 = plugin.spec.state;
|
|
10760
|
+
if (state2 && state2.toJSON)
|
|
10761
|
+
result[prop3] = state2.toJSON.call(plugin, this[plugin.key]);
|
|
10764
10762
|
}
|
|
10765
10763
|
return result;
|
|
10766
10764
|
}
|
|
@@ -10789,9 +10787,9 @@ class EditorState {
|
|
|
10789
10787
|
} else {
|
|
10790
10788
|
if (pluginFields)
|
|
10791
10789
|
for (let prop3 in pluginFields) {
|
|
10792
|
-
let plugin = pluginFields[prop3],
|
|
10793
|
-
if (plugin.key == field.name &&
|
|
10794
|
-
instance[field.name] =
|
|
10790
|
+
let plugin = pluginFields[prop3], state2 = plugin.spec.state;
|
|
10791
|
+
if (plugin.key == field.name && state2 && state2.fromJSON && Object.prototype.hasOwnProperty.call(json, prop3)) {
|
|
10792
|
+
instance[field.name] = state2.fromJSON.call(plugin, config, json[prop3], instance);
|
|
10795
10793
|
return;
|
|
10796
10794
|
}
|
|
10797
10795
|
}
|
|
@@ -10826,8 +10824,8 @@ class Plugin {
|
|
|
10826
10824
|
/**
|
|
10827
10825
|
Extract the plugin's state field from an editor state.
|
|
10828
10826
|
*/
|
|
10829
|
-
getState(
|
|
10830
|
-
return
|
|
10827
|
+
getState(state2) {
|
|
10828
|
+
return state2[this.key];
|
|
10831
10829
|
}
|
|
10832
10830
|
}
|
|
10833
10831
|
const keys$1 = /* @__PURE__ */ Object.create(null);
|
|
@@ -10848,14 +10846,14 @@ class PluginKey {
|
|
|
10848
10846
|
Get the active plugin with this key, if any, from an editor
|
|
10849
10847
|
state.
|
|
10850
10848
|
*/
|
|
10851
|
-
get(
|
|
10852
|
-
return
|
|
10849
|
+
get(state2) {
|
|
10850
|
+
return state2.config.pluginsByKey[this.key];
|
|
10853
10851
|
}
|
|
10854
10852
|
/**
|
|
10855
10853
|
Get the plugin's state from an editor state.
|
|
10856
10854
|
*/
|
|
10857
|
-
getState(
|
|
10858
|
-
return
|
|
10855
|
+
getState(state2) {
|
|
10856
|
+
return state2[this.key];
|
|
10859
10857
|
}
|
|
10860
10858
|
}
|
|
10861
10859
|
const domIndex = function(node) {
|
|
@@ -11341,25 +11339,25 @@ function flattenH(rect, top2) {
|
|
|
11341
11339
|
let y2 = top2 ? rect.top : rect.bottom;
|
|
11342
11340
|
return { top: y2, bottom: y2, left: rect.left, right: rect.right };
|
|
11343
11341
|
}
|
|
11344
|
-
function withFlushedState(view,
|
|
11342
|
+
function withFlushedState(view, state2, f2) {
|
|
11345
11343
|
let viewState = view.state, active = view.root.activeElement;
|
|
11346
|
-
if (viewState !=
|
|
11347
|
-
view.updateState(
|
|
11344
|
+
if (viewState != state2)
|
|
11345
|
+
view.updateState(state2);
|
|
11348
11346
|
if (active != view.dom)
|
|
11349
11347
|
view.focus();
|
|
11350
11348
|
try {
|
|
11351
11349
|
return f2();
|
|
11352
11350
|
} finally {
|
|
11353
|
-
if (viewState !=
|
|
11351
|
+
if (viewState != state2)
|
|
11354
11352
|
view.updateState(viewState);
|
|
11355
11353
|
if (active != view.dom && active)
|
|
11356
11354
|
active.focus();
|
|
11357
11355
|
}
|
|
11358
11356
|
}
|
|
11359
|
-
function endOfTextblockVertical(view,
|
|
11360
|
-
let sel =
|
|
11357
|
+
function endOfTextblockVertical(view, state2, dir) {
|
|
11358
|
+
let sel = state2.selection;
|
|
11361
11359
|
let $pos = dir == "up" ? sel.$from : sel.$to;
|
|
11362
|
-
return withFlushedState(view,
|
|
11360
|
+
return withFlushedState(view, state2, () => {
|
|
11363
11361
|
let { node: dom } = view.docView.domFromPos($pos.pos, dir == "up" ? -1 : 1);
|
|
11364
11362
|
for (; ; ) {
|
|
11365
11363
|
let nearest = view.docView.nearestDesc(dom, true);
|
|
@@ -11390,15 +11388,15 @@ function endOfTextblockVertical(view, state, dir) {
|
|
|
11390
11388
|
});
|
|
11391
11389
|
}
|
|
11392
11390
|
const maybeRTL = /[\u0590-\u08ac]/;
|
|
11393
|
-
function endOfTextblockHorizontal(view,
|
|
11394
|
-
let { $head } =
|
|
11391
|
+
function endOfTextblockHorizontal(view, state2, dir) {
|
|
11392
|
+
let { $head } = state2.selection;
|
|
11395
11393
|
if (!$head.parent.isTextblock)
|
|
11396
11394
|
return false;
|
|
11397
11395
|
let offset2 = $head.parentOffset, atStart = !offset2, atEnd = offset2 == $head.parent.content.size;
|
|
11398
11396
|
let sel = view.domSelection();
|
|
11399
11397
|
if (!maybeRTL.test($head.parent.textContent) || !sel.modify)
|
|
11400
11398
|
return dir == "left" || dir == "backward" ? atStart : atEnd;
|
|
11401
|
-
return withFlushedState(view,
|
|
11399
|
+
return withFlushedState(view, state2, () => {
|
|
11402
11400
|
let { focusNode: oldNode, focusOffset: oldOff, anchorNode, anchorOffset } = view.domSelectionRange();
|
|
11403
11401
|
let oldBidiLevel = sel.caretBidiLevel;
|
|
11404
11402
|
sel.modify("move", dir, "character");
|
|
@@ -11419,12 +11417,12 @@ function endOfTextblockHorizontal(view, state, dir) {
|
|
|
11419
11417
|
let cachedState = null;
|
|
11420
11418
|
let cachedDir = null;
|
|
11421
11419
|
let cachedResult = false;
|
|
11422
|
-
function endOfTextblock(view,
|
|
11423
|
-
if (cachedState ==
|
|
11420
|
+
function endOfTextblock(view, state2, dir) {
|
|
11421
|
+
if (cachedState == state2 && cachedDir == dir)
|
|
11424
11422
|
return cachedResult;
|
|
11425
|
-
cachedState =
|
|
11423
|
+
cachedState = state2;
|
|
11426
11424
|
cachedDir = dir;
|
|
11427
|
-
return cachedResult = dir == "up" || dir == "down" ? endOfTextblockVertical(view,
|
|
11425
|
+
return cachedResult = dir == "up" || dir == "down" ? endOfTextblockVertical(view, state2, dir) : endOfTextblockHorizontal(view, state2, dir);
|
|
11428
11426
|
}
|
|
11429
11427
|
const NOT_DIRTY = 0, CHILD_DIRTY = 1, CONTENT_DIRTY = 2, NODE_DIRTY = 3;
|
|
11430
11428
|
class ViewDesc {
|
|
@@ -12929,10 +12927,10 @@ function anchorInRightPlace(view) {
|
|
|
12929
12927
|
let domSel = view.domSelectionRange();
|
|
12930
12928
|
return isEquivalentPosition(anchorDOM.node, anchorDOM.offset, domSel.anchorNode, domSel.anchorOffset);
|
|
12931
12929
|
}
|
|
12932
|
-
function moveSelectionBlock(
|
|
12933
|
-
let { $anchor, $head } =
|
|
12930
|
+
function moveSelectionBlock(state2, dir) {
|
|
12931
|
+
let { $anchor, $head } = state2.selection;
|
|
12934
12932
|
let $side = dir > 0 ? $anchor.max($head) : $anchor.min($head);
|
|
12935
|
-
let $start = !$side.parent.inlineContent ? $side : $side.depth ?
|
|
12933
|
+
let $start = !$side.parent.inlineContent ? $side : $side.depth ? state2.doc.resolve(dir > 0 ? $side.after() : $side.before()) : null;
|
|
12936
12934
|
return $start && Selection$1.findFrom($start, dir);
|
|
12937
12935
|
}
|
|
12938
12936
|
function apply(view, sel) {
|
|
@@ -13134,9 +13132,9 @@ function setSelFocus(view, node, offset2) {
|
|
|
13134
13132
|
sel.extend(node, offset2);
|
|
13135
13133
|
}
|
|
13136
13134
|
view.domObserver.setCurSelection();
|
|
13137
|
-
let { state } = view;
|
|
13135
|
+
let { state: state2 } = view;
|
|
13138
13136
|
setTimeout(() => {
|
|
13139
|
-
if (view.state ==
|
|
13137
|
+
if (view.state == state2)
|
|
13140
13138
|
selectionToDOM(view);
|
|
13141
13139
|
}, 50);
|
|
13142
13140
|
}
|
|
@@ -13201,9 +13199,9 @@ function stopNativeHorizontalDelete(view, dir) {
|
|
|
13201
13199
|
}
|
|
13202
13200
|
return false;
|
|
13203
13201
|
}
|
|
13204
|
-
function switchEditable(view, node,
|
|
13202
|
+
function switchEditable(view, node, state2) {
|
|
13205
13203
|
view.domObserver.stop();
|
|
13206
|
-
node.contentEditable =
|
|
13204
|
+
node.contentEditable = state2;
|
|
13207
13205
|
view.domObserver.start();
|
|
13208
13206
|
}
|
|
13209
13207
|
function safariDownArrowBug(view) {
|
|
@@ -13850,14 +13848,14 @@ const timeoutComposition = android ? 5e3 : -1;
|
|
|
13850
13848
|
editHandlers.compositionstart = editHandlers.compositionupdate = (view) => {
|
|
13851
13849
|
if (!view.composing) {
|
|
13852
13850
|
view.domObserver.flush();
|
|
13853
|
-
let { state } = view, $pos =
|
|
13854
|
-
if (
|
|
13851
|
+
let { state: state2 } = view, $pos = state2.selection.$from;
|
|
13852
|
+
if (state2.selection.empty && (state2.storedMarks || !$pos.textOffset && $pos.parentOffset && $pos.nodeBefore.marks.some((m2) => m2.type.spec.inclusive === false))) {
|
|
13855
13853
|
view.markCursor = view.state.storedMarks || $pos.marks();
|
|
13856
13854
|
endComposition(view, true);
|
|
13857
13855
|
view.markCursor = null;
|
|
13858
13856
|
} else {
|
|
13859
13857
|
endComposition(view);
|
|
13860
|
-
if (gecko &&
|
|
13858
|
+
if (gecko && state2.selection.empty && $pos.parentOffset && !$pos.textOffset && $pos.nodeBefore.marks.length) {
|
|
13861
13859
|
let sel = view.domSelectionRange();
|
|
13862
13860
|
for (let node = sel.focusNode, offset2 = sel.focusOffset; node && node.nodeType == 1 && offset2 != 0; ) {
|
|
13863
13861
|
let before = offset2 < 0 ? node.lastChild : node.childNodes[offset2 - 1];
|
|
@@ -15429,18 +15427,18 @@ class EditorView {
|
|
|
15429
15427
|
Update the editor's `state` prop, without touching any of the
|
|
15430
15428
|
other props.
|
|
15431
15429
|
*/
|
|
15432
|
-
updateState(
|
|
15433
|
-
this.updateStateInner(
|
|
15430
|
+
updateState(state2) {
|
|
15431
|
+
this.updateStateInner(state2, this._props);
|
|
15434
15432
|
}
|
|
15435
|
-
updateStateInner(
|
|
15433
|
+
updateStateInner(state2, prevProps) {
|
|
15436
15434
|
var _a2;
|
|
15437
15435
|
let prev = this.state, redraw = false, updateSel = false;
|
|
15438
|
-
if (
|
|
15436
|
+
if (state2.storedMarks && this.composing) {
|
|
15439
15437
|
clearComposition(this);
|
|
15440
15438
|
updateSel = true;
|
|
15441
15439
|
}
|
|
15442
|
-
this.state =
|
|
15443
|
-
let pluginsChanged = prev.plugins !=
|
|
15440
|
+
this.state = state2;
|
|
15441
|
+
let pluginsChanged = prev.plugins != state2.plugins || this._props.plugins != prevProps.plugins;
|
|
15444
15442
|
if (pluginsChanged || this._props.plugins != prevProps.plugins || this._props.nodeViews != prevProps.nodeViews) {
|
|
15445
15443
|
let nodeViews = buildNodeViews(this);
|
|
15446
15444
|
if (changedNodeViews(nodeViews, this.nodeViews)) {
|
|
@@ -15454,20 +15452,20 @@ class EditorView {
|
|
|
15454
15452
|
this.editable = getEditable(this);
|
|
15455
15453
|
updateCursorWrapper(this);
|
|
15456
15454
|
let innerDeco = viewDecorations(this), outerDeco = computeDocDeco(this);
|
|
15457
|
-
let scroll = prev.plugins !=
|
|
15458
|
-
let updateDoc = redraw || !this.docView.matchesNode(
|
|
15459
|
-
if (updateDoc || !
|
|
15455
|
+
let scroll = prev.plugins != state2.plugins && !prev.doc.eq(state2.doc) ? "reset" : state2.scrollToSelection > prev.scrollToSelection ? "to selection" : "preserve";
|
|
15456
|
+
let updateDoc = redraw || !this.docView.matchesNode(state2.doc, outerDeco, innerDeco);
|
|
15457
|
+
if (updateDoc || !state2.selection.eq(prev.selection))
|
|
15460
15458
|
updateSel = true;
|
|
15461
15459
|
let oldScrollPos = scroll == "preserve" && updateSel && this.dom.style.overflowAnchor == null && storeScrollPos(this);
|
|
15462
15460
|
if (updateSel) {
|
|
15463
15461
|
this.domObserver.stop();
|
|
15464
|
-
let forceSelUpdate = updateDoc && (ie$1 || chrome) && !this.composing && !prev.selection.empty && !
|
|
15462
|
+
let forceSelUpdate = updateDoc && (ie$1 || chrome) && !this.composing && !prev.selection.empty && !state2.selection.empty && selectionContextChanged(prev.selection, state2.selection);
|
|
15465
15463
|
if (updateDoc) {
|
|
15466
15464
|
let chromeKludge = chrome ? this.trackWrites = this.domSelectionRange().focusNode : null;
|
|
15467
|
-
if (redraw || !this.docView.update(
|
|
15465
|
+
if (redraw || !this.docView.update(state2.doc, outerDeco, innerDeco, this)) {
|
|
15468
15466
|
this.docView.updateOuterDeco([]);
|
|
15469
15467
|
this.docView.destroy();
|
|
15470
|
-
this.docView = docViewDesc(
|
|
15468
|
+
this.docView = docViewDesc(state2.doc, outerDeco, innerDeco, this.dom, this);
|
|
15471
15469
|
}
|
|
15472
15470
|
if (chromeKludge && !this.trackWrites)
|
|
15473
15471
|
forceSelUpdate = true;
|
|
@@ -15475,13 +15473,13 @@ class EditorView {
|
|
|
15475
15473
|
if (forceSelUpdate || !(this.input.mouseDown && this.domObserver.currentSelection.eq(this.domSelectionRange()) && anchorInRightPlace(this))) {
|
|
15476
15474
|
selectionToDOM(this, forceSelUpdate);
|
|
15477
15475
|
} else {
|
|
15478
|
-
syncNodeSelection(this,
|
|
15476
|
+
syncNodeSelection(this, state2.selection);
|
|
15479
15477
|
this.domObserver.setCurSelection();
|
|
15480
15478
|
}
|
|
15481
15479
|
this.domObserver.start();
|
|
15482
15480
|
}
|
|
15483
15481
|
this.updatePluginViews(prev);
|
|
15484
|
-
if (((_a2 = this.dragging) === null || _a2 === void 0 ? void 0 : _a2.node) && !prev.doc.eq(
|
|
15482
|
+
if (((_a2 = this.dragging) === null || _a2 === void 0 ? void 0 : _a2.node) && !prev.doc.eq(state2.doc))
|
|
15485
15483
|
this.updateDraggedNode(this.dragging, prev);
|
|
15486
15484
|
if (scroll == "reset") {
|
|
15487
15485
|
this.dom.scrollTop = 0;
|
|
@@ -15691,8 +15689,8 @@ class EditorView {
|
|
|
15691
15689
|
to the view's current state by default, but it is possible to
|
|
15692
15690
|
pass a different state.
|
|
15693
15691
|
*/
|
|
15694
|
-
endOfTextblock(dir,
|
|
15695
|
-
return endOfTextblock(this,
|
|
15692
|
+
endOfTextblock(dir, state2) {
|
|
15693
|
+
return endOfTextblock(this, state2 || this.state, dir);
|
|
15696
15694
|
}
|
|
15697
15695
|
/**
|
|
15698
15696
|
Run the editor's paste logic with the given HTML string. The
|
|
@@ -16019,21 +16017,21 @@ function keydownHandler(bindings) {
|
|
|
16019
16017
|
return false;
|
|
16020
16018
|
};
|
|
16021
16019
|
}
|
|
16022
|
-
const deleteSelection = (
|
|
16023
|
-
if (
|
|
16020
|
+
const deleteSelection = (state2, dispatch) => {
|
|
16021
|
+
if (state2.selection.empty)
|
|
16024
16022
|
return false;
|
|
16025
16023
|
if (dispatch)
|
|
16026
|
-
dispatch(
|
|
16024
|
+
dispatch(state2.tr.deleteSelection().scrollIntoView());
|
|
16027
16025
|
return true;
|
|
16028
16026
|
};
|
|
16029
|
-
function atBlockStart(
|
|
16030
|
-
let { $cursor } =
|
|
16031
|
-
if (!$cursor || (view ? !view.endOfTextblock("backward",
|
|
16027
|
+
function atBlockStart(state2, view) {
|
|
16028
|
+
let { $cursor } = state2.selection;
|
|
16029
|
+
if (!$cursor || (view ? !view.endOfTextblock("backward", state2) : $cursor.parentOffset > 0))
|
|
16032
16030
|
return null;
|
|
16033
16031
|
return $cursor;
|
|
16034
16032
|
}
|
|
16035
|
-
const joinBackward = (
|
|
16036
|
-
let $cursor = atBlockStart(
|
|
16033
|
+
const joinBackward = (state2, dispatch, view) => {
|
|
16034
|
+
let $cursor = atBlockStart(state2, view);
|
|
16037
16035
|
if (!$cursor)
|
|
16038
16036
|
return false;
|
|
16039
16037
|
let $cut = findCutBefore($cursor);
|
|
@@ -16042,17 +16040,17 @@ const joinBackward = (state, dispatch, view) => {
|
|
|
16042
16040
|
if (target == null)
|
|
16043
16041
|
return false;
|
|
16044
16042
|
if (dispatch)
|
|
16045
|
-
dispatch(
|
|
16043
|
+
dispatch(state2.tr.lift(range2, target).scrollIntoView());
|
|
16046
16044
|
return true;
|
|
16047
16045
|
}
|
|
16048
16046
|
let before = $cut.nodeBefore;
|
|
16049
|
-
if (!before.type.spec.isolating && deleteBarrier(
|
|
16047
|
+
if (!before.type.spec.isolating && deleteBarrier(state2, $cut, dispatch))
|
|
16050
16048
|
return true;
|
|
16051
16049
|
if ($cursor.parent.content.size == 0 && (textblockAt(before, "end") || NodeSelection.isSelectable(before))) {
|
|
16052
|
-
let delStep = replaceStep(
|
|
16050
|
+
let delStep = replaceStep(state2.doc, $cursor.before(), $cursor.after(), Slice.empty);
|
|
16053
16051
|
if (delStep && delStep.slice.size < delStep.to - delStep.from) {
|
|
16054
16052
|
if (dispatch) {
|
|
16055
|
-
let tr2 =
|
|
16053
|
+
let tr2 = state2.tr.step(delStep);
|
|
16056
16054
|
tr2.setSelection(textblockAt(before, "end") ? Selection$1.findFrom(tr2.doc.resolve(tr2.mapping.map($cut.pos, -1)), -1) : NodeSelection.create(tr2.doc, $cut.pos - before.nodeSize));
|
|
16057
16055
|
dispatch(tr2.scrollIntoView());
|
|
16058
16056
|
}
|
|
@@ -16061,7 +16059,7 @@ const joinBackward = (state, dispatch, view) => {
|
|
|
16061
16059
|
}
|
|
16062
16060
|
if (before.isAtom && $cut.depth == $cursor.depth - 1) {
|
|
16063
16061
|
if (dispatch)
|
|
16064
|
-
dispatch(
|
|
16062
|
+
dispatch(state2.tr.delete($cut.pos - before.nodeSize, $cut.pos).scrollIntoView());
|
|
16065
16063
|
return true;
|
|
16066
16064
|
}
|
|
16067
16065
|
return false;
|
|
@@ -16075,12 +16073,12 @@ function textblockAt(node, side, only = false) {
|
|
|
16075
16073
|
}
|
|
16076
16074
|
return false;
|
|
16077
16075
|
}
|
|
16078
|
-
const selectNodeBackward = (
|
|
16079
|
-
let { $head, empty: empty2 } =
|
|
16076
|
+
const selectNodeBackward = (state2, dispatch, view) => {
|
|
16077
|
+
let { $head, empty: empty2 } = state2.selection, $cut = $head;
|
|
16080
16078
|
if (!empty2)
|
|
16081
16079
|
return false;
|
|
16082
16080
|
if ($head.parent.isTextblock) {
|
|
16083
|
-
if (view ? !view.endOfTextblock("backward",
|
|
16081
|
+
if (view ? !view.endOfTextblock("backward", state2) : $head.parentOffset > 0)
|
|
16084
16082
|
return false;
|
|
16085
16083
|
$cut = findCutBefore($head);
|
|
16086
16084
|
}
|
|
@@ -16088,7 +16086,7 @@ const selectNodeBackward = (state, dispatch, view) => {
|
|
|
16088
16086
|
if (!node || !NodeSelection.isSelectable(node))
|
|
16089
16087
|
return false;
|
|
16090
16088
|
if (dispatch)
|
|
16091
|
-
dispatch(
|
|
16089
|
+
dispatch(state2.tr.setSelection(NodeSelection.create(state2.doc, $cut.pos - node.nodeSize)).scrollIntoView());
|
|
16092
16090
|
return true;
|
|
16093
16091
|
};
|
|
16094
16092
|
function findCutBefore($pos) {
|
|
@@ -16101,27 +16099,27 @@ function findCutBefore($pos) {
|
|
|
16101
16099
|
}
|
|
16102
16100
|
return null;
|
|
16103
16101
|
}
|
|
16104
|
-
function atBlockEnd(
|
|
16105
|
-
let { $cursor } =
|
|
16106
|
-
if (!$cursor || (view ? !view.endOfTextblock("forward",
|
|
16102
|
+
function atBlockEnd(state2, view) {
|
|
16103
|
+
let { $cursor } = state2.selection;
|
|
16104
|
+
if (!$cursor || (view ? !view.endOfTextblock("forward", state2) : $cursor.parentOffset < $cursor.parent.content.size))
|
|
16107
16105
|
return null;
|
|
16108
16106
|
return $cursor;
|
|
16109
16107
|
}
|
|
16110
|
-
const joinForward = (
|
|
16111
|
-
let $cursor = atBlockEnd(
|
|
16108
|
+
const joinForward = (state2, dispatch, view) => {
|
|
16109
|
+
let $cursor = atBlockEnd(state2, view);
|
|
16112
16110
|
if (!$cursor)
|
|
16113
16111
|
return false;
|
|
16114
16112
|
let $cut = findCutAfter($cursor);
|
|
16115
16113
|
if (!$cut)
|
|
16116
16114
|
return false;
|
|
16117
16115
|
let after = $cut.nodeAfter;
|
|
16118
|
-
if (deleteBarrier(
|
|
16116
|
+
if (deleteBarrier(state2, $cut, dispatch))
|
|
16119
16117
|
return true;
|
|
16120
16118
|
if ($cursor.parent.content.size == 0 && (textblockAt(after, "start") || NodeSelection.isSelectable(after))) {
|
|
16121
|
-
let delStep = replaceStep(
|
|
16119
|
+
let delStep = replaceStep(state2.doc, $cursor.before(), $cursor.after(), Slice.empty);
|
|
16122
16120
|
if (delStep && delStep.slice.size < delStep.to - delStep.from) {
|
|
16123
16121
|
if (dispatch) {
|
|
16124
|
-
let tr2 =
|
|
16122
|
+
let tr2 = state2.tr.step(delStep);
|
|
16125
16123
|
tr2.setSelection(textblockAt(after, "start") ? Selection$1.findFrom(tr2.doc.resolve(tr2.mapping.map($cut.pos)), 1) : NodeSelection.create(tr2.doc, tr2.mapping.map($cut.pos)));
|
|
16126
16124
|
dispatch(tr2.scrollIntoView());
|
|
16127
16125
|
}
|
|
@@ -16130,17 +16128,17 @@ const joinForward = (state, dispatch, view) => {
|
|
|
16130
16128
|
}
|
|
16131
16129
|
if (after.isAtom && $cut.depth == $cursor.depth - 1) {
|
|
16132
16130
|
if (dispatch)
|
|
16133
|
-
dispatch(
|
|
16131
|
+
dispatch(state2.tr.delete($cut.pos, $cut.pos + after.nodeSize).scrollIntoView());
|
|
16134
16132
|
return true;
|
|
16135
16133
|
}
|
|
16136
16134
|
return false;
|
|
16137
16135
|
};
|
|
16138
|
-
const selectNodeForward = (
|
|
16139
|
-
let { $head, empty: empty2 } =
|
|
16136
|
+
const selectNodeForward = (state2, dispatch, view) => {
|
|
16137
|
+
let { $head, empty: empty2 } = state2.selection, $cut = $head;
|
|
16140
16138
|
if (!empty2)
|
|
16141
16139
|
return false;
|
|
16142
16140
|
if ($head.parent.isTextblock) {
|
|
16143
|
-
if (view ? !view.endOfTextblock("forward",
|
|
16141
|
+
if (view ? !view.endOfTextblock("forward", state2) : $head.parentOffset < $head.parent.content.size)
|
|
16144
16142
|
return false;
|
|
16145
16143
|
$cut = findCutAfter($head);
|
|
16146
16144
|
}
|
|
@@ -16148,7 +16146,7 @@ const selectNodeForward = (state, dispatch, view) => {
|
|
|
16148
16146
|
if (!node || !NodeSelection.isSelectable(node))
|
|
16149
16147
|
return false;
|
|
16150
16148
|
if (dispatch)
|
|
16151
|
-
dispatch(
|
|
16149
|
+
dispatch(state2.tr.setSelection(NodeSelection.create(state2.doc, $cut.pos)).scrollIntoView());
|
|
16152
16150
|
return true;
|
|
16153
16151
|
};
|
|
16154
16152
|
function findCutAfter($pos) {
|
|
@@ -16162,12 +16160,12 @@ function findCutAfter($pos) {
|
|
|
16162
16160
|
}
|
|
16163
16161
|
return null;
|
|
16164
16162
|
}
|
|
16165
|
-
const newlineInCode = (
|
|
16166
|
-
let { $head, $anchor } =
|
|
16163
|
+
const newlineInCode = (state2, dispatch) => {
|
|
16164
|
+
let { $head, $anchor } = state2.selection;
|
|
16167
16165
|
if (!$head.parent.type.spec.code || !$head.sameParent($anchor))
|
|
16168
16166
|
return false;
|
|
16169
16167
|
if (dispatch)
|
|
16170
|
-
dispatch(
|
|
16168
|
+
dispatch(state2.tr.insertText("\n").scrollIntoView());
|
|
16171
16169
|
return true;
|
|
16172
16170
|
};
|
|
16173
16171
|
function defaultBlockAt(match2) {
|
|
@@ -16178,22 +16176,22 @@ function defaultBlockAt(match2) {
|
|
|
16178
16176
|
}
|
|
16179
16177
|
return null;
|
|
16180
16178
|
}
|
|
16181
|
-
const exitCode = (
|
|
16182
|
-
let { $head, $anchor } =
|
|
16179
|
+
const exitCode = (state2, dispatch) => {
|
|
16180
|
+
let { $head, $anchor } = state2.selection;
|
|
16183
16181
|
if (!$head.parent.type.spec.code || !$head.sameParent($anchor))
|
|
16184
16182
|
return false;
|
|
16185
16183
|
let above = $head.node(-1), after = $head.indexAfter(-1), type3 = defaultBlockAt(above.contentMatchAt(after));
|
|
16186
16184
|
if (!type3 || !above.canReplaceWith(after, after, type3))
|
|
16187
16185
|
return false;
|
|
16188
16186
|
if (dispatch) {
|
|
16189
|
-
let pos = $head.after(), tr2 =
|
|
16187
|
+
let pos = $head.after(), tr2 = state2.tr.replaceWith(pos, pos, type3.createAndFill());
|
|
16190
16188
|
tr2.setSelection(Selection$1.near(tr2.doc.resolve(pos), 1));
|
|
16191
16189
|
dispatch(tr2.scrollIntoView());
|
|
16192
16190
|
}
|
|
16193
16191
|
return true;
|
|
16194
16192
|
};
|
|
16195
|
-
const createParagraphNear = (
|
|
16196
|
-
let sel =
|
|
16193
|
+
const createParagraphNear = (state2, dispatch) => {
|
|
16194
|
+
let sel = state2.selection, { $from, $to } = sel;
|
|
16197
16195
|
if (sel instanceof AllSelection || $from.parent.inlineContent || $to.parent.inlineContent)
|
|
16198
16196
|
return false;
|
|
16199
16197
|
let type3 = defaultBlockAt($to.parent.contentMatchAt($to.indexAfter()));
|
|
@@ -16201,21 +16199,21 @@ const createParagraphNear = (state, dispatch) => {
|
|
|
16201
16199
|
return false;
|
|
16202
16200
|
if (dispatch) {
|
|
16203
16201
|
let side = (!$from.parentOffset && $to.index() < $to.parent.childCount ? $from : $to).pos;
|
|
16204
|
-
let tr2 =
|
|
16202
|
+
let tr2 = state2.tr.insert(side, type3.createAndFill());
|
|
16205
16203
|
tr2.setSelection(TextSelection.create(tr2.doc, side + 1));
|
|
16206
16204
|
dispatch(tr2.scrollIntoView());
|
|
16207
16205
|
}
|
|
16208
16206
|
return true;
|
|
16209
16207
|
};
|
|
16210
|
-
const liftEmptyBlock = (
|
|
16211
|
-
let { $cursor } =
|
|
16208
|
+
const liftEmptyBlock = (state2, dispatch) => {
|
|
16209
|
+
let { $cursor } = state2.selection;
|
|
16212
16210
|
if (!$cursor || $cursor.parent.content.size)
|
|
16213
16211
|
return false;
|
|
16214
16212
|
if ($cursor.depth > 1 && $cursor.after() != $cursor.end(-1)) {
|
|
16215
16213
|
let before = $cursor.before();
|
|
16216
|
-
if (canSplit(
|
|
16214
|
+
if (canSplit(state2.doc, before)) {
|
|
16217
16215
|
if (dispatch)
|
|
16218
|
-
dispatch(
|
|
16216
|
+
dispatch(state2.tr.split(before).scrollIntoView());
|
|
16219
16217
|
return true;
|
|
16220
16218
|
}
|
|
16221
16219
|
}
|
|
@@ -16223,25 +16221,25 @@ const liftEmptyBlock = (state, dispatch) => {
|
|
|
16223
16221
|
if (target == null)
|
|
16224
16222
|
return false;
|
|
16225
16223
|
if (dispatch)
|
|
16226
|
-
dispatch(
|
|
16224
|
+
dispatch(state2.tr.lift(range2, target).scrollIntoView());
|
|
16227
16225
|
return true;
|
|
16228
16226
|
};
|
|
16229
16227
|
function splitBlockAs(splitNode) {
|
|
16230
|
-
return (
|
|
16231
|
-
let { $from, $to } =
|
|
16232
|
-
if (
|
|
16233
|
-
if (!$from.parentOffset || !canSplit(
|
|
16228
|
+
return (state2, dispatch) => {
|
|
16229
|
+
let { $from, $to } = state2.selection;
|
|
16230
|
+
if (state2.selection instanceof NodeSelection && state2.selection.node.isBlock) {
|
|
16231
|
+
if (!$from.parentOffset || !canSplit(state2.doc, $from.pos))
|
|
16234
16232
|
return false;
|
|
16235
16233
|
if (dispatch)
|
|
16236
|
-
dispatch(
|
|
16234
|
+
dispatch(state2.tr.split($from.pos).scrollIntoView());
|
|
16237
16235
|
return true;
|
|
16238
16236
|
}
|
|
16239
16237
|
if (!$from.parent.isBlock)
|
|
16240
16238
|
return false;
|
|
16241
16239
|
if (dispatch) {
|
|
16242
16240
|
let atEnd = $to.parentOffset == $to.parent.content.size;
|
|
16243
|
-
let tr2 =
|
|
16244
|
-
if (
|
|
16241
|
+
let tr2 = state2.tr;
|
|
16242
|
+
if (state2.selection instanceof TextSelection || state2.selection instanceof AllSelection)
|
|
16245
16243
|
tr2.deleteSelection();
|
|
16246
16244
|
let deflt = $from.depth == 0 ? null : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));
|
|
16247
16245
|
let splitType = splitNode && splitNode($to.parent, atEnd);
|
|
@@ -16266,31 +16264,31 @@ function splitBlockAs(splitNode) {
|
|
|
16266
16264
|
};
|
|
16267
16265
|
}
|
|
16268
16266
|
const splitBlock = splitBlockAs();
|
|
16269
|
-
const selectAll = (
|
|
16267
|
+
const selectAll = (state2, dispatch) => {
|
|
16270
16268
|
if (dispatch)
|
|
16271
|
-
dispatch(
|
|
16269
|
+
dispatch(state2.tr.setSelection(new AllSelection(state2.doc)));
|
|
16272
16270
|
return true;
|
|
16273
16271
|
};
|
|
16274
|
-
function joinMaybeClear(
|
|
16272
|
+
function joinMaybeClear(state2, $pos, dispatch) {
|
|
16275
16273
|
let before = $pos.nodeBefore, after = $pos.nodeAfter, index2 = $pos.index();
|
|
16276
16274
|
if (!before || !after || !before.type.compatibleContent(after.type))
|
|
16277
16275
|
return false;
|
|
16278
16276
|
if (!before.content.size && $pos.parent.canReplace(index2 - 1, index2)) {
|
|
16279
16277
|
if (dispatch)
|
|
16280
|
-
dispatch(
|
|
16278
|
+
dispatch(state2.tr.delete($pos.pos - before.nodeSize, $pos.pos).scrollIntoView());
|
|
16281
16279
|
return true;
|
|
16282
16280
|
}
|
|
16283
|
-
if (!$pos.parent.canReplace(index2, index2 + 1) || !(after.isTextblock || canJoin(
|
|
16281
|
+
if (!$pos.parent.canReplace(index2, index2 + 1) || !(after.isTextblock || canJoin(state2.doc, $pos.pos)))
|
|
16284
16282
|
return false;
|
|
16285
16283
|
if (dispatch)
|
|
16286
|
-
dispatch(
|
|
16284
|
+
dispatch(state2.tr.clearIncompatible($pos.pos, before.type, before.contentMatchAt(before.childCount)).join($pos.pos).scrollIntoView());
|
|
16287
16285
|
return true;
|
|
16288
16286
|
}
|
|
16289
|
-
function deleteBarrier(
|
|
16287
|
+
function deleteBarrier(state2, $cut, dispatch) {
|
|
16290
16288
|
let before = $cut.nodeBefore, after = $cut.nodeAfter, conn, match2;
|
|
16291
16289
|
if (before.type.spec.isolating || after.type.spec.isolating)
|
|
16292
16290
|
return false;
|
|
16293
|
-
if (joinMaybeClear(
|
|
16291
|
+
if (joinMaybeClear(state2, $cut, dispatch))
|
|
16294
16292
|
return true;
|
|
16295
16293
|
let canDelAfter = $cut.parent.canReplace($cut.index(), $cut.index() + 1);
|
|
16296
16294
|
if (canDelAfter && (conn = (match2 = before.contentMatchAt(before.childCount)).findWrapping(after.type)) && match2.matchType(conn[0] || after.type).validEnd) {
|
|
@@ -16299,7 +16297,7 @@ function deleteBarrier(state, $cut, dispatch) {
|
|
|
16299
16297
|
for (let i2 = conn.length - 1; i2 >= 0; i2--)
|
|
16300
16298
|
wrap2 = Fragment.from(conn[i2].create(null, wrap2));
|
|
16301
16299
|
wrap2 = Fragment.from(before.copy(wrap2));
|
|
16302
|
-
let tr2 =
|
|
16300
|
+
let tr2 = state2.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice(wrap2, 1, 0), conn.length, true));
|
|
16303
16301
|
let joinAt = end + 2 * conn.length;
|
|
16304
16302
|
if (canJoin(tr2.doc, joinAt))
|
|
16305
16303
|
tr2.join(joinAt);
|
|
@@ -16311,7 +16309,7 @@ function deleteBarrier(state, $cut, dispatch) {
|
|
|
16311
16309
|
let range2 = selAfter && selAfter.$from.blockRange(selAfter.$to), target = range2 && liftTarget(range2);
|
|
16312
16310
|
if (target != null && target >= $cut.depth) {
|
|
16313
16311
|
if (dispatch)
|
|
16314
|
-
dispatch(
|
|
16312
|
+
dispatch(state2.tr.lift(range2, target).scrollIntoView());
|
|
16315
16313
|
return true;
|
|
16316
16314
|
}
|
|
16317
16315
|
if (canDelAfter && textblockAt(after, "start", true) && textblockAt(before, "end")) {
|
|
@@ -16330,7 +16328,7 @@ function deleteBarrier(state, $cut, dispatch) {
|
|
|
16330
16328
|
let end = Fragment.empty;
|
|
16331
16329
|
for (let i2 = wrap2.length - 1; i2 >= 0; i2--)
|
|
16332
16330
|
end = Fragment.from(wrap2[i2].copy(end));
|
|
16333
|
-
let tr2 =
|
|
16331
|
+
let tr2 = state2.tr.step(new ReplaceAroundStep($cut.pos - wrap2.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new Slice(end, wrap2.length, 0), 0, true));
|
|
16334
16332
|
dispatch(tr2.scrollIntoView());
|
|
16335
16333
|
}
|
|
16336
16334
|
return true;
|
|
@@ -16339,8 +16337,8 @@ function deleteBarrier(state, $cut, dispatch) {
|
|
|
16339
16337
|
return false;
|
|
16340
16338
|
}
|
|
16341
16339
|
function selectTextblockSide(side) {
|
|
16342
|
-
return function(
|
|
16343
|
-
let sel =
|
|
16340
|
+
return function(state2, dispatch) {
|
|
16341
|
+
let sel = state2.selection, $pos = side < 0 ? sel.$from : sel.$to;
|
|
16344
16342
|
let depth = $pos.depth;
|
|
16345
16343
|
while ($pos.node(depth).isInline) {
|
|
16346
16344
|
if (!depth)
|
|
@@ -16350,16 +16348,16 @@ function selectTextblockSide(side) {
|
|
|
16350
16348
|
if (!$pos.node(depth).isTextblock)
|
|
16351
16349
|
return false;
|
|
16352
16350
|
if (dispatch)
|
|
16353
|
-
dispatch(
|
|
16351
|
+
dispatch(state2.tr.setSelection(TextSelection.create(state2.doc, side < 0 ? $pos.start(depth) : $pos.end(depth))));
|
|
16354
16352
|
return true;
|
|
16355
16353
|
};
|
|
16356
16354
|
}
|
|
16357
16355
|
const selectTextblockStart = selectTextblockSide(-1);
|
|
16358
16356
|
const selectTextblockEnd = selectTextblockSide(1);
|
|
16359
16357
|
function chainCommands(...commands) {
|
|
16360
|
-
return function(
|
|
16358
|
+
return function(state2, dispatch, view) {
|
|
16361
16359
|
for (let i2 = 0; i2 < commands.length; i2++)
|
|
16362
|
-
if (commands[i2](
|
|
16360
|
+
if (commands[i2](state2, dispatch, view))
|
|
16363
16361
|
return true;
|
|
16364
16362
|
return false;
|
|
16365
16363
|
};
|
|
@@ -16586,7 +16584,7 @@ class Branch {
|
|
|
16586
16584
|
}
|
|
16587
16585
|
// Pop the latest event off the branch's history and apply it
|
|
16588
16586
|
// to a document transform.
|
|
16589
|
-
popEvent(
|
|
16587
|
+
popEvent(state2, preserveItems) {
|
|
16590
16588
|
if (this.eventCount == 0)
|
|
16591
16589
|
return null;
|
|
16592
16590
|
let end = this.items.length;
|
|
@@ -16602,7 +16600,7 @@ class Branch {
|
|
|
16602
16600
|
remap = this.remapping(end, this.items.length);
|
|
16603
16601
|
mapFrom = remap.maps.length;
|
|
16604
16602
|
}
|
|
16605
|
-
let transform =
|
|
16603
|
+
let transform = state2.tr;
|
|
16606
16604
|
let selection, remaining;
|
|
16607
16605
|
let addAfter = [], addBefore = [];
|
|
16608
16606
|
this.items.forEach((item, i2) => {
|
|
@@ -16799,7 +16797,7 @@ class HistoryState {
|
|
|
16799
16797
|
}
|
|
16800
16798
|
}
|
|
16801
16799
|
const DEPTH_OVERFLOW = 20;
|
|
16802
|
-
function applyTransaction(history2,
|
|
16800
|
+
function applyTransaction(history2, state2, tr2, options) {
|
|
16803
16801
|
let historyTr = tr2.getMeta(historyKey), rebased;
|
|
16804
16802
|
if (historyTr)
|
|
16805
16803
|
return historyTr.historyState;
|
|
@@ -16810,14 +16808,14 @@ function applyTransaction(history2, state, tr2, options) {
|
|
|
16810
16808
|
return history2;
|
|
16811
16809
|
} else if (appended && appended.getMeta(historyKey)) {
|
|
16812
16810
|
if (appended.getMeta(historyKey).redo)
|
|
16813
|
-
return new HistoryState(history2.done.addTransform(tr2, void 0, options, mustPreserveItems(
|
|
16811
|
+
return new HistoryState(history2.done.addTransform(tr2, void 0, options, mustPreserveItems(state2)), history2.undone, rangesFor(tr2.mapping.maps[tr2.steps.length - 1]), history2.prevTime, history2.prevComposition);
|
|
16814
16812
|
else
|
|
16815
|
-
return new HistoryState(history2.done, history2.undone.addTransform(tr2, void 0, options, mustPreserveItems(
|
|
16813
|
+
return new HistoryState(history2.done, history2.undone.addTransform(tr2, void 0, options, mustPreserveItems(state2)), null, history2.prevTime, history2.prevComposition);
|
|
16816
16814
|
} else if (tr2.getMeta("addToHistory") !== false && !(appended && appended.getMeta("addToHistory") === false)) {
|
|
16817
16815
|
let composition = tr2.getMeta("composition");
|
|
16818
16816
|
let newGroup = history2.prevTime == 0 || !appended && history2.prevComposition != composition && (history2.prevTime < (tr2.time || 0) - options.newGroupDelay || !isAdjacentTo(tr2, history2.prevRanges));
|
|
16819
16817
|
let prevRanges = appended ? mapRanges(history2.prevRanges, tr2.mapping) : rangesFor(tr2.mapping.maps[tr2.steps.length - 1]);
|
|
16820
|
-
return new HistoryState(history2.done.addTransform(tr2, newGroup ?
|
|
16818
|
+
return new HistoryState(history2.done.addTransform(tr2, newGroup ? state2.selection.getBookmark() : void 0, options, mustPreserveItems(state2)), Branch.empty, prevRanges, tr2.time, composition == null ? history2.prevComposition : composition);
|
|
16821
16819
|
} else if (rebased = tr2.getMeta("rebased")) {
|
|
16822
16820
|
return new HistoryState(history2.done.rebased(tr2, rebased), history2.undone.rebased(tr2, rebased), mapRanges(history2.prevRanges, tr2.mapping), history2.prevTime, history2.prevComposition);
|
|
16823
16821
|
} else {
|
|
@@ -16853,20 +16851,20 @@ function mapRanges(ranges, mapping) {
|
|
|
16853
16851
|
}
|
|
16854
16852
|
return result;
|
|
16855
16853
|
}
|
|
16856
|
-
function histTransaction(history2,
|
|
16857
|
-
let preserveItems = mustPreserveItems(
|
|
16858
|
-
let histOptions = historyKey.get(
|
|
16859
|
-
let pop = (redo2 ? history2.undone : history2.done).popEvent(
|
|
16854
|
+
function histTransaction(history2, state2, dispatch, redo2) {
|
|
16855
|
+
let preserveItems = mustPreserveItems(state2);
|
|
16856
|
+
let histOptions = historyKey.get(state2).spec.config;
|
|
16857
|
+
let pop = (redo2 ? history2.undone : history2.done).popEvent(state2, preserveItems);
|
|
16860
16858
|
if (!pop)
|
|
16861
16859
|
return;
|
|
16862
16860
|
let selection = pop.selection.resolve(pop.transform.doc);
|
|
16863
|
-
let added = (redo2 ? history2.done : history2.undone).addTransform(pop.transform,
|
|
16861
|
+
let added = (redo2 ? history2.done : history2.undone).addTransform(pop.transform, state2.selection.getBookmark(), histOptions, preserveItems);
|
|
16864
16862
|
let newHist = new HistoryState(redo2 ? added : pop.remaining, redo2 ? pop.remaining : added, null, 0, -1);
|
|
16865
16863
|
dispatch(pop.transform.setSelection(selection).setMeta(historyKey, { redo: redo2, historyState: newHist }).scrollIntoView());
|
|
16866
16864
|
}
|
|
16867
16865
|
let cachedPreserveItems = false, cachedPreserveItemsPlugins = null;
|
|
16868
|
-
function mustPreserveItems(
|
|
16869
|
-
let plugins2 =
|
|
16866
|
+
function mustPreserveItems(state2) {
|
|
16867
|
+
let plugins2 = state2.plugins;
|
|
16870
16868
|
if (cachedPreserveItemsPlugins != plugins2) {
|
|
16871
16869
|
cachedPreserveItems = false;
|
|
16872
16870
|
cachedPreserveItemsPlugins = plugins2;
|
|
@@ -16891,8 +16889,8 @@ function history(config = {}) {
|
|
|
16891
16889
|
init() {
|
|
16892
16890
|
return new HistoryState(Branch.empty, Branch.empty, null, 0, -1);
|
|
16893
16891
|
},
|
|
16894
|
-
apply(tr2, hist,
|
|
16895
|
-
return applyTransaction(hist,
|
|
16892
|
+
apply(tr2, hist, state2) {
|
|
16893
|
+
return applyTransaction(hist, state2, tr2, config);
|
|
16896
16894
|
}
|
|
16897
16895
|
},
|
|
16898
16896
|
config,
|
|
@@ -16910,20 +16908,20 @@ function history(config = {}) {
|
|
|
16910
16908
|
}
|
|
16911
16909
|
});
|
|
16912
16910
|
}
|
|
16913
|
-
const undo = (
|
|
16914
|
-
let hist = historyKey.getState(
|
|
16911
|
+
const undo = (state2, dispatch) => {
|
|
16912
|
+
let hist = historyKey.getState(state2);
|
|
16915
16913
|
if (!hist || hist.done.eventCount == 0)
|
|
16916
16914
|
return false;
|
|
16917
16915
|
if (dispatch)
|
|
16918
|
-
histTransaction(hist,
|
|
16916
|
+
histTransaction(hist, state2, dispatch, false);
|
|
16919
16917
|
return true;
|
|
16920
16918
|
};
|
|
16921
|
-
const redo = (
|
|
16922
|
-
let hist = historyKey.getState(
|
|
16919
|
+
const redo = (state2, dispatch) => {
|
|
16920
|
+
let hist = historyKey.getState(state2);
|
|
16923
16921
|
if (!hist || hist.undone.eventCount == 0)
|
|
16924
16922
|
return false;
|
|
16925
16923
|
if (dispatch)
|
|
16926
|
-
histTransaction(hist,
|
|
16924
|
+
histTransaction(hist, state2, dispatch, true);
|
|
16927
16925
|
return true;
|
|
16928
16926
|
};
|
|
16929
16927
|
const pDOM = ["p", 0], blockquoteDOM = ["blockquote", 0], hrDOM = ["hr"], preDOM = ["pre", ["code", 0]], brDOM = ["br"];
|
|
@@ -17116,8 +17114,8 @@ const marks = {
|
|
|
17116
17114
|
}
|
|
17117
17115
|
};
|
|
17118
17116
|
const schema = new Schema({ nodes, marks });
|
|
17119
|
-
const _hoisted_1$
|
|
17120
|
-
const _sfc_main$
|
|
17117
|
+
const _hoisted_1$F = ["id"];
|
|
17118
|
+
const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
17121
17119
|
__name: "RTXEditor",
|
|
17122
17120
|
props: {
|
|
17123
17121
|
elementId: { default: Math.random().toString(36).substr(2, 9) },
|
|
@@ -17138,7 +17136,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17138
17136
|
} catch (err) {
|
|
17139
17137
|
content = { type: "doc", content: [] };
|
|
17140
17138
|
}
|
|
17141
|
-
const
|
|
17139
|
+
const state2 = EditorState.create({
|
|
17142
17140
|
doc: DOMParser.fromSchema(schema).schema.nodeFromJSON(content),
|
|
17143
17141
|
plugins: [
|
|
17144
17142
|
history(),
|
|
@@ -17146,7 +17144,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17146
17144
|
keymap(baseKeymap)
|
|
17147
17145
|
]
|
|
17148
17146
|
});
|
|
17149
|
-
return
|
|
17147
|
+
return state2;
|
|
17150
17148
|
};
|
|
17151
17149
|
function handleChange(newState) {
|
|
17152
17150
|
const dom = document.createElement("div");
|
|
@@ -17155,10 +17153,10 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17155
17153
|
html.value = (dom == null ? void 0 : dom.innerHTML) || "";
|
|
17156
17154
|
emit2("update:modelValue", html.value);
|
|
17157
17155
|
}
|
|
17158
|
-
const createEditorView = (
|
|
17156
|
+
const createEditorView = (state2) => {
|
|
17159
17157
|
const editorDiv = document.getElementById(`canvas-${props2.elementId}`);
|
|
17160
17158
|
view = new EditorView(editorDiv, {
|
|
17161
|
-
state,
|
|
17159
|
+
state: state2,
|
|
17162
17160
|
// editable: () => props.editable,
|
|
17163
17161
|
dispatchTransaction(transaction) {
|
|
17164
17162
|
const newState = view.state.apply(transaction);
|
|
@@ -17171,8 +17169,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17171
17169
|
});
|
|
17172
17170
|
};
|
|
17173
17171
|
function loadContent() {
|
|
17174
|
-
const
|
|
17175
|
-
createEditorView(
|
|
17172
|
+
const state2 = createEditorStateFromHTML(props2.modelValue);
|
|
17173
|
+
createEditorView(state2);
|
|
17176
17174
|
}
|
|
17177
17175
|
vue.watch(
|
|
17178
17176
|
() => props2.modelValue,
|
|
@@ -17194,14 +17192,15 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
17194
17192
|
onClick: focusEditor,
|
|
17195
17193
|
id: `canvas-${_ctx.elementId}`,
|
|
17196
17194
|
onKeydown: _cache[0] || (_cache[0] = vue.withKeys(vue.withModifiers(($event) => _ctx.$emit("keydown.meta.enter"), ["meta"]), ["enter"]))
|
|
17197
|
-
}, null, 40, _hoisted_1$
|
|
17195
|
+
}, null, 40, _hoisted_1$F);
|
|
17198
17196
|
};
|
|
17199
17197
|
}
|
|
17200
17198
|
});
|
|
17201
|
-
const _sfc_main$
|
|
17199
|
+
const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
|
|
17202
17200
|
__name: "MaterialIcon",
|
|
17203
17201
|
props: {
|
|
17204
17202
|
icon: {},
|
|
17203
|
+
name: {},
|
|
17205
17204
|
size: {},
|
|
17206
17205
|
color: {}
|
|
17207
17206
|
},
|
|
@@ -17210,17 +17209,17 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
17210
17209
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17211
17210
|
class: "bgl_icon-font",
|
|
17212
17211
|
style: vue.normalizeStyle({ fontSize: `${_ctx.size}rem`, color: _ctx.color })
|
|
17213
|
-
}, vue.toDisplayString(_ctx.icon), 5);
|
|
17212
|
+
}, vue.toDisplayString(_ctx.icon || _ctx.name), 5);
|
|
17214
17213
|
};
|
|
17215
17214
|
}
|
|
17216
17215
|
});
|
|
17217
|
-
const _hoisted_1$
|
|
17218
|
-
const _hoisted_2$
|
|
17219
|
-
const _hoisted_3$
|
|
17220
|
-
const _hoisted_4$
|
|
17221
|
-
const _hoisted_5$
|
|
17222
|
-
const _hoisted_6$
|
|
17223
|
-
const _sfc_main$
|
|
17216
|
+
const _hoisted_1$E = { class: "full-nav" };
|
|
17217
|
+
const _hoisted_2$x = { class: "nav-scroll" };
|
|
17218
|
+
const _hoisted_3$n = { class: "nav-links-wrapper" };
|
|
17219
|
+
const _hoisted_4$f = { class: "tooltip" };
|
|
17220
|
+
const _hoisted_5$c = { class: "bot-buttons-wrapper" };
|
|
17221
|
+
const _hoisted_6$8 = { class: "tooltip" };
|
|
17222
|
+
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
17224
17223
|
__name: "NavBar",
|
|
17225
17224
|
props: {
|
|
17226
17225
|
footerLinks: { default: () => [] },
|
|
@@ -17244,14 +17243,14 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17244
17243
|
"aria-label": "Toggle Navigation",
|
|
17245
17244
|
tabindex: "0"
|
|
17246
17245
|
}, [
|
|
17247
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17246
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17248
17247
|
icon: "chevron_right",
|
|
17249
17248
|
class: "top-arrow"
|
|
17250
17249
|
})
|
|
17251
17250
|
], 32),
|
|
17252
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
17253
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
17254
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
17251
|
+
vue.createElementVNode("div", _hoisted_1$E, [
|
|
17252
|
+
vue.createElementVNode("div", _hoisted_2$x, [
|
|
17253
|
+
vue.createElementVNode("div", _hoisted_3$n, [
|
|
17255
17254
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.links, (link) => {
|
|
17256
17255
|
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(link.to ? "router-link" : "div"), {
|
|
17257
17256
|
class: "nav-button",
|
|
@@ -17263,17 +17262,17 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17263
17262
|
}
|
|
17264
17263
|
}, {
|
|
17265
17264
|
default: vue.withCtx(() => [
|
|
17266
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17265
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17267
17266
|
icon: link.icon
|
|
17268
17267
|
}, null, 8, ["icon"]),
|
|
17269
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
17268
|
+
vue.createElementVNode("div", _hoisted_4$f, vue.toDisplayString(link.label), 1)
|
|
17270
17269
|
]),
|
|
17271
17270
|
_: 2
|
|
17272
17271
|
}, 1032, ["to", "onClick"]);
|
|
17273
17272
|
}), 128))
|
|
17274
17273
|
])
|
|
17275
17274
|
]),
|
|
17276
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
17275
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
17277
17276
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.footerLinks, (link) => {
|
|
17278
17277
|
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(link.to ? "router-link" : "div"), {
|
|
17279
17278
|
class: "nav-button",
|
|
@@ -17285,10 +17284,10 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
|
17285
17284
|
key: link.label
|
|
17286
17285
|
}, {
|
|
17287
17286
|
default: vue.withCtx(() => [
|
|
17288
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17287
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17289
17288
|
icon: link.icon
|
|
17290
17289
|
}, null, 8, ["icon"]),
|
|
17291
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
17290
|
+
vue.createElementVNode("div", _hoisted_6$8, vue.toDisplayString(link.label), 1)
|
|
17292
17291
|
]),
|
|
17293
17292
|
_: 2
|
|
17294
17293
|
}, 1032, ["to", "onClick"]);
|
|
@@ -17307,16 +17306,16 @@ const _export_sfc = (sfc, props2) => {
|
|
|
17307
17306
|
}
|
|
17308
17307
|
return target;
|
|
17309
17308
|
};
|
|
17310
|
-
const NavBar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17311
|
-
const _hoisted_1$
|
|
17309
|
+
const NavBar = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-727b754a"]]);
|
|
17310
|
+
const _hoisted_1$D = {
|
|
17312
17311
|
key: 0,
|
|
17313
17312
|
class: "loading"
|
|
17314
17313
|
};
|
|
17315
|
-
const _hoisted_2$
|
|
17314
|
+
const _hoisted_2$w = {
|
|
17316
17315
|
key: 1,
|
|
17317
17316
|
class: "bgl_btn-flex"
|
|
17318
17317
|
};
|
|
17319
|
-
const _sfc_main$
|
|
17318
|
+
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
17320
17319
|
__name: "Btn",
|
|
17321
17320
|
props: {
|
|
17322
17321
|
disabled: { type: Boolean, default: false },
|
|
@@ -17402,8 +17401,8 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17402
17401
|
})
|
|
17403
17402
|
}, {
|
|
17404
17403
|
default: vue.withCtx(() => [
|
|
17405
|
-
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17406
|
-
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
17404
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [
|
|
17405
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
17407
17406
|
key: 0,
|
|
17408
17407
|
icon: _ctx.icon
|
|
17409
17408
|
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
@@ -17411,7 +17410,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17411
17410
|
!vue.unref(slots)["default"] && _ctx.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
17412
17411
|
vue.createTextVNode(vue.toDisplayString(_ctx.value), 1)
|
|
17413
17412
|
], 64)) : vue.createCommentVNode("", true),
|
|
17414
|
-
props2["icon.end"] ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
17413
|
+
props2["icon.end"] ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
17415
17414
|
key: 2,
|
|
17416
17415
|
icon: props2["icon.end"]
|
|
17417
17416
|
}, null, 8, ["icon"])) : vue.createCommentVNode("", true)
|
|
@@ -17422,10 +17421,10 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
17422
17421
|
};
|
|
17423
17422
|
}
|
|
17424
17423
|
});
|
|
17425
|
-
const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17426
|
-
const _hoisted_1$
|
|
17427
|
-
const _hoisted_2$
|
|
17428
|
-
const _sfc_main$
|
|
17424
|
+
const Btn = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-0c8d9a95"]]);
|
|
17425
|
+
const _hoisted_1$C = { class: "tool-bar" };
|
|
17426
|
+
const _hoisted_2$v = { class: "modal-footer mt-3" };
|
|
17427
|
+
const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
|
|
17429
17428
|
__name: "Modal",
|
|
17430
17429
|
props: {
|
|
17431
17430
|
side: { type: Boolean },
|
|
@@ -17466,13 +17465,13 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17466
17465
|
onClick: _cache[1] || (_cache[1] = () => _ctx.dismissable ? closeModal() : ""),
|
|
17467
17466
|
onKeydown: vue.withKeys(closeModal, ["esc"])
|
|
17468
17467
|
}, [
|
|
17469
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17468
|
+
vue.createVNode(vue.unref(_sfc_main$t), {
|
|
17470
17469
|
class: "modal",
|
|
17471
17470
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
17472
17471
|
}, ["stop"]))
|
|
17473
17472
|
}, {
|
|
17474
17473
|
default: vue.withCtx(() => [
|
|
17475
|
-
vue.createElementVNode("header", _hoisted_1$
|
|
17474
|
+
vue.createElementVNode("header", _hoisted_1$C, [
|
|
17476
17475
|
vue.renderSlot(_ctx.$slots, "toolbar"),
|
|
17477
17476
|
vue.createVNode(vue.unref(Btn), {
|
|
17478
17477
|
style: vue.normalizeStyle({ float: _ctx.side ? "left" : "right" }),
|
|
@@ -17480,7 +17479,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17480
17479
|
icon: "close",
|
|
17481
17480
|
onClick: closeModal
|
|
17482
17481
|
}, null, 8, ["style"]),
|
|
17483
|
-
_ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
17482
|
+
_ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$r), {
|
|
17484
17483
|
key: 0,
|
|
17485
17484
|
class: "modal-title",
|
|
17486
17485
|
tag: "h3",
|
|
@@ -17488,7 +17487,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17488
17487
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true)
|
|
17489
17488
|
]),
|
|
17490
17489
|
vue.renderSlot(_ctx.$slots, "default"),
|
|
17491
|
-
vue.createElementVNode("footer", _hoisted_2$
|
|
17490
|
+
vue.createElementVNode("footer", _hoisted_2$v, [
|
|
17492
17491
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.actions, (action, i2) => {
|
|
17493
17492
|
return vue.openBlock(), vue.createBlock(vue.unref(Btn), vue.mergeProps({
|
|
17494
17493
|
key: i2,
|
|
@@ -17505,7 +17504,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
17505
17504
|
};
|
|
17506
17505
|
}
|
|
17507
17506
|
});
|
|
17508
|
-
const _sfc_main$
|
|
17507
|
+
const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
17509
17508
|
__name: "ModalForm",
|
|
17510
17509
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
17511
17510
|
side: { type: Boolean },
|
|
@@ -17562,7 +17561,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17562
17561
|
}
|
|
17563
17562
|
__expose({ setFormValues });
|
|
17564
17563
|
return (_ctx, _cache) => {
|
|
17565
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
17564
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$E), {
|
|
17566
17565
|
"onOnUpdate:isModalVisible": props2["onUpdate:isModalVisible"],
|
|
17567
17566
|
side: _ctx.side,
|
|
17568
17567
|
ref_key: "modal",
|
|
@@ -17571,7 +17570,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17571
17570
|
title: _ctx.title
|
|
17572
17571
|
}, vue.createSlots({
|
|
17573
17572
|
default: vue.withCtx(() => [
|
|
17574
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17573
|
+
vue.createVNode(vue.unref(_sfc_main$l), {
|
|
17575
17574
|
onSubmit: runSubmit,
|
|
17576
17575
|
ref_key: "form",
|
|
17577
17576
|
ref: form,
|
|
@@ -17613,12 +17612,12 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
17613
17612
|
};
|
|
17614
17613
|
}
|
|
17615
17614
|
});
|
|
17616
|
-
const ModalForm = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17617
|
-
const _hoisted_1$
|
|
17618
|
-
const _hoisted_2$
|
|
17619
|
-
const _hoisted_3$
|
|
17620
|
-
const _hoisted_4$
|
|
17621
|
-
const _sfc_main$
|
|
17615
|
+
const ModalForm = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-7e6899c7"]]);
|
|
17616
|
+
const _hoisted_1$B = { class: "accordion-item" };
|
|
17617
|
+
const _hoisted_2$u = ["aria-expanded", "aria-controls"];
|
|
17618
|
+
const _hoisted_3$m = { class: "accordion-label" };
|
|
17619
|
+
const _hoisted_4$e = ["id", "aria-hidden"];
|
|
17620
|
+
const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
17622
17621
|
__name: "AccordionItem",
|
|
17623
17622
|
props: {
|
|
17624
17623
|
label: {},
|
|
@@ -17642,20 +17641,20 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
17642
17641
|
accordionState.openItem = null;
|
|
17643
17642
|
}
|
|
17644
17643
|
return (_ctx, _cache) => {
|
|
17645
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17644
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
|
|
17646
17645
|
vue.createElementVNode("button", {
|
|
17647
17646
|
onClick: _cache[0] || (_cache[0] = ($event) => toggle()),
|
|
17648
17647
|
"aria-expanded": vue.unref(open) ? "true" : "false",
|
|
17649
17648
|
class: "accordion-head",
|
|
17650
17649
|
"aria-controls": `accordion-body-${vue.unref(id)}`
|
|
17651
17650
|
}, [
|
|
17652
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
17651
|
+
vue.createElementVNode("span", _hoisted_3$m, vue.toDisplayString(_ctx.label), 1),
|
|
17653
17652
|
vue.createElementVNode("div", {
|
|
17654
17653
|
class: vue.normalizeClass(["accordion-icon", { open: vue.unref(open) }])
|
|
17655
17654
|
}, [
|
|
17656
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17655
|
+
vue.createVNode(vue.unref(_sfc_main$H), { icon: "expand_more" })
|
|
17657
17656
|
], 2)
|
|
17658
|
-
], 8, _hoisted_2$
|
|
17657
|
+
], 8, _hoisted_2$u),
|
|
17659
17658
|
vue.createVNode(vue.Transition, { name: "expand" }, {
|
|
17660
17659
|
default: vue.withCtx(() => [
|
|
17661
17660
|
vue.unref(open) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -17665,7 +17664,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
17665
17664
|
"aria-hidden": vue.unref(open) ? "false" : "true"
|
|
17666
17665
|
}, [
|
|
17667
17666
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
17668
|
-
], 8, _hoisted_4$
|
|
17667
|
+
], 8, _hoisted_4$e)) : vue.createCommentVNode("", true)
|
|
17669
17668
|
]),
|
|
17670
17669
|
_: 3
|
|
17671
17670
|
})
|
|
@@ -17673,28 +17672,28 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
17673
17672
|
};
|
|
17674
17673
|
}
|
|
17675
17674
|
});
|
|
17676
|
-
const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17677
|
-
const _hoisted_1$
|
|
17678
|
-
const _hoisted_2$
|
|
17679
|
-
const _hoisted_3$
|
|
17680
|
-
const _sfc_main$
|
|
17675
|
+
const AccordionItem = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-bf74738b"]]);
|
|
17676
|
+
const _hoisted_1$A = { class: "list-wrap bgl_card thin grid overflow-hidden h-100 p-0" };
|
|
17677
|
+
const _hoisted_2$t = { class: "p-1" };
|
|
17678
|
+
const _hoisted_3$l = { class: "list-content auto-flow-rows align-items-start overflow-y h-100" };
|
|
17679
|
+
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
17681
17680
|
__name: "ListView",
|
|
17682
17681
|
setup(__props) {
|
|
17683
17682
|
return (_ctx, _cache) => {
|
|
17684
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17685
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
17683
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$A, [
|
|
17684
|
+
vue.createElementVNode("div", _hoisted_2$t, [
|
|
17686
17685
|
vue.renderSlot(_ctx.$slots, "header")
|
|
17687
17686
|
]),
|
|
17688
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
17687
|
+
vue.createElementVNode("div", _hoisted_3$l, [
|
|
17689
17688
|
vue.renderSlot(_ctx.$slots, "default")
|
|
17690
17689
|
])
|
|
17691
17690
|
]);
|
|
17692
17691
|
};
|
|
17693
17692
|
}
|
|
17694
17693
|
});
|
|
17695
|
-
const _hoisted_1$
|
|
17696
|
-
const _hoisted_2$
|
|
17697
|
-
const _sfc_main$
|
|
17694
|
+
const _hoisted_1$z = { class: "txt16 no-margin ellipsis" };
|
|
17695
|
+
const _hoisted_2$s = { class: "txt14 no-margin txt-gray ellipsis" };
|
|
17696
|
+
const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
17698
17697
|
__name: "ListItem",
|
|
17699
17698
|
props: {
|
|
17700
17699
|
src: {},
|
|
@@ -17718,11 +17717,11 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17718
17717
|
size: 40
|
|
17719
17718
|
}, null, 8, ["name", "src"])) : vue.createCommentVNode("", true),
|
|
17720
17719
|
vue.createElementVNode("div", null, [
|
|
17721
|
-
vue.createElementVNode("p", _hoisted_1$
|
|
17720
|
+
vue.createElementVNode("p", _hoisted_1$z, [
|
|
17722
17721
|
vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1),
|
|
17723
17722
|
vue.renderSlot(_ctx.$slots, "default")
|
|
17724
17723
|
]),
|
|
17725
|
-
vue.createElementVNode("p", _hoisted_2$
|
|
17724
|
+
vue.createElementVNode("p", _hoisted_2$s, [
|
|
17726
17725
|
vue.createTextVNode(vue.toDisplayString(_ctx.subtitle) + " ", 1),
|
|
17727
17726
|
vue.renderSlot(_ctx.$slots, "subtitle")
|
|
17728
17727
|
])
|
|
@@ -17733,81 +17732,15 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
17733
17732
|
};
|
|
17734
17733
|
}
|
|
17735
17734
|
});
|
|
17736
|
-
const _hoisted_1$
|
|
17737
|
-
const _hoisted_2$s = { class: "tabs grid auto-flow-columns fit-content" };
|
|
17738
|
-
const _hoisted_3$l = ["onClick"];
|
|
17739
|
-
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
17740
|
-
__name: "TabbedLayout",
|
|
17741
|
-
props: {
|
|
17742
|
-
title: {},
|
|
17743
|
-
tabs: {},
|
|
17744
|
-
modelValue: {},
|
|
17745
|
-
router: {},
|
|
17746
|
-
sideTabs: { type: Boolean }
|
|
17747
|
-
},
|
|
17748
|
-
emits: ["update:modelValue"],
|
|
17749
|
-
setup(__props, { emit: __emit }) {
|
|
17750
|
-
const emit2 = __emit;
|
|
17751
|
-
let activeTab = vue.ref();
|
|
17752
|
-
const props2 = __props;
|
|
17753
|
-
function changeTab(tab) {
|
|
17754
|
-
var _a2;
|
|
17755
|
-
activeTab.value = tab;
|
|
17756
|
-
emit2("update:modelValue", activeTab.value);
|
|
17757
|
-
if (!props2.router)
|
|
17758
|
-
return;
|
|
17759
|
-
void ((_a2 = props2.router) == null ? void 0 : _a2.push({
|
|
17760
|
-
path: props2.router.currentRoute.value.path,
|
|
17761
|
-
query: { ...props2.router.currentRoute.value.query, t: tab },
|
|
17762
|
-
hash: props2.router.currentRoute.value.hash
|
|
17763
|
-
}));
|
|
17764
|
-
}
|
|
17765
|
-
vue.onMounted(() => {
|
|
17766
|
-
var _a2;
|
|
17767
|
-
const firstTab = props2.modelValue || ((_a2 = props2.router) == null ? void 0 : _a2.currentRoute.value.query.t) || props2.tabs[0];
|
|
17768
|
-
activeTab.value = firstTab;
|
|
17769
|
-
});
|
|
17770
|
-
return (_ctx, _cache) => {
|
|
17771
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17772
|
-
class: vue.normalizeClass(["h-100 grid list-view gap-1", { "side-tabs": _ctx.sideTabs }])
|
|
17773
|
-
}, [
|
|
17774
|
-
vue.createElementVNode("div", _hoisted_1$B, [
|
|
17775
|
-
vue.renderSlot(_ctx.$slots, "top-section", {}, void 0, true),
|
|
17776
|
-
vue.createElementVNode("div", _hoisted_2$s, [
|
|
17777
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab) => {
|
|
17778
|
-
var _a2;
|
|
17779
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17780
|
-
class: vue.normalizeClass([{
|
|
17781
|
-
active: tab === vue.unref(activeTab) || tab === ((_a2 = _ctx.router) == null ? void 0 : _a2.currentRoute.value.path.split("/").slice(-1)[0])
|
|
17782
|
-
}, "tab"]),
|
|
17783
|
-
key: tab,
|
|
17784
|
-
onClick: ($event) => changeTab(tab)
|
|
17785
|
-
}, vue.toDisplayString(tab), 11, _hoisted_3$l);
|
|
17786
|
-
}), 128))
|
|
17787
|
-
])
|
|
17788
|
-
]),
|
|
17789
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs.filter((item) => item === vue.unref(activeTab)), (tab) => {
|
|
17790
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17791
|
-
class: "list-content",
|
|
17792
|
-
key: tab
|
|
17793
|
-
}, [
|
|
17794
|
-
vue.renderSlot(_ctx.$slots, tab, { key: tab }, void 0, true)
|
|
17795
|
-
]);
|
|
17796
|
-
}), 128))
|
|
17797
|
-
], 2);
|
|
17798
|
-
};
|
|
17799
|
-
}
|
|
17800
|
-
});
|
|
17801
|
-
const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-37337215"]]);
|
|
17802
|
-
const _hoisted_1$A = { class: "comments-wrap" };
|
|
17735
|
+
const _hoisted_1$y = { class: "comments-wrap" };
|
|
17803
17736
|
const _hoisted_2$r = { class: "comment-list" };
|
|
17804
17737
|
const _hoisted_3$k = { class: "comment-top" };
|
|
17805
|
-
const _hoisted_4$
|
|
17806
|
-
const _hoisted_5$
|
|
17807
|
-
const _hoisted_6$
|
|
17808
|
-
const _hoisted_7$
|
|
17809
|
-
const _hoisted_8$
|
|
17810
|
-
const _sfc_main$
|
|
17738
|
+
const _hoisted_4$d = { class: "comment-owner" };
|
|
17739
|
+
const _hoisted_5$b = { class: "comment-time" };
|
|
17740
|
+
const _hoisted_6$7 = { class: "comment-actions" };
|
|
17741
|
+
const _hoisted_7$3 = ["innerHTML"];
|
|
17742
|
+
const _hoisted_8$1 = { class: "new-comment" };
|
|
17743
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
17811
17744
|
__name: "Comments",
|
|
17812
17745
|
props: {
|
|
17813
17746
|
ref_table: {},
|
|
@@ -17850,7 +17783,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17850
17783
|
void fetchData();
|
|
17851
17784
|
};
|
|
17852
17785
|
return (_ctx, _cache) => {
|
|
17853
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17786
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
|
|
17854
17787
|
vue.createElementVNode("div", _hoisted_2$r, [
|
|
17855
17788
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(comments), (comment) => {
|
|
17856
17789
|
var _a2, _b, _c;
|
|
@@ -17862,22 +17795,22 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17862
17795
|
key: comment.id
|
|
17863
17796
|
}, [
|
|
17864
17797
|
vue.createElementVNode("div", _hoisted_3$k, [
|
|
17865
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
17866
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
17867
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
17868
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17798
|
+
vue.createElementVNode("div", _hoisted_4$d, vue.toDisplayString(comment.sender.first_name) + " " + vue.toDisplayString(comment.sender.last_name), 1),
|
|
17799
|
+
vue.createElementVNode("div", _hoisted_5$b, vue.toDisplayString(comment.updated_at.split("T")[0]), 1),
|
|
17800
|
+
vue.createElementVNode("div", _hoisted_6$7, [
|
|
17801
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17869
17802
|
size: 1,
|
|
17870
17803
|
class: "edit",
|
|
17871
17804
|
icon: "edit",
|
|
17872
17805
|
onClick: ($event) => vue.isRef(editComment) ? editComment.value = comment : editComment = comment
|
|
17873
17806
|
}, null, 8, ["onClick"]),
|
|
17874
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17807
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17875
17808
|
size: 1.2,
|
|
17876
17809
|
class: "delete",
|
|
17877
17810
|
icon: "delete",
|
|
17878
17811
|
onClick: ($event) => deleteComment(comment.id)
|
|
17879
17812
|
}, null, 8, ["onClick"]),
|
|
17880
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17813
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
17881
17814
|
size: 1.2,
|
|
17882
17815
|
class: "save",
|
|
17883
17816
|
icon: "save",
|
|
@@ -17885,7 +17818,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17885
17818
|
})
|
|
17886
17819
|
])
|
|
17887
17820
|
]),
|
|
17888
|
-
vue.unref(editComment) !== null && ((_c = vue.unref(editComment)) == null ? void 0 : _c.id) === comment.id ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
17821
|
+
vue.unref(editComment) !== null && ((_c = vue.unref(editComment)) == null ? void 0 : _c.id) === comment.id ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$I), {
|
|
17889
17822
|
key: 0,
|
|
17890
17823
|
modelValue: vue.unref(editComment).body_html,
|
|
17891
17824
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(editComment).body_html = $event),
|
|
@@ -17894,12 +17827,12 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17894
17827
|
key: 1,
|
|
17895
17828
|
class: "editor-wrapper",
|
|
17896
17829
|
innerHTML: comment.body_html
|
|
17897
|
-
}, null, 8, _hoisted_7$
|
|
17830
|
+
}, null, 8, _hoisted_7$3))
|
|
17898
17831
|
], 2);
|
|
17899
17832
|
}), 128))
|
|
17900
17833
|
]),
|
|
17901
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
17902
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17834
|
+
vue.createElementVNode("div", _hoisted_8$1, [
|
|
17835
|
+
vue.createVNode(vue.unref(_sfc_main$I), {
|
|
17903
17836
|
class: "comment-input",
|
|
17904
17837
|
modelValue: vue.unref(bodyHtml),
|
|
17905
17838
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(bodyHtml) ? bodyHtml.value = $event : bodyHtml = $event),
|
|
@@ -17919,10 +17852,10 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17919
17852
|
};
|
|
17920
17853
|
}
|
|
17921
17854
|
});
|
|
17922
|
-
const Comments = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
17923
|
-
const _hoisted_1$
|
|
17855
|
+
const Comments = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-c4b41dc0"]]);
|
|
17856
|
+
const _hoisted_1$x = { class: "page-top" };
|
|
17924
17857
|
const _hoisted_2$q = { class: "top-title" };
|
|
17925
|
-
const _sfc_main$
|
|
17858
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
17926
17859
|
__name: "PageTitle",
|
|
17927
17860
|
props: {
|
|
17928
17861
|
value: {
|
|
@@ -17932,7 +17865,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
17932
17865
|
},
|
|
17933
17866
|
setup(__props) {
|
|
17934
17867
|
return (_ctx, _cache) => {
|
|
17935
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17868
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
|
|
17936
17869
|
vue.createElementVNode("h1", _hoisted_2$q, [
|
|
17937
17870
|
vue.renderSlot(_ctx.$slots, "default"),
|
|
17938
17871
|
vue.createTextVNode(" " + vue.toDisplayString(__props.value), 1)
|
|
@@ -17941,14 +17874,14 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
17941
17874
|
};
|
|
17942
17875
|
}
|
|
17943
17876
|
});
|
|
17944
|
-
const _hoisted_1$
|
|
17877
|
+
const _hoisted_1$w = { class: "table-list-wrap h-100" };
|
|
17945
17878
|
const _hoisted_2$p = { class: "infinite-wrapper" };
|
|
17946
17879
|
const _hoisted_3$j = { class: "row first-row" };
|
|
17947
|
-
const _hoisted_4$
|
|
17948
|
-
const _hoisted_5$
|
|
17949
|
-
const _hoisted_6$
|
|
17950
|
-
const _hoisted_7$
|
|
17951
|
-
const _sfc_main$
|
|
17880
|
+
const _hoisted_4$c = ["onClick"];
|
|
17881
|
+
const _hoisted_5$a = { class: "flex" };
|
|
17882
|
+
const _hoisted_6$6 = ["onClick"];
|
|
17883
|
+
const _hoisted_7$2 = { key: 1 };
|
|
17884
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
17952
17885
|
__name: "TableSchema",
|
|
17953
17886
|
props: {
|
|
17954
17887
|
data: {},
|
|
@@ -17982,7 +17915,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
17982
17915
|
emit2("orderBy", `${fieldname} ${sortDirection.value}`.trim());
|
|
17983
17916
|
};
|
|
17984
17917
|
return (_ctx, _cache) => {
|
|
17985
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17918
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
|
|
17986
17919
|
vue.createElementVNode("table", _hoisted_2$p, [
|
|
17987
17920
|
vue.createElementVNode("thead", _hoisted_3$j, [
|
|
17988
17921
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedSchema.value, (field) => {
|
|
@@ -17991,18 +17924,18 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
17991
17924
|
key: field.id,
|
|
17992
17925
|
onClick: ($event) => sort2((field == null ? void 0 : field.id) || "")
|
|
17993
17926
|
}, [
|
|
17994
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
17927
|
+
vue.createElementVNode("div", _hoisted_5$a, [
|
|
17995
17928
|
vue.createTextVNode(vue.toDisplayString(field.label || vue.unref(keyToLabel)(field.id)) + " ", 1),
|
|
17996
17929
|
vue.createElementVNode("div", {
|
|
17997
17930
|
class: vue.normalizeClass(["list-arrows", { sorted: vue.unref(sortField) === field.id }])
|
|
17998
17931
|
}, [
|
|
17999
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17932
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
18000
17933
|
class: vue.normalizeClass({ desc: vue.unref(sortDirection) === "DESC" }),
|
|
18001
17934
|
icon: "keyboard_arrow_up"
|
|
18002
17935
|
}, null, 8, ["class"])
|
|
18003
17936
|
], 2)
|
|
18004
17937
|
])
|
|
18005
|
-
], 8, _hoisted_4$
|
|
17938
|
+
], 8, _hoisted_4$c);
|
|
18006
17939
|
}), 128))
|
|
18007
17940
|
]),
|
|
18008
17941
|
vue.createElementVNode("tbody", {
|
|
@@ -18024,15 +17957,15 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18024
17957
|
key: 0,
|
|
18025
17958
|
row,
|
|
18026
17959
|
field
|
|
18027
|
-
}, void 0, true) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$
|
|
18028
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
17960
|
+
}, void 0, true) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
|
|
17961
|
+
vue.createVNode(vue.unref(_sfc_main$k), {
|
|
18029
17962
|
field,
|
|
18030
17963
|
modelValue: row
|
|
18031
17964
|
}, null, 8, ["field", "modelValue"])
|
|
18032
17965
|
]))
|
|
18033
17966
|
]);
|
|
18034
17967
|
}), 128))
|
|
18035
|
-
], 8, _hoisted_6$
|
|
17968
|
+
], 8, _hoisted_6$6);
|
|
18036
17969
|
}), 128))
|
|
18037
17970
|
], 2)
|
|
18038
17971
|
])
|
|
@@ -18040,16 +17973,16 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
18040
17973
|
};
|
|
18041
17974
|
}
|
|
18042
17975
|
});
|
|
18043
|
-
const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18044
|
-
const _sfc_main$
|
|
18045
|
-
const _hoisted_1$
|
|
17976
|
+
const TableSchema = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-f3641508"]]);
|
|
17977
|
+
const _sfc_main$w = {};
|
|
17978
|
+
const _hoisted_1$v = { class: "flex space-between" };
|
|
18046
17979
|
function _sfc_render$1(_ctx, _cache) {
|
|
18047
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
17980
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
|
|
18048
17981
|
vue.renderSlot(_ctx.$slots, "default")
|
|
18049
17982
|
]);
|
|
18050
17983
|
}
|
|
18051
|
-
const TopBar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18052
|
-
const _sfc_main$
|
|
17984
|
+
const TopBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$1]]);
|
|
17985
|
+
const _sfc_main$v = {};
|
|
18053
17986
|
function _sfc_render(_ctx, _cache) {
|
|
18054
17987
|
const _component_router_view = vue.resolveComponent("router-view");
|
|
18055
17988
|
return vue.openBlock(), vue.createBlock(_component_router_view, null, {
|
|
@@ -18071,8 +18004,8 @@ function _sfc_render(_ctx, _cache) {
|
|
|
18071
18004
|
_: 1
|
|
18072
18005
|
});
|
|
18073
18006
|
}
|
|
18074
|
-
const RouterWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18075
|
-
const _hoisted_1$
|
|
18007
|
+
const RouterWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render]]);
|
|
18008
|
+
const _hoisted_1$u = {
|
|
18076
18009
|
key: 0,
|
|
18077
18010
|
class: "data"
|
|
18078
18011
|
};
|
|
@@ -18081,10 +18014,10 @@ const _hoisted_2$o = {
|
|
|
18081
18014
|
class: "data-row"
|
|
18082
18015
|
};
|
|
18083
18016
|
const _hoisted_3$i = { class: "key" };
|
|
18084
|
-
const _hoisted_4$
|
|
18085
|
-
const _hoisted_5$
|
|
18086
|
-
const _hoisted_6$
|
|
18087
|
-
const _sfc_main$
|
|
18017
|
+
const _hoisted_4$b = { key: 1 };
|
|
18018
|
+
const _hoisted_5$9 = { class: "key" };
|
|
18019
|
+
const _hoisted_6$5 = { class: "vlue" };
|
|
18020
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
18088
18021
|
__name: "DataPreview",
|
|
18089
18022
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
18090
18023
|
schema: {},
|
|
@@ -18098,8 +18031,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18098
18031
|
const itemData = vue.useModel(__props, "data");
|
|
18099
18032
|
return (_ctx, _cache) => {
|
|
18100
18033
|
var _a2;
|
|
18101
|
-
return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18102
|
-
_ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18034
|
+
return __props.data ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$u, [
|
|
18035
|
+
_ctx.title ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$r), {
|
|
18103
18036
|
key: 0,
|
|
18104
18037
|
label: _ctx.title
|
|
18105
18038
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true),
|
|
@@ -18109,7 +18042,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18109
18042
|
}, [
|
|
18110
18043
|
vue.unref(iffer)(field, itemData.value) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$o, [
|
|
18111
18044
|
vue.createElementVNode("div", _hoisted_3$i, vue.toDisplayString((field == null ? void 0 : field.label) || vue.unref(keyToLabel)(field.id)), 1),
|
|
18112
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
18045
|
+
vue.createVNode(vue.unref(_sfc_main$k), {
|
|
18113
18046
|
field,
|
|
18114
18047
|
modelValue: itemData.value,
|
|
18115
18048
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => itemData.value = $event)
|
|
@@ -18117,14 +18050,14 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18117
18050
|
])) : vue.createCommentVNode("", true)
|
|
18118
18051
|
], 64);
|
|
18119
18052
|
}), 128)),
|
|
18120
|
-
!((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
18053
|
+
!((_a2 = _ctx.schema) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
|
|
18121
18054
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.entries(itemData.value), ([key, value]) => {
|
|
18122
18055
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
18123
18056
|
class: "data-row",
|
|
18124
18057
|
key
|
|
18125
18058
|
}, [
|
|
18126
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
18127
|
-
vue.createElementVNode("div", _hoisted_6$
|
|
18059
|
+
vue.createElementVNode("div", _hoisted_5$9, vue.toDisplayString(vue.unref(keyToLabel)(key)), 1),
|
|
18060
|
+
vue.createElementVNode("div", _hoisted_6$5, vue.toDisplayString(value), 1)
|
|
18128
18061
|
]);
|
|
18129
18062
|
}), 128))
|
|
18130
18063
|
])) : vue.createCommentVNode("", true),
|
|
@@ -18133,8 +18066,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
18133
18066
|
};
|
|
18134
18067
|
}
|
|
18135
18068
|
});
|
|
18136
|
-
const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18137
|
-
const _sfc_main$
|
|
18069
|
+
const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-bb2526f9"]]);
|
|
18070
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
18138
18071
|
__name: "Card",
|
|
18139
18072
|
props: {
|
|
18140
18073
|
thin: { type: Boolean },
|
|
@@ -18161,8 +18094,8 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
18161
18094
|
};
|
|
18162
18095
|
}
|
|
18163
18096
|
});
|
|
18164
|
-
const _hoisted_1$
|
|
18165
|
-
const _sfc_main$
|
|
18097
|
+
const _hoisted_1$t = ["src", "alt"];
|
|
18098
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
18166
18099
|
__name: "Avatar",
|
|
18167
18100
|
props: {
|
|
18168
18101
|
fallback: {},
|
|
@@ -18180,7 +18113,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
18180
18113
|
key: 0,
|
|
18181
18114
|
src: _ctx.src,
|
|
18182
18115
|
alt: _ctx.name
|
|
18183
|
-
}, null, 8, _hoisted_1$
|
|
18116
|
+
}, null, 8, _hoisted_1$t)) : (vue.openBlock(), vue.createElementBlock("p", {
|
|
18184
18117
|
key: 1,
|
|
18185
18118
|
style: vue.normalizeStyle({ "line-height": `${_ctx.size}px`, "font-size": `calc(1.5rem * ${_ctx.size} / 50)` })
|
|
18186
18119
|
}, vue.toDisplayString(_ctx.fallback || vue.unref(initials)(_ctx.name || "")), 5))
|
|
@@ -18188,8 +18121,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
18188
18121
|
};
|
|
18189
18122
|
}
|
|
18190
18123
|
});
|
|
18191
|
-
const Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18192
|
-
const _sfc_main$
|
|
18124
|
+
const Avatar = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-c38bc02a"]]);
|
|
18125
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
18193
18126
|
__name: "Title",
|
|
18194
18127
|
props: {
|
|
18195
18128
|
value: {
|
|
@@ -18217,13 +18150,13 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
18217
18150
|
};
|
|
18218
18151
|
}
|
|
18219
18152
|
});
|
|
18220
|
-
const _sfc_main$
|
|
18153
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
18221
18154
|
__name: "Accordion",
|
|
18222
18155
|
setup(__props) {
|
|
18223
|
-
const
|
|
18156
|
+
const state2 = vue.reactive({
|
|
18224
18157
|
openItem: null
|
|
18225
18158
|
});
|
|
18226
|
-
vue.provide("accordionState",
|
|
18159
|
+
vue.provide("accordionState", state2);
|
|
18227
18160
|
return (_ctx, _cache) => {
|
|
18228
18161
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
18229
18162
|
vue.renderSlot(_ctx.$slots, "default")
|
|
@@ -18231,159 +18164,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
18231
18164
|
};
|
|
18232
18165
|
}
|
|
18233
18166
|
});
|
|
18234
|
-
const _hoisted_1$
|
|
18235
|
-
const _sfc_main$
|
|
18236
|
-
__name: "ComboBox",
|
|
18237
|
-
props: {
|
|
18238
|
-
options: {},
|
|
18239
|
-
placeholder: {},
|
|
18240
|
-
disabled: { type: Boolean },
|
|
18241
|
-
modelValue: {},
|
|
18242
|
-
searchable: { type: Boolean },
|
|
18243
|
-
required: { type: Boolean },
|
|
18244
|
-
label: {},
|
|
18245
|
-
fullWidth: { type: Boolean }
|
|
18246
|
-
},
|
|
18247
|
-
emits: ["update:modelValue"],
|
|
18248
|
-
setup(__props, { emit: __emit }) {
|
|
18249
|
-
let open = vue.ref(false);
|
|
18250
|
-
const searchInput = vue.ref(null);
|
|
18251
|
-
const props2 = __props;
|
|
18252
|
-
let selectedItem = vue.ref();
|
|
18253
|
-
let search = vue.ref("");
|
|
18254
|
-
const toggle = () => {
|
|
18255
|
-
open.value = !open.value;
|
|
18256
|
-
if (!open.value)
|
|
18257
|
-
search.value = "";
|
|
18258
|
-
if (open.value)
|
|
18259
|
-
setTimeout(() => {
|
|
18260
|
-
var _a2, _b, _c;
|
|
18261
|
-
return (_c = (_b = (_a2 = searchInput.value) == null ? void 0 : _a2.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
|
|
18262
|
-
}, 100);
|
|
18263
|
-
};
|
|
18264
|
-
const valueToLabel = (value) => {
|
|
18265
|
-
if (!value)
|
|
18266
|
-
return "";
|
|
18267
|
-
const option2 = props2.options.find((option22) => {
|
|
18268
|
-
if (typeof option22 === "string" || typeof option22 === "number")
|
|
18269
|
-
return option22 === value;
|
|
18270
|
-
return option22.value === value;
|
|
18271
|
-
});
|
|
18272
|
-
if (!option2)
|
|
18273
|
-
return value;
|
|
18274
|
-
return getLabel(option2);
|
|
18275
|
-
};
|
|
18276
|
-
const emit2 = __emit;
|
|
18277
|
-
const getLabel = (option2) => {
|
|
18278
|
-
if (typeof option2 === "string")
|
|
18279
|
-
return option2;
|
|
18280
|
-
if (typeof option2 === "number")
|
|
18281
|
-
return `${option2}`;
|
|
18282
|
-
return option2.label;
|
|
18283
|
-
};
|
|
18284
|
-
const isSelected = (option2) => {
|
|
18285
|
-
if (typeof option2 === "string" || typeof option2 === "number")
|
|
18286
|
-
return option2 === selectedItem.value;
|
|
18287
|
-
return option2.value === selectedItem.value;
|
|
18288
|
-
};
|
|
18289
|
-
const filteredOptions = vue.computed(() => props2.options.filter((option2) => {
|
|
18290
|
-
const searchTerm = new RegExp(search.value, "gi");
|
|
18291
|
-
if (typeof option2 === "string")
|
|
18292
|
-
return option2.match(searchTerm);
|
|
18293
|
-
if (typeof option2 === "number")
|
|
18294
|
-
return `${option2}`.match(searchTerm);
|
|
18295
|
-
return option2.label.match(searchTerm);
|
|
18296
|
-
}));
|
|
18297
|
-
const select2 = (option2) => {
|
|
18298
|
-
if (typeof option2 === "string")
|
|
18299
|
-
selectedItem.value = option2;
|
|
18300
|
-
else if (typeof option2 === "number")
|
|
18301
|
-
selectedItem.value = option2;
|
|
18302
|
-
else
|
|
18303
|
-
selectedItem.value = option2.value;
|
|
18304
|
-
emit2("update:modelValue", selectedItem.value);
|
|
18305
|
-
open.value = false;
|
|
18306
|
-
};
|
|
18307
|
-
vue.watch(() => props2.modelValue, (value) => {
|
|
18308
|
-
if (value !== selectedItem.value)
|
|
18309
|
-
selectedItem.value = value;
|
|
18310
|
-
}, { immediate: true });
|
|
18311
|
-
return (_ctx, _cache) => {
|
|
18312
|
-
return vue.openBlock(), vue.createBlock(vue.unref(kt$1), {
|
|
18313
|
-
placement: "bottom-start",
|
|
18314
|
-
class: "bagel-input combobox"
|
|
18315
|
-
}, {
|
|
18316
|
-
popper: vue.withCtx(({ hide }) => [
|
|
18317
|
-
vue.createVNode(vue.unref(_sfc_main$q), {
|
|
18318
|
-
class: "combobox-options p-05",
|
|
18319
|
-
style: vue.normalizeStyle({ width: _ctx.fullWidth ? "100%" : "auto" })
|
|
18320
|
-
}, {
|
|
18321
|
-
default: vue.withCtx(() => [
|
|
18322
|
-
_ctx.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(TextInput), {
|
|
18323
|
-
key: 0,
|
|
18324
|
-
ref_key: "searchInput",
|
|
18325
|
-
ref: searchInput,
|
|
18326
|
-
dense: "",
|
|
18327
|
-
placeholder: "Search",
|
|
18328
|
-
icon: "search",
|
|
18329
|
-
modelValue: vue.unref(search),
|
|
18330
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(search) ? search.value = $event : search = $event)
|
|
18331
|
-
}, null, 8, ["modelValue"])) : vue.createCommentVNode("", true),
|
|
18332
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredOptions.value, (option2, i2) => {
|
|
18333
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
18334
|
-
class: vue.normalizeClass(["combobox-option hover gap-1", { selected: option2 === vue.unref(selectedItem) }]),
|
|
18335
|
-
key: `${option2}${i2}`,
|
|
18336
|
-
onClick: () => {
|
|
18337
|
-
select2(option2);
|
|
18338
|
-
hide();
|
|
18339
|
-
}
|
|
18340
|
-
}, [
|
|
18341
|
-
isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$F), {
|
|
18342
|
-
key: 0,
|
|
18343
|
-
icon: "check"
|
|
18344
|
-
})) : vue.createCommentVNode("", true),
|
|
18345
|
-
!isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$F), {
|
|
18346
|
-
key: 1,
|
|
18347
|
-
class: "opacity-3",
|
|
18348
|
-
icon: "fiber_manual_record"
|
|
18349
|
-
})) : vue.createCommentVNode("", true),
|
|
18350
|
-
vue.createElementVNode("span", null, vue.toDisplayString(getLabel(option2)), 1)
|
|
18351
|
-
], 10, _hoisted_1$u);
|
|
18352
|
-
}), 128)),
|
|
18353
|
-
vue.renderSlot(_ctx.$slots, "last", {}, void 0, true)
|
|
18354
|
-
]),
|
|
18355
|
-
_: 2
|
|
18356
|
-
}, 1032, ["style"])
|
|
18357
|
-
]),
|
|
18358
|
-
default: vue.withCtx(() => [
|
|
18359
|
-
vue.createElementVNode("label", null, [
|
|
18360
|
-
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
18361
|
-
vue.createElementVNode("button", {
|
|
18362
|
-
type: "button",
|
|
18363
|
-
class: "combobox-btn",
|
|
18364
|
-
onClick: toggle
|
|
18365
|
-
}, [
|
|
18366
|
-
vue.createTextVNode(vue.toDisplayString(valueToLabel(vue.unref(selectedItem)) || _ctx.placeholder || "Select") + " ", 1),
|
|
18367
|
-
vue.createVNode(vue.unref(_sfc_main$F), vue.normalizeProps(vue.guardReactiveProps({ "icon": vue.unref(open) ? "unfold_less" : "unfold_more" })), null, 16)
|
|
18368
|
-
]),
|
|
18369
|
-
_ctx.required ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
|
|
18370
|
-
key: 0,
|
|
18371
|
-
style: { "width": "0", "height": "0", "position": "absolute", "opacity": "0", "z-index": "-1" },
|
|
18372
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(selectedItem) ? selectedItem.value = $event : selectedItem = $event),
|
|
18373
|
-
required: ""
|
|
18374
|
-
}, null, 512)), [
|
|
18375
|
-
[vue.vModelText, vue.unref(selectedItem)]
|
|
18376
|
-
]) : vue.createCommentVNode("", true)
|
|
18377
|
-
])
|
|
18378
|
-
]),
|
|
18379
|
-
_: 3
|
|
18380
|
-
});
|
|
18381
|
-
};
|
|
18382
|
-
}
|
|
18383
|
-
});
|
|
18384
|
-
const ComboBox = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-14fbb20b"]]);
|
|
18385
|
-
const _hoisted_1$t = ["dismissable"];
|
|
18386
|
-
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
18167
|
+
const _hoisted_1$s = ["dismissable"];
|
|
18168
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
18387
18169
|
__name: "Alert",
|
|
18388
18170
|
props: {
|
|
18389
18171
|
message: {},
|
|
@@ -18403,7 +18185,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
18403
18185
|
class: vue.normalizeClass(["alert", [_ctx.type]]),
|
|
18404
18186
|
dismissable: _ctx.dismissable
|
|
18405
18187
|
}, [
|
|
18406
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
18188
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
18407
18189
|
class: "alert_icon",
|
|
18408
18190
|
icon: _ctx.type,
|
|
18409
18191
|
size: 2,
|
|
@@ -18417,12 +18199,12 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
18417
18199
|
class: "alert_close",
|
|
18418
18200
|
icon: "close"
|
|
18419
18201
|
})
|
|
18420
|
-
], 10, _hoisted_1$
|
|
18202
|
+
], 10, _hoisted_1$s)) : vue.createCommentVNode("", true);
|
|
18421
18203
|
};
|
|
18422
18204
|
}
|
|
18423
18205
|
});
|
|
18424
|
-
const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18425
|
-
const _sfc_main$
|
|
18206
|
+
const Alert = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-94bfcb05"]]);
|
|
18207
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
18426
18208
|
__name: "Badge",
|
|
18427
18209
|
props: {
|
|
18428
18210
|
color: {},
|
|
@@ -18437,13 +18219,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18437
18219
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
18438
18220
|
class: vue.normalizeClass(["pill", [_ctx.color]])
|
|
18439
18221
|
}, [
|
|
18440
|
-
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18222
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
18441
18223
|
key: 0,
|
|
18442
18224
|
class: "inline",
|
|
18443
18225
|
icon: _ctx.icon
|
|
18444
18226
|
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
18445
18227
|
vue.createTextVNode(" " + vue.toDisplayString(_ctx.text) + " ", 1),
|
|
18446
|
-
props2["icon.end"] ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18228
|
+
props2["icon.end"] ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
18447
18229
|
key: 1,
|
|
18448
18230
|
class: "inline",
|
|
18449
18231
|
icon: props2["icon.end"]
|
|
@@ -18452,11 +18234,11 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
18452
18234
|
};
|
|
18453
18235
|
}
|
|
18454
18236
|
});
|
|
18455
|
-
const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18456
|
-
const _hoisted_1$
|
|
18237
|
+
const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-10743b06"]]);
|
|
18238
|
+
const _hoisted_1$r = { class: "bgl_vid" };
|
|
18457
18239
|
const _hoisted_2$n = ["src"];
|
|
18458
18240
|
const _hoisted_3$h = ["src", "autoplay", "muted", "loop", "controls"];
|
|
18459
|
-
const _sfc_main$
|
|
18241
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
18460
18242
|
__name: "BglVideo",
|
|
18461
18243
|
props: {
|
|
18462
18244
|
src: {},
|
|
@@ -18495,7 +18277,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
18495
18277
|
});
|
|
18496
18278
|
console.log("Video URL:", videoUrl.value);
|
|
18497
18279
|
return (_ctx, _cache) => {
|
|
18498
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18280
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
|
|
18499
18281
|
embedType.value ? (vue.openBlock(), vue.createElementBlock("iframe", {
|
|
18500
18282
|
key: 0,
|
|
18501
18283
|
src: videoUrl.value,
|
|
@@ -18517,13 +18299,13 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
18517
18299
|
};
|
|
18518
18300
|
}
|
|
18519
18301
|
});
|
|
18520
|
-
const BglVideo = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18521
|
-
const _hoisted_1$
|
|
18302
|
+
const BglVideo = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-23835d69"]]);
|
|
18303
|
+
const _hoisted_1$q = {
|
|
18522
18304
|
key: 0,
|
|
18523
18305
|
class: "blocker"
|
|
18524
18306
|
};
|
|
18525
18307
|
const _hoisted_2$m = { class: "Handlers" };
|
|
18526
|
-
const _sfc_main$
|
|
18308
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
18527
18309
|
__name: "Carousel",
|
|
18528
18310
|
props: {
|
|
18529
18311
|
autoHeight: {
|
|
@@ -18673,7 +18455,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
18673
18455
|
ref_key: "bglSlider",
|
|
18674
18456
|
ref: bglSlider
|
|
18675
18457
|
}, [
|
|
18676
|
-
vue.unref(isDragging) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
18458
|
+
vue.unref(isDragging) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q)) : vue.createCommentVNode("", true),
|
|
18677
18459
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
18678
18460
|
], 34),
|
|
18679
18461
|
vue.createElementVNode("div", _hoisted_2$m, [
|
|
@@ -18688,8 +18470,8 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
18688
18470
|
};
|
|
18689
18471
|
}
|
|
18690
18472
|
});
|
|
18691
|
-
const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18692
|
-
const _sfc_main$
|
|
18473
|
+
const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-7e8d16cb"]]);
|
|
18474
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
18693
18475
|
__name: "BglForm",
|
|
18694
18476
|
props: {
|
|
18695
18477
|
label: {},
|
|
@@ -18729,7 +18511,6 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
18729
18511
|
let formStatus = vue.ref("idle");
|
|
18730
18512
|
const runSubmit = () => {
|
|
18731
18513
|
var _a2;
|
|
18732
|
-
console.log("runSubmit");
|
|
18733
18514
|
try {
|
|
18734
18515
|
validateForm();
|
|
18735
18516
|
(_a2 = props2.onSubmit) == null ? void 0 : _a2.call(props2, data2.value);
|
|
@@ -18764,7 +18545,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
18764
18545
|
return (_ctx, _cache) => {
|
|
18765
18546
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
18766
18547
|
_ctx.id ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.schema, (field, i2) => {
|
|
18767
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18548
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$k), {
|
|
18768
18549
|
key: field.id || `${i2}p`,
|
|
18769
18550
|
field,
|
|
18770
18551
|
modelValue: data2.value,
|
|
@@ -18776,13 +18557,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
18776
18557
|
ref: form,
|
|
18777
18558
|
onSubmit: vue.withModifiers(runSubmit, ["prevent"])
|
|
18778
18559
|
}, [
|
|
18779
|
-
_ctx.label ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18560
|
+
_ctx.label ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$r), {
|
|
18780
18561
|
key: 0,
|
|
18781
18562
|
tag: "h4",
|
|
18782
18563
|
label: _ctx.label
|
|
18783
18564
|
}, null, 8, ["label"])) : vue.createCommentVNode("", true),
|
|
18784
18565
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.schema, (field, i2) => {
|
|
18785
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
18566
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$k), {
|
|
18786
18567
|
key: field.id || `${i2}p`,
|
|
18787
18568
|
field,
|
|
18788
18569
|
modelValue: data2.value,
|
|
@@ -18797,7 +18578,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
18797
18578
|
};
|
|
18798
18579
|
}
|
|
18799
18580
|
});
|
|
18800
|
-
const _sfc_main$
|
|
18581
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
18801
18582
|
__name: "BglField",
|
|
18802
18583
|
props: {
|
|
18803
18584
|
field: {},
|
|
@@ -18810,7 +18591,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
18810
18591
|
if (props2.field.$el === "text")
|
|
18811
18592
|
return TextInput;
|
|
18812
18593
|
if (props2.field.$el === "select")
|
|
18813
|
-
return
|
|
18594
|
+
return SelectInput;
|
|
18814
18595
|
if (props2.field.$el === "toggle")
|
|
18815
18596
|
return ToggleInput;
|
|
18816
18597
|
if (props2.field.$el === "check")
|
|
@@ -18888,7 +18669,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
18888
18669
|
}
|
|
18889
18670
|
});
|
|
18890
18671
|
const _withScopeId$1 = (n2) => (vue.pushScopeId("data-v-e8219826"), n2 = n2(), vue.popScopeId(), n2);
|
|
18891
|
-
const _hoisted_1$
|
|
18672
|
+
const _hoisted_1$p = ["title"];
|
|
18892
18673
|
const _hoisted_2$l = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("svg", {
|
|
18893
18674
|
xmlns: "http://www.w3.org/2000/svg",
|
|
18894
18675
|
height: "24",
|
|
@@ -18900,8 +18681,8 @@ const _hoisted_2$l = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.cr
|
|
|
18900
18681
|
const _hoisted_3$g = [
|
|
18901
18682
|
_hoisted_2$l
|
|
18902
18683
|
];
|
|
18903
|
-
const _hoisted_4$
|
|
18904
|
-
const _sfc_main$
|
|
18684
|
+
const _hoisted_4$a = ["required", "id"];
|
|
18685
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
18905
18686
|
__name: "CheckInput",
|
|
18906
18687
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
18907
18688
|
label: {},
|
|
@@ -18931,18 +18712,18 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
18931
18712
|
id: _ctx.id,
|
|
18932
18713
|
type: "checkbox",
|
|
18933
18714
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checked.value = $event)
|
|
18934
|
-
}, null, 8, _hoisted_4$
|
|
18715
|
+
}, null, 8, _hoisted_4$a), [
|
|
18935
18716
|
[vue.vModelCheckbox, checked.value]
|
|
18936
18717
|
]),
|
|
18937
18718
|
vue.renderSlot(_ctx.$slots, "label", {}, () => [
|
|
18938
18719
|
vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
|
|
18939
18720
|
], true)
|
|
18940
18721
|
])
|
|
18941
|
-
], 10, _hoisted_1$
|
|
18722
|
+
], 10, _hoisted_1$p);
|
|
18942
18723
|
};
|
|
18943
18724
|
}
|
|
18944
18725
|
});
|
|
18945
|
-
const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
18726
|
+
const CheckInput = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-e8219826"]]);
|
|
18946
18727
|
function toDate(argument) {
|
|
18947
18728
|
const argStr = Object.prototype.toString.call(argument);
|
|
18948
18729
|
if (argument instanceof Date || typeof argument === "object" && argStr === "[object Date]") {
|
|
@@ -27551,9 +27332,9 @@ const ar = ({
|
|
|
27551
27332
|
Object.entries(Mo).forEach(([e, t]) => {
|
|
27552
27333
|
e !== "default" && (Va[e] = t);
|
|
27553
27334
|
});
|
|
27554
|
-
const _hoisted_1$
|
|
27335
|
+
const _hoisted_1$o = ["title"];
|
|
27555
27336
|
const _hoisted_2$k = { key: 0 };
|
|
27556
|
-
const _sfc_main$
|
|
27337
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
27557
27338
|
__name: "DateInput",
|
|
27558
27339
|
props: {
|
|
27559
27340
|
label: {},
|
|
@@ -27599,14 +27380,14 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
27599
27380
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => date2.value = $event),
|
|
27600
27381
|
"enable-time-picker": _ctx.enableTime
|
|
27601
27382
|
}, _ctx.extraProps), null, 16, ["modelValue", "enable-time-picker"])
|
|
27602
|
-
], 10, _hoisted_1$
|
|
27383
|
+
], 10, _hoisted_1$o);
|
|
27603
27384
|
};
|
|
27604
27385
|
}
|
|
27605
27386
|
});
|
|
27606
|
-
const _hoisted_1$
|
|
27387
|
+
const _hoisted_1$n = ["title"];
|
|
27607
27388
|
const _hoisted_2$j = { key: 0 };
|
|
27608
27389
|
const _hoisted_3$f = ["value", "placeholder"];
|
|
27609
|
-
const _sfc_main$
|
|
27390
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
27610
27391
|
__name: "JSONInput",
|
|
27611
27392
|
props: {
|
|
27612
27393
|
description: { default: "" },
|
|
@@ -27638,1384 +27419,200 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
27638
27419
|
class: vue.normalizeClass({ "no-edit": !_ctx.editMode }),
|
|
27639
27420
|
placeholder: _ctx.placeholder
|
|
27640
27421
|
}, null, 42, _hoisted_3$f)
|
|
27641
|
-
], 10, _hoisted_1$
|
|
27422
|
+
], 10, _hoisted_1$n);
|
|
27642
27423
|
};
|
|
27643
27424
|
}
|
|
27644
27425
|
});
|
|
27645
|
-
const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
27646
|
-
|
|
27647
|
-
|
|
27648
|
-
|
|
27649
|
-
if (Array.isArray(opt) && opt.length === 0)
|
|
27650
|
-
return true;
|
|
27651
|
-
return !opt;
|
|
27652
|
-
}
|
|
27653
|
-
function not(fun) {
|
|
27654
|
-
return (...params) => !fun(...params);
|
|
27655
|
-
}
|
|
27656
|
-
function includes(str, query) {
|
|
27657
|
-
if (str === void 0)
|
|
27658
|
-
str = "undefined";
|
|
27659
|
-
if (str === null)
|
|
27660
|
-
str = "null";
|
|
27661
|
-
if (str === false)
|
|
27662
|
-
str = "false";
|
|
27663
|
-
const text = str.toString().toLowerCase();
|
|
27664
|
-
return text.indexOf(query.trim()) !== -1;
|
|
27665
|
-
}
|
|
27666
|
-
function filterOptions(options, search, label, customLabel) {
|
|
27667
|
-
return search ? options.filter((option2) => includes(customLabel(option2, label), search)).sort((a2, b2) => customLabel(a2, label).length - customLabel(b2, label).length) : options;
|
|
27668
|
-
}
|
|
27669
|
-
function stripGroups(options) {
|
|
27670
|
-
return options.filter((option2) => !option2.$isLabel);
|
|
27671
|
-
}
|
|
27672
|
-
function flattenOptions(values3, label) {
|
|
27673
|
-
return (options) => options.reduce((prev, curr) => {
|
|
27674
|
-
if (curr[values3] && curr[values3].length) {
|
|
27675
|
-
prev.push({
|
|
27676
|
-
$groupLabel: curr[label],
|
|
27677
|
-
$isLabel: true
|
|
27678
|
-
});
|
|
27679
|
-
return prev.concat(curr[values3]);
|
|
27680
|
-
}
|
|
27681
|
-
return prev;
|
|
27682
|
-
}, []);
|
|
27683
|
-
}
|
|
27684
|
-
function filterGroups(search, label, values3, groupLabel, customLabel) {
|
|
27685
|
-
return (groups) => groups.map((group) => {
|
|
27686
|
-
if (!group[values3]) {
|
|
27687
|
-
console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`);
|
|
27688
|
-
return [];
|
|
27689
|
-
}
|
|
27690
|
-
const groupOptions = filterOptions(group[values3], search, label, customLabel);
|
|
27691
|
-
return groupOptions.length ? {
|
|
27692
|
-
[groupLabel]: group[groupLabel],
|
|
27693
|
-
[values3]: groupOptions
|
|
27694
|
-
} : [];
|
|
27695
|
-
});
|
|
27696
|
-
}
|
|
27697
|
-
const flow = (...fns) => (x2) => fns.reduce((v2, f2) => f2(v2), x2);
|
|
27698
|
-
var multiselectMixin = {
|
|
27699
|
-
data() {
|
|
27700
|
-
return {
|
|
27701
|
-
search: "",
|
|
27702
|
-
isOpen: false,
|
|
27703
|
-
preferredOpenDirection: "below",
|
|
27704
|
-
optimizedHeight: this.maxHeight
|
|
27705
|
-
};
|
|
27706
|
-
},
|
|
27707
|
-
props: {
|
|
27708
|
-
/**
|
|
27709
|
-
* Decide whether to filter the results based on search query.
|
|
27710
|
-
* Useful for async filtering, where we search through more complex data.
|
|
27711
|
-
* @type {Boolean}
|
|
27712
|
-
*/
|
|
27713
|
-
internalSearch: {
|
|
27714
|
-
type: Boolean,
|
|
27715
|
-
default: true
|
|
27716
|
-
},
|
|
27717
|
-
/**
|
|
27718
|
-
* Array of available options: Objects, Strings or Integers.
|
|
27719
|
-
* If array of objects, visible label will default to option.label.
|
|
27720
|
-
* If `labal` prop is passed, label will equal option['label']
|
|
27721
|
-
* @type {Array}
|
|
27722
|
-
*/
|
|
27723
|
-
options: {
|
|
27724
|
-
type: Array,
|
|
27725
|
-
required: true
|
|
27726
|
-
},
|
|
27727
|
-
/**
|
|
27728
|
-
* Equivalent to the `multiple` attribute on a `<select>` input.
|
|
27729
|
-
* @default false
|
|
27730
|
-
* @type {Boolean}
|
|
27731
|
-
*/
|
|
27732
|
-
multiple: {
|
|
27733
|
-
type: Boolean,
|
|
27734
|
-
default: false
|
|
27735
|
-
},
|
|
27736
|
-
/**
|
|
27737
|
-
* Key to compare objects
|
|
27738
|
-
* @default 'id'
|
|
27739
|
-
* @type {String}
|
|
27740
|
-
*/
|
|
27741
|
-
trackBy: {
|
|
27742
|
-
type: String
|
|
27743
|
-
},
|
|
27744
|
-
/**
|
|
27745
|
-
* Label to look for in option Object
|
|
27746
|
-
* @default 'label'
|
|
27747
|
-
* @type {String}
|
|
27748
|
-
*/
|
|
27749
|
-
label: {
|
|
27750
|
-
type: String
|
|
27751
|
-
},
|
|
27752
|
-
/**
|
|
27753
|
-
* Enable/disable search in options
|
|
27754
|
-
* @default true
|
|
27755
|
-
* @type {Boolean}
|
|
27756
|
-
*/
|
|
27757
|
-
searchable: {
|
|
27758
|
-
type: Boolean,
|
|
27759
|
-
default: true
|
|
27760
|
-
},
|
|
27761
|
-
/**
|
|
27762
|
-
* Clear the search input after `)
|
|
27763
|
-
* @default true
|
|
27764
|
-
* @type {Boolean}
|
|
27765
|
-
*/
|
|
27766
|
-
clearOnSelect: {
|
|
27767
|
-
type: Boolean,
|
|
27768
|
-
default: true
|
|
27769
|
-
},
|
|
27770
|
-
/**
|
|
27771
|
-
* Hide already selected options
|
|
27772
|
-
* @default false
|
|
27773
|
-
* @type {Boolean}
|
|
27774
|
-
*/
|
|
27775
|
-
hideSelected: {
|
|
27776
|
-
type: Boolean,
|
|
27777
|
-
default: false
|
|
27778
|
-
},
|
|
27779
|
-
/**
|
|
27780
|
-
* Equivalent to the `placeholder` attribute on a `<select>` input.
|
|
27781
|
-
* @default 'Select option'
|
|
27782
|
-
* @type {String}
|
|
27783
|
-
*/
|
|
27784
|
-
placeholder: {
|
|
27785
|
-
type: String,
|
|
27786
|
-
default: "Select option"
|
|
27787
|
-
},
|
|
27788
|
-
/**
|
|
27789
|
-
* Allow to remove all selected values
|
|
27790
|
-
* @default true
|
|
27791
|
-
* @type {Boolean}
|
|
27792
|
-
*/
|
|
27793
|
-
allowEmpty: {
|
|
27794
|
-
type: Boolean,
|
|
27795
|
-
default: true
|
|
27796
|
-
},
|
|
27797
|
-
/**
|
|
27798
|
-
* Reset this.internalValue, this.search after this.internalValue changes.
|
|
27799
|
-
* Useful if want to create a stateless dropdown.
|
|
27800
|
-
* @default false
|
|
27801
|
-
* @type {Boolean}
|
|
27802
|
-
*/
|
|
27803
|
-
resetAfter: {
|
|
27804
|
-
type: Boolean,
|
|
27805
|
-
default: false
|
|
27806
|
-
},
|
|
27807
|
-
/**
|
|
27808
|
-
* Enable/disable closing after selecting an option
|
|
27809
|
-
* @default true
|
|
27810
|
-
* @type {Boolean}
|
|
27811
|
-
*/
|
|
27812
|
-
closeOnSelect: {
|
|
27813
|
-
type: Boolean,
|
|
27814
|
-
default: true
|
|
27815
|
-
},
|
|
27816
|
-
/**
|
|
27817
|
-
* Function to interpolate the custom label
|
|
27818
|
-
* @default false
|
|
27819
|
-
* @type {Function}
|
|
27820
|
-
*/
|
|
27821
|
-
customLabel: {
|
|
27822
|
-
type: Function,
|
|
27823
|
-
default(option2, label) {
|
|
27824
|
-
if (isEmpty(option2))
|
|
27825
|
-
return "";
|
|
27826
|
-
return label ? option2[label] : option2;
|
|
27827
|
-
}
|
|
27828
|
-
},
|
|
27829
|
-
/**
|
|
27830
|
-
* Disable / Enable tagging
|
|
27831
|
-
* @default false
|
|
27832
|
-
* @type {Boolean}
|
|
27833
|
-
*/
|
|
27834
|
-
taggable: {
|
|
27835
|
-
type: Boolean,
|
|
27836
|
-
default: false
|
|
27837
|
-
},
|
|
27838
|
-
/**
|
|
27839
|
-
* String to show when highlighting a potential tag
|
|
27840
|
-
* @default 'Press enter to create a tag'
|
|
27841
|
-
* @type {String}
|
|
27842
|
-
*/
|
|
27843
|
-
tagPlaceholder: {
|
|
27844
|
-
type: String,
|
|
27845
|
-
default: "Press enter to create a tag"
|
|
27846
|
-
},
|
|
27847
|
-
/**
|
|
27848
|
-
* By default new tags will appear above the search results.
|
|
27849
|
-
* Changing to 'bottom' will revert this behaviour
|
|
27850
|
-
* and will proritize the search results
|
|
27851
|
-
* @default 'top'
|
|
27852
|
-
* @type {String}
|
|
27853
|
-
*/
|
|
27854
|
-
tagPosition: {
|
|
27855
|
-
type: String,
|
|
27856
|
-
default: "top"
|
|
27857
|
-
},
|
|
27858
|
-
/**
|
|
27859
|
-
* Number of allowed selected options. No limit if 0.
|
|
27860
|
-
* @default 0
|
|
27861
|
-
* @type {Number}
|
|
27862
|
-
*/
|
|
27863
|
-
max: {
|
|
27864
|
-
type: [Number, Boolean],
|
|
27865
|
-
default: false
|
|
27866
|
-
},
|
|
27867
|
-
/**
|
|
27868
|
-
* Will be passed with all events as second param.
|
|
27869
|
-
* Useful for identifying events origin.
|
|
27870
|
-
* @default null
|
|
27871
|
-
* @type {String|Integer}
|
|
27872
|
-
*/
|
|
27873
|
-
id: {
|
|
27874
|
-
default: null
|
|
27875
|
-
},
|
|
27876
|
-
/**
|
|
27877
|
-
* Limits the options displayed in the dropdown
|
|
27878
|
-
* to the first X options.
|
|
27879
|
-
* @default 1000
|
|
27880
|
-
* @type {Integer}
|
|
27881
|
-
*/
|
|
27882
|
-
optionsLimit: {
|
|
27883
|
-
type: Number,
|
|
27884
|
-
default: 1e3
|
|
27885
|
-
},
|
|
27886
|
-
/**
|
|
27887
|
-
* Name of the property containing
|
|
27888
|
-
* the group values
|
|
27889
|
-
* @default 1000
|
|
27890
|
-
* @type {String}
|
|
27891
|
-
*/
|
|
27892
|
-
groupValues: {
|
|
27893
|
-
type: String
|
|
27894
|
-
},
|
|
27895
|
-
/**
|
|
27896
|
-
* Name of the property containing
|
|
27897
|
-
* the group label
|
|
27898
|
-
* @default 1000
|
|
27899
|
-
* @type {String}
|
|
27900
|
-
*/
|
|
27901
|
-
groupLabel: {
|
|
27902
|
-
type: String
|
|
27903
|
-
},
|
|
27904
|
-
/**
|
|
27905
|
-
* Allow to select all group values
|
|
27906
|
-
* by selecting the group label
|
|
27907
|
-
* @default false
|
|
27908
|
-
* @type {Boolean}
|
|
27909
|
-
*/
|
|
27910
|
-
groupSelect: {
|
|
27911
|
-
type: Boolean,
|
|
27912
|
-
default: false
|
|
27913
|
-
},
|
|
27914
|
-
/**
|
|
27915
|
-
* Array of keyboard keys to block
|
|
27916
|
-
* when selecting
|
|
27917
|
-
* @default 1000
|
|
27918
|
-
* @type {String}
|
|
27919
|
-
*/
|
|
27920
|
-
blockKeys: {
|
|
27921
|
-
type: Array,
|
|
27922
|
-
default() {
|
|
27923
|
-
return [];
|
|
27924
|
-
}
|
|
27925
|
-
},
|
|
27926
|
-
/**
|
|
27927
|
-
* Prevent from wiping up the search value
|
|
27928
|
-
* @default false
|
|
27929
|
-
* @type {Boolean}
|
|
27930
|
-
*/
|
|
27931
|
-
preserveSearch: {
|
|
27932
|
-
type: Boolean,
|
|
27933
|
-
default: false
|
|
27934
|
-
},
|
|
27935
|
-
/**
|
|
27936
|
-
* Select 1st options if value is empty
|
|
27937
|
-
* @default false
|
|
27938
|
-
* @type {Boolean}
|
|
27939
|
-
*/
|
|
27940
|
-
preselectFirst: {
|
|
27941
|
-
type: Boolean,
|
|
27942
|
-
default: false
|
|
27943
|
-
},
|
|
27944
|
-
/**
|
|
27945
|
-
* Prevent autofocus
|
|
27946
|
-
* @default false
|
|
27947
|
-
* @type {Boolean}
|
|
27948
|
-
*/
|
|
27949
|
-
preventAutofocus: {
|
|
27950
|
-
type: Boolean,
|
|
27951
|
-
default: false
|
|
27952
|
-
}
|
|
27953
|
-
},
|
|
27954
|
-
mounted() {
|
|
27955
|
-
if (!this.multiple && this.max) {
|
|
27956
|
-
console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.");
|
|
27957
|
-
}
|
|
27958
|
-
if (this.preselectFirst && !this.internalValue.length && this.options.length) {
|
|
27959
|
-
this.select(this.filteredOptions[0]);
|
|
27960
|
-
}
|
|
27961
|
-
},
|
|
27962
|
-
computed: {
|
|
27963
|
-
internalValue() {
|
|
27964
|
-
return this.modelValue || this.modelValue === 0 ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue] : [];
|
|
27965
|
-
},
|
|
27966
|
-
filteredOptions() {
|
|
27967
|
-
const search = this.search || "";
|
|
27968
|
-
const normalizedSearch = search.toLowerCase().trim();
|
|
27969
|
-
let options = this.options.concat();
|
|
27970
|
-
if (this.internalSearch) {
|
|
27971
|
-
options = this.groupValues ? this.filterAndFlat(options, normalizedSearch, this.label) : filterOptions(options, normalizedSearch, this.label, this.customLabel);
|
|
27972
|
-
} else {
|
|
27973
|
-
options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options;
|
|
27974
|
-
}
|
|
27975
|
-
options = this.hideSelected ? options.filter(not(this.isSelected)) : options;
|
|
27976
|
-
if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {
|
|
27977
|
-
if (this.tagPosition === "bottom") {
|
|
27978
|
-
options.push({ isTag: true, label: search });
|
|
27979
|
-
} else {
|
|
27980
|
-
options.unshift({ isTag: true, label: search });
|
|
27981
|
-
}
|
|
27982
|
-
}
|
|
27983
|
-
return options.slice(0, this.optionsLimit);
|
|
27984
|
-
},
|
|
27985
|
-
valueKeys() {
|
|
27986
|
-
if (this.trackBy) {
|
|
27987
|
-
return this.internalValue.map((element) => element[this.trackBy]);
|
|
27988
|
-
} else {
|
|
27989
|
-
return this.internalValue;
|
|
27990
|
-
}
|
|
27991
|
-
},
|
|
27992
|
-
optionKeys() {
|
|
27993
|
-
const options = this.groupValues ? this.flatAndStrip(this.options) : this.options;
|
|
27994
|
-
return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase());
|
|
27995
|
-
},
|
|
27996
|
-
currentOptionLabel() {
|
|
27997
|
-
return this.multiple ? this.searchable ? "" : this.placeholder : this.internalValue.length ? this.getOptionLabel(this.internalValue[0]) : this.searchable ? "" : this.placeholder;
|
|
27998
|
-
}
|
|
27999
|
-
},
|
|
28000
|
-
watch: {
|
|
28001
|
-
internalValue: {
|
|
28002
|
-
handler() {
|
|
28003
|
-
if (this.resetAfter && this.internalValue.length) {
|
|
28004
|
-
this.search = "";
|
|
28005
|
-
this.$emit("update:modelValue", this.multiple ? [] : null);
|
|
28006
|
-
}
|
|
28007
|
-
},
|
|
28008
|
-
deep: true
|
|
28009
|
-
},
|
|
28010
|
-
search() {
|
|
28011
|
-
this.$emit("search-change", this.search);
|
|
28012
|
-
}
|
|
28013
|
-
},
|
|
28014
|
-
emits: ["open", "search-change", "close", "select", "update:modelValue", "remove", "tag"],
|
|
28015
|
-
methods: {
|
|
28016
|
-
/**
|
|
28017
|
-
* Returns the internalValue in a way it can be emited to the parent
|
|
28018
|
-
* @returns {Object||Array||String||Integer}
|
|
28019
|
-
*/
|
|
28020
|
-
getValue() {
|
|
28021
|
-
return this.multiple ? this.internalValue : this.internalValue.length === 0 ? null : this.internalValue[0];
|
|
28022
|
-
},
|
|
28023
|
-
/**
|
|
28024
|
-
* Filters and then flattens the options list
|
|
28025
|
-
* @param {Array}
|
|
28026
|
-
* @return {Array} returns a filtered and flat options list
|
|
28027
|
-
*/
|
|
28028
|
-
filterAndFlat(options, search, label) {
|
|
28029
|
-
return flow(
|
|
28030
|
-
filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),
|
|
28031
|
-
flattenOptions(this.groupValues, this.groupLabel)
|
|
28032
|
-
)(options);
|
|
28033
|
-
},
|
|
28034
|
-
/**
|
|
28035
|
-
* Flattens and then strips the group labels from the options list
|
|
28036
|
-
* @param {Array}
|
|
28037
|
-
* @return {Array} returns a flat options list without group labels
|
|
28038
|
-
*/
|
|
28039
|
-
flatAndStrip(options) {
|
|
28040
|
-
return flow(
|
|
28041
|
-
flattenOptions(this.groupValues, this.groupLabel),
|
|
28042
|
-
stripGroups
|
|
28043
|
-
)(options);
|
|
28044
|
-
},
|
|
28045
|
-
/**
|
|
28046
|
-
* Updates the search value
|
|
28047
|
-
* @param {String}
|
|
28048
|
-
*/
|
|
28049
|
-
updateSearch(query) {
|
|
28050
|
-
this.search = query;
|
|
28051
|
-
},
|
|
28052
|
-
/**
|
|
28053
|
-
* Finds out if the given query is already present
|
|
28054
|
-
* in the available options
|
|
28055
|
-
* @param {String}
|
|
28056
|
-
* @return {Boolean} returns true if element is available
|
|
28057
|
-
*/
|
|
28058
|
-
isExistingOption(query) {
|
|
28059
|
-
return !this.options ? false : this.optionKeys.indexOf(query) > -1;
|
|
28060
|
-
},
|
|
28061
|
-
/**
|
|
28062
|
-
* Finds out if the given element is already present
|
|
28063
|
-
* in the result value
|
|
28064
|
-
* @param {Object||String||Integer} option passed element to check
|
|
28065
|
-
* @returns {Boolean} returns true if element is selected
|
|
28066
|
-
*/
|
|
28067
|
-
isSelected(option2) {
|
|
28068
|
-
const opt = this.trackBy ? option2[this.trackBy] : option2;
|
|
28069
|
-
return this.valueKeys.indexOf(opt) > -1;
|
|
28070
|
-
},
|
|
28071
|
-
/**
|
|
28072
|
-
* Finds out if the given option is disabled
|
|
28073
|
-
* @param {Object||String||Integer} option passed element to check
|
|
28074
|
-
* @returns {Boolean} returns true if element is disabled
|
|
28075
|
-
*/
|
|
28076
|
-
isOptionDisabled(option2) {
|
|
28077
|
-
return !!option2.$isDisabled;
|
|
28078
|
-
},
|
|
28079
|
-
/**
|
|
28080
|
-
* Returns empty string when options is null/undefined
|
|
28081
|
-
* Returns tag query if option is tag.
|
|
28082
|
-
* Returns the customLabel() results and casts it to string.
|
|
28083
|
-
*
|
|
28084
|
-
* @param {Object||String||Integer} Passed option
|
|
28085
|
-
* @returns {Object||String}
|
|
28086
|
-
*/
|
|
28087
|
-
getOptionLabel(option2) {
|
|
28088
|
-
if (isEmpty(option2))
|
|
28089
|
-
return "";
|
|
28090
|
-
if (option2.isTag)
|
|
28091
|
-
return option2.label;
|
|
28092
|
-
if (option2.$isLabel)
|
|
28093
|
-
return option2.$groupLabel;
|
|
28094
|
-
const label = this.customLabel(option2, this.label);
|
|
28095
|
-
if (isEmpty(label))
|
|
28096
|
-
return "";
|
|
28097
|
-
return label;
|
|
28098
|
-
},
|
|
28099
|
-
/**
|
|
28100
|
-
* Add the given option to the list of selected options
|
|
28101
|
-
* or sets the option as the selected option.
|
|
28102
|
-
* If option is already selected -> remove it from the results.
|
|
28103
|
-
*
|
|
28104
|
-
* @param {Object||String||Integer} option to select/deselect
|
|
28105
|
-
* @param {Boolean} block removing
|
|
28106
|
-
*/
|
|
28107
|
-
select(option2, key) {
|
|
28108
|
-
if (option2.$isLabel && this.groupSelect) {
|
|
28109
|
-
this.selectGroup(option2);
|
|
28110
|
-
return;
|
|
28111
|
-
}
|
|
28112
|
-
if (this.blockKeys.indexOf(key) !== -1 || this.disabled || option2.$isDisabled || option2.$isLabel)
|
|
28113
|
-
return;
|
|
28114
|
-
if (this.max && this.multiple && this.internalValue.length === this.max)
|
|
28115
|
-
return;
|
|
28116
|
-
if (key === "Tab" && !this.pointerDirty)
|
|
28117
|
-
return;
|
|
28118
|
-
if (option2.isTag) {
|
|
28119
|
-
this.$emit("tag", option2.label, this.id);
|
|
28120
|
-
this.search = "";
|
|
28121
|
-
if (this.closeOnSelect && !this.multiple)
|
|
28122
|
-
this.deactivate();
|
|
28123
|
-
} else {
|
|
28124
|
-
const isSelected = this.isSelected(option2);
|
|
28125
|
-
if (isSelected) {
|
|
28126
|
-
if (key !== "Tab")
|
|
28127
|
-
this.removeElement(option2);
|
|
28128
|
-
return;
|
|
28129
|
-
}
|
|
28130
|
-
if (this.multiple) {
|
|
28131
|
-
this.$emit("update:modelValue", this.internalValue.concat([option2]));
|
|
28132
|
-
} else {
|
|
28133
|
-
this.$emit("update:modelValue", option2);
|
|
28134
|
-
}
|
|
28135
|
-
this.$emit("select", option2, this.id);
|
|
28136
|
-
if (this.clearOnSelect)
|
|
28137
|
-
this.search = "";
|
|
28138
|
-
}
|
|
28139
|
-
if (this.closeOnSelect)
|
|
28140
|
-
this.deactivate();
|
|
28141
|
-
},
|
|
28142
|
-
/**
|
|
28143
|
-
* Add the given group options to the list of selected options
|
|
28144
|
-
* If all group optiona are already selected -> remove it from the results.
|
|
28145
|
-
*
|
|
28146
|
-
* @param {Object||String||Integer} group to select/deselect
|
|
28147
|
-
*/
|
|
28148
|
-
selectGroup(selectedGroup) {
|
|
28149
|
-
const group = this.options.find((option2) => {
|
|
28150
|
-
return option2[this.groupLabel] === selectedGroup.$groupLabel;
|
|
28151
|
-
});
|
|
28152
|
-
if (!group)
|
|
28153
|
-
return;
|
|
28154
|
-
if (this.wholeGroupSelected(group)) {
|
|
28155
|
-
this.$emit("remove", group[this.groupValues], this.id);
|
|
28156
|
-
const newValue = this.internalValue.filter(
|
|
28157
|
-
(option2) => group[this.groupValues].indexOf(option2) === -1
|
|
28158
|
-
);
|
|
28159
|
-
this.$emit("update:modelValue", newValue);
|
|
28160
|
-
} else {
|
|
28161
|
-
let optionsToAdd = group[this.groupValues].filter(
|
|
28162
|
-
(option2) => !(this.isOptionDisabled(option2) || this.isSelected(option2))
|
|
28163
|
-
);
|
|
28164
|
-
if (this.max) {
|
|
28165
|
-
optionsToAdd.splice(this.max - this.internalValue.length);
|
|
28166
|
-
}
|
|
28167
|
-
this.$emit("select", optionsToAdd, this.id);
|
|
28168
|
-
this.$emit(
|
|
28169
|
-
"update:modelValue",
|
|
28170
|
-
this.internalValue.concat(optionsToAdd)
|
|
28171
|
-
);
|
|
28172
|
-
}
|
|
28173
|
-
if (this.closeOnSelect)
|
|
28174
|
-
this.deactivate();
|
|
28175
|
-
},
|
|
28176
|
-
/**
|
|
28177
|
-
* Helper to identify if all values in a group are selected
|
|
28178
|
-
*
|
|
28179
|
-
* @param {Object} group to validated selected values against
|
|
28180
|
-
*/
|
|
28181
|
-
wholeGroupSelected(group) {
|
|
28182
|
-
return group[this.groupValues].every(
|
|
28183
|
-
(option2) => this.isSelected(option2) || this.isOptionDisabled(option2)
|
|
28184
|
-
);
|
|
28185
|
-
},
|
|
28186
|
-
/**
|
|
28187
|
-
* Helper to identify if all values in a group are disabled
|
|
28188
|
-
*
|
|
28189
|
-
* @param {Object} group to check for disabled values
|
|
28190
|
-
*/
|
|
28191
|
-
wholeGroupDisabled(group) {
|
|
28192
|
-
return group[this.groupValues].every(this.isOptionDisabled);
|
|
28193
|
-
},
|
|
28194
|
-
/**
|
|
28195
|
-
* Removes the given option from the selected options.
|
|
28196
|
-
* Additionally checks this.allowEmpty prop if option can be removed when
|
|
28197
|
-
* it is the last selected option.
|
|
28198
|
-
*
|
|
28199
|
-
* @param {type} option description
|
|
28200
|
-
* @return {type} description
|
|
28201
|
-
*/
|
|
28202
|
-
removeElement(option2, shouldClose = true) {
|
|
28203
|
-
if (this.disabled)
|
|
28204
|
-
return;
|
|
28205
|
-
if (option2.$isDisabled)
|
|
28206
|
-
return;
|
|
28207
|
-
if (!this.allowEmpty && this.internalValue.length <= 1) {
|
|
28208
|
-
this.deactivate();
|
|
28209
|
-
return;
|
|
28210
|
-
}
|
|
28211
|
-
const index2 = typeof option2 === "object" ? this.valueKeys.indexOf(option2[this.trackBy]) : this.valueKeys.indexOf(option2);
|
|
28212
|
-
if (this.multiple) {
|
|
28213
|
-
const newValue = this.internalValue.slice(0, index2).concat(this.internalValue.slice(index2 + 1));
|
|
28214
|
-
this.$emit("update:modelValue", newValue);
|
|
28215
|
-
} else {
|
|
28216
|
-
this.$emit("update:modelValue", null);
|
|
28217
|
-
}
|
|
28218
|
-
this.$emit("remove", option2, this.id);
|
|
28219
|
-
if (this.closeOnSelect && shouldClose)
|
|
28220
|
-
this.deactivate();
|
|
28221
|
-
},
|
|
28222
|
-
/**
|
|
28223
|
-
* Calls this.removeElement() with the last element
|
|
28224
|
-
* from this.internalValue (selected element Array)
|
|
28225
|
-
*
|
|
28226
|
-
* @fires this#removeElement
|
|
28227
|
-
*/
|
|
28228
|
-
removeLastElement() {
|
|
28229
|
-
if (this.blockKeys.indexOf("Delete") !== -1)
|
|
28230
|
-
return;
|
|
28231
|
-
if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {
|
|
28232
|
-
this.removeElement(this.internalValue[this.internalValue.length - 1], false);
|
|
28233
|
-
}
|
|
28234
|
-
},
|
|
28235
|
-
/**
|
|
28236
|
-
* Opens the multiselect’s dropdown.
|
|
28237
|
-
* Sets this.isOpen to TRUE
|
|
28238
|
-
*/
|
|
28239
|
-
activate() {
|
|
28240
|
-
if (this.isOpen || this.disabled)
|
|
28241
|
-
return;
|
|
28242
|
-
this.adjustPosition();
|
|
28243
|
-
if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {
|
|
28244
|
-
this.pointer = 1;
|
|
28245
|
-
}
|
|
28246
|
-
this.isOpen = true;
|
|
28247
|
-
if (this.searchable) {
|
|
28248
|
-
if (!this.preserveSearch)
|
|
28249
|
-
this.search = "";
|
|
28250
|
-
if (!this.preventAutofocus)
|
|
28251
|
-
this.$nextTick(() => this.$refs.search && this.$refs.search.focus());
|
|
28252
|
-
} else if (!this.preventAutofocus) {
|
|
28253
|
-
if (typeof this.$el !== "undefined")
|
|
28254
|
-
this.$el.focus();
|
|
28255
|
-
}
|
|
28256
|
-
this.$emit("open", this.id);
|
|
28257
|
-
},
|
|
28258
|
-
/**
|
|
28259
|
-
* Closes the multiselect’s dropdown.
|
|
28260
|
-
* Sets this.isOpen to FALSE
|
|
28261
|
-
*/
|
|
28262
|
-
deactivate() {
|
|
28263
|
-
if (!this.isOpen)
|
|
28264
|
-
return;
|
|
28265
|
-
this.isOpen = false;
|
|
28266
|
-
if (this.searchable) {
|
|
28267
|
-
if (this.$refs.search !== null && typeof this.$refs.search !== "undefined")
|
|
28268
|
-
this.$refs.search.blur();
|
|
28269
|
-
} else {
|
|
28270
|
-
if (typeof this.$el !== "undefined")
|
|
28271
|
-
this.$el.blur();
|
|
28272
|
-
}
|
|
28273
|
-
if (!this.preserveSearch)
|
|
28274
|
-
this.search = "";
|
|
28275
|
-
this.$emit("close", this.getValue(), this.id);
|
|
28276
|
-
},
|
|
28277
|
-
/**
|
|
28278
|
-
* Call this.activate() or this.deactivate()
|
|
28279
|
-
* depending on this.isOpen value.
|
|
28280
|
-
*
|
|
28281
|
-
* @fires this#activate || this#deactivate
|
|
28282
|
-
* @property {Boolean} isOpen indicates if dropdown is open
|
|
28283
|
-
*/
|
|
28284
|
-
toggle() {
|
|
28285
|
-
this.isOpen ? this.deactivate() : this.activate();
|
|
28286
|
-
},
|
|
28287
|
-
/**
|
|
28288
|
-
* Updates the hasEnoughSpace variable used for
|
|
28289
|
-
* detecting where to expand the dropdown
|
|
28290
|
-
*/
|
|
28291
|
-
adjustPosition() {
|
|
28292
|
-
if (typeof window === "undefined")
|
|
28293
|
-
return;
|
|
28294
|
-
const spaceAbove = this.$el.getBoundingClientRect().top;
|
|
28295
|
-
const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;
|
|
28296
|
-
const hasEnoughSpaceBelow = spaceBelow > this.maxHeight;
|
|
28297
|
-
if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === "below" || this.openDirection === "bottom") {
|
|
28298
|
-
this.preferredOpenDirection = "below";
|
|
28299
|
-
this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight);
|
|
28300
|
-
} else {
|
|
28301
|
-
this.preferredOpenDirection = "above";
|
|
28302
|
-
this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight);
|
|
28303
|
-
}
|
|
28304
|
-
}
|
|
28305
|
-
}
|
|
28306
|
-
};
|
|
28307
|
-
var pointerMixin = {
|
|
28308
|
-
data() {
|
|
28309
|
-
return {
|
|
28310
|
-
pointer: 0,
|
|
28311
|
-
pointerDirty: false
|
|
28312
|
-
};
|
|
28313
|
-
},
|
|
28314
|
-
props: {
|
|
28315
|
-
/**
|
|
28316
|
-
* Enable/disable highlighting of the pointed value.
|
|
28317
|
-
* @type {Boolean}
|
|
28318
|
-
* @default true
|
|
28319
|
-
*/
|
|
28320
|
-
showPointer: {
|
|
28321
|
-
type: Boolean,
|
|
28322
|
-
default: true
|
|
28323
|
-
},
|
|
28324
|
-
optionHeight: {
|
|
28325
|
-
type: Number,
|
|
28326
|
-
default: 40
|
|
28327
|
-
}
|
|
28328
|
-
},
|
|
28329
|
-
computed: {
|
|
28330
|
-
pointerPosition() {
|
|
28331
|
-
return this.pointer * this.optionHeight;
|
|
28332
|
-
},
|
|
28333
|
-
visibleElements() {
|
|
28334
|
-
return this.optimizedHeight / this.optionHeight;
|
|
28335
|
-
}
|
|
28336
|
-
},
|
|
28337
|
-
watch: {
|
|
28338
|
-
filteredOptions() {
|
|
28339
|
-
this.pointerAdjust();
|
|
28340
|
-
},
|
|
28341
|
-
isOpen() {
|
|
28342
|
-
this.pointerDirty = false;
|
|
28343
|
-
},
|
|
28344
|
-
pointer() {
|
|
28345
|
-
this.$refs.search && this.$refs.search.setAttribute("aria-activedescendant", this.id + "-" + this.pointer.toString());
|
|
28346
|
-
}
|
|
28347
|
-
},
|
|
28348
|
-
methods: {
|
|
28349
|
-
optionHighlight(index2, option2) {
|
|
28350
|
-
return {
|
|
28351
|
-
"multiselect__option--highlight": index2 === this.pointer && this.showPointer,
|
|
28352
|
-
"multiselect__option--selected": this.isSelected(option2)
|
|
28353
|
-
};
|
|
28354
|
-
},
|
|
28355
|
-
groupHighlight(index2, selectedGroup) {
|
|
28356
|
-
if (!this.groupSelect) {
|
|
28357
|
-
return [
|
|
28358
|
-
"multiselect__option--disabled",
|
|
28359
|
-
{ "multiselect__option--group": selectedGroup.$isLabel }
|
|
28360
|
-
];
|
|
28361
|
-
}
|
|
28362
|
-
const group = this.options.find((option2) => {
|
|
28363
|
-
return option2[this.groupLabel] === selectedGroup.$groupLabel;
|
|
28364
|
-
});
|
|
28365
|
-
return group && !this.wholeGroupDisabled(group) ? [
|
|
28366
|
-
"multiselect__option--group",
|
|
28367
|
-
{ "multiselect__option--highlight": index2 === this.pointer && this.showPointer },
|
|
28368
|
-
{ "multiselect__option--group-selected": this.wholeGroupSelected(group) }
|
|
28369
|
-
] : "multiselect__option--disabled";
|
|
28370
|
-
},
|
|
28371
|
-
addPointerElement({ key } = "Enter") {
|
|
28372
|
-
if (this.filteredOptions.length > 0) {
|
|
28373
|
-
this.select(this.filteredOptions[this.pointer], key);
|
|
28374
|
-
}
|
|
28375
|
-
this.pointerReset();
|
|
28376
|
-
},
|
|
28377
|
-
pointerForward() {
|
|
28378
|
-
if (this.pointer < this.filteredOptions.length - 1) {
|
|
28379
|
-
this.pointer++;
|
|
28380
|
-
if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {
|
|
28381
|
-
this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight;
|
|
28382
|
-
}
|
|
28383
|
-
if (this.filteredOptions[this.pointer] && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect)
|
|
28384
|
-
this.pointerForward();
|
|
28385
|
-
}
|
|
28386
|
-
this.pointerDirty = true;
|
|
28387
|
-
},
|
|
28388
|
-
pointerBackward() {
|
|
28389
|
-
if (this.pointer > 0) {
|
|
28390
|
-
this.pointer--;
|
|
28391
|
-
if (this.$refs.list.scrollTop >= this.pointerPosition) {
|
|
28392
|
-
this.$refs.list.scrollTop = this.pointerPosition;
|
|
28393
|
-
}
|
|
28394
|
-
if (this.filteredOptions[this.pointer] && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect)
|
|
28395
|
-
this.pointerBackward();
|
|
28396
|
-
} else {
|
|
28397
|
-
if (this.filteredOptions[this.pointer] && this.filteredOptions[0].$isLabel && !this.groupSelect)
|
|
28398
|
-
this.pointerForward();
|
|
28399
|
-
}
|
|
28400
|
-
this.pointerDirty = true;
|
|
28401
|
-
},
|
|
28402
|
-
pointerReset() {
|
|
28403
|
-
if (!this.closeOnSelect)
|
|
28404
|
-
return;
|
|
28405
|
-
this.pointer = 0;
|
|
28406
|
-
if (this.$refs.list) {
|
|
28407
|
-
this.$refs.list.scrollTop = 0;
|
|
28408
|
-
}
|
|
28409
|
-
},
|
|
28410
|
-
pointerAdjust() {
|
|
28411
|
-
if (this.pointer >= this.filteredOptions.length - 1) {
|
|
28412
|
-
this.pointer = this.filteredOptions.length ? this.filteredOptions.length - 1 : 0;
|
|
28413
|
-
}
|
|
28414
|
-
if (this.filteredOptions.length > 0 && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect) {
|
|
28415
|
-
this.pointerForward();
|
|
28416
|
-
}
|
|
28417
|
-
},
|
|
28418
|
-
pointerSet(index2) {
|
|
28419
|
-
this.pointer = index2;
|
|
28420
|
-
this.pointerDirty = true;
|
|
28421
|
-
}
|
|
28422
|
-
}
|
|
28423
|
-
};
|
|
28424
|
-
var script$e = {
|
|
28425
|
-
name: "vue-multiselect",
|
|
28426
|
-
mixins: [multiselectMixin, pointerMixin],
|
|
28427
|
-
compatConfig: {
|
|
28428
|
-
MODE: 3,
|
|
28429
|
-
ATTR_ENUMERATED_COERCION: false
|
|
28430
|
-
},
|
|
28431
|
-
props: {
|
|
28432
|
-
/**
|
|
28433
|
-
* name attribute to match optional label element
|
|
28434
|
-
* @default ''
|
|
28435
|
-
* @type {String}
|
|
28436
|
-
*/
|
|
28437
|
-
name: {
|
|
28438
|
-
type: String,
|
|
28439
|
-
default: ""
|
|
28440
|
-
},
|
|
28441
|
-
/**
|
|
28442
|
-
* Presets the selected options value.
|
|
28443
|
-
* @type {Object||Array||String||Integer}
|
|
28444
|
-
*/
|
|
28445
|
-
modelValue: {
|
|
28446
|
-
type: null,
|
|
28447
|
-
default() {
|
|
28448
|
-
return [];
|
|
28449
|
-
}
|
|
28450
|
-
},
|
|
28451
|
-
/**
|
|
28452
|
-
* String to show when pointing to an option
|
|
28453
|
-
* @default 'Press enter to select'
|
|
28454
|
-
* @type {String}
|
|
28455
|
-
*/
|
|
28456
|
-
selectLabel: {
|
|
28457
|
-
type: String,
|
|
28458
|
-
default: "Press enter to select"
|
|
28459
|
-
},
|
|
28460
|
-
/**
|
|
28461
|
-
* String to show when pointing to an option
|
|
28462
|
-
* @default 'Press enter to select'
|
|
28463
|
-
* @type {String}
|
|
28464
|
-
*/
|
|
28465
|
-
selectGroupLabel: {
|
|
28466
|
-
type: String,
|
|
28467
|
-
default: "Press enter to select group"
|
|
28468
|
-
},
|
|
28469
|
-
/**
|
|
28470
|
-
* String to show next to selected option
|
|
28471
|
-
* @default 'Selected'
|
|
28472
|
-
* @type {String}
|
|
28473
|
-
*/
|
|
28474
|
-
selectedLabel: {
|
|
28475
|
-
type: String,
|
|
28476
|
-
default: "Selected"
|
|
28477
|
-
},
|
|
28478
|
-
/**
|
|
28479
|
-
* String to show when pointing to an already selected option
|
|
28480
|
-
* @default 'Press enter to remove'
|
|
28481
|
-
* @type {String}
|
|
28482
|
-
*/
|
|
28483
|
-
deselectLabel: {
|
|
28484
|
-
type: String,
|
|
28485
|
-
default: "Press enter to remove"
|
|
28486
|
-
},
|
|
28487
|
-
/**
|
|
28488
|
-
* String to show when pointing to an already selected option
|
|
28489
|
-
* @default 'Press enter to remove'
|
|
28490
|
-
* @type {String}
|
|
28491
|
-
*/
|
|
28492
|
-
deselectGroupLabel: {
|
|
28493
|
-
type: String,
|
|
28494
|
-
default: "Press enter to deselect group"
|
|
28495
|
-
},
|
|
28496
|
-
/**
|
|
28497
|
-
* Decide whether to show pointer labels
|
|
28498
|
-
* @default true
|
|
28499
|
-
* @type {Boolean}
|
|
28500
|
-
*/
|
|
28501
|
-
showLabels: {
|
|
28502
|
-
type: Boolean,
|
|
28503
|
-
default: true
|
|
28504
|
-
},
|
|
28505
|
-
/**
|
|
28506
|
-
* Limit the display of selected options. The rest will be hidden within the limitText string.
|
|
28507
|
-
* @default 99999
|
|
28508
|
-
* @type {Integer}
|
|
28509
|
-
*/
|
|
28510
|
-
limit: {
|
|
28511
|
-
type: Number,
|
|
28512
|
-
default: 99999
|
|
28513
|
-
},
|
|
28514
|
-
/**
|
|
28515
|
-
* Sets maxHeight style value of the dropdown
|
|
28516
|
-
* @default 300
|
|
28517
|
-
* @type {Integer}
|
|
28518
|
-
*/
|
|
28519
|
-
maxHeight: {
|
|
28520
|
-
type: Number,
|
|
28521
|
-
default: 300
|
|
28522
|
-
},
|
|
28523
|
-
/**
|
|
28524
|
-
* Function that process the message shown when selected
|
|
28525
|
-
* elements pass the defined limit.
|
|
28526
|
-
* @default 'and * more'
|
|
28527
|
-
* @param {Int} count Number of elements more than limit
|
|
28528
|
-
* @type {Function}
|
|
28529
|
-
*/
|
|
28530
|
-
limitText: {
|
|
28531
|
-
type: Function,
|
|
28532
|
-
default: (count2) => `and ${count2} more`
|
|
28533
|
-
},
|
|
28534
|
-
/**
|
|
28535
|
-
* Set true to trigger the loading spinner.
|
|
28536
|
-
* @default False
|
|
28537
|
-
* @type {Boolean}
|
|
28538
|
-
*/
|
|
28539
|
-
loading: {
|
|
28540
|
-
type: Boolean,
|
|
28541
|
-
default: false
|
|
28542
|
-
},
|
|
28543
|
-
/**
|
|
28544
|
-
* Disables the multiselect if true.
|
|
28545
|
-
* @default false
|
|
28546
|
-
* @type {Boolean}
|
|
28547
|
-
*/
|
|
28548
|
-
disabled: {
|
|
28549
|
-
type: Boolean,
|
|
28550
|
-
default: false
|
|
28551
|
-
},
|
|
28552
|
-
/**
|
|
28553
|
-
* Fixed opening direction
|
|
28554
|
-
* @default ''
|
|
28555
|
-
* @type {String}
|
|
28556
|
-
*/
|
|
28557
|
-
openDirection: {
|
|
28558
|
-
type: String,
|
|
28559
|
-
default: ""
|
|
28560
|
-
},
|
|
28561
|
-
/**
|
|
28562
|
-
* Shows slot with message about empty options
|
|
28563
|
-
* @default true
|
|
28564
|
-
* @type {Boolean}
|
|
28565
|
-
*/
|
|
28566
|
-
showNoOptions: {
|
|
28567
|
-
type: Boolean,
|
|
28568
|
-
default: true
|
|
28569
|
-
},
|
|
28570
|
-
showNoResults: {
|
|
28571
|
-
type: Boolean,
|
|
28572
|
-
default: true
|
|
28573
|
-
},
|
|
28574
|
-
tabindex: {
|
|
28575
|
-
type: Number,
|
|
28576
|
-
default: 0
|
|
28577
|
-
}
|
|
28578
|
-
},
|
|
28579
|
-
computed: {
|
|
28580
|
-
hasOptionGroup() {
|
|
28581
|
-
return this.groupValues && this.groupLabel && this.groupSelect;
|
|
28582
|
-
},
|
|
28583
|
-
isSingleLabelVisible() {
|
|
28584
|
-
return (this.singleValue || this.singleValue === 0) && (!this.isOpen || !this.searchable) && !this.visibleValues.length;
|
|
28585
|
-
},
|
|
28586
|
-
isPlaceholderVisible() {
|
|
28587
|
-
return !this.internalValue.length && (!this.searchable || !this.isOpen);
|
|
28588
|
-
},
|
|
28589
|
-
visibleValues() {
|
|
28590
|
-
return this.multiple ? this.internalValue.slice(0, this.limit) : [];
|
|
28591
|
-
},
|
|
28592
|
-
singleValue() {
|
|
28593
|
-
return this.internalValue[0];
|
|
28594
|
-
},
|
|
28595
|
-
deselectLabelText() {
|
|
28596
|
-
return this.showLabels ? this.deselectLabel : "";
|
|
28597
|
-
},
|
|
28598
|
-
deselectGroupLabelText() {
|
|
28599
|
-
return this.showLabels ? this.deselectGroupLabel : "";
|
|
28600
|
-
},
|
|
28601
|
-
selectLabelText() {
|
|
28602
|
-
return this.showLabels ? this.selectLabel : "";
|
|
28603
|
-
},
|
|
28604
|
-
selectGroupLabelText() {
|
|
28605
|
-
return this.showLabels ? this.selectGroupLabel : "";
|
|
28606
|
-
},
|
|
28607
|
-
selectedLabelText() {
|
|
28608
|
-
return this.showLabels ? this.selectedLabel : "";
|
|
28609
|
-
},
|
|
28610
|
-
inputStyle() {
|
|
28611
|
-
if (this.searchable || this.multiple && this.modelValue && this.modelValue.length) {
|
|
28612
|
-
return this.isOpen ? { width: "100%" } : { width: "0", position: "absolute", padding: "0" };
|
|
28613
|
-
}
|
|
28614
|
-
return "";
|
|
28615
|
-
},
|
|
28616
|
-
contentStyle() {
|
|
28617
|
-
return this.options.length ? { display: "inline-block" } : { display: "block" };
|
|
28618
|
-
},
|
|
28619
|
-
isAbove() {
|
|
28620
|
-
if (this.openDirection === "above" || this.openDirection === "top") {
|
|
28621
|
-
return true;
|
|
28622
|
-
} else if (this.openDirection === "below" || this.openDirection === "bottom") {
|
|
28623
|
-
return false;
|
|
28624
|
-
} else {
|
|
28625
|
-
return this.preferredOpenDirection === "above";
|
|
28626
|
-
}
|
|
28627
|
-
},
|
|
28628
|
-
showSearchInput() {
|
|
28629
|
-
return this.searchable && (this.hasSingleSelectedSlot && (this.visibleSingleValue || this.visibleSingleValue === 0) ? this.isOpen : true);
|
|
28630
|
-
}
|
|
28631
|
-
}
|
|
28632
|
-
};
|
|
28633
|
-
const _hoisted_1$n = {
|
|
28634
|
-
ref: "tags",
|
|
28635
|
-
class: "multiselect__tags"
|
|
28636
|
-
};
|
|
28637
|
-
const _hoisted_2$i = { class: "multiselect__tags-wrap" };
|
|
28638
|
-
const _hoisted_3$e = { class: "multiselect__spinner" };
|
|
28639
|
-
const _hoisted_4$a = { key: 0 };
|
|
28640
|
-
const _hoisted_5$9 = { class: "multiselect__option" };
|
|
28641
|
-
const _hoisted_6$5 = { class: "multiselect__option" };
|
|
28642
|
-
const _hoisted_7$2 = /* @__PURE__ */ vue.createTextVNode("No elements found. Consider changing the search query.");
|
|
28643
|
-
const _hoisted_8$1 = { class: "multiselect__option" };
|
|
28644
|
-
const _hoisted_9$1 = /* @__PURE__ */ vue.createTextVNode("List is empty.");
|
|
28645
|
-
function render$e(_ctx, _cache, $props, $setup, $data, $options) {
|
|
28646
|
-
return vue.openBlock(), vue.createBlock("div", {
|
|
28647
|
-
tabindex: _ctx.searchable ? -1 : $props.tabindex,
|
|
28648
|
-
class: [{ "multiselect--active": _ctx.isOpen, "multiselect--disabled": $props.disabled, "multiselect--above": $options.isAbove, "multiselect--has-options-group": $options.hasOptionGroup }, "multiselect"],
|
|
28649
|
-
onFocus: _cache[14] || (_cache[14] = ($event) => _ctx.activate()),
|
|
28650
|
-
onBlur: _cache[15] || (_cache[15] = ($event) => _ctx.searchable ? false : _ctx.deactivate()),
|
|
28651
|
-
onKeydown: [
|
|
28652
|
-
_cache[16] || (_cache[16] = vue.withKeys(vue.withModifiers(($event) => _ctx.pointerForward(), ["self", "prevent"]), ["down"])),
|
|
28653
|
-
_cache[17] || (_cache[17] = vue.withKeys(vue.withModifiers(($event) => _ctx.pointerBackward(), ["self", "prevent"]), ["up"]))
|
|
28654
|
-
],
|
|
28655
|
-
onKeypress: _cache[18] || (_cache[18] = vue.withKeys(vue.withModifiers(($event) => _ctx.addPointerElement($event), ["stop", "self"]), ["enter", "tab"])),
|
|
28656
|
-
onKeyup: _cache[19] || (_cache[19] = vue.withKeys(($event) => _ctx.deactivate(), ["esc"])),
|
|
28657
|
-
role: "combobox",
|
|
28658
|
-
"aria-owns": "listbox-" + _ctx.id
|
|
28659
|
-
}, [
|
|
28660
|
-
vue.renderSlot(_ctx.$slots, "caret", { toggle: _ctx.toggle }, () => [
|
|
28661
|
-
vue.createVNode(
|
|
28662
|
-
"div",
|
|
28663
|
-
{
|
|
28664
|
-
onMousedown: _cache[1] || (_cache[1] = vue.withModifiers(($event) => _ctx.toggle(), ["prevent", "stop"])),
|
|
28665
|
-
class: "multiselect__select"
|
|
28666
|
-
},
|
|
28667
|
-
null,
|
|
28668
|
-
32
|
|
28669
|
-
/* HYDRATE_EVENTS */
|
|
28670
|
-
)
|
|
28671
|
-
]),
|
|
28672
|
-
vue.renderSlot(_ctx.$slots, "clear", { search: _ctx.search }),
|
|
28673
|
-
vue.createVNode(
|
|
28674
|
-
"div",
|
|
28675
|
-
_hoisted_1$n,
|
|
28676
|
-
[
|
|
28677
|
-
vue.renderSlot(_ctx.$slots, "selection", {
|
|
28678
|
-
search: _ctx.search,
|
|
28679
|
-
remove: _ctx.removeElement,
|
|
28680
|
-
values: $options.visibleValues,
|
|
28681
|
-
isOpen: _ctx.isOpen
|
|
28682
|
-
}, () => [
|
|
28683
|
-
vue.withDirectives(vue.createVNode(
|
|
28684
|
-
"div",
|
|
28685
|
-
_hoisted_2$i,
|
|
28686
|
-
[
|
|
28687
|
-
(vue.openBlock(true), vue.createBlock(
|
|
28688
|
-
vue.Fragment,
|
|
28689
|
-
null,
|
|
28690
|
-
vue.renderList($options.visibleValues, (option2, index2) => {
|
|
28691
|
-
return vue.renderSlot(_ctx.$slots, "tag", {
|
|
28692
|
-
option: option2,
|
|
28693
|
-
search: _ctx.search,
|
|
28694
|
-
remove: _ctx.removeElement
|
|
28695
|
-
}, () => [
|
|
28696
|
-
(vue.openBlock(), vue.createBlock("span", {
|
|
28697
|
-
class: "multiselect__tag",
|
|
28698
|
-
key: index2
|
|
28699
|
-
}, [
|
|
28700
|
-
vue.createVNode("span", {
|
|
28701
|
-
textContent: vue.toDisplayString(_ctx.getOptionLabel(option2))
|
|
28702
|
-
}, null, 8, ["textContent"]),
|
|
28703
|
-
vue.createVNode("i", {
|
|
28704
|
-
tabindex: "1",
|
|
28705
|
-
onKeypress: vue.withKeys(vue.withModifiers(($event) => _ctx.removeElement(option2), ["prevent"]), ["enter"]),
|
|
28706
|
-
onMousedown: vue.withModifiers(($event) => _ctx.removeElement(option2), ["prevent"]),
|
|
28707
|
-
class: "multiselect__tag-icon"
|
|
28708
|
-
}, null, 40, ["onKeypress", "onMousedown"])
|
|
28709
|
-
]))
|
|
28710
|
-
]);
|
|
28711
|
-
}),
|
|
28712
|
-
256
|
|
28713
|
-
/* UNKEYED_FRAGMENT */
|
|
28714
|
-
))
|
|
28715
|
-
],
|
|
28716
|
-
512
|
|
28717
|
-
/* NEED_PATCH */
|
|
28718
|
-
), [
|
|
28719
|
-
[vue.vShow, $options.visibleValues.length > 0]
|
|
28720
|
-
]),
|
|
28721
|
-
_ctx.internalValue && _ctx.internalValue.length > $props.limit ? vue.renderSlot(_ctx.$slots, "limit", { key: 0 }, () => [
|
|
28722
|
-
vue.createVNode("strong", {
|
|
28723
|
-
class: "multiselect__strong",
|
|
28724
|
-
textContent: vue.toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit))
|
|
28725
|
-
}, null, 8, ["textContent"])
|
|
28726
|
-
]) : vue.createCommentVNode("v-if", true)
|
|
28727
|
-
]),
|
|
28728
|
-
vue.createVNode(vue.Transition, { name: "multiselect__loading" }, {
|
|
28729
|
-
default: vue.withCtx(() => [
|
|
28730
|
-
vue.renderSlot(_ctx.$slots, "loading", {}, () => [
|
|
28731
|
-
vue.withDirectives(vue.createVNode(
|
|
28732
|
-
"div",
|
|
28733
|
-
_hoisted_3$e,
|
|
28734
|
-
null,
|
|
28735
|
-
512
|
|
28736
|
-
/* NEED_PATCH */
|
|
28737
|
-
), [
|
|
28738
|
-
[vue.vShow, $props.loading]
|
|
28739
|
-
])
|
|
28740
|
-
])
|
|
28741
|
-
]),
|
|
28742
|
-
_: 3
|
|
28743
|
-
/* FORWARDED */
|
|
28744
|
-
}),
|
|
28745
|
-
_ctx.searchable ? (vue.openBlock(), vue.createBlock("input", {
|
|
28746
|
-
key: 0,
|
|
28747
|
-
ref: "search",
|
|
28748
|
-
name: $props.name,
|
|
28749
|
-
id: _ctx.id,
|
|
28750
|
-
type: "text",
|
|
28751
|
-
autocomplete: "off",
|
|
28752
|
-
spellcheck: false,
|
|
28753
|
-
placeholder: _ctx.placeholder,
|
|
28754
|
-
style: $options.inputStyle,
|
|
28755
|
-
value: _ctx.search,
|
|
28756
|
-
disabled: $props.disabled,
|
|
28757
|
-
tabindex: $props.tabindex,
|
|
28758
|
-
onInput: _cache[2] || (_cache[2] = ($event) => _ctx.updateSearch($event.target.value)),
|
|
28759
|
-
onFocus: _cache[3] || (_cache[3] = vue.withModifiers(($event) => _ctx.activate(), ["prevent"])),
|
|
28760
|
-
onBlur: _cache[4] || (_cache[4] = vue.withModifiers(($event) => _ctx.deactivate(), ["prevent"])),
|
|
28761
|
-
onKeyup: _cache[5] || (_cache[5] = vue.withKeys(($event) => _ctx.deactivate(), ["esc"])),
|
|
28762
|
-
onKeydown: [
|
|
28763
|
-
_cache[6] || (_cache[6] = vue.withKeys(vue.withModifiers(($event) => _ctx.pointerForward(), ["prevent"]), ["down"])),
|
|
28764
|
-
_cache[7] || (_cache[7] = vue.withKeys(vue.withModifiers(($event) => _ctx.pointerBackward(), ["prevent"]), ["up"])),
|
|
28765
|
-
_cache[9] || (_cache[9] = vue.withKeys(vue.withModifiers(($event) => _ctx.removeLastElement(), ["stop"]), ["delete"]))
|
|
28766
|
-
],
|
|
28767
|
-
onKeypress: _cache[8] || (_cache[8] = vue.withKeys(vue.withModifiers(($event) => _ctx.addPointerElement($event), ["prevent", "stop", "self"]), ["enter"])),
|
|
28768
|
-
class: "multiselect__input",
|
|
28769
|
-
"aria-controls": "listbox-" + _ctx.id
|
|
28770
|
-
}, null, 44, ["name", "id", "placeholder", "value", "disabled", "tabindex", "aria-controls"])) : vue.createCommentVNode("v-if", true),
|
|
28771
|
-
$options.isSingleLabelVisible ? (vue.openBlock(), vue.createBlock(
|
|
28772
|
-
"span",
|
|
28773
|
-
{
|
|
28774
|
-
key: 1,
|
|
28775
|
-
class: "multiselect__single",
|
|
28776
|
-
onMousedown: _cache[10] || (_cache[10] = vue.withModifiers((...args) => _ctx.toggle && _ctx.toggle(...args), ["prevent"]))
|
|
28777
|
-
},
|
|
28778
|
-
[
|
|
28779
|
-
vue.renderSlot(_ctx.$slots, "singleLabel", { option: $options.singleValue }, () => [
|
|
28780
|
-
vue.createTextVNode(
|
|
28781
|
-
vue.toDisplayString(_ctx.currentOptionLabel),
|
|
28782
|
-
1
|
|
28783
|
-
/* TEXT */
|
|
28784
|
-
)
|
|
28785
|
-
])
|
|
28786
|
-
],
|
|
28787
|
-
32
|
|
28788
|
-
/* HYDRATE_EVENTS */
|
|
28789
|
-
)) : vue.createCommentVNode("v-if", true),
|
|
28790
|
-
$options.isPlaceholderVisible ? (vue.openBlock(), vue.createBlock(
|
|
28791
|
-
"span",
|
|
28792
|
-
{
|
|
28793
|
-
key: 2,
|
|
28794
|
-
class: "multiselect__placeholder",
|
|
28795
|
-
onMousedown: _cache[11] || (_cache[11] = vue.withModifiers((...args) => _ctx.toggle && _ctx.toggle(...args), ["prevent"]))
|
|
28796
|
-
},
|
|
28797
|
-
[
|
|
28798
|
-
vue.renderSlot(_ctx.$slots, "placeholder", {}, () => [
|
|
28799
|
-
vue.createTextVNode(
|
|
28800
|
-
vue.toDisplayString(_ctx.placeholder),
|
|
28801
|
-
1
|
|
28802
|
-
/* TEXT */
|
|
28803
|
-
)
|
|
28804
|
-
])
|
|
28805
|
-
],
|
|
28806
|
-
32
|
|
28807
|
-
/* HYDRATE_EVENTS */
|
|
28808
|
-
)) : vue.createCommentVNode("v-if", true)
|
|
28809
|
-
],
|
|
28810
|
-
512
|
|
28811
|
-
/* NEED_PATCH */
|
|
28812
|
-
),
|
|
28813
|
-
vue.createVNode(vue.Transition, { name: "multiselect" }, {
|
|
28814
|
-
default: vue.withCtx(() => [
|
|
28815
|
-
vue.withDirectives(vue.createVNode(
|
|
28816
|
-
"div",
|
|
28817
|
-
{
|
|
28818
|
-
class: "multiselect__content-wrapper",
|
|
28819
|
-
onFocus: _cache[12] || (_cache[12] = (...args) => _ctx.activate && _ctx.activate(...args)),
|
|
28820
|
-
tabindex: "-1",
|
|
28821
|
-
onMousedown: _cache[13] || (_cache[13] = vue.withModifiers(() => {
|
|
28822
|
-
}, ["prevent"])),
|
|
28823
|
-
style: { maxHeight: _ctx.optimizedHeight + "px" },
|
|
28824
|
-
ref: "list"
|
|
28825
|
-
},
|
|
28826
|
-
[
|
|
28827
|
-
vue.createVNode("ul", {
|
|
28828
|
-
class: "multiselect__content",
|
|
28829
|
-
style: $options.contentStyle,
|
|
28830
|
-
role: "listbox",
|
|
28831
|
-
id: "listbox-" + _ctx.id
|
|
28832
|
-
}, [
|
|
28833
|
-
vue.renderSlot(_ctx.$slots, "beforeList"),
|
|
28834
|
-
_ctx.multiple && _ctx.max === _ctx.internalValue.length ? (vue.openBlock(), vue.createBlock("li", _hoisted_4$a, [
|
|
28835
|
-
vue.createVNode("span", _hoisted_5$9, [
|
|
28836
|
-
vue.renderSlot(_ctx.$slots, "maxElements", {}, () => [
|
|
28837
|
-
vue.createTextVNode(
|
|
28838
|
-
"Maximum of " + vue.toDisplayString(_ctx.max) + " options selected. First remove a selected option to select another.",
|
|
28839
|
-
1
|
|
28840
|
-
/* TEXT */
|
|
28841
|
-
)
|
|
28842
|
-
])
|
|
28843
|
-
])
|
|
28844
|
-
])) : vue.createCommentVNode("v-if", true),
|
|
28845
|
-
!_ctx.max || _ctx.internalValue.length < _ctx.max ? (vue.openBlock(true), vue.createBlock(
|
|
28846
|
-
vue.Fragment,
|
|
28847
|
-
{ key: 1 },
|
|
28848
|
-
vue.renderList(_ctx.filteredOptions, (option2, index2) => {
|
|
28849
|
-
return vue.openBlock(), vue.createBlock("li", {
|
|
28850
|
-
class: "multiselect__element",
|
|
28851
|
-
key: index2,
|
|
28852
|
-
id: _ctx.id + "-" + index2,
|
|
28853
|
-
role: !(option2 && (option2.$isLabel || option2.$isDisabled)) ? "option" : null
|
|
28854
|
-
}, [
|
|
28855
|
-
!(option2 && (option2.$isLabel || option2.$isDisabled)) ? (vue.openBlock(), vue.createBlock("span", {
|
|
28856
|
-
key: 0,
|
|
28857
|
-
class: [_ctx.optionHighlight(index2, option2), "multiselect__option"],
|
|
28858
|
-
onClick: vue.withModifiers(($event) => _ctx.select(option2), ["stop"]),
|
|
28859
|
-
onMouseenter: vue.withModifiers(($event) => _ctx.pointerSet(index2), ["self"]),
|
|
28860
|
-
"data-select": option2 && option2.isTag ? _ctx.tagPlaceholder : $options.selectLabelText,
|
|
28861
|
-
"data-selected": $options.selectedLabelText,
|
|
28862
|
-
"data-deselect": $options.deselectLabelText
|
|
28863
|
-
}, [
|
|
28864
|
-
vue.renderSlot(_ctx.$slots, "option", {
|
|
28865
|
-
option: option2,
|
|
28866
|
-
search: _ctx.search,
|
|
28867
|
-
index: index2
|
|
28868
|
-
}, () => [
|
|
28869
|
-
vue.createVNode(
|
|
28870
|
-
"span",
|
|
28871
|
-
null,
|
|
28872
|
-
vue.toDisplayString(_ctx.getOptionLabel(option2)),
|
|
28873
|
-
1
|
|
28874
|
-
/* TEXT */
|
|
28875
|
-
)
|
|
28876
|
-
])
|
|
28877
|
-
], 42, ["onClick", "onMouseenter", "data-select", "data-selected", "data-deselect"])) : vue.createCommentVNode("v-if", true),
|
|
28878
|
-
option2 && (option2.$isLabel || option2.$isDisabled) ? (vue.openBlock(), vue.createBlock("span", {
|
|
28879
|
-
key: 1,
|
|
28880
|
-
"data-select": _ctx.groupSelect && $options.selectGroupLabelText,
|
|
28881
|
-
"data-deselect": _ctx.groupSelect && $options.deselectGroupLabelText,
|
|
28882
|
-
class: [_ctx.groupHighlight(index2, option2), "multiselect__option"],
|
|
28883
|
-
onMouseenter: vue.withModifiers(($event) => _ctx.groupSelect && _ctx.pointerSet(index2), ["self"]),
|
|
28884
|
-
onMousedown: vue.withModifiers(($event) => _ctx.selectGroup(option2), ["prevent"])
|
|
28885
|
-
}, [
|
|
28886
|
-
vue.renderSlot(_ctx.$slots, "option", {
|
|
28887
|
-
option: option2,
|
|
28888
|
-
search: _ctx.search,
|
|
28889
|
-
index: index2
|
|
28890
|
-
}, () => [
|
|
28891
|
-
vue.createVNode(
|
|
28892
|
-
"span",
|
|
28893
|
-
null,
|
|
28894
|
-
vue.toDisplayString(_ctx.getOptionLabel(option2)),
|
|
28895
|
-
1
|
|
28896
|
-
/* TEXT */
|
|
28897
|
-
)
|
|
28898
|
-
])
|
|
28899
|
-
], 42, ["data-select", "data-deselect", "onMouseenter", "onMousedown"])) : vue.createCommentVNode("v-if", true)
|
|
28900
|
-
], 8, ["id", "role"]);
|
|
28901
|
-
}),
|
|
28902
|
-
128
|
|
28903
|
-
/* KEYED_FRAGMENT */
|
|
28904
|
-
)) : vue.createCommentVNode("v-if", true),
|
|
28905
|
-
vue.withDirectives(vue.createVNode(
|
|
28906
|
-
"li",
|
|
28907
|
-
null,
|
|
28908
|
-
[
|
|
28909
|
-
vue.createVNode("span", _hoisted_6$5, [
|
|
28910
|
-
vue.renderSlot(_ctx.$slots, "noResult", { search: _ctx.search }, () => [
|
|
28911
|
-
_hoisted_7$2
|
|
28912
|
-
])
|
|
28913
|
-
])
|
|
28914
|
-
],
|
|
28915
|
-
512
|
|
28916
|
-
/* NEED_PATCH */
|
|
28917
|
-
), [
|
|
28918
|
-
[vue.vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)]
|
|
28919
|
-
]),
|
|
28920
|
-
vue.withDirectives(vue.createVNode(
|
|
28921
|
-
"li",
|
|
28922
|
-
null,
|
|
28923
|
-
[
|
|
28924
|
-
vue.createVNode("span", _hoisted_8$1, [
|
|
28925
|
-
vue.renderSlot(_ctx.$slots, "noOptions", {}, () => [
|
|
28926
|
-
_hoisted_9$1
|
|
28927
|
-
])
|
|
28928
|
-
])
|
|
28929
|
-
],
|
|
28930
|
-
512
|
|
28931
|
-
/* NEED_PATCH */
|
|
28932
|
-
), [
|
|
28933
|
-
[vue.vShow, $props.showNoOptions && ((_ctx.options.length === 0 || $options.hasOptionGroup === true && _ctx.filteredOptions.length === 0) && !_ctx.search && !$props.loading)]
|
|
28934
|
-
]),
|
|
28935
|
-
vue.renderSlot(_ctx.$slots, "afterList")
|
|
28936
|
-
], 12, ["id"])
|
|
28937
|
-
],
|
|
28938
|
-
36
|
|
28939
|
-
/* STYLE, HYDRATE_EVENTS */
|
|
28940
|
-
), [
|
|
28941
|
-
[vue.vShow, _ctx.isOpen]
|
|
28942
|
-
])
|
|
28943
|
-
]),
|
|
28944
|
-
_: 3
|
|
28945
|
-
/* FORWARDED */
|
|
28946
|
-
})
|
|
28947
|
-
], 42, ["tabindex", "aria-owns"]);
|
|
28948
|
-
}
|
|
28949
|
-
script$e.render = render$e;
|
|
28950
|
-
const Multiselect = script$e;
|
|
28951
|
-
const _hoisted_1$m = ["for"];
|
|
28952
|
-
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
27426
|
+
const JSONInput = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-1fc4f739"]]);
|
|
27427
|
+
const _hoisted_1$m = ["disabled"];
|
|
27428
|
+
const _hoisted_2$i = ["onClick"];
|
|
27429
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
28953
27430
|
__name: "SelectInput",
|
|
28954
27431
|
props: {
|
|
27432
|
+
options: {},
|
|
27433
|
+
placeholder: {},
|
|
27434
|
+
disabled: { type: Boolean },
|
|
27435
|
+
modelValue: {},
|
|
27436
|
+
searchable: { type: Boolean },
|
|
28955
27437
|
required: { type: Boolean },
|
|
28956
27438
|
label: {},
|
|
28957
|
-
|
|
28958
|
-
|
|
28959
|
-
placeholder: {},
|
|
28960
|
-
defaultValue: {},
|
|
28961
|
-
options: {},
|
|
28962
|
-
extraProps: {}
|
|
27439
|
+
fullWidth: { type: Boolean },
|
|
27440
|
+
multiselect: { type: Boolean }
|
|
28963
27441
|
},
|
|
28964
27442
|
emits: ["update:modelValue"],
|
|
28965
27443
|
setup(__props, { emit: __emit }) {
|
|
27444
|
+
let open = vue.ref(false);
|
|
27445
|
+
const searchInput = vue.ref(null);
|
|
28966
27446
|
const props2 = __props;
|
|
28967
|
-
|
|
28968
|
-
|
|
27447
|
+
const selectedItems = vue.ref([]);
|
|
27448
|
+
let search = vue.ref("");
|
|
27449
|
+
const dropdown = vue.ref(null);
|
|
27450
|
+
const toggle = () => {
|
|
27451
|
+
var _a2;
|
|
27452
|
+
(_a2 = dropdown.value) == null ? void 0 : _a2.hide();
|
|
27453
|
+
open.value = !open.value;
|
|
27454
|
+
if (!open.value)
|
|
27455
|
+
search.value = "";
|
|
27456
|
+
if (open.value)
|
|
27457
|
+
setTimeout(() => {
|
|
27458
|
+
var _a3, _b, _c;
|
|
27459
|
+
return (_c = (_b = (_a3 = searchInput.value) == null ? void 0 : _a3.$el) == null ? void 0 : _b.querySelector("input")) == null ? void 0 : _c.focus();
|
|
27460
|
+
}, 100);
|
|
27461
|
+
};
|
|
27462
|
+
const selecteLabel = vue.computed(() => {
|
|
27463
|
+
if (selectedItems.value.length === 0)
|
|
27464
|
+
return props2.placeholder || "Select";
|
|
27465
|
+
if (selectedItems.value.length > 4) {
|
|
27466
|
+
const str = selectedItems.value.slice(0, 4).map((item) => getLabel(item)).join(", ");
|
|
27467
|
+
return `${str}... +${selectedItems.value.length - 4}`;
|
|
27468
|
+
}
|
|
27469
|
+
return selectedItems.value.map((item) => getLabel(item)).join(", ");
|
|
27470
|
+
});
|
|
28969
27471
|
const emit2 = __emit;
|
|
28970
|
-
const
|
|
28971
|
-
|
|
28972
|
-
|
|
28973
|
-
|
|
28974
|
-
|
|
28975
|
-
|
|
27472
|
+
const getLabel = (option2) => {
|
|
27473
|
+
if (typeof option2 === "string")
|
|
27474
|
+
return option2;
|
|
27475
|
+
if (typeof option2 === "number")
|
|
27476
|
+
return `${option2}`;
|
|
27477
|
+
return option2.label;
|
|
27478
|
+
};
|
|
27479
|
+
const getValue = (option2) => {
|
|
27480
|
+
if (typeof option2 === "string")
|
|
27481
|
+
return option2;
|
|
27482
|
+
if (typeof option2 === "number")
|
|
27483
|
+
return option2;
|
|
27484
|
+
return option2.value;
|
|
27485
|
+
};
|
|
27486
|
+
const isSelected = (option2) => selectedItems.value.includes(getValue(option2));
|
|
27487
|
+
const filteredOptions = vue.computed(() => props2.options.filter((option2) => {
|
|
27488
|
+
const searchTerm = new RegExp(search.value, "gi");
|
|
27489
|
+
if (typeof option2 === "string")
|
|
27490
|
+
return option2.match(searchTerm);
|
|
27491
|
+
if (typeof option2 === "number")
|
|
27492
|
+
return `${option2}`.match(searchTerm);
|
|
27493
|
+
return option2.label.match(searchTerm);
|
|
27494
|
+
}));
|
|
27495
|
+
const select2 = (option2) => {
|
|
27496
|
+
const existingIndex = selectedItems.value.findIndex((item) => {
|
|
27497
|
+
if (typeof item === "string" || typeof item === "number")
|
|
27498
|
+
return item === option2;
|
|
27499
|
+
return item.value === option2;
|
|
27500
|
+
});
|
|
27501
|
+
if (existingIndex > -1)
|
|
27502
|
+
selectedItems.value.splice(existingIndex, 1);
|
|
27503
|
+
else if (props2.multiselect) {
|
|
27504
|
+
selectedItems.value.push(getValue(option2));
|
|
27505
|
+
} else {
|
|
27506
|
+
selectedItems.value.splice(0, selectedItems.value.length, getValue(option2));
|
|
27507
|
+
toggle();
|
|
28976
27508
|
}
|
|
28977
|
-
|
|
28978
|
-
|
|
28979
|
-
|
|
28980
|
-
|
|
27509
|
+
emitUpdate();
|
|
27510
|
+
};
|
|
27511
|
+
function emitUpdate() {
|
|
27512
|
+
if (props2.multiselect) {
|
|
27513
|
+
emit2("update:modelValue", selectedItems.value);
|
|
27514
|
+
} else {
|
|
27515
|
+
selectedItems.value.splice(1, selectedItems.value.length);
|
|
27516
|
+
emit2("update:modelValue", selectedItems.value[0]);
|
|
28981
27517
|
}
|
|
28982
|
-
return option2;
|
|
28983
27518
|
}
|
|
28984
|
-
function
|
|
28985
|
-
const
|
|
28986
|
-
|
|
28987
|
-
optionList.value.push(...optnLst.map(optnToValueLabel));
|
|
27519
|
+
function compareArrays(arr1, arr2) {
|
|
27520
|
+
const isSame = arr1.every((item) => arr2.map((a2) => getValue(a2)).includes(getValue(item)));
|
|
27521
|
+
return isSame;
|
|
28988
27522
|
}
|
|
28989
|
-
vue.watch(
|
|
27523
|
+
vue.watch(
|
|
27524
|
+
() => props2.modelValue,
|
|
27525
|
+
(newVal) => {
|
|
27526
|
+
if (!newVal)
|
|
27527
|
+
return;
|
|
27528
|
+
if (!props2.multiselect) {
|
|
27529
|
+
if (!isSelected(newVal))
|
|
27530
|
+
selectedItems.value.splice(0, selectedItems.value.length, newVal);
|
|
27531
|
+
} else {
|
|
27532
|
+
const isSame = compareArrays([newVal].flat(), selectedItems.value);
|
|
27533
|
+
if (!isSame)
|
|
27534
|
+
selectedItems.value.splice(0, selectedItems.value.length, [newVal].flat());
|
|
27535
|
+
}
|
|
27536
|
+
},
|
|
27537
|
+
{ immediate: true }
|
|
27538
|
+
);
|
|
28990
27539
|
return (_ctx, _cache) => {
|
|
28991
|
-
return vue.openBlock(), vue.
|
|
28992
|
-
|
|
28993
|
-
|
|
28994
|
-
|
|
28995
|
-
|
|
28996
|
-
|
|
28997
|
-
|
|
28998
|
-
|
|
28999
|
-
|
|
29000
|
-
|
|
29001
|
-
|
|
29002
|
-
|
|
29003
|
-
|
|
29004
|
-
|
|
29005
|
-
|
|
29006
|
-
|
|
29007
|
-
|
|
29008
|
-
|
|
29009
|
-
|
|
29010
|
-
|
|
29011
|
-
|
|
27540
|
+
return vue.openBlock(), vue.createBlock(vue.unref(kt$1), {
|
|
27541
|
+
ref_key: "dropdown",
|
|
27542
|
+
ref: dropdown,
|
|
27543
|
+
placement: "bottom-start",
|
|
27544
|
+
class: "bagel-input selectinput"
|
|
27545
|
+
}, {
|
|
27546
|
+
popper: vue.withCtx(({ hide }) => [
|
|
27547
|
+
vue.createVNode(vue.unref(_sfc_main$t), {
|
|
27548
|
+
class: "selectinput-options p-05",
|
|
27549
|
+
style: vue.normalizeStyle({ width: _ctx.fullWidth ? "100%" : "auto" })
|
|
27550
|
+
}, {
|
|
27551
|
+
default: vue.withCtx(() => [
|
|
27552
|
+
_ctx.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(TextInput), {
|
|
27553
|
+
key: 0,
|
|
27554
|
+
ref_key: "searchInput",
|
|
27555
|
+
ref: searchInput,
|
|
27556
|
+
dense: "",
|
|
27557
|
+
placeholder: "Search",
|
|
27558
|
+
icon: "search",
|
|
27559
|
+
modelValue: vue.unref(search),
|
|
27560
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(search) ? search.value = $event : search = $event)
|
|
27561
|
+
}, null, 8, ["modelValue"])) : vue.createCommentVNode("", true),
|
|
27562
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredOptions.value, (option2, i2) => {
|
|
27563
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
27564
|
+
class: vue.normalizeClass(["selectinput-option hover gap-1", { selected: isSelected(option2) }]),
|
|
27565
|
+
key: `${option2}${i2}`,
|
|
27566
|
+
onClick: ($event) => select2(option2)
|
|
27567
|
+
}, [
|
|
27568
|
+
isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
27569
|
+
key: 0,
|
|
27570
|
+
icon: "check"
|
|
27571
|
+
})) : vue.createCommentVNode("", true),
|
|
27572
|
+
!isSelected(option2) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
27573
|
+
key: 1,
|
|
27574
|
+
class: "opacity-3",
|
|
27575
|
+
icon: "fiber_manual_record"
|
|
27576
|
+
})) : vue.createCommentVNode("", true),
|
|
27577
|
+
vue.createElementVNode("span", null, vue.toDisplayString(getLabel(option2)), 1)
|
|
27578
|
+
], 10, _hoisted_2$i);
|
|
27579
|
+
}), 128)),
|
|
27580
|
+
vue.renderSlot(_ctx.$slots, "last", {}, void 0, true)
|
|
27581
|
+
]),
|
|
27582
|
+
_: 3
|
|
27583
|
+
}, 8, ["style"])
|
|
27584
|
+
]),
|
|
27585
|
+
default: vue.withCtx(() => [
|
|
27586
|
+
vue.createElementVNode("label", null, [
|
|
27587
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
27588
|
+
vue.createElementVNode("button", {
|
|
27589
|
+
disabled: _ctx.disabled,
|
|
27590
|
+
type: "button",
|
|
27591
|
+
class: "selectinput-btn"
|
|
27592
|
+
}, [
|
|
27593
|
+
vue.createTextVNode(vue.toDisplayString(selecteLabel.value) + " ", 1),
|
|
27594
|
+
vue.createVNode(vue.unref(_sfc_main$H), vue.normalizeProps(vue.guardReactiveProps({ "icon": vue.unref(open) ? "unfold_less" : "unfold_more" })), null, 16)
|
|
27595
|
+
], 8, _hoisted_1$m),
|
|
27596
|
+
_ctx.required ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("input", {
|
|
27597
|
+
key: 0,
|
|
27598
|
+
style: { "width": "0", "height": "0", "position": "absolute", "opacity": "0", "z-index": "-1" },
|
|
27599
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedItems.value = $event),
|
|
27600
|
+
required: ""
|
|
27601
|
+
}, null, 512)), [
|
|
27602
|
+
[vue.vModelText, selectedItems.value]
|
|
27603
|
+
]) : vue.createCommentVNode("", true)
|
|
27604
|
+
])
|
|
27605
|
+
]),
|
|
27606
|
+
_: 3
|
|
27607
|
+
}, 512);
|
|
29012
27608
|
};
|
|
29013
27609
|
}
|
|
29014
27610
|
});
|
|
27611
|
+
const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-fa186094"]]);
|
|
29015
27612
|
const _hoisted_1$l = ["title"];
|
|
29016
27613
|
const _hoisted_2$h = { key: 0 };
|
|
29017
|
-
const _hoisted_3$
|
|
29018
|
-
const _sfc_main$
|
|
27614
|
+
const _hoisted_3$e = ["value", "placeholder"];
|
|
27615
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
29019
27616
|
__name: "RichTextEditor",
|
|
29020
27617
|
props: {
|
|
29021
27618
|
description: { default: "" },
|
|
@@ -29046,12 +27643,12 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
29046
27643
|
onInput: handleInput,
|
|
29047
27644
|
placeholder: _ctx.placeholder,
|
|
29048
27645
|
class: vue.normalizeClass({ "no-edit": !_ctx.editMode })
|
|
29049
|
-
}, null, 42, _hoisted_3$
|
|
27646
|
+
}, null, 42, _hoisted_3$e)
|
|
29050
27647
|
], 10, _hoisted_1$l);
|
|
29051
27648
|
};
|
|
29052
27649
|
}
|
|
29053
27650
|
});
|
|
29054
|
-
const RichTextEditor = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
27651
|
+
const RichTextEditor = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-69a60381"]]);
|
|
29055
27652
|
/*!
|
|
29056
27653
|
* vue-draggable-next v2.2.0
|
|
29057
27654
|
* (c) 2023 Anish George
|
|
@@ -29223,13 +27820,13 @@ function closest(el, selector2, ctx, includeCTX) {
|
|
|
29223
27820
|
return null;
|
|
29224
27821
|
}
|
|
29225
27822
|
var R_SPACE = /\s+/g;
|
|
29226
|
-
function toggleClass(el, name,
|
|
27823
|
+
function toggleClass(el, name, state2) {
|
|
29227
27824
|
if (el && name) {
|
|
29228
27825
|
if (el.classList) {
|
|
29229
|
-
el.classList[
|
|
27826
|
+
el.classList[state2 ? "add" : "remove"](name);
|
|
29230
27827
|
} else {
|
|
29231
27828
|
var className = (" " + el.className + " ").replace(R_SPACE, " ").replace(" " + name + " ", " ");
|
|
29232
|
-
el.className = (className + (
|
|
27829
|
+
el.className = (className + (state2 ? " " + name : "")).replace(R_SPACE, " ");
|
|
29233
27830
|
}
|
|
29234
27831
|
}
|
|
29235
27832
|
}
|
|
@@ -29506,8 +28103,8 @@ function AnimationStateManager() {
|
|
|
29506
28103
|
child.fromRect = fromRect;
|
|
29507
28104
|
});
|
|
29508
28105
|
},
|
|
29509
|
-
addAnimationState: function addAnimationState(
|
|
29510
|
-
animationStates.push(
|
|
28106
|
+
addAnimationState: function addAnimationState(state2) {
|
|
28107
|
+
animationStates.push(state2);
|
|
29511
28108
|
},
|
|
29512
28109
|
removeAnimationState: function removeAnimationState(target) {
|
|
29513
28110
|
animationStates.splice(indexOfObject(animationStates, {
|
|
@@ -29523,8 +28120,8 @@ function AnimationStateManager() {
|
|
|
29523
28120
|
return;
|
|
29524
28121
|
}
|
|
29525
28122
|
var animating = false, animationTime = 0;
|
|
29526
|
-
animationStates.forEach(function(
|
|
29527
|
-
var time = 0, target =
|
|
28123
|
+
animationStates.forEach(function(state2) {
|
|
28124
|
+
var time = 0, target = state2.target, fromRect = target.fromRect, toRect = getRect(target), prevFromRect = target.prevFromRect, prevToRect = target.prevToRect, animatingRect = state2.rect, targetMatrix = matrix(target, true);
|
|
29528
28125
|
if (targetMatrix) {
|
|
29529
28126
|
toRect.top -= targetMatrix.f;
|
|
29530
28127
|
toRect.left -= targetMatrix.e;
|
|
@@ -31576,11 +30173,11 @@ const VueDraggableNext = vue.defineComponent({
|
|
|
31576
30173
|
});
|
|
31577
30174
|
const _hoisted_1$k = ["title"];
|
|
31578
30175
|
const _hoisted_2$g = { class: "bagel-input" };
|
|
31579
|
-
const _hoisted_3$
|
|
30176
|
+
const _hoisted_3$d = { class: "table-side-scroll" };
|
|
31580
30177
|
const _hoisted_4$9 = { class: "table-header" };
|
|
31581
30178
|
const _hoisted_5$8 = { class: "table-reorder" };
|
|
31582
30179
|
const _hoisted_6$4 = { class: "table-action" };
|
|
31583
|
-
const _sfc_main$
|
|
30180
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
31584
30181
|
__name: "TableField",
|
|
31585
30182
|
props: {
|
|
31586
30183
|
description: { default: "" },
|
|
@@ -31648,7 +30245,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
31648
30245
|
vue.createElementVNode("div", _hoisted_2$g, [
|
|
31649
30246
|
vue.createElementVNode("label", null, vue.toDisplayString((_a2 = vue.unref(fieldMeta)) == null ? void 0 : _a2.label), 1)
|
|
31650
30247
|
]),
|
|
31651
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30248
|
+
vue.createElementVNode("div", _hoisted_3$d, [
|
|
31652
30249
|
vue.createElementVNode("div", _hoisted_4$9, [
|
|
31653
30250
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList((_b = vue.unref(entityMeta)) == null ? void 0 : _b.fields, (field) => {
|
|
31654
30251
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -31677,7 +30274,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
31677
30274
|
key: row.id
|
|
31678
30275
|
}, [
|
|
31679
30276
|
vue.createElementVNode("div", _hoisted_5$8, [
|
|
31680
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
30277
|
+
vue.createVNode(vue.unref(_sfc_main$H), { icon: "more_vert" })
|
|
31681
30278
|
]),
|
|
31682
30279
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList((_a3 = vue.unref(entityMeta)) == null ? void 0 : _a3.fields, (field) => {
|
|
31683
30280
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -31694,7 +30291,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
31694
30291
|
], 2);
|
|
31695
30292
|
}), 128)),
|
|
31696
30293
|
vue.createElementVNode("div", _hoisted_6$4, [
|
|
31697
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
30294
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
31698
30295
|
icon: "delete",
|
|
31699
30296
|
onClick: ($event) => removeRow(index2)
|
|
31700
30297
|
}, null, 8, ["onClick"])
|
|
@@ -31724,13 +30321,13 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
31724
30321
|
};
|
|
31725
30322
|
}
|
|
31726
30323
|
});
|
|
31727
|
-
const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30324
|
+
const TableField = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-cdacf10e"]]);
|
|
31728
30325
|
const _hoisted_1$j = ["title"];
|
|
31729
30326
|
const _hoisted_2$f = ["for"];
|
|
31730
|
-
const _hoisted_3$
|
|
30327
|
+
const _hoisted_3$c = ["title", "autocomplete", "id", "type", "placeholder", "disabled", "required", "pattern"];
|
|
31731
30328
|
const _hoisted_4$8 = ["title", "id", "type", "rows", "placeholder", "disabled", "required", "pattern"];
|
|
31732
30329
|
const _hoisted_5$7 = { key: 2 };
|
|
31733
|
-
const _sfc_main$
|
|
30330
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
31734
30331
|
__name: "TextInput",
|
|
31735
30332
|
props: {
|
|
31736
30333
|
id: {},
|
|
@@ -31844,7 +30441,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31844
30441
|
disabled: !vue.unref(editMode),
|
|
31845
30442
|
required: _ctx.required,
|
|
31846
30443
|
pattern: _ctx.pattern
|
|
31847
|
-
}, _ctx.nativeInputAttrs, { onDblclick: toggleEditAction }), null, 16, _hoisted_3$
|
|
30444
|
+
}, _ctx.nativeInputAttrs, { onDblclick: toggleEditAction }), null, 16, _hoisted_3$c)), [
|
|
31848
30445
|
[vue.vModelDynamic, vue.unref(inputVal)]
|
|
31849
30446
|
]) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("textarea", vue.mergeProps({
|
|
31850
30447
|
key: 1,
|
|
@@ -31864,12 +30461,12 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31864
30461
|
]),
|
|
31865
30462
|
_ctx.helptext ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$7, vue.toDisplayString(_ctx.helptext), 1)) : vue.createCommentVNode("", true)
|
|
31866
30463
|
], 8, _hoisted_2$f),
|
|
31867
|
-
_ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
30464
|
+
_ctx.iconStart ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
31868
30465
|
key: 0,
|
|
31869
30466
|
class: "iconStart",
|
|
31870
30467
|
icon: _ctx.iconStart
|
|
31871
30468
|
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
31872
|
-
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
30469
|
+
_ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
31873
30470
|
key: 1,
|
|
31874
30471
|
icon: _ctx.icon
|
|
31875
30472
|
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
@@ -31885,9 +30482,9 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31885
30482
|
};
|
|
31886
30483
|
}
|
|
31887
30484
|
});
|
|
31888
|
-
const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30485
|
+
const TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-cd4c27ad"]]);
|
|
31889
30486
|
const _hoisted_1$i = { class: "primary-checkbox" };
|
|
31890
|
-
const _sfc_main$
|
|
30487
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
31891
30488
|
__name: "Checkbox",
|
|
31892
30489
|
props: {
|
|
31893
30490
|
"modelValue": {
|
|
@@ -31908,16 +30505,16 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31908
30505
|
[vue.vModelCheckbox, val.value]
|
|
31909
30506
|
]),
|
|
31910
30507
|
vue.createElementVNode("span", null, [
|
|
31911
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
30508
|
+
vue.createVNode(vue.unref(_sfc_main$H), { icon: "check" })
|
|
31912
30509
|
])
|
|
31913
30510
|
]);
|
|
31914
30511
|
};
|
|
31915
30512
|
}
|
|
31916
30513
|
});
|
|
31917
|
-
const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30514
|
+
const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-e4cbb088"]]);
|
|
31918
30515
|
const _hoisted_1$h = ["title"];
|
|
31919
30516
|
const _hoisted_2$e = ["id", "placeholder", "required"];
|
|
31920
|
-
const _sfc_main$
|
|
30517
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
31921
30518
|
__name: "ColorPicker",
|
|
31922
30519
|
props: {
|
|
31923
30520
|
label: {},
|
|
@@ -31963,13 +30560,13 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
31963
30560
|
});
|
|
31964
30561
|
const _hoisted_1$g = { class: "datetime-wrap" };
|
|
31965
30562
|
const _hoisted_2$d = { class: "date-wrap" };
|
|
31966
|
-
const _hoisted_3$
|
|
30563
|
+
const _hoisted_3$b = {
|
|
31967
30564
|
key: 0,
|
|
31968
30565
|
class: "time-wrap"
|
|
31969
30566
|
};
|
|
31970
30567
|
const _hoisted_4$7 = ["id", "name", "value"];
|
|
31971
30568
|
const _hoisted_5$6 = ["for"];
|
|
31972
|
-
const _sfc_main$
|
|
30569
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
31973
30570
|
__name: "DatePicker",
|
|
31974
30571
|
props: {
|
|
31975
30572
|
name: {},
|
|
@@ -32001,7 +30598,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32001
30598
|
_: 1
|
|
32002
30599
|
}, 16, ["modelValue"])
|
|
32003
30600
|
]),
|
|
32004
|
-
_ctx.showTimeWrap ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
30601
|
+
_ctx.showTimeWrap ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$b, [
|
|
32005
30602
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(hours), (hr2) => {
|
|
32006
30603
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: hr2 }, [
|
|
32007
30604
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
@@ -32025,10 +30622,10 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32025
30622
|
});
|
|
32026
30623
|
const _hoisted_1$f = { class: "bagel-input" };
|
|
32027
30624
|
const _hoisted_2$c = { class: "pb-025" };
|
|
32028
|
-
const _hoisted_3$
|
|
30625
|
+
const _hoisted_3$a = { class: "flex gap-05 flex-wrap" };
|
|
32029
30626
|
const _hoisted_4$6 = ["id", "name", "value", "checked"];
|
|
32030
30627
|
const _hoisted_5$5 = ["for"];
|
|
32031
|
-
const _sfc_main$
|
|
30628
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
32032
30629
|
__name: "RadioPillsInput",
|
|
32033
30630
|
props: {
|
|
32034
30631
|
options: {},
|
|
@@ -32069,7 +30666,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32069
30666
|
return (_ctx, _cache) => {
|
|
32070
30667
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
|
|
32071
30668
|
vue.createElementVNode("label", _hoisted_2$c, vue.toDisplayString(_ctx.label), 1),
|
|
32072
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
30669
|
+
vue.createElementVNode("div", _hoisted_3$a, [
|
|
32073
30670
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(cumputedOptions.value, ({ optioId, label, value }, index2) => {
|
|
32074
30671
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
32075
30672
|
class: "radio-pill",
|
|
@@ -32091,13 +30688,13 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32091
30688
|
};
|
|
32092
30689
|
}
|
|
32093
30690
|
});
|
|
32094
|
-
const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30691
|
+
const RadioPillsInput = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-e47ae8b5"]]);
|
|
32095
30692
|
const _hoisted_1$e = { class: "bagel-input" };
|
|
32096
30693
|
const _hoisted_2$b = {
|
|
32097
30694
|
key: 0,
|
|
32098
30695
|
class: "imagePreviewWrap"
|
|
32099
30696
|
};
|
|
32100
|
-
const _hoisted_3$
|
|
30697
|
+
const _hoisted_3$9 = ["src"];
|
|
32101
30698
|
const _hoisted_4$5 = { class: "previewName" };
|
|
32102
30699
|
const _hoisted_5$4 = ["src"];
|
|
32103
30700
|
const _hoisted_6$3 = { class: "no-margin" };
|
|
@@ -32113,7 +30710,7 @@ const _hoisted_12 = {
|
|
|
32113
30710
|
key: 0,
|
|
32114
30711
|
class: "progress"
|
|
32115
30712
|
};
|
|
32116
|
-
const _sfc_main$
|
|
30713
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
32117
30714
|
__name: "FileUpload",
|
|
32118
30715
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
32119
30716
|
label: {},
|
|
@@ -32227,7 +30824,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32227
30824
|
class: "preview",
|
|
32228
30825
|
src: file.url,
|
|
32229
30826
|
alt: ""
|
|
32230
|
-
}, null, 8, _hoisted_3$
|
|
30827
|
+
}, null, 8, _hoisted_3$9)
|
|
32231
30828
|
])) : vue.createCommentVNode("", true),
|
|
32232
30829
|
vue.createElementVNode("div", _hoisted_4$5, [
|
|
32233
30830
|
_ctx.multiple ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
@@ -32273,7 +30870,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32273
30870
|
style: vue.normalizeStyle([`--p:${fileQ.progress}`, { "--b": "2px" }])
|
|
32274
30871
|
}, [
|
|
32275
30872
|
fileQ.progress < 100 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString(`${fileQ.progress.toFixed(0)}`), 1)) : vue.createCommentVNode("", true),
|
|
32276
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
30873
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
32277
30874
|
class: "success",
|
|
32278
30875
|
icon: "check"
|
|
32279
30876
|
})
|
|
@@ -32286,15 +30883,15 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32286
30883
|
};
|
|
32287
30884
|
}
|
|
32288
30885
|
});
|
|
32289
|
-
const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30886
|
+
const FileUpload = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-1be8d7b1"]]);
|
|
32290
30887
|
const _withScopeId = (n2) => (vue.pushScopeId("data-v-b87221d6"), n2 = n2(), vue.popScopeId(), n2);
|
|
32291
30888
|
const _hoisted_1$d = ["title"];
|
|
32292
30889
|
const _hoisted_2$a = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "slider round" }, null, -1));
|
|
32293
|
-
const _hoisted_3$
|
|
30890
|
+
const _hoisted_3$8 = [
|
|
32294
30891
|
_hoisted_2$a
|
|
32295
30892
|
];
|
|
32296
30893
|
const _hoisted_4$4 = ["id"];
|
|
32297
|
-
const _sfc_main$
|
|
30894
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
32298
30895
|
__name: "ToggleInput",
|
|
32299
30896
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
32300
30897
|
label: {},
|
|
@@ -32315,7 +30912,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32315
30912
|
}, [
|
|
32316
30913
|
vue.createElementVNode("div", {
|
|
32317
30914
|
class: vue.normalizeClass(["switch", { checked: checked.value }])
|
|
32318
|
-
}, _hoisted_3$
|
|
30915
|
+
}, _hoisted_3$8, 2),
|
|
32319
30916
|
vue.createElementVNode("label", null, [
|
|
32320
30917
|
vue.createTextVNode(vue.toDisplayString(_ctx.label) + " ", 1),
|
|
32321
30918
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
@@ -32330,7 +30927,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
32330
30927
|
};
|
|
32331
30928
|
}
|
|
32332
30929
|
});
|
|
32333
|
-
const ToggleInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
30930
|
+
const ToggleInput = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-b87221d6"]]);
|
|
32334
30931
|
function _isPlaceholder(a2) {
|
|
32335
30932
|
return a2 != null && typeof a2 === "object" && a2["@@functional/placeholder"] === true;
|
|
32336
30933
|
}
|
|
@@ -37361,11 +35958,11 @@ var script$6 = vue.defineComponent({
|
|
|
37361
35958
|
return { el, width, height };
|
|
37362
35959
|
}
|
|
37363
35960
|
});
|
|
37364
|
-
const _hoisted_1$5 = { ref: "el" };
|
|
35961
|
+
const _hoisted_1$5$1 = { ref: "el" };
|
|
37365
35962
|
function render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
37366
35963
|
return vue.openBlock(), vue.createElementBlock(
|
|
37367
35964
|
"div",
|
|
37368
|
-
_hoisted_1$5,
|
|
35965
|
+
_hoisted_1$5$1,
|
|
37369
35966
|
[
|
|
37370
35967
|
vue.renderSlot(_ctx.$slots, "main", {
|
|
37371
35968
|
width: _ctx.width,
|
|
@@ -37437,7 +36034,7 @@ var script$5 = vue.defineComponent({
|
|
|
37437
36034
|
return { data: data2, canvas, xLines, yLines };
|
|
37438
36035
|
}
|
|
37439
36036
|
});
|
|
37440
|
-
const _hoisted_1$4 = ["stroke-dasharray"];
|
|
36037
|
+
const _hoisted_1$4$1 = ["stroke-dasharray"];
|
|
37441
36038
|
const _hoisted_2$3 = {
|
|
37442
36039
|
key: 0,
|
|
37443
36040
|
class: "grid-x"
|
|
@@ -37507,7 +36104,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
37507
36104
|
y2: _ctx.canvas.height
|
|
37508
36105
|
}, null, 8, _hoisted_7)
|
|
37509
36106
|
])
|
|
37510
|
-
], 8, _hoisted_1$4)) : vue.createCommentVNode("v-if", true);
|
|
36107
|
+
], 8, _hoisted_1$4$1)) : vue.createCommentVNode("v-if", true);
|
|
37511
36108
|
}
|
|
37512
36109
|
script$5.render = render$5;
|
|
37513
36110
|
script$5.__file = "src/components/Grid/index.vue";
|
|
@@ -37600,7 +36197,7 @@ var script$4 = vue.defineComponent({
|
|
|
37600
36197
|
return { el, show, canvas, direction, style, styleContent, position, items, isRight };
|
|
37601
36198
|
}
|
|
37602
36199
|
});
|
|
37603
|
-
const _hoisted_1$3 = { key: 0 };
|
|
36200
|
+
const _hoisted_1$3$1 = { key: 0 };
|
|
37604
36201
|
function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
37605
36202
|
return _ctx.show ? (vue.openBlock(), vue.createElementBlock(
|
|
37606
36203
|
"div",
|
|
@@ -37665,7 +36262,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
37665
36262
|
4
|
|
37666
36263
|
/* STYLE */
|
|
37667
36264
|
),
|
|
37668
|
-
!_ctx.hideLine ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
36265
|
+
!_ctx.hideLine ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3$1, [
|
|
37669
36266
|
_ctx.direction === "horizontal" ? (vue.openBlock(), vue.createElementBlock(
|
|
37670
36267
|
"div",
|
|
37671
36268
|
{
|
|
@@ -37769,11 +36366,11 @@ var script$2 = vue.defineComponent({
|
|
|
37769
36366
|
return { y: y2, canvas, direction };
|
|
37770
36367
|
}
|
|
37771
36368
|
});
|
|
37772
|
-
const _hoisted_1$2 = {
|
|
36369
|
+
const _hoisted_1$2$1 = {
|
|
37773
36370
|
key: 0,
|
|
37774
36371
|
class: "layer-marker"
|
|
37775
36372
|
};
|
|
37776
|
-
const _hoisted_2$2 = ["x", "y", "fill"];
|
|
36373
|
+
const _hoisted_2$2$1 = ["x", "y", "fill"];
|
|
37777
36374
|
const _hoisted_3$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
37778
36375
|
const _hoisted_4$1 = {
|
|
37779
36376
|
key: 1,
|
|
@@ -37782,13 +36379,13 @@ const _hoisted_4$1 = {
|
|
|
37782
36379
|
const _hoisted_5$1 = ["x", "y", "fill"];
|
|
37783
36380
|
const _hoisted_6$1 = ["x1", "y1", "x2", "y2", "stroke", "stroke-opacity", "stroke-width", "stroke-dasharray"];
|
|
37784
36381
|
function render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
37785
|
-
return _ctx.direction === "horizontal" ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$2, [
|
|
36382
|
+
return _ctx.direction === "horizontal" ? (vue.openBlock(), vue.createElementBlock("g", _hoisted_1$2$1, [
|
|
37786
36383
|
vue.createElementVNode("text", {
|
|
37787
36384
|
x: _ctx.canvas.x + 5,
|
|
37788
36385
|
y: _ctx.y - 5,
|
|
37789
36386
|
"text-anchor": "start",
|
|
37790
36387
|
fill: _ctx.color
|
|
37791
|
-
}, vue.toDisplayString(_ctx.label), 9, _hoisted_2$2),
|
|
36388
|
+
}, vue.toDisplayString(_ctx.label), 9, _hoisted_2$2$1),
|
|
37792
36389
|
vue.createElementVNode("line", {
|
|
37793
36390
|
x1: _ctx.canvas.x,
|
|
37794
36391
|
y1: _ctx.y,
|
|
@@ -38402,8 +36999,8 @@ const _hoisted_1$1$1 = {
|
|
|
38402
36999
|
class: "treemap",
|
|
38403
37000
|
style: { display: "flex", position: "relative" }
|
|
38404
37001
|
};
|
|
38405
|
-
const _hoisted_2$1 = ["width", "height", "viewBox"];
|
|
38406
|
-
const _hoisted_3 = { class: "layer-rectangles" };
|
|
37002
|
+
const _hoisted_2$1$1 = ["width", "height", "viewBox"];
|
|
37003
|
+
const _hoisted_3$7 = { class: "layer-rectangles" };
|
|
38407
37004
|
const _hoisted_4 = ["transform", "onMouseover"];
|
|
38408
37005
|
const _hoisted_5 = ["width", "height"];
|
|
38409
37006
|
const _hoisted_6 = {
|
|
@@ -38421,7 +37018,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
38421
37018
|
viewBox: `0 0 ${_ctx.size.width} ${_ctx.size.height}`,
|
|
38422
37019
|
ref: "el"
|
|
38423
37020
|
}, [
|
|
38424
|
-
vue.createElementVNode("g", _hoisted_3, [
|
|
37021
|
+
vue.createElementVNode("g", _hoisted_3$7, [
|
|
38425
37022
|
(vue.openBlock(true), vue.createElementBlock(
|
|
38426
37023
|
vue.Fragment,
|
|
38427
37024
|
null,
|
|
@@ -38462,7 +37059,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
38462
37059
|
/* KEYED_FRAGMENT */
|
|
38463
37060
|
))
|
|
38464
37061
|
])
|
|
38465
|
-
], 8, _hoisted_2$1)),
|
|
37062
|
+
], 8, _hoisted_2$1$1)),
|
|
38466
37063
|
vue.renderSlot(_ctx.$slots, "widgets")
|
|
38467
37064
|
]);
|
|
38468
37065
|
}
|
|
@@ -38530,13 +37127,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
38530
37127
|
}
|
|
38531
37128
|
script.render = render;
|
|
38532
37129
|
script.__file = "src/components/HoverBar/index.vue";
|
|
38533
|
-
const _hoisted_1$
|
|
37130
|
+
const _hoisted_1$5 = /* @__PURE__ */ vue.createElementVNode("stop", {
|
|
38534
37131
|
offset: "100%",
|
|
38535
37132
|
"stop-color": "white",
|
|
38536
37133
|
"stop-opacity": "0.4"
|
|
38537
37134
|
}, null, -1);
|
|
38538
37135
|
const BRAND_COLOR = "var(--bgl-primary)";
|
|
38539
|
-
const _sfc_main$
|
|
37136
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
38540
37137
|
__name: "Lineart",
|
|
38541
37138
|
props: {
|
|
38542
37139
|
data: {},
|
|
@@ -38665,7 +37262,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
38665
37262
|
"stop-color": BRAND_COLOR,
|
|
38666
37263
|
"stop-opacity": "1"
|
|
38667
37264
|
}),
|
|
38668
|
-
_hoisted_1$
|
|
37265
|
+
_hoisted_1$5
|
|
38669
37266
|
])
|
|
38670
37267
|
])
|
|
38671
37268
|
]),
|
|
@@ -38681,37 +37278,53 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
38681
37278
|
};
|
|
38682
37279
|
}
|
|
38683
37280
|
});
|
|
38684
|
-
const _sfc_main$
|
|
37281
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
38685
37282
|
__name: "Layout",
|
|
38686
37283
|
props: {
|
|
38687
37284
|
gap: { default: 1 },
|
|
38688
37285
|
h100: { type: Boolean, default: false },
|
|
38689
37286
|
columns: { default: () => [] },
|
|
37287
|
+
mColumns: { default: () => [] },
|
|
37288
|
+
mRows: { default: () => [] },
|
|
38690
37289
|
rows: { default: () => [] }
|
|
38691
37290
|
},
|
|
38692
37291
|
setup(__props) {
|
|
37292
|
+
vue.useCssVars((_ctx) => ({
|
|
37293
|
+
"7a00a82c": gapSize.value,
|
|
37294
|
+
"30493178": gridTemplateRows.value,
|
|
37295
|
+
"5b203692": gridTemplateColumns.value,
|
|
37296
|
+
"7cba085b": mGridTemplateRows.value,
|
|
37297
|
+
"7abc6a1b": mGridTemplateColumns.value
|
|
37298
|
+
}));
|
|
38693
37299
|
const props2 = __props;
|
|
38694
|
-
const
|
|
38695
|
-
|
|
38696
|
-
|
|
38697
|
-
|
|
38698
|
-
if (props2.
|
|
38699
|
-
|
|
38700
|
-
return
|
|
37300
|
+
const gridTemplateRows = vue.computed(() => props2.rows.length ? props2.rows.join(" ") : "auto");
|
|
37301
|
+
const gapSize = vue.computed(() => `${props2.gap}rem`);
|
|
37302
|
+
const mGridTemplateRows = vue.computed(() => {
|
|
37303
|
+
var _a2;
|
|
37304
|
+
if ((_a2 = props2.mRows) == null ? void 0 : _a2.length)
|
|
37305
|
+
return props2.mRows.join(" ");
|
|
37306
|
+
return gridTemplateRows.value;
|
|
37307
|
+
});
|
|
37308
|
+
const gridTemplateColumns = vue.computed(() => props2.columns.length ? props2.columns.join(" ") : "auto");
|
|
37309
|
+
const mGridTemplateColumns = vue.computed(() => {
|
|
37310
|
+
var _a2;
|
|
37311
|
+
if ((_a2 = props2.mColumns) == null ? void 0 : _a2.length)
|
|
37312
|
+
return props2.mColumns.join(" ");
|
|
37313
|
+
return gridTemplateColumns.value;
|
|
38701
37314
|
});
|
|
38702
37315
|
return (_ctx, _cache) => {
|
|
38703
37316
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
38704
|
-
class: vue.normalizeClass(["layout", { "layout-h-100": _ctx.h100 }])
|
|
38705
|
-
style: vue.normalizeStyle(style.value)
|
|
37317
|
+
class: vue.normalizeClass(["layout", { "layout-h-100": _ctx.h100 }])
|
|
38706
37318
|
}, [
|
|
38707
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
38708
|
-
],
|
|
37319
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
37320
|
+
], 2);
|
|
38709
37321
|
};
|
|
38710
37322
|
}
|
|
38711
37323
|
});
|
|
38712
|
-
const
|
|
38713
|
-
const
|
|
38714
|
-
const
|
|
37324
|
+
const Layout = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-977dfbf4"]]);
|
|
37325
|
+
const _hoisted_1$4 = { class: "w-100 px-075" };
|
|
37326
|
+
const _hoisted_2$2 = { key: 0 };
|
|
37327
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
38715
37328
|
__name: "SidebarMenu",
|
|
38716
37329
|
props: {
|
|
38717
37330
|
navLinks: {},
|
|
@@ -38729,13 +37342,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38729
37342
|
emit2("update:open", isOpen.value);
|
|
38730
37343
|
}
|
|
38731
37344
|
return (_ctx, _cache) => {
|
|
38732
|
-
const _component_Card = vue.resolveComponent("Card");
|
|
38733
37345
|
const _directive_tooltip = vue.resolveDirective("tooltip");
|
|
38734
|
-
return vue.openBlock(), vue.createBlock(
|
|
37346
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$t), {
|
|
38735
37347
|
class: vue.normalizeClass(["flex column gap-05 pt-1 bgl_sidebar", { "wideNav": vue.unref(isOpen) }])
|
|
38736
37348
|
}, {
|
|
38737
37349
|
default: vue.withCtx(() => [
|
|
38738
|
-
vue.createElementVNode("div", _hoisted_1, [
|
|
37350
|
+
vue.createElementVNode("div", _hoisted_1$4, [
|
|
38739
37351
|
vue.createVNode(vue.unref(Btn), {
|
|
38740
37352
|
thin: "",
|
|
38741
37353
|
color: "light",
|
|
@@ -38744,7 +37356,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38744
37356
|
onClick: toggleMenu
|
|
38745
37357
|
})
|
|
38746
37358
|
]),
|
|
38747
|
-
vue.createTextVNode(),
|
|
38748
37359
|
!vue.unref(isOpen) || !vue.unref(slots)["brand-open"] ? vue.renderSlot(_ctx.$slots, "brand", { key: 0 }, void 0, true) : vue.createCommentVNode("", true),
|
|
38749
37360
|
vue.unref(isOpen) ? vue.renderSlot(_ctx.$slots, "brand-open", { key: 1 }, void 0, true) : vue.createCommentVNode("", true),
|
|
38750
37361
|
!_ctx.navLinks ? vue.renderSlot(_ctx.$slots, "default", { key: 2 }, void 0, true) : vue.createCommentVNode("", true),
|
|
@@ -38755,11 +37366,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38755
37366
|
class: "nav-button px-075"
|
|
38756
37367
|
}, {
|
|
38757
37368
|
default: vue.withCtx(() => [
|
|
38758
|
-
vue.createVNode(vue.unref(_sfc_main$
|
|
37369
|
+
vue.createVNode(vue.unref(_sfc_main$H), {
|
|
38759
37370
|
icon: nav2.icon,
|
|
38760
37371
|
size: 1.4
|
|
38761
37372
|
}, null, 8, ["icon"]),
|
|
38762
|
-
_ctx.open ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2, vue.toDisplayString(nav2.label), 1)) : vue.createCommentVNode("", true)
|
|
37373
|
+
_ctx.open ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$2, vue.toDisplayString(nav2.label), 1)) : vue.createCommentVNode("", true)
|
|
38763
37374
|
]),
|
|
38764
37375
|
_: 2
|
|
38765
37376
|
}, 1032, ["to"])), [
|
|
@@ -38778,52 +37389,220 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38778
37389
|
};
|
|
38779
37390
|
}
|
|
38780
37391
|
});
|
|
38781
|
-
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
38782
|
-
|
|
37392
|
+
const SidebarMenu = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-8713ae4a"]]);
|
|
37393
|
+
const state = vue.reactive(/* @__PURE__ */ new Map());
|
|
37394
|
+
function useTabs(group) {
|
|
37395
|
+
if (!state.has(group)) {
|
|
37396
|
+
state.set(group, vue.reactive({ currentTab: null }));
|
|
37397
|
+
}
|
|
37398
|
+
const currentTab = vue.computed({
|
|
37399
|
+
get: () => state.get(group).currentTab,
|
|
37400
|
+
set: (val) => {
|
|
37401
|
+
state.get(group).currentTab = val;
|
|
37402
|
+
}
|
|
37403
|
+
});
|
|
37404
|
+
return { currentTab };
|
|
37405
|
+
}
|
|
37406
|
+
const _hoisted_1$3 = { key: 0 };
|
|
37407
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
37408
|
+
__name: "Tabs",
|
|
37409
|
+
props: {
|
|
37410
|
+
tabs: {},
|
|
37411
|
+
modelValue: {}
|
|
37412
|
+
},
|
|
37413
|
+
setup(__props) {
|
|
37414
|
+
const group = Math.random().toString(36).substring(7);
|
|
37415
|
+
const { currentTab } = useTabs(group);
|
|
37416
|
+
return (_ctx, _cache) => {
|
|
37417
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
37418
|
+
vue.createVNode(vue.unref(TabsNav), {
|
|
37419
|
+
tabs: _ctx.tabs,
|
|
37420
|
+
group: vue.unref(group)
|
|
37421
|
+
}, null, 8, ["tabs", "group"]),
|
|
37422
|
+
vue.unref(currentTab) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
37423
|
+
vue.renderSlot(_ctx.$slots, vue.unref(currentTab))
|
|
37424
|
+
])) : vue.createCommentVNode("", true)
|
|
37425
|
+
], 64);
|
|
37426
|
+
};
|
|
37427
|
+
}
|
|
37428
|
+
});
|
|
37429
|
+
const _hoisted_1$2 = { class: "tabs grid auto-flow-columns fit-content" };
|
|
37430
|
+
const _hoisted_2$1 = ["onClick"];
|
|
37431
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
37432
|
+
__name: "TabsNav",
|
|
37433
|
+
props: {
|
|
37434
|
+
title: {},
|
|
37435
|
+
tabs: {},
|
|
37436
|
+
modelValue: {},
|
|
37437
|
+
sideTabs: { type: Boolean },
|
|
37438
|
+
group: {}
|
|
37439
|
+
},
|
|
37440
|
+
setup(__props) {
|
|
37441
|
+
const props2 = __props;
|
|
37442
|
+
const { currentTab } = useTabs(props2.group);
|
|
37443
|
+
currentTab.value = props2.modelValue || typeof props2.tabs[0] === "string" ? props2.tabs[0] : props2.tabs[0].id;
|
|
37444
|
+
const selectTab = (tab) => {
|
|
37445
|
+
currentTab.value = typeof tab === "string" ? tab : tab.id;
|
|
37446
|
+
};
|
|
37447
|
+
const isActive = (tab) => {
|
|
37448
|
+
if (typeof tab === "string")
|
|
37449
|
+
return currentTab.value === tab;
|
|
37450
|
+
return currentTab.value === tab.id;
|
|
37451
|
+
};
|
|
37452
|
+
const tabLabel = (tab) => {
|
|
37453
|
+
if (typeof tab === "string")
|
|
37454
|
+
return tab;
|
|
37455
|
+
return tab.label;
|
|
37456
|
+
};
|
|
37457
|
+
return (_ctx, _cache) => {
|
|
37458
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
|
|
37459
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab, i2) => {
|
|
37460
|
+
return vue.openBlock(), vue.createElementBlock("button", {
|
|
37461
|
+
class: vue.normalizeClass([{ active: isActive(tab) }, "tab"]),
|
|
37462
|
+
onClick: ($event) => selectTab(tab),
|
|
37463
|
+
key: i2
|
|
37464
|
+
}, [
|
|
37465
|
+
typeof tab !== "string" && tab.icon ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$H), {
|
|
37466
|
+
key: 0,
|
|
37467
|
+
icon: tab.icon
|
|
37468
|
+
}, null, 8, ["icon"])) : vue.createCommentVNode("", true),
|
|
37469
|
+
vue.createTextVNode(" " + vue.toDisplayString(tabLabel(tab)), 1)
|
|
37470
|
+
], 10, _hoisted_2$1);
|
|
37471
|
+
}), 128))
|
|
37472
|
+
]);
|
|
37473
|
+
};
|
|
37474
|
+
}
|
|
37475
|
+
});
|
|
37476
|
+
const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-f737d297"]]);
|
|
37477
|
+
const _hoisted_1$1 = { key: 0 };
|
|
37478
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
37479
|
+
__name: "TabsBody",
|
|
37480
|
+
props: {
|
|
37481
|
+
group: {}
|
|
37482
|
+
},
|
|
37483
|
+
setup(__props) {
|
|
37484
|
+
const props2 = __props;
|
|
37485
|
+
const { currentTab } = useTabs(props2.group);
|
|
37486
|
+
return (_ctx, _cache) => {
|
|
37487
|
+
return vue.unref(currentTab) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
|
|
37488
|
+
vue.renderSlot(_ctx.$slots, vue.unref(currentTab))
|
|
37489
|
+
])) : vue.createCommentVNode("", true);
|
|
37490
|
+
};
|
|
37491
|
+
}
|
|
37492
|
+
});
|
|
37493
|
+
const _hoisted_1 = { class: "bgl_card tabs-top" };
|
|
37494
|
+
const _hoisted_2 = { class: "tabs grid auto-flow-columns fit-content" };
|
|
37495
|
+
const _hoisted_3 = ["onClick"];
|
|
37496
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
37497
|
+
__name: "TabbedLayout",
|
|
37498
|
+
props: {
|
|
37499
|
+
title: {},
|
|
37500
|
+
tabs: {},
|
|
37501
|
+
modelValue: {},
|
|
37502
|
+
router: {},
|
|
37503
|
+
sideTabs: { type: Boolean }
|
|
37504
|
+
},
|
|
37505
|
+
emits: ["update:modelValue"],
|
|
37506
|
+
setup(__props, { emit: __emit }) {
|
|
37507
|
+
const emit2 = __emit;
|
|
37508
|
+
let activeTab = vue.ref();
|
|
37509
|
+
const props2 = __props;
|
|
37510
|
+
function changeTab(tab) {
|
|
37511
|
+
var _a2;
|
|
37512
|
+
activeTab.value = tab;
|
|
37513
|
+
emit2("update:modelValue", activeTab.value);
|
|
37514
|
+
if (!props2.router)
|
|
37515
|
+
return;
|
|
37516
|
+
void ((_a2 = props2.router) == null ? void 0 : _a2.push({
|
|
37517
|
+
path: props2.router.currentRoute.value.path,
|
|
37518
|
+
query: { ...props2.router.currentRoute.value.query, t: tab },
|
|
37519
|
+
hash: props2.router.currentRoute.value.hash
|
|
37520
|
+
}));
|
|
37521
|
+
}
|
|
37522
|
+
vue.onMounted(() => {
|
|
37523
|
+
var _a2;
|
|
37524
|
+
const firstTab = props2.modelValue || ((_a2 = props2.router) == null ? void 0 : _a2.currentRoute.value.query.t) || props2.tabs[0];
|
|
37525
|
+
activeTab.value = firstTab;
|
|
37526
|
+
});
|
|
37527
|
+
return (_ctx, _cache) => {
|
|
37528
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
37529
|
+
class: vue.normalizeClass(["h-100 grid list-view gap-1", { "side-tabs": _ctx.sideTabs }])
|
|
37530
|
+
}, [
|
|
37531
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
37532
|
+
vue.renderSlot(_ctx.$slots, "top-section", {}, void 0, true),
|
|
37533
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
37534
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, (tab) => {
|
|
37535
|
+
var _a2;
|
|
37536
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
37537
|
+
class: vue.normalizeClass([{
|
|
37538
|
+
active: tab === vue.unref(activeTab) || tab === ((_a2 = _ctx.router) == null ? void 0 : _a2.currentRoute.value.path.split("/").slice(-1)[0])
|
|
37539
|
+
}, "tab"]),
|
|
37540
|
+
key: tab,
|
|
37541
|
+
onClick: ($event) => changeTab(tab)
|
|
37542
|
+
}, vue.toDisplayString(tab), 11, _hoisted_3);
|
|
37543
|
+
}), 128))
|
|
37544
|
+
])
|
|
37545
|
+
]),
|
|
37546
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs.filter((item) => item === vue.unref(activeTab)), (tab) => {
|
|
37547
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
37548
|
+
class: "list-content",
|
|
37549
|
+
key: tab
|
|
37550
|
+
}, [
|
|
37551
|
+
vue.renderSlot(_ctx.$slots, tab, { key: tab }, void 0, true)
|
|
37552
|
+
]);
|
|
37553
|
+
}), 128))
|
|
37554
|
+
], 2);
|
|
37555
|
+
};
|
|
37556
|
+
}
|
|
37557
|
+
});
|
|
37558
|
+
const TabbedLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fd61196d"]]);
|
|
37559
|
+
exports.Accordion = _sfc_main$q;
|
|
38783
37560
|
exports.AccordionItem = AccordionItem;
|
|
38784
37561
|
exports.Alert = Alert;
|
|
38785
37562
|
exports.Avatar = Avatar;
|
|
38786
37563
|
exports.Badge = Badge;
|
|
38787
|
-
exports.BagelForm = _sfc_main$
|
|
37564
|
+
exports.BagelForm = _sfc_main$l;
|
|
38788
37565
|
exports.BagelVue = BagelVue;
|
|
38789
|
-
exports.BglField = _sfc_main$
|
|
38790
|
-
exports.BglForm = _sfc_main$
|
|
37566
|
+
exports.BglField = _sfc_main$k;
|
|
37567
|
+
exports.BglForm = _sfc_main$l;
|
|
38791
37568
|
exports.BglVideo = BglVideo;
|
|
38792
37569
|
exports.Btn = Btn;
|
|
38793
|
-
exports.Card = _sfc_main$
|
|
37570
|
+
exports.Card = _sfc_main$t;
|
|
38794
37571
|
exports.Carousel = Carousel;
|
|
38795
37572
|
exports.CheckInput = CheckInput;
|
|
38796
37573
|
exports.Checkbox = Checkbox;
|
|
38797
|
-
exports.ColorPicker = _sfc_main$
|
|
38798
|
-
exports.ComboBox = ComboBox;
|
|
37574
|
+
exports.ColorPicker = _sfc_main$b;
|
|
38799
37575
|
exports.Comments = Comments;
|
|
38800
37576
|
exports.DataPreview = DataPreview;
|
|
38801
|
-
exports.DateInput = _sfc_main$
|
|
38802
|
-
exports.DatePicker = _sfc_main$
|
|
37577
|
+
exports.DateInput = _sfc_main$i;
|
|
37578
|
+
exports.DatePicker = _sfc_main$a;
|
|
38803
37579
|
exports.FileUpload = FileUpload;
|
|
38804
|
-
exports.Icon = _sfc_main$
|
|
37580
|
+
exports.Icon = _sfc_main$H;
|
|
38805
37581
|
exports.JSONInput = JSONInput;
|
|
38806
|
-
exports.Layout =
|
|
38807
|
-
exports.Lineart = _sfc_main$
|
|
38808
|
-
exports.ListItem = _sfc_main$
|
|
38809
|
-
exports.ListView = _sfc_main$
|
|
38810
|
-
exports.MaterialIcon = _sfc_main$
|
|
38811
|
-
exports.Modal = _sfc_main$
|
|
37582
|
+
exports.Layout = Layout;
|
|
37583
|
+
exports.Lineart = _sfc_main$6;
|
|
37584
|
+
exports.ListItem = _sfc_main$A;
|
|
37585
|
+
exports.ListView = _sfc_main$B;
|
|
37586
|
+
exports.MaterialIcon = _sfc_main$H;
|
|
37587
|
+
exports.Modal = _sfc_main$E;
|
|
38812
37588
|
exports.ModalForm = ModalForm;
|
|
38813
37589
|
exports.ModalPlugin = ModalPlugin;
|
|
38814
37590
|
exports.NavBar = NavBar;
|
|
38815
|
-
exports.PageTitle = _sfc_main$
|
|
38816
|
-
exports.RTXEditor = _sfc_main$
|
|
37591
|
+
exports.PageTitle = _sfc_main$y;
|
|
37592
|
+
exports.RTXEditor = _sfc_main$I;
|
|
38817
37593
|
exports.RadioPillsInput = RadioPillsInput;
|
|
38818
37594
|
exports.RichTextEditor = RichTextEditor;
|
|
38819
37595
|
exports.RouterWrapper = RouterWrapper;
|
|
38820
|
-
exports.SelectInput =
|
|
37596
|
+
exports.SelectInput = SelectInput;
|
|
38821
37597
|
exports.SidebarMenu = SidebarMenu;
|
|
38822
37598
|
exports.TabbedLayout = TabbedLayout;
|
|
38823
37599
|
exports.TableField = TableField;
|
|
38824
37600
|
exports.TableSchema = TableSchema;
|
|
37601
|
+
exports.Tabs = _sfc_main$3;
|
|
37602
|
+
exports.TabsBody = _sfc_main$1;
|
|
37603
|
+
exports.TabsNav = TabsNav;
|
|
38825
37604
|
exports.TextInput = TextInput;
|
|
38826
|
-
exports.Title = _sfc_main$
|
|
37605
|
+
exports.Title = _sfc_main$r;
|
|
38827
37606
|
exports.ToggleInput = ToggleInput;
|
|
38828
37607
|
exports.TopBar = TopBar;
|
|
38829
37608
|
exports.bagelFormUtils = BagelFormUtils;
|