@enos5/enos-vue-default 1.16.7 → 1.17.2
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/README.md +128 -86
- package/dist/{code-BcyERX8s.js → code-Cm7MgQif.js} +2 -2
- package/dist/{code-BcyERX8s.js.map → code-Cm7MgQif.js.map} +1 -1
- package/dist/components/TableColumnVisibility.vue.d.ts +81 -0
- package/dist/components/TableList.vue.d.ts +83 -0
- package/dist/components/TableListForm.vue.d.ts +10 -1
- package/dist/{default-BlbQaebe.js → default-Cgs8Tahv.js} +2 -2
- package/dist/{default-BlbQaebe.js.map → default-Cgs8Tahv.js.map} +1 -1
- package/dist/{dom-Dr7aAHqE.js → dom-BeRggs56.js} +2 -2
- package/dist/{dom-Dr7aAHqE.js.map → dom-BeRggs56.js.map} +1 -1
- package/dist/{image-BJntlUOW.js → image-wVCnQh0h.js} +2 -2
- package/dist/{image-BJntlUOW.js.map → image-wVCnQh0h.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.js +1 -1
- package/dist/{link-BqipZiMo.js → link-KJRFTy--.js} +2 -2
- package/dist/{link-BqipZiMo.js.map → link-KJRFTy--.js.map} +1 -1
- package/dist/{lists-B4tl_VfV.js → lists-BzJs5oD0.js} +2 -2
- package/dist/{lists-B4tl_VfV.js.map → lists-BzJs5oD0.js.map} +1 -1
- package/dist/{plugin-IFyVg9Jx.js → plugin-TP7ra_6S.js} +968 -571
- package/dist/plugin-TP7ra_6S.js.map +1 -0
- package/dist/{silver-B-eQlbVa.js → silver-Y-RHxZ9j.js} +2 -2
- package/dist/{silver-B-eQlbVa.js.map → silver-Y-RHxZ9j.js.map} +1 -1
- package/dist/styles.css +126 -33
- package/dist/{table-2QVKcjlJ.js → table-CV-zOVUh.js} +2 -2
- package/dist/{table-2QVKcjlJ.js.map → table-CV-zOVUh.js.map} +1 -1
- package/dist/{tinymce-Cux5-LNK.js → tinymce-C8b0wRwA.js} +2 -2
- package/dist/{tinymce-Cux5-LNK.js.map → tinymce-C8b0wRwA.js.map} +1 -1
- package/package.json +1 -1
- package/dist/plugin-IFyVg9Jx.js.map +0 -1
|
@@ -36,18 +36,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
36
36
|
}) : target, mod));
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region src/components/CardTabs.vue
|
|
39
|
-
var _hoisted_1$
|
|
40
|
-
var _hoisted_2$
|
|
39
|
+
var _hoisted_1$39 = { class: "border-b border-neutral-200 bg-neutral-50/80 p-2 dark:border-neutral-800 dark:bg-neutral-900/80" };
|
|
40
|
+
var _hoisted_2$22 = {
|
|
41
41
|
role: "tablist",
|
|
42
42
|
class: "flex overflow-hidden rounded-lg bg-white shadow-sm ring-1 ring-neutral-200 dark:bg-neutral-950 dark:ring-neutral-800"
|
|
43
43
|
};
|
|
44
|
-
var _hoisted_3$
|
|
44
|
+
var _hoisted_3$17 = [
|
|
45
45
|
"aria-selected",
|
|
46
46
|
"tabindex",
|
|
47
47
|
"onClick",
|
|
48
48
|
"onKeydown"
|
|
49
49
|
];
|
|
50
|
-
var _sfc_main$
|
|
50
|
+
var _sfc_main$41 = {
|
|
51
51
|
__name: "CardTabs",
|
|
52
52
|
props: {
|
|
53
53
|
tabs: {
|
|
@@ -106,7 +106,7 @@ var _sfc_main$40 = {
|
|
|
106
106
|
focusTabAtIndex(targetIndex);
|
|
107
107
|
};
|
|
108
108
|
return (_ctx, _cache) => {
|
|
109
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
109
|
+
return openBlock(), createElementBlock("div", _hoisted_1$39, [createElementVNode("div", _hoisted_2$22, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
|
|
110
110
|
return openBlock(), createElementBlock("button", {
|
|
111
111
|
key: tab.value,
|
|
112
112
|
ref_for: true,
|
|
@@ -123,22 +123,22 @@ var _sfc_main$40 = {
|
|
|
123
123
|
]),
|
|
124
124
|
onClick: ($event) => activateTab(tab.value),
|
|
125
125
|
onKeydown: ($event) => onTabKeydown($event, index)
|
|
126
|
-
}, toDisplayString(tab.label), 47, _hoisted_3$
|
|
126
|
+
}, toDisplayString(tab.label), 47, _hoisted_3$17);
|
|
127
127
|
}), 128))])]);
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
131
|
//#endregion
|
|
132
132
|
//#region src/components/Card.vue
|
|
133
|
-
var _hoisted_1$
|
|
133
|
+
var _hoisted_1$38 = {
|
|
134
134
|
key: 0,
|
|
135
135
|
class: "mb-4"
|
|
136
136
|
};
|
|
137
|
-
var _hoisted_2$
|
|
137
|
+
var _hoisted_2$21 = {
|
|
138
138
|
key: 1,
|
|
139
139
|
class: "mb-4 text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50"
|
|
140
140
|
};
|
|
141
|
-
var _sfc_main$
|
|
141
|
+
var _sfc_main$40 = {
|
|
142
142
|
__name: "Card",
|
|
143
143
|
props: {
|
|
144
144
|
title: {
|
|
@@ -198,13 +198,13 @@ var _sfc_main$39 = {
|
|
|
198
198
|
__props.overflowClass,
|
|
199
199
|
{ "sticky top-6 self-start": __props.sticky },
|
|
200
200
|
__props.cardClass
|
|
201
|
-
]) }, [__props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$
|
|
201
|
+
]) }, [__props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$41, {
|
|
202
202
|
key: 0,
|
|
203
203
|
tabs: __props.tabs,
|
|
204
204
|
"active-tab": __props.activeTab,
|
|
205
205
|
"onUpdate:activeTab": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:activeTab", $event)),
|
|
206
206
|
onTabClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("tab-click", $event))
|
|
207
|
-
}, null, 8, ["tabs", "active-tab"])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(__props.paddingClass) }, [_ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
207
|
+
}, null, 8, ["tabs", "active-tab"])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(__props.paddingClass) }, [_ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$38, [renderSlot(_ctx.$slots, "customTitle")])) : __props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$21, toDisplayString(__props.title), 1)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(["relative", __props.tabs.length > 0 ? "overflow-hidden" : "overflow-visible"]) }, [createVNode(Transition, {
|
|
208
208
|
"enter-active-class": "transition-all duration-200 ease-in-out",
|
|
209
209
|
"enter-from-class": slideDirection.value === "right" ? "translate-x-full opacity-0" : "-translate-x-full opacity-0",
|
|
210
210
|
"enter-to-class": "translate-x-0 opacity-100",
|
|
@@ -228,7 +228,7 @@ var _sfc_main$39 = {
|
|
|
228
228
|
};
|
|
229
229
|
//#endregion
|
|
230
230
|
//#region src/components/Divider.vue
|
|
231
|
-
var _sfc_main$
|
|
231
|
+
var _sfc_main$39 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
232
232
|
__name: "Divider",
|
|
233
233
|
setup(__props) {
|
|
234
234
|
return (_ctx, _cache) => {
|
|
@@ -238,7 +238,7 @@ var _sfc_main$38 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
238
238
|
});
|
|
239
239
|
//#endregion
|
|
240
240
|
//#region src/components/ActionCard.vue
|
|
241
|
-
var _sfc_main$
|
|
241
|
+
var _sfc_main$38 = {
|
|
242
242
|
__name: "ActionCard",
|
|
243
243
|
props: {
|
|
244
244
|
title: {
|
|
@@ -253,11 +253,11 @@ var _sfc_main$37 = {
|
|
|
253
253
|
setup(__props) {
|
|
254
254
|
const slots = useSlots();
|
|
255
255
|
return (_ctx, _cache) => {
|
|
256
|
-
return openBlock(), createBlock(_sfc_main$
|
|
256
|
+
return openBlock(), createBlock(_sfc_main$40, {
|
|
257
257
|
title: __props.title,
|
|
258
258
|
"content-class": __props.actionsClass
|
|
259
259
|
}, {
|
|
260
|
-
default: withCtx(() => [renderSlot(_ctx.$slots, "default"), unref(slots).danger ? (openBlock(), createBlock(_sfc_main$
|
|
260
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default"), unref(slots).danger ? (openBlock(), createBlock(_sfc_main$39, {
|
|
261
261
|
key: 0,
|
|
262
262
|
class: "mt-6 pt-4"
|
|
263
263
|
}, {
|
|
@@ -271,8 +271,8 @@ var _sfc_main$37 = {
|
|
|
271
271
|
};
|
|
272
272
|
//#endregion
|
|
273
273
|
//#region src/components/ActionMessage.vue
|
|
274
|
-
var _hoisted_1$
|
|
275
|
-
var _sfc_main$
|
|
274
|
+
var _hoisted_1$37 = { class: "text-sm text-gray-600" };
|
|
275
|
+
var _sfc_main$37 = {
|
|
276
276
|
__name: "ActionMessage",
|
|
277
277
|
props: { on: Boolean },
|
|
278
278
|
setup(__props) {
|
|
@@ -282,7 +282,7 @@ var _sfc_main$36 = {
|
|
|
282
282
|
"leave-from-class": "opacity-100",
|
|
283
283
|
"leave-to-class": "opacity-0"
|
|
284
284
|
}, {
|
|
285
|
-
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_1$
|
|
285
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_1$37, [renderSlot(_ctx.$slots, "default")], 512), [[vShow, __props.on]])]),
|
|
286
286
|
_: 3
|
|
287
287
|
})]);
|
|
288
288
|
};
|
|
@@ -297,37 +297,37 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
|
|
|
297
297
|
};
|
|
298
298
|
//#endregion
|
|
299
299
|
//#region src/components/SectionTitle.vue
|
|
300
|
-
var _sfc_main$
|
|
301
|
-
var _hoisted_1$
|
|
302
|
-
var _hoisted_2$
|
|
303
|
-
var _hoisted_3$
|
|
304
|
-
var _hoisted_4$
|
|
305
|
-
var _hoisted_5$
|
|
300
|
+
var _sfc_main$36 = {};
|
|
301
|
+
var _hoisted_1$36 = { class: "md:col-span-1 flex justify-between" };
|
|
302
|
+
var _hoisted_2$20 = { class: "px-4 sm:px-0" };
|
|
303
|
+
var _hoisted_3$16 = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
|
|
304
|
+
var _hoisted_4$12 = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
|
|
305
|
+
var _hoisted_5$9 = { class: "px-4 sm:px-0" };
|
|
306
306
|
function _sfc_render(_ctx, _cache) {
|
|
307
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
307
|
+
return openBlock(), createElementBlock("div", _hoisted_1$36, [createElementVNode("div", _hoisted_2$20, [createElementVNode("h3", _hoisted_3$16, [renderSlot(_ctx.$slots, "title")]), createElementVNode("p", _hoisted_4$12, [renderSlot(_ctx.$slots, "description")])]), createElementVNode("div", _hoisted_5$9, [renderSlot(_ctx.$slots, "aside")])]);
|
|
308
308
|
}
|
|
309
|
-
var SectionTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$
|
|
309
|
+
var SectionTitle_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$36, [["render", _sfc_render]]);
|
|
310
310
|
//#endregion
|
|
311
311
|
//#region src/components/ActionSection.vue
|
|
312
|
-
var _hoisted_1$
|
|
313
|
-
var _hoisted_2$
|
|
314
|
-
var _hoisted_3$
|
|
315
|
-
var _sfc_main$
|
|
312
|
+
var _hoisted_1$35 = { class: "md:grid md:grid-cols-3 md:gap-6" };
|
|
313
|
+
var _hoisted_2$19 = { class: "mt-5 md:mt-0 md:col-span-2" };
|
|
314
|
+
var _hoisted_3$15 = { class: "rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6" };
|
|
315
|
+
var _sfc_main$35 = {
|
|
316
316
|
__name: "ActionSection",
|
|
317
317
|
setup(__props) {
|
|
318
318
|
return (_ctx, _cache) => {
|
|
319
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
319
|
+
return openBlock(), createElementBlock("div", _hoisted_1$35, [createVNode(SectionTitle_default, null, {
|
|
320
320
|
title: withCtx(() => [renderSlot(_ctx.$slots, "title")]),
|
|
321
321
|
description: withCtx(() => [renderSlot(_ctx.$slots, "description")]),
|
|
322
322
|
_: 3
|
|
323
|
-
}), createElementVNode("div", _hoisted_2$
|
|
323
|
+
}), createElementVNode("div", _hoisted_2$19, [createElementVNode("div", _hoisted_3$15, [renderSlot(_ctx.$slots, "content")])])]);
|
|
324
324
|
};
|
|
325
325
|
}
|
|
326
326
|
};
|
|
327
327
|
//#endregion
|
|
328
328
|
//#region src/components/Badge.vue
|
|
329
|
-
var _hoisted_1$
|
|
330
|
-
var _sfc_main$
|
|
329
|
+
var _hoisted_1$34 = { class: "sr-only" };
|
|
330
|
+
var _sfc_main$34 = {
|
|
331
331
|
__name: "Badge",
|
|
332
332
|
props: {
|
|
333
333
|
type: {
|
|
@@ -431,7 +431,7 @@ var _sfc_main$33 = {
|
|
|
431
431
|
return __props.type === "dot" ? (openBlock(), createElementBlock("span", {
|
|
432
432
|
key: 0,
|
|
433
433
|
class: normalizeClass(["inline-flex items-center justify-center w-6 h-6 rounded-full", colorClasses[__props.color].bg])
|
|
434
|
-
}, [createElementVNode("span", { class: normalizeClass(["w-2 h-2 rounded-full", colorClasses[__props.color].dot]) }, null, 2), createElementVNode("span", _hoisted_1$
|
|
434
|
+
}, [createElementVNode("span", { class: normalizeClass(["w-2 h-2 rounded-full", colorClasses[__props.color].dot]) }, null, 2), createElementVNode("span", _hoisted_1$34, [renderSlot(_ctx.$slots, "default")])], 2)) : (openBlock(), createElementBlock("span", {
|
|
435
435
|
key: 1,
|
|
436
436
|
class: normalizeClass(["inline-flex items-center font-medium", [
|
|
437
437
|
colorClasses[__props.color].bg,
|
|
@@ -445,8 +445,8 @@ var _sfc_main$33 = {
|
|
|
445
445
|
};
|
|
446
446
|
//#endregion
|
|
447
447
|
//#region src/components/Button.vue
|
|
448
|
-
var _hoisted_1$
|
|
449
|
-
var _sfc_main$
|
|
448
|
+
var _hoisted_1$33 = ["type", "disabled"];
|
|
449
|
+
var _sfc_main$33 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
450
450
|
__name: "Button",
|
|
451
451
|
props: {
|
|
452
452
|
type: {
|
|
@@ -509,14 +509,14 @@ var _sfc_main$32 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
509
509
|
type: __props.type,
|
|
510
510
|
disabled: __props.disabled,
|
|
511
511
|
class: buttonClasses.value
|
|
512
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$
|
|
512
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$33);
|
|
513
513
|
};
|
|
514
514
|
}
|
|
515
515
|
});
|
|
516
516
|
//#endregion
|
|
517
517
|
//#region src/components/Checkbox.vue
|
|
518
|
-
var _hoisted_1$
|
|
519
|
-
var _sfc_main$
|
|
518
|
+
var _hoisted_1$32 = ["value"];
|
|
519
|
+
var _sfc_main$32 = {
|
|
520
520
|
__name: "Checkbox",
|
|
521
521
|
props: {
|
|
522
522
|
checked: {
|
|
@@ -546,18 +546,18 @@ var _sfc_main$31 = {
|
|
|
546
546
|
type: "checkbox",
|
|
547
547
|
value: __props.value,
|
|
548
548
|
class: "rounded border-neutral-300 text-neutral-900 shadow-sm focus:ring-neutral-900 dark:border-neutral-700 dark:bg-neutral-950 dark:text-neutral-100 dark:focus:ring-neutral-100"
|
|
549
|
-
}, null, 8, _hoisted_1$
|
|
549
|
+
}, null, 8, _hoisted_1$32)), [[vModelCheckbox, proxyChecked.value]]);
|
|
550
550
|
};
|
|
551
551
|
}
|
|
552
552
|
};
|
|
553
553
|
//#endregion
|
|
554
554
|
//#region src/components/CheckboxInput.vue
|
|
555
|
-
var _hoisted_1$
|
|
555
|
+
var _hoisted_1$31 = [
|
|
556
556
|
"name",
|
|
557
557
|
"checked",
|
|
558
558
|
"disabled"
|
|
559
559
|
];
|
|
560
|
-
var _sfc_main$
|
|
560
|
+
var _sfc_main$31 = {
|
|
561
561
|
__name: "CheckboxInput",
|
|
562
562
|
props: {
|
|
563
563
|
modelValue: {
|
|
@@ -637,7 +637,7 @@ var _sfc_main$30 = {
|
|
|
637
637
|
onChange,
|
|
638
638
|
onFocus: handleFocus,
|
|
639
639
|
onBlur: handleBlur
|
|
640
|
-
}, null, 40, _hoisted_1$
|
|
640
|
+
}, null, 40, _hoisted_1$31),
|
|
641
641
|
createElementVNode("span", { class: normalizeClass([
|
|
642
642
|
"inline-flex h-4 w-4 items-center justify-center border text-[10px] font-bold leading-none",
|
|
643
643
|
props.ui.control,
|
|
@@ -651,20 +651,20 @@ var _sfc_main$30 = {
|
|
|
651
651
|
};
|
|
652
652
|
//#endregion
|
|
653
653
|
//#region src/components/TextInput.vue
|
|
654
|
-
var _hoisted_1$
|
|
654
|
+
var _hoisted_1$30 = [
|
|
655
655
|
"type",
|
|
656
656
|
"value",
|
|
657
657
|
"disabled"
|
|
658
658
|
];
|
|
659
|
-
var _hoisted_2$
|
|
660
|
-
var _hoisted_3$
|
|
659
|
+
var _hoisted_2$18 = ["aria-label"];
|
|
660
|
+
var _hoisted_3$14 = {
|
|
661
661
|
key: 0,
|
|
662
662
|
class: "h-5 w-5",
|
|
663
663
|
fill: "none",
|
|
664
664
|
stroke: "currentColor",
|
|
665
665
|
viewBox: "0 0 24 24"
|
|
666
666
|
};
|
|
667
|
-
var _hoisted_4$
|
|
667
|
+
var _hoisted_4$11 = {
|
|
668
668
|
key: 1,
|
|
669
669
|
class: "h-5 w-5",
|
|
670
670
|
fill: "none",
|
|
@@ -672,7 +672,7 @@ var _hoisted_4$10 = {
|
|
|
672
672
|
viewBox: "0 0 24 24"
|
|
673
673
|
};
|
|
674
674
|
var DEFAULT_MAX_LENGTH$1 = 254;
|
|
675
|
-
var _sfc_main$
|
|
675
|
+
var _sfc_main$30 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
676
676
|
__name: "TextInput",
|
|
677
677
|
props: {
|
|
678
678
|
modelValue: {
|
|
@@ -748,19 +748,19 @@ var _sfc_main$29 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
748
748
|
onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value)),
|
|
749
749
|
onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event)),
|
|
750
750
|
onWheel: handleWheel
|
|
751
|
-
}), null, 16, _hoisted_1$
|
|
751
|
+
}), null, 16, _hoisted_1$30),
|
|
752
752
|
isPasswordField.value ? (openBlock(), createElementBlock("button", {
|
|
753
753
|
key: 1,
|
|
754
754
|
type: "button",
|
|
755
755
|
class: normalizeClass(["absolute inset-y-0 right-0 flex items-center pr-3 text-neutral-400 transition-colors hover:text-neutral-700 focus:outline-none dark:text-neutral-200 dark:hover:text-neutral-50", props.ui.trailingAction]),
|
|
756
756
|
"aria-label": revealed.value ? "Hide password" : "Show password",
|
|
757
757
|
onClick: toggleVisibility
|
|
758
|
-
}, [revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_3$
|
|
758
|
+
}, [revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_3$14, [..._cache[2] || (_cache[2] = [createElementVNode("path", {
|
|
759
759
|
"stroke-linecap": "round",
|
|
760
760
|
"stroke-linejoin": "round",
|
|
761
761
|
"stroke-width": "2",
|
|
762
762
|
d: "M13.875 18.825A10.05 10.05 0 0112 19c-5 0-9.27-3.11-11-7 1.01-2.27 2.78-4.1 5-5.32m3.08-1.3A9.96 9.96 0 0112 5c5 0 9.27 3.11 11 7a11.03 11.03 0 01-4.16 4.91M15 12a3 3 0 00-3-3m0 0a3 3 0 00-2.94 3.59M3 3l18 18"
|
|
763
|
-
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_4$
|
|
763
|
+
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_4$11, [..._cache[3] || (_cache[3] = [createElementVNode("path", {
|
|
764
764
|
"stroke-linecap": "round",
|
|
765
765
|
"stroke-linejoin": "round",
|
|
766
766
|
"stroke-width": "2",
|
|
@@ -770,16 +770,16 @@ var _sfc_main$29 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
770
770
|
"stroke-linejoin": "round",
|
|
771
771
|
"stroke-width": "2",
|
|
772
772
|
d: "M2.458 12C3.732 7.943 7.523 5 12 5s8.268 2.943 9.542 7c-1.274 4.057-5.065 7-9.542 7S3.732 16.057 2.458 12z"
|
|
773
|
-
}, null, -1)])]))], 10, _hoisted_2$
|
|
773
|
+
}, null, -1)])]))], 10, _hoisted_2$18)) : createCommentVNode("", true)
|
|
774
774
|
], 2);
|
|
775
775
|
};
|
|
776
776
|
}
|
|
777
777
|
});
|
|
778
778
|
//#endregion
|
|
779
779
|
//#region src/components/TextArea.vue
|
|
780
|
-
var _hoisted_1$
|
|
780
|
+
var _hoisted_1$29 = ["value", "disabled"];
|
|
781
781
|
var DEFAULT_MAX_LENGTH = 1e3;
|
|
782
|
-
var _sfc_main$
|
|
782
|
+
var _sfc_main$29 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
783
783
|
__name: "TextArea",
|
|
784
784
|
props: {
|
|
785
785
|
modelValue: String,
|
|
@@ -850,30 +850,30 @@ var _sfc_main$28 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
850
850
|
value: props.modelValue,
|
|
851
851
|
disabled: props.disabled,
|
|
852
852
|
onInput: updateValue
|
|
853
|
-
}), null, 16, _hoisted_1$
|
|
853
|
+
}), null, 16, _hoisted_1$29)], 2);
|
|
854
854
|
};
|
|
855
855
|
}
|
|
856
856
|
});
|
|
857
857
|
//#endregion
|
|
858
858
|
//#region src/components/CustomSelect.vue
|
|
859
|
-
var _hoisted_1$
|
|
860
|
-
var _hoisted_2$
|
|
861
|
-
var _hoisted_3$
|
|
859
|
+
var _hoisted_1$28 = { class: "flex h-5 shrink-0 items-center gap-1" };
|
|
860
|
+
var _hoisted_2$17 = ["placeholder"];
|
|
861
|
+
var _hoisted_3$13 = [
|
|
862
862
|
"data-option-value",
|
|
863
863
|
"onClick",
|
|
864
864
|
"onFocus",
|
|
865
865
|
"onKeydown"
|
|
866
866
|
];
|
|
867
|
-
var _hoisted_4$
|
|
867
|
+
var _hoisted_4$10 = {
|
|
868
868
|
key: 0,
|
|
869
869
|
class: "flex items-center gap-3"
|
|
870
870
|
};
|
|
871
|
-
var _hoisted_5$
|
|
871
|
+
var _hoisted_5$8 = [
|
|
872
872
|
"checked",
|
|
873
873
|
"disabled",
|
|
874
874
|
"onChange"
|
|
875
875
|
];
|
|
876
|
-
var _sfc_main$
|
|
876
|
+
var _sfc_main$28 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
877
877
|
__name: "CustomSelect",
|
|
878
878
|
props: {
|
|
879
879
|
modelValue: {
|
|
@@ -1603,7 +1603,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1603
1603
|
class: normalizeClass(triggerValueClasses.value),
|
|
1604
1604
|
style: normalizeStyle(darkTextStyle.value),
|
|
1605
1605
|
onPointerdown: handleTriggerValuePointerDown
|
|
1606
|
-
}, toDisplayString(displayText.value), 39), createElementVNode("div", _hoisted_1$
|
|
1606
|
+
}, toDisplayString(displayText.value), 39), createElementVNode("div", _hoisted_1$28, [canClearSelection.value ? (openBlock(), createElementBlock("button", {
|
|
1607
1607
|
key: 0,
|
|
1608
1608
|
type: "button",
|
|
1609
1609
|
class: normalizeClass(clearButtonClasses.value),
|
|
@@ -1641,7 +1641,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1641
1641
|
class: normalizeClass(searchInputClasses.value),
|
|
1642
1642
|
onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])),
|
|
1643
1643
|
onKeydown: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"]))
|
|
1644
|
-
}, null, 42, _hoisted_2$
|
|
1644
|
+
}, null, 42, _hoisted_2$17)), [[vModelText, searchQuery.value]]) : createCommentVNode("", true),
|
|
1645
1645
|
selectedDeletedOption.value ? (openBlock(), createElementBlock("div", {
|
|
1646
1646
|
key: 1,
|
|
1647
1647
|
class: normalizeClass([
|
|
@@ -1665,7 +1665,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1665
1665
|
onClick: withModifiers(($event) => __props.multiple ? toggleMultipleOption(option) : selectOption(option), ["stop"]),
|
|
1666
1666
|
onFocus: ($event) => highlightedOptionValue.value = String(optionValue(option) ?? ""),
|
|
1667
1667
|
onKeydown: ($event) => handleOptionKeydown($event, option)
|
|
1668
|
-
}, [__props.multiple ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
1668
|
+
}, [__props.multiple ? (openBlock(), createElementBlock("div", _hoisted_4$10, [createElementVNode("input", {
|
|
1669
1669
|
type: "checkbox",
|
|
1670
1670
|
class: normalizeClass(["h-4 w-4 rounded border-neutral-300 text-neutral-900 focus:ring-neutral-900", props.ui.optionControl]),
|
|
1671
1671
|
checked: optionIsSelected(option),
|
|
@@ -1673,14 +1673,14 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1673
1673
|
tabindex: "-1",
|
|
1674
1674
|
onClick: _cache[4] || (_cache[4] = withModifiers(() => {}, ["stop"])),
|
|
1675
1675
|
onChange: withModifiers(($event) => toggleMultipleOption(option), ["stop"])
|
|
1676
|
-
}, null, 42, _hoisted_5$
|
|
1676
|
+
}, null, 42, _hoisted_5$8), createElementVNode("span", {
|
|
1677
1677
|
class: "shrink-0 whitespace-nowrap",
|
|
1678
1678
|
style: normalizeStyle(darkTextStyle.value)
|
|
1679
1679
|
}, toDisplayString(optionText(option)), 5)])) : (openBlock(), createElementBlock("span", {
|
|
1680
1680
|
key: 1,
|
|
1681
1681
|
class: "whitespace-nowrap",
|
|
1682
1682
|
style: normalizeStyle(darkTextStyle.value)
|
|
1683
|
-
}, toDisplayString(optionText(option)), 5))], 42, _hoisted_3$
|
|
1683
|
+
}, toDisplayString(optionText(option)), 5))], 42, _hoisted_3$13);
|
|
1684
1684
|
}), 128))
|
|
1685
1685
|
], 6)], 6)) : createCommentVNode("", true)]),
|
|
1686
1686
|
_: 1
|
|
@@ -1690,7 +1690,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1690
1690
|
});
|
|
1691
1691
|
//#endregion
|
|
1692
1692
|
//#region src/components/SelectInput.vue
|
|
1693
|
-
var _sfc_main$
|
|
1693
|
+
var _sfc_main$27 = {
|
|
1694
1694
|
__name: "SelectInput",
|
|
1695
1695
|
props: {
|
|
1696
1696
|
modelValue: {
|
|
@@ -1856,7 +1856,7 @@ var _sfc_main$26 = {
|
|
|
1856
1856
|
setup(__props, { emit: __emit }) {
|
|
1857
1857
|
const emit = __emit;
|
|
1858
1858
|
return (_ctx, _cache) => {
|
|
1859
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1859
|
+
return openBlock(), createBlock(_sfc_main$28, mergeProps({
|
|
1860
1860
|
"model-value": __props.modelValue,
|
|
1861
1861
|
"model-modifiers": __props.modelModifiers,
|
|
1862
1862
|
options: __props.options,
|
|
@@ -1919,7 +1919,7 @@ var _sfc_main$26 = {
|
|
|
1919
1919
|
};
|
|
1920
1920
|
//#endregion
|
|
1921
1921
|
//#region src/components/DateInput.vue
|
|
1922
|
-
var _hoisted_1$
|
|
1922
|
+
var _hoisted_1$27 = [
|
|
1923
1923
|
"type",
|
|
1924
1924
|
"lang",
|
|
1925
1925
|
"max",
|
|
@@ -2014,22 +2014,22 @@ var DateInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
2014
2014
|
disabled: props.disabled,
|
|
2015
2015
|
onInput: handleDateInput,
|
|
2016
2016
|
onChange: handleDateInput
|
|
2017
|
-
}), null, 16, _hoisted_1$
|
|
2017
|
+
}), null, 16, _hoisted_1$27);
|
|
2018
2018
|
};
|
|
2019
2019
|
}
|
|
2020
2020
|
}), [["__scopeId", "data-v-8a975d48"]]);
|
|
2021
2021
|
//#endregion
|
|
2022
2022
|
//#region src/components/DateRangeInput.vue
|
|
2023
|
-
var _hoisted_1$
|
|
2024
|
-
var _hoisted_2$
|
|
2025
|
-
var _hoisted_3$
|
|
2023
|
+
var _hoisted_1$26 = ["value", "disabled"];
|
|
2024
|
+
var _hoisted_2$16 = { class: "grid grid-cols-7 gap-1" };
|
|
2025
|
+
var _hoisted_3$12 = [
|
|
2026
2026
|
"disabled",
|
|
2027
2027
|
"onClick",
|
|
2028
2028
|
"onMouseenter"
|
|
2029
2029
|
];
|
|
2030
|
-
var _hoisted_4$
|
|
2031
|
-
var _hoisted_5$
|
|
2032
|
-
var _hoisted_6$
|
|
2030
|
+
var _hoisted_4$9 = { class: "flex items-center justify-between" };
|
|
2031
|
+
var _hoisted_5$7 = { key: 0 };
|
|
2032
|
+
var _hoisted_6$7 = { key: 1 };
|
|
2033
2033
|
var _hoisted_7$5 = { key: 2 };
|
|
2034
2034
|
var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
|
|
2035
2035
|
__name: "DateRangeInput",
|
|
@@ -2304,7 +2304,7 @@ var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
2304
2304
|
value: displayText.value,
|
|
2305
2305
|
disabled: props.disabled,
|
|
2306
2306
|
onClick: toggleCalendar
|
|
2307
|
-
}, null, 10, _hoisted_1$
|
|
2307
|
+
}, null, 10, _hoisted_1$26),
|
|
2308
2308
|
isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
2309
2309
|
key: 1,
|
|
2310
2310
|
ref_key: "calendarRef",
|
|
@@ -2351,7 +2351,7 @@ var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
2351
2351
|
class: normalizeClass(["text-xs font-medium text-neutral-500 dark:text-neutral-400 text-center py-1", props.ui.weekday])
|
|
2352
2352
|
}, toDisplayString(day), 3);
|
|
2353
2353
|
}), 128))], 2),
|
|
2354
|
-
createElementVNode("div", _hoisted_2$
|
|
2354
|
+
createElementVNode("div", _hoisted_2$16, [(openBlock(true), createElementBlock(Fragment, null, renderList(calendarDays.value, (day) => {
|
|
2355
2355
|
return openBlock(), createElementBlock("div", {
|
|
2356
2356
|
key: day.date.toISOString(),
|
|
2357
2357
|
class: "relative"
|
|
@@ -2383,9 +2383,9 @@ var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
2383
2383
|
onClick: ($event) => selectDate(day.date),
|
|
2384
2384
|
onMouseenter: ($event) => handleDateHover(day.date),
|
|
2385
2385
|
onMouseleave: handleDateLeave
|
|
2386
|
-
}, toDisplayString(day.date.getDate()), 43, _hoisted_3$
|
|
2386
|
+
}, toDisplayString(day.date.getDate()), 43, _hoisted_3$12)]);
|
|
2387
2387
|
}), 128))]),
|
|
2388
|
-
createElementVNode("div", { class: normalizeClass(["mt-4 pt-4 border-t border-neutral-200 dark:border-neutral-800", props.ui.footer]) }, [createElementVNode("div", _hoisted_4$
|
|
2388
|
+
createElementVNode("div", { class: normalizeClass(["mt-4 pt-4 border-t border-neutral-200 dark:border-neutral-800", props.ui.footer]) }, [createElementVNode("div", _hoisted_4$9, [createElementVNode("div", { class: normalizeClass(["text-xs text-neutral-500 dark:text-neutral-400", props.ui.footerText]) }, [startDate.value && endDate.value ? (openBlock(), createElementBlock("div", _hoisted_5$7, " Range: " + toDisplayString(daysBetween.value) + " days ", 1)) : startDate.value ? (openBlock(), createElementBlock("div", _hoisted_6$7, " Select end date ")) : (openBlock(), createElementBlock("div", _hoisted_7$5, " Select start date "))], 2), startDate.value || endDate.value ? (openBlock(), createElementBlock("button", {
|
|
2389
2389
|
key: 0,
|
|
2390
2390
|
type: "button",
|
|
2391
2391
|
class: normalizeClass(["text-xs text-red-600 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300 transition-colors", props.ui.clearButton]),
|
|
@@ -2398,10 +2398,10 @@ var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
2398
2398
|
}), [["__scopeId", "data-v-0d27aeda"]]);
|
|
2399
2399
|
//#endregion
|
|
2400
2400
|
//#region src/components/ImageInput.vue
|
|
2401
|
-
var _hoisted_1$
|
|
2402
|
-
var _hoisted_2$
|
|
2403
|
-
var _hoisted_3$
|
|
2404
|
-
var _sfc_main$
|
|
2401
|
+
var _hoisted_1$25 = ["accept"];
|
|
2402
|
+
var _hoisted_2$15 = { class: "flex items-center space-x-4" };
|
|
2403
|
+
var _hoisted_3$11 = ["src"];
|
|
2404
|
+
var _sfc_main$24 = {
|
|
2405
2405
|
__name: "ImageInput",
|
|
2406
2406
|
props: {
|
|
2407
2407
|
currentImageUrl: {
|
|
@@ -2442,21 +2442,21 @@ var _sfc_main$23 = {
|
|
|
2442
2442
|
accept: __props.accept,
|
|
2443
2443
|
class: ["block h-[48px] w-full cursor-pointer rounded-lg border border-neutral-200 bg-white py-[7px] pl-10 pr-4 text-sm text-neutral-700 align-middle shadow-sm transition-all duration-200 file:mr-3 file:h-[34px] file:align-middle file:rounded-md file:border-0 file:bg-neutral-900 file:px-4 file:py-0 file:text-sm file:font-medium file:leading-[34px] file:text-neutral-50 hover:file:bg-neutral-800 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-100 dark:file:bg-neutral-800 dark:file:text-neutral-50 dark:hover:file:bg-neutral-700 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10", props.ui.input],
|
|
2444
2444
|
onChange: handleFileChange
|
|
2445
|
-
}), null, 16, _hoisted_1$
|
|
2445
|
+
}), null, 16, _hoisted_1$25)], 2), props.currentImageUrl ? (openBlock(), createElementBlock("div", {
|
|
2446
2446
|
key: 0,
|
|
2447
2447
|
class: normalizeClass(["mt-4 rounded-lg border border-neutral-200 bg-neutral-50 p-4 dark:border-neutral-800 dark:bg-neutral-900/50", props.ui.previewCard])
|
|
2448
|
-
}, [createElementVNode("div", _hoisted_2$
|
|
2448
|
+
}, [createElementVNode("div", _hoisted_2$15, [createElementVNode("img", {
|
|
2449
2449
|
src: props.currentImageUrl,
|
|
2450
2450
|
alt: "Current logo",
|
|
2451
2451
|
class: normalizeClass(["h-16 w-auto max-w-24 object-contain rounded-lg shadow-sm", props.ui.previewImage])
|
|
2452
|
-
}, null, 10, _hoisted_3$
|
|
2452
|
+
}, null, 10, _hoisted_3$11), createElementVNode("div", null, [createElementVNode("p", { class: normalizeClass(["text-sm font-medium text-neutral-900 dark:text-neutral-50", props.ui.previewTitle]) }, toDisplayString(props.currentLabel), 3), createElementVNode("p", { class: normalizeClass(["text-xs text-neutral-500 dark:text-neutral-200", props.ui.previewText]) }, toDisplayString(props.currentSubtext), 3)])])], 2)) : createCommentVNode("", true)], 2);
|
|
2453
2453
|
};
|
|
2454
2454
|
}
|
|
2455
2455
|
};
|
|
2456
2456
|
//#endregion
|
|
2457
2457
|
//#region src/components/NotationInput.vue
|
|
2458
|
-
var _hoisted_1$
|
|
2459
|
-
var _sfc_main$
|
|
2458
|
+
var _hoisted_1$24 = ["disabled", "onClick"];
|
|
2459
|
+
var _sfc_main$23 = {
|
|
2460
2460
|
__name: "NotationInput",
|
|
2461
2461
|
props: {
|
|
2462
2462
|
modelValue: {
|
|
@@ -2505,20 +2505,20 @@ var _sfc_main$22 = {
|
|
|
2505
2505
|
]),
|
|
2506
2506
|
disabled: __props.disabled,
|
|
2507
2507
|
onClick: ($event) => selectOption(option)
|
|
2508
|
-
}, toDisplayString(option), 11, _hoisted_1$
|
|
2508
|
+
}, toDisplayString(option), 11, _hoisted_1$24);
|
|
2509
2509
|
}), 128))], 2);
|
|
2510
2510
|
};
|
|
2511
2511
|
}
|
|
2512
2512
|
};
|
|
2513
2513
|
//#endregion
|
|
2514
2514
|
//#region src/components/RadioInput.vue
|
|
2515
|
-
var _hoisted_1$
|
|
2515
|
+
var _hoisted_1$23 = [
|
|
2516
2516
|
"name",
|
|
2517
2517
|
"value",
|
|
2518
2518
|
"checked",
|
|
2519
2519
|
"disabled"
|
|
2520
2520
|
];
|
|
2521
|
-
var _sfc_main$
|
|
2521
|
+
var _sfc_main$22 = {
|
|
2522
2522
|
__name: "RadioInput",
|
|
2523
2523
|
props: {
|
|
2524
2524
|
modelValue: {
|
|
@@ -2587,18 +2587,18 @@ var _sfc_main$21 = {
|
|
|
2587
2587
|
onChange,
|
|
2588
2588
|
onFocus: handleFocus,
|
|
2589
2589
|
onBlur: handleBlur
|
|
2590
|
-
}, null, 40, _hoisted_1$
|
|
2590
|
+
}, null, 40, _hoisted_1$23), createElementVNode("span", { class: normalizeClass(props.ui.label) }, [createElementVNode("span", { class: normalizeClass(props.ui.indicator) }, toDisplayString(isChecked.value ? "✓" : "○"), 3), createTextVNode(" " + toDisplayString(__props.label), 1)], 2)], 2);
|
|
2591
2591
|
};
|
|
2592
2592
|
}
|
|
2593
2593
|
};
|
|
2594
2594
|
//#endregion
|
|
2595
2595
|
//#region src/components/ToggleInput.vue
|
|
2596
|
-
var _hoisted_1$
|
|
2596
|
+
var _hoisted_1$22 = [
|
|
2597
2597
|
"name",
|
|
2598
2598
|
"checked",
|
|
2599
2599
|
"disabled"
|
|
2600
2600
|
];
|
|
2601
|
-
var _sfc_main$
|
|
2601
|
+
var _sfc_main$21 = {
|
|
2602
2602
|
__name: "ToggleInput",
|
|
2603
2603
|
props: {
|
|
2604
2604
|
modelValue: {
|
|
@@ -2677,7 +2677,7 @@ var _sfc_main$20 = {
|
|
|
2677
2677
|
onChange,
|
|
2678
2678
|
onFocus: handleFocus,
|
|
2679
2679
|
onBlur: handleBlur
|
|
2680
|
-
}, null, 40, _hoisted_1$
|
|
2680
|
+
}, null, 40, _hoisted_1$22),
|
|
2681
2681
|
createElementVNode("span", {
|
|
2682
2682
|
"aria-hidden": "true",
|
|
2683
2683
|
class: normalizeClass([
|
|
@@ -2701,7 +2701,7 @@ var _sfc_main$20 = {
|
|
|
2701
2701
|
};
|
|
2702
2702
|
//#endregion
|
|
2703
2703
|
//#region src/components/RadioMultipleInput.vue
|
|
2704
|
-
var _sfc_main$
|
|
2704
|
+
var _sfc_main$20 = {
|
|
2705
2705
|
__name: "RadioMultipleInput",
|
|
2706
2706
|
props: {
|
|
2707
2707
|
modelValue: {
|
|
@@ -2739,7 +2739,7 @@ var _sfc_main$19 = {
|
|
|
2739
2739
|
const selectOption = (option) => emit("update:modelValue", option);
|
|
2740
2740
|
return (_ctx, _cache) => {
|
|
2741
2741
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["flex flex-wrap gap-3", props.ui.group]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
|
|
2742
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2742
|
+
return openBlock(), createBlock(_sfc_main$17, {
|
|
2743
2743
|
key: `radio-${__props.name ?? "group"}-${option}`,
|
|
2744
2744
|
type: "radio-input",
|
|
2745
2745
|
"model-value": props.modelValue,
|
|
@@ -2763,7 +2763,7 @@ var _sfc_main$19 = {
|
|
|
2763
2763
|
};
|
|
2764
2764
|
//#endregion
|
|
2765
2765
|
//#region src/components/TinyEditor.vue
|
|
2766
|
-
var _sfc_main$
|
|
2766
|
+
var _sfc_main$19 = {
|
|
2767
2767
|
__name: "TinyEditor",
|
|
2768
2768
|
props: {
|
|
2769
2769
|
modelValue: {
|
|
@@ -2840,18 +2840,18 @@ var _sfc_main$18 = {
|
|
|
2840
2840
|
});
|
|
2841
2841
|
};
|
|
2842
2842
|
const loadTinyMce = async () => {
|
|
2843
|
-
const tinymceModule = await import("./tinymce-
|
|
2843
|
+
const tinymceModule = await import("./tinymce-C8b0wRwA.js").then((m) => /* @__PURE__ */ __toESM(m.default));
|
|
2844
2844
|
const tinymce = tinymceModule.default ?? tinymceModule;
|
|
2845
2845
|
if (typeof globalThis !== "undefined" && !globalThis.tinymce) globalThis.tinymce = tinymce;
|
|
2846
2846
|
await Promise.all([
|
|
2847
|
-
import("./dom-
|
|
2848
|
-
import("./default-
|
|
2849
|
-
import("./silver-
|
|
2850
|
-
import("./code-
|
|
2851
|
-
import("./image-
|
|
2852
|
-
import("./link-
|
|
2853
|
-
import("./lists-
|
|
2854
|
-
import("./table-
|
|
2847
|
+
import("./dom-BeRggs56.js"),
|
|
2848
|
+
import("./default-Cgs8Tahv.js"),
|
|
2849
|
+
import("./silver-Y-RHxZ9j.js"),
|
|
2850
|
+
import("./code-Cm7MgQif.js"),
|
|
2851
|
+
import("./image-wVCnQh0h.js"),
|
|
2852
|
+
import("./link-KJRFTy--.js"),
|
|
2853
|
+
import("./lists-BzJs5oD0.js"),
|
|
2854
|
+
import("./table-CV-zOVUh.js")
|
|
2855
2855
|
]);
|
|
2856
2856
|
isEditorReady.value = true;
|
|
2857
2857
|
};
|
|
@@ -2962,17 +2962,17 @@ var _sfc_main$18 = {
|
|
|
2962
2962
|
};
|
|
2963
2963
|
//#endregion
|
|
2964
2964
|
//#region src/components/ColorPicker.vue
|
|
2965
|
-
var _hoisted_1$
|
|
2965
|
+
var _hoisted_1$21 = [
|
|
2966
2966
|
"name",
|
|
2967
2967
|
"value",
|
|
2968
2968
|
"disabled",
|
|
2969
2969
|
"required"
|
|
2970
2970
|
];
|
|
2971
|
-
var _hoisted_2$
|
|
2972
|
-
var _hoisted_3$
|
|
2973
|
-
var _hoisted_4$
|
|
2974
|
-
var _hoisted_5$
|
|
2975
|
-
var _hoisted_6$
|
|
2971
|
+
var _hoisted_2$14 = ["disabled", "aria-expanded"];
|
|
2972
|
+
var _hoisted_3$10 = { class: "min-w-0 flex-1" };
|
|
2973
|
+
var _hoisted_4$8 = { class: "flex items-start gap-3" };
|
|
2974
|
+
var _hoisted_5$6 = { class: "min-w-0 flex-1" };
|
|
2975
|
+
var _hoisted_6$6 = ["disabled", "aria-label"];
|
|
2976
2976
|
var _hoisted_7$4 = { class: "mt-4 space-y-4" };
|
|
2977
2977
|
var _hoisted_8$2 = ["aria-label", "aria-valuenow"];
|
|
2978
2978
|
var _hoisted_9$2 = {
|
|
@@ -2989,24 +2989,24 @@ var _hoisted_12$2 = {
|
|
|
2989
2989
|
class: "space-y-2"
|
|
2990
2990
|
};
|
|
2991
2991
|
var _hoisted_13$2 = ["for"];
|
|
2992
|
-
var _hoisted_14$
|
|
2992
|
+
var _hoisted_14$2 = [
|
|
2993
2993
|
"id",
|
|
2994
2994
|
"disabled",
|
|
2995
2995
|
"value"
|
|
2996
2996
|
];
|
|
2997
|
-
var _hoisted_15$
|
|
2997
|
+
var _hoisted_15$2 = {
|
|
2998
2998
|
key: 1,
|
|
2999
2999
|
class: "space-y-2"
|
|
3000
3000
|
};
|
|
3001
|
-
var _hoisted_16$
|
|
3002
|
-
var _hoisted_17 = [
|
|
3001
|
+
var _hoisted_16$2 = ["for"];
|
|
3002
|
+
var _hoisted_17$2 = [
|
|
3003
3003
|
"id",
|
|
3004
3004
|
"disabled",
|
|
3005
3005
|
"value"
|
|
3006
3006
|
];
|
|
3007
|
-
var _hoisted_18 = { class: "space-y-2" };
|
|
3008
|
-
var _hoisted_19 = ["for"];
|
|
3009
|
-
var _hoisted_20 = [
|
|
3007
|
+
var _hoisted_18$2 = { class: "space-y-2" };
|
|
3008
|
+
var _hoisted_19$1 = ["for"];
|
|
3009
|
+
var _hoisted_20$1 = [
|
|
3010
3010
|
"id",
|
|
3011
3011
|
"maxlength",
|
|
3012
3012
|
"placeholder",
|
|
@@ -3472,7 +3472,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3472
3472
|
value: emittedValue.value,
|
|
3473
3473
|
disabled: props.disabled,
|
|
3474
3474
|
required: hiddenInputRequired.value
|
|
3475
|
-
}, null, 8, _hoisted_1$
|
|
3475
|
+
}, null, 8, _hoisted_1$21)) : createCommentVNode("", true),
|
|
3476
3476
|
createElementVNode("button", mergeProps({
|
|
3477
3477
|
ref_key: "triggerRef",
|
|
3478
3478
|
ref: triggerRef
|
|
@@ -3488,13 +3488,13 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3488
3488
|
class: "absolute inset-0",
|
|
3489
3489
|
style: normalizeStyle({ backgroundColor: swatchColor.value })
|
|
3490
3490
|
}, null, 4)], 2),
|
|
3491
|
-
createElementVNode("span", _hoisted_3$
|
|
3491
|
+
createElementVNode("span", _hoisted_3$10, [createElementVNode("span", { class: normalizeClass(["block text-xs font-medium uppercase tracking-[0.16em] text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, toDisplayString(unref(t)("Color")), 3), createElementVNode("span", { class: normalizeClass(["block truncate font-mono text-sm text-neutral-900 dark:text-neutral-50", props.ui.value]) }, toDisplayString(emittedValue.value), 3)]),
|
|
3492
3492
|
createVNode(unref(ChevronDownIcon), { class: normalizeClass([
|
|
3493
3493
|
"size-4 shrink-0 text-neutral-400 transition-transform dark:text-neutral-500",
|
|
3494
3494
|
isOpen.value ? "rotate-180" : "",
|
|
3495
3495
|
props.ui.chevron
|
|
3496
3496
|
]) }, null, 8, ["class"])
|
|
3497
|
-
], 16, _hoisted_2$
|
|
3497
|
+
], 16, _hoisted_2$14),
|
|
3498
3498
|
(openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(Transition, {
|
|
3499
3499
|
"enter-active-class": "transition duration-150 ease-out",
|
|
3500
3500
|
"enter-from-class": "opacity-0 translate-y-1",
|
|
@@ -3509,12 +3509,12 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3509
3509
|
ref: panelRef,
|
|
3510
3510
|
class: normalizeClass(["z-50", props.ui.panelRoot]),
|
|
3511
3511
|
style: normalizeStyle(panelStyle.value)
|
|
3512
|
-
}, [createElementVNode("div", { class: normalizeClass(["rounded-2xl border border-neutral-200 bg-white/96 p-4 shadow-2xl shadow-neutral-950/12 backdrop-blur dark:border-neutral-800 dark:bg-neutral-950/96 dark:shadow-black/30", props.ui.panel]) }, [createElementVNode("div", _hoisted_4$
|
|
3512
|
+
}, [createElementVNode("div", { class: normalizeClass(["rounded-2xl border border-neutral-200 bg-white/96 p-4 shadow-2xl shadow-neutral-950/12 backdrop-blur dark:border-neutral-800 dark:bg-neutral-950/96 dark:shadow-black/30", props.ui.panel]) }, [createElementVNode("div", _hoisted_4$8, [
|
|
3513
3513
|
createElementVNode("div", { class: normalizeClass(["color-picker-checker relative size-14 shrink-0 overflow-hidden rounded-xl border border-neutral-200 dark:border-neutral-700", props.ui.previewSwatch]) }, [createElementVNode("span", {
|
|
3514
3514
|
class: "absolute inset-0",
|
|
3515
3515
|
style: normalizeStyle({ backgroundColor: swatchColor.value })
|
|
3516
3516
|
}, null, 4)], 2),
|
|
3517
|
-
createElementVNode("div", _hoisted_5$
|
|
3517
|
+
createElementVNode("div", _hoisted_5$6, [createElementVNode("p", { class: normalizeClass(["text-xs font-medium uppercase tracking-[0.16em] text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, toDisplayString(unref(t)("Selected color")), 3), createElementVNode("p", { class: normalizeClass(["truncate font-mono text-base text-neutral-900 dark:text-neutral-50", props.ui.value]) }, toDisplayString(emittedValue.value), 3)]),
|
|
3518
3518
|
supportsEyeDropper.value ? (openBlock(), createElementBlock("button", {
|
|
3519
3519
|
key: 0,
|
|
3520
3520
|
type: "button",
|
|
@@ -3526,7 +3526,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3526
3526
|
disabled: props.disabled,
|
|
3527
3527
|
"aria-label": unref(t)("Pick color from screen"),
|
|
3528
3528
|
onClick: pickFromScreen
|
|
3529
|
-
}, [createVNode(unref(EyeDropperIcon), { class: "size-5" })], 10, _hoisted_6$
|
|
3529
|
+
}, [createVNode(unref(EyeDropperIcon), { class: "size-5" })], 10, _hoisted_6$6)) : createCommentVNode("", true)
|
|
3530
3530
|
]), createElementVNode("div", _hoisted_7$4, [
|
|
3531
3531
|
createElementVNode("div", {
|
|
3532
3532
|
ref_key: "saturationRef",
|
|
@@ -3560,7 +3560,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3560
3560
|
value: hue.value,
|
|
3561
3561
|
style: { "background": "linear-gradient(90deg, #FF0000 0%, #FFFF00 17%, #00FF00 33%, #00FFFF 50%, #0000FF 67%, #FF00FF 83%, #FF0000 100%)" },
|
|
3562
3562
|
onInput: handleHueInput
|
|
3563
|
-
}, null, 42, _hoisted_14$
|
|
3563
|
+
}, null, 42, _hoisted_14$2)])) : createCommentVNode("", true), props.allowAlpha ? (openBlock(), createElementBlock("div", _hoisted_15$2, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-alpha` : void 0 }, toDisplayString(unref(t)("Opacity")), 9, _hoisted_16$2), createElementVNode("span", null, toDisplayString(opacityPercent.value) + "%", 1)], 2), createElementVNode("input", {
|
|
3564
3564
|
id: fieldId.value ? `${fieldId.value}-alpha` : void 0,
|
|
3565
3565
|
type: "range",
|
|
3566
3566
|
min: "0",
|
|
@@ -3571,11 +3571,11 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3571
3571
|
value: opacityPercent.value,
|
|
3572
3572
|
style: normalizeStyle({ background: alphaGradient.value }),
|
|
3573
3573
|
onInput: handleAlphaInput
|
|
3574
|
-
}, null, 46, _hoisted_17)])) : createCommentVNode("", true)]),
|
|
3575
|
-
createElementVNode("div", _hoisted_18, [createElementVNode("label", {
|
|
3574
|
+
}, null, 46, _hoisted_17$2)])) : createCommentVNode("", true)]),
|
|
3575
|
+
createElementVNode("div", _hoisted_18$2, [createElementVNode("label", {
|
|
3576
3576
|
for: fieldId.value ? `${fieldId.value}-hex` : void 0,
|
|
3577
3577
|
class: normalizeClass(["text-xs font-medium uppercase tracking-[0.16em] text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel])
|
|
3578
|
-
}, toDisplayString(unref(t)("Hex value")), 11, _hoisted_19), createElementVNode("input", {
|
|
3578
|
+
}, toDisplayString(unref(t)("Hex value")), 11, _hoisted_19$1), createElementVNode("input", {
|
|
3579
3579
|
id: fieldId.value ? `${fieldId.value}-hex` : void 0,
|
|
3580
3580
|
ref_key: "hexInputRef",
|
|
3581
3581
|
ref: hexInputRef,
|
|
@@ -3590,7 +3590,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3590
3590
|
disabled: props.disabled,
|
|
3591
3591
|
onInput: handleHexInput,
|
|
3592
3592
|
onBlur: handleHexBlur
|
|
3593
|
-
}, null, 42, _hoisted_20)])
|
|
3593
|
+
}, null, 42, _hoisted_20$1)])
|
|
3594
3594
|
])], 2)], 6)) : createCommentVNode("", true)]),
|
|
3595
3595
|
_: 1
|
|
3596
3596
|
})]))
|
|
@@ -3600,8 +3600,8 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3600
3600
|
}), [["__scopeId", "data-v-ce146146"]]);
|
|
3601
3601
|
//#endregion
|
|
3602
3602
|
//#region src/components/InputGroup.vue
|
|
3603
|
-
var _hoisted_1$
|
|
3604
|
-
var _hoisted_2$
|
|
3603
|
+
var _hoisted_1$20 = ["for"];
|
|
3604
|
+
var _hoisted_2$13 = {
|
|
3605
3605
|
key: 3,
|
|
3606
3606
|
class: "relative"
|
|
3607
3607
|
};
|
|
@@ -3610,7 +3610,7 @@ var defaultLabelClass = "mb-1 block text-base font-semibold text-gray-900 dark:t
|
|
|
3610
3610
|
var defaultHelperTextClass = "mb-1 block text-xs text-gray-500";
|
|
3611
3611
|
var defaultErrorClass = "mt-2 flex items-center text-sm text-red-600";
|
|
3612
3612
|
var defaultErrorIconClass = "mr-1 h-4 w-4 flex-shrink-0";
|
|
3613
|
-
var _sfc_main$
|
|
3613
|
+
var _sfc_main$17 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
3614
3614
|
__name: "InputGroup",
|
|
3615
3615
|
props: {
|
|
3616
3616
|
type: {
|
|
@@ -4146,20 +4146,20 @@ var _sfc_main$16 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
4146
4146
|
ui: props.ui
|
|
4147
4147
|
}));
|
|
4148
4148
|
const resolvedFieldComponent = computed(() => {
|
|
4149
|
-
if (isTextareaType.value) return _sfc_main$
|
|
4150
|
-
if (isTinyEditorType.value) return _sfc_main$
|
|
4149
|
+
if (isTextareaType.value) return _sfc_main$29;
|
|
4150
|
+
if (isTinyEditorType.value) return _sfc_main$19;
|
|
4151
4151
|
if (isColorPickerType.value) return ColorPicker_default;
|
|
4152
|
-
if (isSelectType.value) return _sfc_main$
|
|
4152
|
+
if (isSelectType.value) return _sfc_main$27;
|
|
4153
4153
|
if (isDateType.value) return DateInput_default;
|
|
4154
4154
|
if (isDateRangeType.value) return DateRangeInput_default;
|
|
4155
|
-
if (isTextLikeType.value) return _sfc_main$
|
|
4156
|
-
if (isImageType.value) return _sfc_main$
|
|
4157
|
-
if (isCheckboxSingleType.value) return _sfc_main$
|
|
4158
|
-
if (isRadioSingleType.value) return _sfc_main$
|
|
4159
|
-
if (isToggleSingleType.value) return _sfc_main$
|
|
4160
|
-
if (isNotationType.value) return _sfc_main$
|
|
4161
|
-
if (isCheckboxType.value) return _sfc_main$
|
|
4162
|
-
if (isRadioType.value) return _sfc_main$
|
|
4155
|
+
if (isTextLikeType.value) return _sfc_main$30;
|
|
4156
|
+
if (isImageType.value) return _sfc_main$24;
|
|
4157
|
+
if (isCheckboxSingleType.value) return _sfc_main$31;
|
|
4158
|
+
if (isRadioSingleType.value) return _sfc_main$22;
|
|
4159
|
+
if (isToggleSingleType.value) return _sfc_main$21;
|
|
4160
|
+
if (isNotationType.value) return _sfc_main$23;
|
|
4161
|
+
if (isCheckboxType.value) return _sfc_main$16;
|
|
4162
|
+
if (isRadioType.value) return _sfc_main$20;
|
|
4163
4163
|
return null;
|
|
4164
4164
|
});
|
|
4165
4165
|
const resolvedFieldBindings = computed(() => {
|
|
@@ -4211,13 +4211,13 @@ var _sfc_main$16 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
4211
4211
|
key: 0,
|
|
4212
4212
|
for: fieldId.value,
|
|
4213
4213
|
class: normalizeClass(props.labelClass ?? defaultLabelClass)
|
|
4214
|
-
}, toDisplayString(__props.label), 11, _hoisted_1$
|
|
4214
|
+
}, toDisplayString(__props.label), 11, _hoisted_1$20)) : createCommentVNode("", true)]) : createCommentVNode("", true),
|
|
4215
4215
|
__props.helperText && !showsInlineChoiceControl.value ? renderSlot(_ctx.$slots, "helper", {
|
|
4216
4216
|
key: 1,
|
|
4217
4217
|
helperText: __props.helperText,
|
|
4218
4218
|
helperTextClass: props.helperTextClass ?? defaultHelperTextClass
|
|
4219
4219
|
}, () => [createElementVNode("span", { class: normalizeClass(props.helperTextClass ?? defaultHelperTextClass) }, toDisplayString(__props.helperText), 3)]) : createCommentVNode("", true),
|
|
4220
|
-
resolvedFieldComponent.value && !showsLeadingIcon.value && !showsTrailingIcon.value ? (openBlock(), createBlock(resolveDynamicComponent(resolvedFieldComponent.value), mergeProps({ key: 2 }, resolvedFieldBindings.value, toHandlers(fieldListeners)), null, 16)) : resolvedFieldComponent.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
4220
|
+
resolvedFieldComponent.value && !showsLeadingIcon.value && !showsTrailingIcon.value ? (openBlock(), createBlock(resolveDynamicComponent(resolvedFieldComponent.value), mergeProps({ key: 2 }, resolvedFieldBindings.value, toHandlers(fieldListeners)), null, 16)) : resolvedFieldComponent.value ? (openBlock(), createElementBlock("div", _hoisted_2$13, [
|
|
4221
4221
|
showsLeadingIcon.value ? (openBlock(), createElementBlock("div", {
|
|
4222
4222
|
key: 0,
|
|
4223
4223
|
class: normalizeClass(["pointer-events-none absolute inset-y-0 left-0 z-10 flex items-center pl-3 text-neutral-400 dark:text-neutral-200", props.leadingIconClass])
|
|
@@ -4259,7 +4259,7 @@ var _sfc_main$16 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
4259
4259
|
});
|
|
4260
4260
|
//#endregion
|
|
4261
4261
|
//#region src/components/CheckboxMultipleInput.vue
|
|
4262
|
-
var _sfc_main$
|
|
4262
|
+
var _sfc_main$16 = {
|
|
4263
4263
|
__name: "CheckboxMultipleInput",
|
|
4264
4264
|
props: {
|
|
4265
4265
|
modelValue: {
|
|
@@ -4302,7 +4302,7 @@ var _sfc_main$15 = {
|
|
|
4302
4302
|
};
|
|
4303
4303
|
return (_ctx, _cache) => {
|
|
4304
4304
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["flex flex-wrap gap-3", props.ui.group]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
|
|
4305
|
-
return openBlock(), createBlock(_sfc_main$
|
|
4305
|
+
return openBlock(), createBlock(_sfc_main$17, {
|
|
4306
4306
|
key: `checkbox-${option}`,
|
|
4307
4307
|
type: "checkbox-input",
|
|
4308
4308
|
name: __props.name,
|
|
@@ -4327,7 +4327,7 @@ var _sfc_main$15 = {
|
|
|
4327
4327
|
};
|
|
4328
4328
|
//#endregion
|
|
4329
4329
|
//#region src/components/Modal.vue
|
|
4330
|
-
var _sfc_main$
|
|
4330
|
+
var _sfc_main$15 = {
|
|
4331
4331
|
__name: "Modal",
|
|
4332
4332
|
props: {
|
|
4333
4333
|
show: {
|
|
@@ -4455,14 +4455,14 @@ var _sfc_main$14 = {
|
|
|
4455
4455
|
};
|
|
4456
4456
|
//#endregion
|
|
4457
4457
|
//#region src/components/ConfirmationModal.vue
|
|
4458
|
-
var _hoisted_1$
|
|
4459
|
-
var _hoisted_2$
|
|
4460
|
-
var _hoisted_3$
|
|
4461
|
-
var _hoisted_4$
|
|
4462
|
-
var _hoisted_5$
|
|
4463
|
-
var _hoisted_6$
|
|
4458
|
+
var _hoisted_1$19 = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
|
|
4459
|
+
var _hoisted_2$12 = { class: "sm:flex sm:items-start" };
|
|
4460
|
+
var _hoisted_3$9 = { class: "mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-red-100 dark:bg-red-950/60 sm:mx-0 sm:size-10" };
|
|
4461
|
+
var _hoisted_4$7 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
|
|
4462
|
+
var _hoisted_5$5 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
|
|
4463
|
+
var _hoisted_6$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
|
|
4464
4464
|
var _hoisted_7$3 = { class: "flex flex-col-reverse gap-4 border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60 lg:flex-row lg:justify-end lg:gap-0" };
|
|
4465
|
-
var _sfc_main$
|
|
4465
|
+
var _sfc_main$14 = {
|
|
4466
4466
|
__name: "ConfirmationModal",
|
|
4467
4467
|
props: {
|
|
4468
4468
|
show: {
|
|
@@ -4494,14 +4494,14 @@ var _sfc_main$13 = {
|
|
|
4494
4494
|
emit("close");
|
|
4495
4495
|
};
|
|
4496
4496
|
return (_ctx, _cache) => {
|
|
4497
|
-
return openBlock(), createBlock(_sfc_main$
|
|
4497
|
+
return openBlock(), createBlock(_sfc_main$15, {
|
|
4498
4498
|
show: __props.show,
|
|
4499
4499
|
"max-width": __props.maxWidth,
|
|
4500
4500
|
closeable: __props.closeable,
|
|
4501
4501
|
position: __props.position,
|
|
4502
4502
|
onClose: close
|
|
4503
4503
|
}, {
|
|
4504
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
4504
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$19, [createElementVNode("div", _hoisted_2$12, [createElementVNode("div", _hoisted_3$9, [createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })]), createElementVNode("div", _hoisted_4$7, [createElementVNode("h3", _hoisted_5$5, [renderSlot(_ctx.$slots, "title")]), createElementVNode("div", _hoisted_6$5, [renderSlot(_ctx.$slots, "content")])])])]), createElementVNode("div", _hoisted_7$3, [renderSlot(_ctx.$slots, "footer")])]),
|
|
4505
4505
|
_: 3
|
|
4506
4506
|
}, 8, [
|
|
4507
4507
|
"show",
|
|
@@ -4514,11 +4514,11 @@ var _sfc_main$13 = {
|
|
|
4514
4514
|
};
|
|
4515
4515
|
//#endregion
|
|
4516
4516
|
//#region src/components/DialogModal.vue
|
|
4517
|
-
var _hoisted_1$
|
|
4518
|
-
var _hoisted_2$
|
|
4519
|
-
var _hoisted_3$
|
|
4520
|
-
var _hoisted_4$
|
|
4521
|
-
var _sfc_main$
|
|
4517
|
+
var _hoisted_1$18 = { class: "px-6 py-4" };
|
|
4518
|
+
var _hoisted_2$11 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
|
|
4519
|
+
var _hoisted_3$8 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
|
|
4520
|
+
var _hoisted_4$6 = { class: "flex flex-row justify-end border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60" };
|
|
4521
|
+
var _sfc_main$13 = {
|
|
4522
4522
|
__name: "DialogModal",
|
|
4523
4523
|
props: {
|
|
4524
4524
|
show: {
|
|
@@ -4541,13 +4541,13 @@ var _sfc_main$12 = {
|
|
|
4541
4541
|
emit("close");
|
|
4542
4542
|
};
|
|
4543
4543
|
return (_ctx, _cache) => {
|
|
4544
|
-
return openBlock(), createBlock(_sfc_main$
|
|
4544
|
+
return openBlock(), createBlock(_sfc_main$15, {
|
|
4545
4545
|
show: __props.show,
|
|
4546
4546
|
"max-width": __props.maxWidth,
|
|
4547
4547
|
closeable: __props.closeable,
|
|
4548
4548
|
onClose: close
|
|
4549
4549
|
}, {
|
|
4550
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
4550
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$18, [createElementVNode("div", _hoisted_2$11, [renderSlot(_ctx.$slots, "title")]), createElementVNode("div", _hoisted_3$8, [renderSlot(_ctx.$slots, "content")])]), createElementVNode("div", _hoisted_4$6, [renderSlot(_ctx.$slots, "footer")])]),
|
|
4551
4551
|
_: 3
|
|
4552
4552
|
}, 8, [
|
|
4553
4553
|
"show",
|
|
@@ -4559,8 +4559,8 @@ var _sfc_main$12 = {
|
|
|
4559
4559
|
};
|
|
4560
4560
|
//#endregion
|
|
4561
4561
|
//#region src/components/Dropdown.vue
|
|
4562
|
-
var _hoisted_1$
|
|
4563
|
-
var _sfc_main$
|
|
4562
|
+
var _hoisted_1$17 = { class: "relative inline-block w-fit" };
|
|
4563
|
+
var _sfc_main$12 = {
|
|
4564
4564
|
__name: "Dropdown",
|
|
4565
4565
|
props: {
|
|
4566
4566
|
align: {
|
|
@@ -4679,7 +4679,7 @@ var _sfc_main$11 = {
|
|
|
4679
4679
|
window.removeEventListener("scroll", handleViewportChange, true);
|
|
4680
4680
|
});
|
|
4681
4681
|
return (_ctx, _cache) => {
|
|
4682
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
4682
|
+
return openBlock(), createElementBlock("div", _hoisted_1$17, [createElementVNode("div", {
|
|
4683
4683
|
ref_key: "triggerRef",
|
|
4684
4684
|
ref: triggerRef,
|
|
4685
4685
|
onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)
|
|
@@ -4706,13 +4706,13 @@ var _sfc_main$11 = {
|
|
|
4706
4706
|
};
|
|
4707
4707
|
//#endregion
|
|
4708
4708
|
//#region src/components/DropdownLink.vue
|
|
4709
|
-
var _hoisted_1$
|
|
4709
|
+
var _hoisted_1$16 = {
|
|
4710
4710
|
key: 0,
|
|
4711
4711
|
type: "submit",
|
|
4712
4712
|
class: "block w-full px-4 py-2 text-start text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
|
|
4713
4713
|
};
|
|
4714
|
-
var _hoisted_2$
|
|
4715
|
-
var _sfc_main$
|
|
4714
|
+
var _hoisted_2$10 = ["href"];
|
|
4715
|
+
var _sfc_main$11 = {
|
|
4716
4716
|
__name: "DropdownLink",
|
|
4717
4717
|
props: {
|
|
4718
4718
|
href: String,
|
|
@@ -4720,11 +4720,11 @@ var _sfc_main$10 = {
|
|
|
4720
4720
|
},
|
|
4721
4721
|
setup(__props) {
|
|
4722
4722
|
return (_ctx, _cache) => {
|
|
4723
|
-
return openBlock(), createElementBlock("div", null, [__props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$
|
|
4723
|
+
return openBlock(), createElementBlock("div", null, [__props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$16, [renderSlot(_ctx.$slots, "default")])) : __props.as == "a" ? (openBlock(), createElementBlock("a", {
|
|
4724
4724
|
key: 1,
|
|
4725
4725
|
href: __props.href,
|
|
4726
4726
|
class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
|
|
4727
|
-
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_2$
|
|
4727
|
+
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_2$10)) : (openBlock(), createBlock(unref(Link), {
|
|
4728
4728
|
key: 2,
|
|
4729
4729
|
href: __props.href,
|
|
4730
4730
|
class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
|
|
@@ -4737,62 +4737,62 @@ var _sfc_main$10 = {
|
|
|
4737
4737
|
};
|
|
4738
4738
|
//#endregion
|
|
4739
4739
|
//#region src/components/FormSection.vue
|
|
4740
|
-
var _hoisted_1$
|
|
4741
|
-
var _hoisted_2$
|
|
4742
|
-
var _hoisted_3$
|
|
4743
|
-
var _hoisted_4$
|
|
4740
|
+
var _hoisted_1$15 = { class: "md:grid md:grid-cols-3 md:gap-6" };
|
|
4741
|
+
var _hoisted_2$9 = { class: "mt-5 md:col-span-2 md:mt-0" };
|
|
4742
|
+
var _hoisted_3$7 = { class: "grid grid-cols-6 gap-6" };
|
|
4743
|
+
var _hoisted_4$5 = {
|
|
4744
4744
|
key: 0,
|
|
4745
4745
|
class: "flex items-center justify-start rounded-b-lg border border-t-0 border-neutral-200 bg-neutral-50 px-3 pb-6 text-end dark:border-neutral-800 dark:bg-neutral-900/60 sm:rounded-bl-md sm:rounded-br-md"
|
|
4746
4746
|
};
|
|
4747
|
-
var _sfc_main$
|
|
4747
|
+
var _sfc_main$10 = {
|
|
4748
4748
|
__name: "FormSection",
|
|
4749
4749
|
emits: ["submitted"],
|
|
4750
4750
|
setup(__props) {
|
|
4751
4751
|
const hasActions = computed(() => !!useSlots().actions);
|
|
4752
4752
|
return (_ctx, _cache) => {
|
|
4753
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
4753
|
+
return openBlock(), createElementBlock("div", _hoisted_1$15, [createVNode(SectionTitle_default, null, {
|
|
4754
4754
|
title: withCtx(() => [renderSlot(_ctx.$slots, "title")]),
|
|
4755
4755
|
description: withCtx(() => [renderSlot(_ctx.$slots, "description")]),
|
|
4756
4756
|
_: 3
|
|
4757
|
-
}), createElementVNode("div", _hoisted_2$
|
|
4757
|
+
}), createElementVNode("div", _hoisted_2$9, [createElementVNode("form", { onSubmit: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("submitted"), ["prevent"])) }, [createElementVNode("div", { class: normalizeClass(["rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6", hasActions.value ? "sm:rounded-tl-md sm:rounded-tr-md" : "sm:rounded-md"]) }, [createElementVNode("div", _hoisted_3$7, [renderSlot(_ctx.$slots, "form")])], 2), hasActions.value ? (openBlock(), createElementBlock("div", _hoisted_4$5, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true)], 32)])]);
|
|
4758
4758
|
};
|
|
4759
4759
|
}
|
|
4760
4760
|
};
|
|
4761
4761
|
//#endregion
|
|
4762
4762
|
//#region src/components/InputError.vue
|
|
4763
|
-
var _hoisted_1$
|
|
4764
|
-
var _sfc_main$
|
|
4763
|
+
var _hoisted_1$14 = { class: "text-sm text-red-600 dark:text-neutral-100" };
|
|
4764
|
+
var _sfc_main$9 = {
|
|
4765
4765
|
__name: "InputError",
|
|
4766
4766
|
props: { message: String },
|
|
4767
4767
|
setup(__props) {
|
|
4768
4768
|
return (_ctx, _cache) => {
|
|
4769
|
-
return withDirectives((openBlock(), createElementBlock("div", null, [createElementVNode("p", _hoisted_1$
|
|
4769
|
+
return withDirectives((openBlock(), createElementBlock("div", null, [createElementVNode("p", _hoisted_1$14, toDisplayString(__props.message), 1)], 512)), [[vShow, __props.message]]);
|
|
4770
4770
|
};
|
|
4771
4771
|
}
|
|
4772
4772
|
};
|
|
4773
4773
|
//#endregion
|
|
4774
4774
|
//#region src/components/InputLabel.vue
|
|
4775
|
-
var _hoisted_1$
|
|
4776
|
-
var _hoisted_2$
|
|
4777
|
-
var _hoisted_3$
|
|
4778
|
-
var _sfc_main$
|
|
4775
|
+
var _hoisted_1$13 = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
|
|
4776
|
+
var _hoisted_2$8 = { key: 0 };
|
|
4777
|
+
var _hoisted_3$6 = { key: 1 };
|
|
4778
|
+
var _sfc_main$8 = {
|
|
4779
4779
|
__name: "InputLabel",
|
|
4780
4780
|
props: { value: String },
|
|
4781
4781
|
setup(__props) {
|
|
4782
4782
|
return (_ctx, _cache) => {
|
|
4783
|
-
return openBlock(), createElementBlock("label", _hoisted_1$
|
|
4783
|
+
return openBlock(), createElementBlock("label", _hoisted_1$13, [__props.value ? (openBlock(), createElementBlock("span", _hoisted_2$8, toDisplayString(__props.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_3$6, [renderSlot(_ctx.$slots, "default")]))]);
|
|
4784
4784
|
};
|
|
4785
4785
|
}
|
|
4786
4786
|
};
|
|
4787
4787
|
//#endregion
|
|
4788
4788
|
//#region src/components/LinkButton.vue
|
|
4789
|
-
var _hoisted_1$
|
|
4789
|
+
var _hoisted_1$12 = [
|
|
4790
4790
|
"href",
|
|
4791
4791
|
"title",
|
|
4792
4792
|
"target",
|
|
4793
4793
|
"rel"
|
|
4794
4794
|
];
|
|
4795
|
-
var _sfc_main$
|
|
4795
|
+
var _sfc_main$7 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
4796
4796
|
__name: "LinkButton",
|
|
4797
4797
|
props: {
|
|
4798
4798
|
href: {
|
|
@@ -4859,19 +4859,19 @@ var _sfc_main$6 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
4859
4859
|
target: __props.target,
|
|
4860
4860
|
rel: __props.rel,
|
|
4861
4861
|
class: linkClasses.value
|
|
4862
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$
|
|
4862
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$12));
|
|
4863
4863
|
};
|
|
4864
4864
|
}
|
|
4865
4865
|
});
|
|
4866
4866
|
//#endregion
|
|
4867
4867
|
//#region src/components/SectionBorder.vue
|
|
4868
|
-
var _hoisted_1$
|
|
4869
|
-
var _hoisted_2$
|
|
4870
|
-
var _sfc_main$
|
|
4868
|
+
var _hoisted_1$11 = { class: "hidden sm:block" };
|
|
4869
|
+
var _hoisted_2$7 = { class: "py-8" };
|
|
4870
|
+
var _sfc_main$6 = {
|
|
4871
4871
|
__name: "SectionBorder",
|
|
4872
4872
|
setup(__props) {
|
|
4873
4873
|
return (_ctx, _cache) => {
|
|
4874
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
4874
|
+
return openBlock(), createElementBlock("div", _hoisted_1$11, [createElementVNode("div", _hoisted_2$7, [createVNode(_sfc_main$39)])]);
|
|
4875
4875
|
};
|
|
4876
4876
|
}
|
|
4877
4877
|
};
|
|
@@ -4921,13 +4921,13 @@ function useSidebar() {
|
|
|
4921
4921
|
}
|
|
4922
4922
|
//#endregion
|
|
4923
4923
|
//#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
|
|
4924
|
-
var _hoisted_1$
|
|
4924
|
+
var _hoisted_1$10 = [
|
|
4925
4925
|
"data-state",
|
|
4926
4926
|
"data-collapsible",
|
|
4927
4927
|
"data-variant",
|
|
4928
4928
|
"data-side"
|
|
4929
4929
|
];
|
|
4930
|
-
var _hoisted_2$
|
|
4930
|
+
var _hoisted_2$6 = {
|
|
4931
4931
|
"data-sidebar": "sidebar",
|
|
4932
4932
|
class: "bg-sidebar text-sidebar-foreground flex h-full w-full flex-col group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
|
|
4933
4933
|
};
|
|
@@ -4978,7 +4978,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4978
4978
|
__props.side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
|
|
4979
4979
|
__props.variant === "floating" || __props.variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
4980
4980
|
props.class
|
|
4981
|
-
] }, _ctx.$attrs), [createElementVNode("div", _hoisted_2$
|
|
4981
|
+
] }, _ctx.$attrs), [createElementVNode("div", _hoisted_2$6, [renderSlot(_ctx.$slots, "default")])], 16)], 8, _hoisted_1$10));
|
|
4982
4982
|
};
|
|
4983
4983
|
}
|
|
4984
4984
|
});
|
|
@@ -5194,7 +5194,7 @@ var SidebarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
5194
5194
|
});
|
|
5195
5195
|
//#endregion
|
|
5196
5196
|
//#region src/components/SidebarMenuButton.vue?vue&type=script&setup=true&lang.ts
|
|
5197
|
-
var _hoisted_1$
|
|
5197
|
+
var _hoisted_1$9 = [
|
|
5198
5198
|
"href",
|
|
5199
5199
|
"target",
|
|
5200
5200
|
"rel"
|
|
@@ -5280,7 +5280,7 @@ var SidebarMenuButton_default = /* @__PURE__ */ defineComponent({
|
|
|
5280
5280
|
href: __props.href,
|
|
5281
5281
|
target: __props.target,
|
|
5282
5282
|
rel: __props.rel
|
|
5283
|
-
}, sharedAttrs.value), [__props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 16, _hoisted_1$
|
|
5283
|
+
}, sharedAttrs.value), [__props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 16, _hoisted_1$9)) : (openBlock(), createElementBlock("button", mergeProps({
|
|
5284
5284
|
key: 3,
|
|
5285
5285
|
type: "button"
|
|
5286
5286
|
}, sharedAttrs.value), [__props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 16));
|
|
@@ -5474,6 +5474,30 @@ var createLucideIcon = (iconName, iconNode) => (props, { slots, attrs }) => h(Ic
|
|
|
5474
5474
|
* This source code is licensed under the ISC license.
|
|
5475
5475
|
* See the LICENSE file in the root directory of this source tree.
|
|
5476
5476
|
*/
|
|
5477
|
+
var Columns3 = createLucideIcon("columns-3", [
|
|
5478
|
+
["rect", {
|
|
5479
|
+
width: "18",
|
|
5480
|
+
height: "18",
|
|
5481
|
+
x: "3",
|
|
5482
|
+
y: "3",
|
|
5483
|
+
rx: "2",
|
|
5484
|
+
key: "afitv7"
|
|
5485
|
+
}],
|
|
5486
|
+
["path", {
|
|
5487
|
+
d: "M9 3v18",
|
|
5488
|
+
key: "fh3hqa"
|
|
5489
|
+
}],
|
|
5490
|
+
["path", {
|
|
5491
|
+
d: "M15 3v18",
|
|
5492
|
+
key: "14nvp0"
|
|
5493
|
+
}]
|
|
5494
|
+
]);
|
|
5495
|
+
/**
|
|
5496
|
+
* @license @lucide/vue v1.7.0 - ISC
|
|
5497
|
+
*
|
|
5498
|
+
* This source code is licensed under the ISC license.
|
|
5499
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5500
|
+
*/
|
|
5477
5501
|
var GripVertical = createLucideIcon("grip-vertical", [
|
|
5478
5502
|
["circle", {
|
|
5479
5503
|
cx: "9",
|
|
@@ -5590,7 +5614,7 @@ var SidebarTrigger_default = /* @__PURE__ */ defineComponent({
|
|
|
5590
5614
|
const props = __props;
|
|
5591
5615
|
const { state, toggleSidebar } = useSidebar();
|
|
5592
5616
|
return (_ctx, _cache) => {
|
|
5593
|
-
return openBlock(), createBlock(_sfc_main$
|
|
5617
|
+
return openBlock(), createBlock(_sfc_main$33, {
|
|
5594
5618
|
"data-sidebar": "trigger",
|
|
5595
5619
|
"data-slot": "sidebar-trigger",
|
|
5596
5620
|
variant: "ghost",
|
|
@@ -5722,7 +5746,7 @@ var unregisterSlidePanel = (id, lockBody) => {
|
|
|
5722
5746
|
var isTopSlidePanel = (id) => stack[stack.length - 1] === id;
|
|
5723
5747
|
//#endregion
|
|
5724
5748
|
//#region src/components/SlidePanel.vue?vue&type=script&setup=true&lang.ts
|
|
5725
|
-
var _hoisted_1$
|
|
5749
|
+
var _hoisted_1$8 = ["aria-modal"];
|
|
5726
5750
|
//#endregion
|
|
5727
5751
|
//#region src/components/SlidePanel.vue
|
|
5728
5752
|
var SlidePanel_default = /* @__PURE__ */ defineComponent({
|
|
@@ -5953,7 +5977,7 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
|
|
|
5953
5977
|
"aria-modal": __props.backdrop ? "true" : void 0,
|
|
5954
5978
|
tabindex: "-1",
|
|
5955
5979
|
onAfterLeave: finishClose
|
|
5956
|
-
}, [renderSlot(_ctx.$slots, "default")], 44, _hoisted_1$
|
|
5980
|
+
}, [renderSlot(_ctx.$slots, "default")], 44, _hoisted_1$8)), [[vShow, visible.value]]) : createCommentVNode("", true)]),
|
|
5957
5981
|
_: 3
|
|
5958
5982
|
}, 8, ["enter-from-class", "leave-to-class"])]);
|
|
5959
5983
|
};
|
|
@@ -5961,14 +5985,14 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
|
|
|
5961
5985
|
});
|
|
5962
5986
|
//#endregion
|
|
5963
5987
|
//#region src/components/SortControls.vue
|
|
5964
|
-
var _hoisted_1$
|
|
5965
|
-
var _hoisted_2$
|
|
5966
|
-
var _hoisted_3$
|
|
5967
|
-
var _hoisted_4$
|
|
5968
|
-
var _hoisted_5$
|
|
5969
|
-
var _hoisted_6$
|
|
5988
|
+
var _hoisted_1$7 = { class: "rounded-xl border border-neutral-200 bg-white/80 px-6 py-4 backdrop-blur-sm dark:border-neutral-800 dark:bg-neutral-950/80" };
|
|
5989
|
+
var _hoisted_2$5 = { class: "flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center" };
|
|
5990
|
+
var _hoisted_3$5 = { class: "flex items-center gap-3" };
|
|
5991
|
+
var _hoisted_4$4 = { class: "text-sm font-medium text-neutral-700 dark:text-neutral-100" };
|
|
5992
|
+
var _hoisted_5$4 = { class: "flex flex-wrap items-center gap-2" };
|
|
5993
|
+
var _hoisted_6$4 = ["onClick"];
|
|
5970
5994
|
var _hoisted_7$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
|
|
5971
|
-
var _sfc_main$
|
|
5995
|
+
var _sfc_main$5 = {
|
|
5972
5996
|
__name: "SortControls",
|
|
5973
5997
|
props: {
|
|
5974
5998
|
fields: {
|
|
@@ -6007,7 +6031,7 @@ var _sfc_main$4 = {
|
|
|
6007
6031
|
emit("sort", fieldKey);
|
|
6008
6032
|
};
|
|
6009
6033
|
return (_ctx, _cache) => {
|
|
6010
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
6034
|
+
return openBlock(), createElementBlock("div", _hoisted_1$7, [createElementVNode("div", _hoisted_2$5, [createElementVNode("div", _hoisted_3$5, [createElementVNode("label", _hoisted_4$4, toDisplayString(__props.sortByLabel) + ":", 1), createElementVNode("div", _hoisted_5$4, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.fields, (field) => {
|
|
6011
6035
|
return openBlock(), createElementBlock("button", {
|
|
6012
6036
|
key: field.key,
|
|
6013
6037
|
onClick: ($event) => handleSort(field.key),
|
|
@@ -6022,15 +6046,15 @@ var _sfc_main$4 = {
|
|
|
6022
6046
|
key: 1,
|
|
6023
6047
|
class: "w-3 h-3 ml-1 inline"
|
|
6024
6048
|
})) : createCommentVNode("", true)
|
|
6025
|
-
], 10, _hoisted_6$
|
|
6049
|
+
], 10, _hoisted_6$4);
|
|
6026
6050
|
}), 128))])]), createElementVNode("div", _hoisted_7$2, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1)])]);
|
|
6027
6051
|
};
|
|
6028
6052
|
}
|
|
6029
6053
|
};
|
|
6030
6054
|
//#endregion
|
|
6031
6055
|
//#region src/components/ThSortable.vue
|
|
6032
|
-
var _hoisted_1$
|
|
6033
|
-
var _sfc_main$
|
|
6056
|
+
var _hoisted_1$6 = { class: "flex flex-col" };
|
|
6057
|
+
var _sfc_main$4 = {
|
|
6034
6058
|
__name: "ThSortable",
|
|
6035
6059
|
props: {
|
|
6036
6060
|
field: {
|
|
@@ -6076,7 +6100,7 @@ var _sfc_main$3 = {
|
|
|
6076
6100
|
class: normalizeClass(__props.headerClass),
|
|
6077
6101
|
style: normalizeStyle(__props.headerStyle),
|
|
6078
6102
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("sort", __props.field))
|
|
6079
|
-
}, [createElementVNode("div", { class: normalizeClass(__props.contentClass) }, [createElementVNode("span", null, [renderSlot(_ctx.$slots, "default")]), createElementVNode("div", _hoisted_1$
|
|
6103
|
+
}, [createElementVNode("div", { class: normalizeClass(__props.contentClass) }, [createElementVNode("span", null, [renderSlot(_ctx.$slots, "default")]), createElementVNode("div", _hoisted_1$6, [isCurrentSort.value && __props.currentDirection === "asc" ? (openBlock(), createBlock(unref(ChevronUpIcon), {
|
|
6080
6104
|
key: 0,
|
|
6081
6105
|
class: normalizeClass([sortIconClass.value, "w-3 h-3"])
|
|
6082
6106
|
}, null, 8, ["class"])) : createCommentVNode("", true), isCurrentSort.value && __props.currentDirection === "desc" ? (openBlock(), createBlock(unref(ChevronDownIcon), {
|
|
@@ -6088,25 +6112,25 @@ var _sfc_main$3 = {
|
|
|
6088
6112
|
};
|
|
6089
6113
|
//#endregion
|
|
6090
6114
|
//#region src/components/TableSearch.vue
|
|
6091
|
-
var _hoisted_1$
|
|
6092
|
-
var _hoisted_2$
|
|
6115
|
+
var _hoisted_1$5 = { class: "flex flex-col items-start gap-4 lg:flex-row lg:flex-wrap lg:items-center lg:justify-between" };
|
|
6116
|
+
var _hoisted_2$4 = {
|
|
6093
6117
|
key: 0,
|
|
6094
6118
|
class: "flex shrink-0 flex-col items-start gap-3 sm:flex-row sm:items-center lg:w-auto"
|
|
6095
6119
|
};
|
|
6096
|
-
var _hoisted_3$
|
|
6120
|
+
var _hoisted_3$4 = {
|
|
6097
6121
|
key: 0,
|
|
6098
6122
|
class: "flex items-center"
|
|
6099
6123
|
};
|
|
6100
|
-
var _hoisted_4$
|
|
6124
|
+
var _hoisted_4$3 = {
|
|
6101
6125
|
key: 1,
|
|
6102
6126
|
class: "flex items-center text-xs text-neutral-500 dark:text-neutral-400 sm:w-auto sm:text-sm lg:w-auto"
|
|
6103
6127
|
};
|
|
6104
|
-
var _hoisted_5$
|
|
6128
|
+
var _hoisted_5$3 = {
|
|
6105
6129
|
key: 0,
|
|
6106
6130
|
class: "ml-2"
|
|
6107
6131
|
};
|
|
6108
|
-
var _hoisted_6$
|
|
6109
|
-
var _sfc_main$
|
|
6132
|
+
var _hoisted_6$3 = { class: "font-medium text-neutral-700 dark:text-neutral-200" };
|
|
6133
|
+
var _sfc_main$3 = {
|
|
6110
6134
|
__name: "TableSearch",
|
|
6111
6135
|
props: {
|
|
6112
6136
|
modelValue: {
|
|
@@ -6175,7 +6199,7 @@ var _sfc_main$2 = {
|
|
|
6175
6199
|
const searchContentClasses = computed(() => props.searchFieldsLayout === "stacked" ? "flex w-full min-w-0 flex-1 flex-col gap-3" : "flex w-full min-w-0 flex-1 flex-col gap-3 lg:flex-row lg:items-center");
|
|
6176
6200
|
const searchFieldsClasses = computed(() => props.searchFieldsLayout === "stacked" ? "w-full min-w-0" : "min-w-0 flex-1");
|
|
6177
6201
|
return (_ctx, _cache) => {
|
|
6178
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$
|
|
6202
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$5, [createElementVNode("div", { class: normalizeClass(searchContentClasses.value) }, [__props.searchbar ? (openBlock(), createBlock(_sfc_main$17, {
|
|
6179
6203
|
key: 0,
|
|
6180
6204
|
modelValue: model.value,
|
|
6181
6205
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
@@ -6185,19 +6209,156 @@ var _sfc_main$2 = {
|
|
|
6185
6209
|
}, {
|
|
6186
6210
|
"leading-icon": withCtx(() => [createVNode(unref(Search), { class: "h-5 w-5" })]),
|
|
6187
6211
|
_: 1
|
|
6188
|
-
}, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(searchFieldsClasses.value) }, [renderSlot(_ctx.$slots, "search-fields")], 2)], 2), __props.showDeletedToggle || __props.count !== null || _ctx.$slots.controls ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
6189
|
-
__props.showDeletedToggle ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
6212
|
+
}, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(searchFieldsClasses.value) }, [renderSlot(_ctx.$slots, "search-fields")], 2)], 2), __props.showDeletedToggle || __props.count !== null || _ctx.$slots.controls ? (openBlock(), createElementBlock("div", _hoisted_2$4, [
|
|
6213
|
+
__props.showDeletedToggle ? (openBlock(), createElementBlock("div", _hoisted_3$4, [createVNode(_sfc_main$21, {
|
|
6190
6214
|
modelValue: showDeletedModel.value,
|
|
6191
6215
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showDeletedModel.value = $event),
|
|
6192
6216
|
label: __props.showDeletedLabel
|
|
6193
6217
|
}, null, 8, ["modelValue", "label"])])) : createCommentVNode("", true),
|
|
6194
6218
|
renderSlot(_ctx.$slots, "controls"),
|
|
6195
|
-
__props.count !== null ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
6219
|
+
__props.count !== null ? (openBlock(), createElementBlock("div", _hoisted_4$3, [createElementVNode("span", null, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1), model.value ? (openBlock(), createElementBlock("span", _hoisted_5$3, [createTextVNode(toDisplayString(__props.queryLabel) + " ", 1), createElementVNode("span", _hoisted_6$3, " \"" + toDisplayString(model.value) + "\" ", 1)])) : createCommentVNode("", true)])) : createCommentVNode("", true)
|
|
6196
6220
|
])) : createCommentVNode("", true)])], 2);
|
|
6197
6221
|
};
|
|
6198
6222
|
}
|
|
6199
6223
|
};
|
|
6200
6224
|
//#endregion
|
|
6225
|
+
//#region src/components/TableColumnVisibility.vue
|
|
6226
|
+
var _hoisted_1$4 = { class: "mt-4 grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4" };
|
|
6227
|
+
var _hoisted_2$3 = { class: "sr-only" };
|
|
6228
|
+
var _hoisted_3$3 = ["checked", "onChange"];
|
|
6229
|
+
var _hoisted_4$2 = { class: "min-w-0 truncate" };
|
|
6230
|
+
var _hoisted_5$2 = { class: "flex w-full items-center justify-between gap-3" };
|
|
6231
|
+
var _hoisted_6$2 = { class: "flex gap-3" };
|
|
6232
|
+
var _sfc_main$2 = {
|
|
6233
|
+
__name: "TableColumnVisibility",
|
|
6234
|
+
props: {
|
|
6235
|
+
columns: {
|
|
6236
|
+
type: Array,
|
|
6237
|
+
required: true
|
|
6238
|
+
},
|
|
6239
|
+
hiddenColumns: {
|
|
6240
|
+
type: Array,
|
|
6241
|
+
default: () => []
|
|
6242
|
+
},
|
|
6243
|
+
buttonLabel: {
|
|
6244
|
+
type: String,
|
|
6245
|
+
default: "Columns"
|
|
6246
|
+
},
|
|
6247
|
+
title: {
|
|
6248
|
+
type: String,
|
|
6249
|
+
default: "Visible columns"
|
|
6250
|
+
},
|
|
6251
|
+
description: {
|
|
6252
|
+
type: String,
|
|
6253
|
+
default: "Choose the columns displayed in the table."
|
|
6254
|
+
},
|
|
6255
|
+
showAllLabel: {
|
|
6256
|
+
type: String,
|
|
6257
|
+
default: "Show all"
|
|
6258
|
+
},
|
|
6259
|
+
applyLabel: {
|
|
6260
|
+
type: String,
|
|
6261
|
+
default: "OK"
|
|
6262
|
+
},
|
|
6263
|
+
cancelLabel: {
|
|
6264
|
+
type: String,
|
|
6265
|
+
default: "Cancel"
|
|
6266
|
+
}
|
|
6267
|
+
},
|
|
6268
|
+
emits: ["update:hiddenColumns"],
|
|
6269
|
+
setup(__props, { emit: __emit }) {
|
|
6270
|
+
const props = __props;
|
|
6271
|
+
const emit = __emit;
|
|
6272
|
+
const isOpen = ref(false);
|
|
6273
|
+
const trigger = ref(null);
|
|
6274
|
+
const draftHiddenColumns = ref([]);
|
|
6275
|
+
const open = () => {
|
|
6276
|
+
draftHiddenColumns.value = [...props.hiddenColumns];
|
|
6277
|
+
isOpen.value = true;
|
|
6278
|
+
};
|
|
6279
|
+
const close = () => {
|
|
6280
|
+
isOpen.value = false;
|
|
6281
|
+
window.setTimeout(() => trigger.value?.$el?.focus(), 220);
|
|
6282
|
+
};
|
|
6283
|
+
const cancel = () => {
|
|
6284
|
+
draftHiddenColumns.value = [];
|
|
6285
|
+
close();
|
|
6286
|
+
};
|
|
6287
|
+
const apply = () => {
|
|
6288
|
+
emit("update:hiddenColumns", [...draftHiddenColumns.value]);
|
|
6289
|
+
close();
|
|
6290
|
+
};
|
|
6291
|
+
const isVisible = (column) => !draftHiddenColumns.value.includes(column.key);
|
|
6292
|
+
const updateColumn = (column, visible) => {
|
|
6293
|
+
const hiddenColumns = new Set(draftHiddenColumns.value);
|
|
6294
|
+
if (visible) hiddenColumns.delete(column.key);
|
|
6295
|
+
else hiddenColumns.add(column.key);
|
|
6296
|
+
draftHiddenColumns.value = Array.from(hiddenColumns);
|
|
6297
|
+
};
|
|
6298
|
+
const showAll = () => {
|
|
6299
|
+
draftHiddenColumns.value = [];
|
|
6300
|
+
};
|
|
6301
|
+
return (_ctx, _cache) => {
|
|
6302
|
+
return openBlock(), createElementBlock(Fragment, null, [createVNode(_sfc_main$33, {
|
|
6303
|
+
ref_key: "trigger",
|
|
6304
|
+
ref: trigger,
|
|
6305
|
+
type: "button",
|
|
6306
|
+
variant: "outline",
|
|
6307
|
+
size: "sm",
|
|
6308
|
+
"aria-haspopup": "dialog",
|
|
6309
|
+
"aria-expanded": isOpen.value,
|
|
6310
|
+
"aria-label": __props.buttonLabel,
|
|
6311
|
+
onClick: open
|
|
6312
|
+
}, {
|
|
6313
|
+
default: withCtx(() => [createVNode(unref(Columns3), {
|
|
6314
|
+
class: "size-4",
|
|
6315
|
+
"aria-hidden": "true"
|
|
6316
|
+
}), createTextVNode(" " + toDisplayString(__props.buttonLabel), 1)]),
|
|
6317
|
+
_: 1
|
|
6318
|
+
}, 8, ["aria-expanded", "aria-label"]), createVNode(_sfc_main$13, {
|
|
6319
|
+
show: isOpen.value,
|
|
6320
|
+
"max-width": "4xl",
|
|
6321
|
+
onClose: cancel
|
|
6322
|
+
}, {
|
|
6323
|
+
title: withCtx(() => [createTextVNode(toDisplayString(__props.title), 1)]),
|
|
6324
|
+
content: withCtx(() => [createElementVNode("p", null, toDisplayString(__props.description), 1), createElementVNode("fieldset", _hoisted_1$4, [createElementVNode("legend", _hoisted_2$3, toDisplayString(__props.title), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
6325
|
+
return openBlock(), createElementBlock("label", {
|
|
6326
|
+
key: column.key,
|
|
6327
|
+
class: "flex min-w-0 items-center gap-2"
|
|
6328
|
+
}, [createElementVNode("input", {
|
|
6329
|
+
type: "checkbox",
|
|
6330
|
+
class: "size-4 shrink-0 rounded border-neutral-300 text-primary-600 shadow-sm focus:ring-primary-500 dark:border-neutral-700 dark:bg-neutral-900",
|
|
6331
|
+
checked: isVisible(column),
|
|
6332
|
+
onChange: ($event) => updateColumn(column, $event.target.checked)
|
|
6333
|
+
}, null, 40, _hoisted_3$3), createElementVNode("span", _hoisted_4$2, toDisplayString(column.label), 1)]);
|
|
6334
|
+
}), 128))])]),
|
|
6335
|
+
footer: withCtx(() => [createElementVNode("div", _hoisted_5$2, [createVNode(_sfc_main$33, {
|
|
6336
|
+
type: "button",
|
|
6337
|
+
variant: "ghost",
|
|
6338
|
+
onClick: showAll
|
|
6339
|
+
}, {
|
|
6340
|
+
default: withCtx(() => [createTextVNode(toDisplayString(__props.showAllLabel), 1)]),
|
|
6341
|
+
_: 1
|
|
6342
|
+
}), createElementVNode("div", _hoisted_6$2, [createVNode(_sfc_main$33, {
|
|
6343
|
+
type: "button",
|
|
6344
|
+
variant: "outline",
|
|
6345
|
+
onClick: cancel
|
|
6346
|
+
}, {
|
|
6347
|
+
default: withCtx(() => [createTextVNode(toDisplayString(__props.cancelLabel), 1)]),
|
|
6348
|
+
_: 1
|
|
6349
|
+
}), createVNode(_sfc_main$33, {
|
|
6350
|
+
type: "button",
|
|
6351
|
+
onClick: apply
|
|
6352
|
+
}, {
|
|
6353
|
+
default: withCtx(() => [createTextVNode(toDisplayString(__props.applyLabel), 1)]),
|
|
6354
|
+
_: 1
|
|
6355
|
+
})])])]),
|
|
6356
|
+
_: 1
|
|
6357
|
+
}, 8, ["show"])], 64);
|
|
6358
|
+
};
|
|
6359
|
+
}
|
|
6360
|
+
};
|
|
6361
|
+
//#endregion
|
|
6201
6362
|
//#region src/components/tableListOrdering.js
|
|
6202
6363
|
var getNestedValue = (object, path) => {
|
|
6203
6364
|
if (!path || typeof path !== "string") return object;
|
|
@@ -6237,40 +6398,50 @@ var reorderRows = ({ data, fromIndex, toIndex, orderField, mutateRows }) => {
|
|
|
6237
6398
|
};
|
|
6238
6399
|
//#endregion
|
|
6239
6400
|
//#region src/components/TableList.vue
|
|
6240
|
-
var _hoisted_1$3 = { class: "space-y-6" };
|
|
6401
|
+
var _hoisted_1$3 = { class: "min-w-0 max-w-full space-y-6" };
|
|
6241
6402
|
var _hoisted_2$2 = {
|
|
6403
|
+
key: 1,
|
|
6404
|
+
class: "flex justify-end"
|
|
6405
|
+
};
|
|
6406
|
+
var _hoisted_3$2 = {
|
|
6242
6407
|
key: 0,
|
|
6243
6408
|
class: "w-10 px-2 py-3 text-center text-[11px] font-semibold uppercase tracking-[0.12em] text-neutral-600 dark:text-neutral-200"
|
|
6244
6409
|
};
|
|
6245
|
-
var
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
"
|
|
6250
|
-
|
|
6251
|
-
|
|
6410
|
+
var _hoisted_4$1 = ["data-table-sticky-key"];
|
|
6411
|
+
var _hoisted_5$1 = ["data-table-sticky-key"];
|
|
6412
|
+
var _hoisted_6$1 = {
|
|
6413
|
+
key: 0,
|
|
6414
|
+
"data-table-list-placeholder": "",
|
|
6415
|
+
class: "bg-blue-50/60 dark:bg-blue-950/20"
|
|
6416
|
+
};
|
|
6417
|
+
var _hoisted_7$1 = ["colspan"];
|
|
6418
|
+
var _hoisted_8$1 = ["data-row-index"];
|
|
6419
|
+
var _hoisted_9$1 = {
|
|
6252
6420
|
key: 0,
|
|
6253
6421
|
class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
|
|
6254
6422
|
};
|
|
6255
|
-
var
|
|
6256
|
-
var
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
"onDragstart"
|
|
6260
|
-
];
|
|
6261
|
-
var _hoisted_7$1 = ["title"];
|
|
6262
|
-
var _hoisted_8$1 = {
|
|
6423
|
+
var _hoisted_10$1 = { class: "inline-flex items-center gap-1" };
|
|
6424
|
+
var _hoisted_11$1 = ["aria-label", "onPointerdown"];
|
|
6425
|
+
var _hoisted_12$1 = ["title"];
|
|
6426
|
+
var _hoisted_13$1 = {
|
|
6263
6427
|
key: 0,
|
|
6264
6428
|
class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-700 dark:bg-red-950/60 dark:text-neutral-100"
|
|
6265
6429
|
};
|
|
6266
|
-
var
|
|
6267
|
-
var
|
|
6430
|
+
var _hoisted_14$1 = ["innerHTML"];
|
|
6431
|
+
var _hoisted_15$1 = { class: "ml-auto flex w-max min-w-max flex-nowrap items-center justify-end" };
|
|
6432
|
+
var _hoisted_16$1 = {
|
|
6433
|
+
key: 0,
|
|
6434
|
+
"data-table-list-placeholder": "",
|
|
6435
|
+
class: "bg-blue-50/60 dark:bg-blue-950/20"
|
|
6436
|
+
};
|
|
6437
|
+
var _hoisted_17$1 = ["colspan"];
|
|
6438
|
+
var _hoisted_18$1 = {
|
|
6268
6439
|
key: 0,
|
|
6269
6440
|
class: "py-12 text-center"
|
|
6270
6441
|
};
|
|
6271
|
-
var
|
|
6272
|
-
var
|
|
6273
|
-
var
|
|
6442
|
+
var _hoisted_19 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
|
|
6443
|
+
var _hoisted_20 = { class: "mb-2 text-lg font-semibold text-neutral-950 dark:text-neutral-50" };
|
|
6444
|
+
var _hoisted_21 = { class: "mb-4 text-neutral-600 dark:text-neutral-200" };
|
|
6274
6445
|
var _sfc_main$1 = {
|
|
6275
6446
|
__name: "TableList",
|
|
6276
6447
|
props: {
|
|
@@ -6318,7 +6489,7 @@ var _sfc_main$1 = {
|
|
|
6318
6489
|
},
|
|
6319
6490
|
rowClasses: {
|
|
6320
6491
|
type: Function,
|
|
6321
|
-
default: (item, index) => ["transition-colors duration-150", item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-
|
|
6492
|
+
default: (item, index) => ["transition-colors duration-150", item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-[#1c0c0b] dark:hover:bg-[#280d0b]" : "odd:bg-white even:bg-neutral-50 hover:bg-neutral-100 dark:odd:bg-neutral-950 dark:even:bg-neutral-900 dark:hover:bg-neutral-800"]
|
|
6322
6493
|
},
|
|
6323
6494
|
maxTextLength: {
|
|
6324
6495
|
type: Number,
|
|
@@ -6352,6 +6523,42 @@ var _sfc_main$1 = {
|
|
|
6352
6523
|
type: String,
|
|
6353
6524
|
default: "Actions"
|
|
6354
6525
|
},
|
|
6526
|
+
stickyActions: {
|
|
6527
|
+
type: Boolean,
|
|
6528
|
+
default: false
|
|
6529
|
+
},
|
|
6530
|
+
columnVisibility: {
|
|
6531
|
+
type: Boolean,
|
|
6532
|
+
default: false
|
|
6533
|
+
},
|
|
6534
|
+
hiddenColumns: {
|
|
6535
|
+
type: Array,
|
|
6536
|
+
default: void 0
|
|
6537
|
+
},
|
|
6538
|
+
columnVisibilityLabel: {
|
|
6539
|
+
type: String,
|
|
6540
|
+
default: "Columns"
|
|
6541
|
+
},
|
|
6542
|
+
columnVisibilityTitle: {
|
|
6543
|
+
type: String,
|
|
6544
|
+
default: "Visible columns"
|
|
6545
|
+
},
|
|
6546
|
+
columnVisibilityDescription: {
|
|
6547
|
+
type: String,
|
|
6548
|
+
default: "Choose the columns displayed in the table."
|
|
6549
|
+
},
|
|
6550
|
+
columnVisibilityShowAllLabel: {
|
|
6551
|
+
type: String,
|
|
6552
|
+
default: "Show all"
|
|
6553
|
+
},
|
|
6554
|
+
columnVisibilityApplyLabel: {
|
|
6555
|
+
type: String,
|
|
6556
|
+
default: "OK"
|
|
6557
|
+
},
|
|
6558
|
+
columnVisibilityCancelLabel: {
|
|
6559
|
+
type: String,
|
|
6560
|
+
default: "Cancel"
|
|
6561
|
+
},
|
|
6355
6562
|
deletedLabel: {
|
|
6356
6563
|
type: String,
|
|
6357
6564
|
default: "Deleted"
|
|
@@ -6407,7 +6614,8 @@ var _sfc_main$1 = {
|
|
|
6407
6614
|
"sort",
|
|
6408
6615
|
"reorder",
|
|
6409
6616
|
"update:searchShowDeleted",
|
|
6410
|
-
"update:searchValue"
|
|
6617
|
+
"update:searchValue",
|
|
6618
|
+
"update:hiddenColumns"
|
|
6411
6619
|
],
|
|
6412
6620
|
setup(__props, { emit: __emit }) {
|
|
6413
6621
|
const slots = useSlots();
|
|
@@ -6417,7 +6625,15 @@ var _sfc_main$1 = {
|
|
|
6417
6625
|
watch(() => props.data, (value) => {
|
|
6418
6626
|
localData.value = value;
|
|
6419
6627
|
});
|
|
6420
|
-
computed(() => !!slots.actions);
|
|
6628
|
+
const hasActionsSlot = computed(() => !!slots.actions);
|
|
6629
|
+
const internalHiddenColumns = ref(props.columns.filter((column) => column.hidden === true).map((column) => column.key));
|
|
6630
|
+
const resolvedHiddenColumns = computed(() => props.hiddenColumns ?? internalHiddenColumns.value);
|
|
6631
|
+
const visibleColumns = computed(() => props.columns.filter((column) => !resolvedHiddenColumns.value.includes(column.key)));
|
|
6632
|
+
const visibilityColumns = computed(() => props.columns.filter((column) => column.hideable !== false));
|
|
6633
|
+
const updateHiddenColumns = (hiddenColumns) => {
|
|
6634
|
+
internalHiddenColumns.value = hiddenColumns;
|
|
6635
|
+
emit("update:hiddenColumns", hiddenColumns);
|
|
6636
|
+
};
|
|
6421
6637
|
const internalSearchQuery = ref("");
|
|
6422
6638
|
const searchQuery = computed({
|
|
6423
6639
|
get: () => props.searchValue ?? internalSearchQuery.value,
|
|
@@ -6443,80 +6659,60 @@ var _sfc_main$1 = {
|
|
|
6443
6659
|
return props.searchCount ?? filteredData.value.length;
|
|
6444
6660
|
});
|
|
6445
6661
|
const draggedIndex = ref(null);
|
|
6446
|
-
const
|
|
6662
|
+
const insertionIndex = ref(null);
|
|
6663
|
+
const isDragging = ref(false);
|
|
6447
6664
|
const dragPreview = ref(null);
|
|
6448
6665
|
const dragRowHeight = ref(0);
|
|
6449
6666
|
const tableRef = ref(null);
|
|
6667
|
+
const stickyOffsets = ref({});
|
|
6668
|
+
let stickyResizeObserver = null;
|
|
6669
|
+
const activePointerId = ref(null);
|
|
6670
|
+
const dragStartPosition = ref(null);
|
|
6671
|
+
const dragHandle = ref(null);
|
|
6672
|
+
const previousUserSelect = ref("");
|
|
6450
6673
|
const canReorder = computed(() => {
|
|
6451
6674
|
return props.orderable && !searchQuery.value.trim();
|
|
6452
6675
|
});
|
|
6453
|
-
const
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
previewTable.className = row.closest("table")?.className ?? "";
|
|
6468
|
-
previewTable.style.width = `${row.getBoundingClientRect().width}px`;
|
|
6469
|
-
previewTable.style.borderCollapse = "collapse";
|
|
6470
|
-
previewTable.style.background = "white";
|
|
6471
|
-
previewRow.classList.remove("opacity-0");
|
|
6472
|
-
previewRow.style.background = "white";
|
|
6473
|
-
previewRow.querySelectorAll("td").forEach((cell) => {
|
|
6474
|
-
cell.style.background = "white";
|
|
6475
|
-
});
|
|
6476
|
-
previewBody.appendChild(previewRow);
|
|
6477
|
-
previewTable.appendChild(previewBody);
|
|
6478
|
-
preview.appendChild(previewTable);
|
|
6479
|
-
dragPreview.value = preview;
|
|
6480
|
-
dragPreview.value.style.position = "fixed";
|
|
6481
|
-
dragPreview.value.style.top = "0";
|
|
6482
|
-
dragPreview.value.style.left = "0";
|
|
6483
|
-
dragPreview.value.style.background = "white";
|
|
6484
|
-
dragPreview.value.style.borderRadius = "0.5rem";
|
|
6485
|
-
dragPreview.value.style.boxShadow = "0 10px 25px rgb(15 23 42 / 0.18)";
|
|
6486
|
-
dragPreview.value.style.opacity = "0.96";
|
|
6487
|
-
dragPreview.value.style.pointerEvents = "none";
|
|
6488
|
-
dragPreview.value.style.zIndex = "1000";
|
|
6489
|
-
document.body.appendChild(dragPreview.value);
|
|
6490
|
-
updateDragPreviewPosition(event);
|
|
6491
|
-
document.addEventListener("dragover", handleDocumentDragOver, true);
|
|
6492
|
-
document.addEventListener("drop", handleDocumentDrop, true);
|
|
6493
|
-
const transparentDragImage = document.createElement("canvas");
|
|
6494
|
-
transparentDragImage.width = 1;
|
|
6495
|
-
transparentDragImage.height = 1;
|
|
6496
|
-
event.dataTransfer.setDragImage(transparentDragImage, 0, 0);
|
|
6497
|
-
}
|
|
6498
|
-
event.dataTransfer.effectAllowed = "move";
|
|
6499
|
-
event.dataTransfer.setData("text/plain", String(index));
|
|
6500
|
-
};
|
|
6501
|
-
const endDrag = () => {
|
|
6502
|
-
document.removeEventListener("dragover", handleDocumentDragOver, true);
|
|
6503
|
-
document.removeEventListener("drop", handleDocumentDrop, true);
|
|
6504
|
-
dragPreview.value?.remove();
|
|
6505
|
-
dragPreview.value = null;
|
|
6506
|
-
draggedIndex.value = null;
|
|
6507
|
-
dragOverIndex.value = null;
|
|
6508
|
-
dragRowHeight.value = 0;
|
|
6676
|
+
const placeholderColumnCount = computed(() => {
|
|
6677
|
+
return visibleColumns.value.length + 1 + (hasActionsSlot.value ? 1 : 0);
|
|
6678
|
+
});
|
|
6679
|
+
const isStickyColumn = (column) => column.sticky === true || column.sticky === "right";
|
|
6680
|
+
const updateStickyOffsets = async () => {
|
|
6681
|
+
await nextTick();
|
|
6682
|
+
const stickyHeaders = Array.from(tableRef.value?.querySelectorAll("thead [data-table-sticky-key]") ?? []);
|
|
6683
|
+
let right = 0;
|
|
6684
|
+
const offsets = {};
|
|
6685
|
+
stickyHeaders.reverse().forEach((header) => {
|
|
6686
|
+
offsets[header.dataset.tableStickyKey] = right;
|
|
6687
|
+
right += header.getBoundingClientRect().width;
|
|
6688
|
+
});
|
|
6689
|
+
stickyOffsets.value = offsets;
|
|
6509
6690
|
};
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6691
|
+
watch(() => [
|
|
6692
|
+
visibleColumns.value.map((column) => column.key).join("|"),
|
|
6693
|
+
props.stickyActions,
|
|
6694
|
+
hasActionsSlot.value
|
|
6695
|
+
], updateStickyOffsets);
|
|
6696
|
+
onMounted(() => {
|
|
6697
|
+
updateStickyOffsets();
|
|
6698
|
+
if (typeof ResizeObserver !== "undefined" && tableRef.value) {
|
|
6699
|
+
stickyResizeObserver = new ResizeObserver(updateStickyOffsets);
|
|
6700
|
+
stickyResizeObserver.observe(tableRef.value);
|
|
6701
|
+
} else if (typeof window !== "undefined") window.addEventListener("resize", updateStickyOffsets);
|
|
6702
|
+
});
|
|
6703
|
+
onBeforeUnmount(() => {
|
|
6704
|
+
stickyResizeObserver?.disconnect();
|
|
6705
|
+
if (typeof window !== "undefined") window.removeEventListener("resize", updateStickyOffsets);
|
|
6706
|
+
});
|
|
6707
|
+
const insertionPositionForRow = (index) => {
|
|
6708
|
+
if (draggedIndex.value === null || index < draggedIndex.value) return index;
|
|
6709
|
+
return index - 1;
|
|
6514
6710
|
};
|
|
6515
|
-
const
|
|
6516
|
-
|
|
6517
|
-
if (
|
|
6518
|
-
|
|
6519
|
-
|
|
6711
|
+
const isPointerWithinTable = (event) => {
|
|
6712
|
+
const table = tableRef.value;
|
|
6713
|
+
if (!table) return false;
|
|
6714
|
+
const rect = table.getBoundingClientRect();
|
|
6715
|
+
return event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom;
|
|
6520
6716
|
};
|
|
6521
6717
|
const updateDragPreviewPosition = (event) => {
|
|
6522
6718
|
if (!dragPreview.value) return;
|
|
@@ -6524,44 +6720,71 @@ var _sfc_main$1 = {
|
|
|
6524
6720
|
const offsetY = dragRowHeight.value / 2;
|
|
6525
6721
|
dragPreview.value.style.transform = `translate3d(${event.clientX - offsetX}px, ${event.clientY - offsetY}px, 0)`;
|
|
6526
6722
|
};
|
|
6527
|
-
const
|
|
6528
|
-
|
|
6529
|
-
|
|
6530
|
-
|
|
6723
|
+
const createDragPreview = (row) => {
|
|
6724
|
+
const preview = document.createElement("div");
|
|
6725
|
+
const previewTable = document.createElement("table");
|
|
6726
|
+
const previewBody = document.createElement("tbody");
|
|
6727
|
+
const previewRow = row.cloneNode(true);
|
|
6728
|
+
previewTable.className = row.closest("table")?.className ?? "";
|
|
6729
|
+
previewTable.style.width = `${row.getBoundingClientRect().width}px`;
|
|
6730
|
+
previewTable.style.borderCollapse = "collapse";
|
|
6731
|
+
previewTable.style.background = "white";
|
|
6732
|
+
previewRow.style.background = "white";
|
|
6733
|
+
previewRow.querySelectorAll("td").forEach((cell) => {
|
|
6734
|
+
cell.style.background = "white";
|
|
6735
|
+
});
|
|
6736
|
+
previewBody.appendChild(previewRow);
|
|
6737
|
+
previewTable.appendChild(previewBody);
|
|
6738
|
+
preview.appendChild(previewTable);
|
|
6739
|
+
preview.style.position = "fixed";
|
|
6740
|
+
preview.style.top = "0";
|
|
6741
|
+
preview.style.left = "0";
|
|
6742
|
+
preview.style.background = "white";
|
|
6743
|
+
preview.style.borderRadius = "0.5rem";
|
|
6744
|
+
preview.style.boxShadow = "0 10px 25px rgb(15 23 42 / 0.18)";
|
|
6745
|
+
preview.style.opacity = "0.96";
|
|
6746
|
+
preview.style.pointerEvents = "none";
|
|
6747
|
+
preview.style.zIndex = "1000";
|
|
6748
|
+
document.body.appendChild(preview);
|
|
6749
|
+
dragPreview.value = preview;
|
|
6750
|
+
};
|
|
6751
|
+
const updateInsertionIndex = (event) => {
|
|
6752
|
+
if (!isDragging.value || !isPointerWithinTable(event)) return;
|
|
6753
|
+
const placeholder = tableRef.value?.querySelector("[data-table-list-placeholder]");
|
|
6754
|
+
if (placeholder) {
|
|
6755
|
+
const placeholderRect = placeholder.getBoundingClientRect();
|
|
6756
|
+
if (event.clientY >= placeholderRect.top && event.clientY <= placeholderRect.bottom) return;
|
|
6531
6757
|
}
|
|
6532
|
-
|
|
6533
|
-
|
|
6534
|
-
|
|
6535
|
-
|
|
6536
|
-
const targetRow = Array.from(tbody.children).find((candidate) => {
|
|
6537
|
-
const rect = candidate.getBoundingClientRect();
|
|
6538
|
-
return event.clientY >= rect.top && event.clientY <= rect.bottom;
|
|
6758
|
+
const rows = Array.from(tableRef.value?.querySelectorAll("tbody tr[data-row-index]") ?? []);
|
|
6759
|
+
const nextInsertionIndex = rows.findIndex((row) => {
|
|
6760
|
+
const rect = row.getBoundingClientRect();
|
|
6761
|
+
return event.clientY < rect.top + rect.height / 2;
|
|
6539
6762
|
});
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6763
|
+
insertionIndex.value = nextInsertionIndex === -1 ? rows.length : nextInsertionIndex;
|
|
6764
|
+
};
|
|
6765
|
+
const cleanupPointerDrag = () => {
|
|
6766
|
+
document.removeEventListener("pointermove", handlePointerMove);
|
|
6767
|
+
document.removeEventListener("pointerup", handlePointerUp);
|
|
6768
|
+
document.removeEventListener("pointercancel", handlePointerCancel);
|
|
6769
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
6770
|
+
if (dragHandle.value?.hasPointerCapture?.(activePointerId.value)) dragHandle.value.releasePointerCapture(activePointerId.value);
|
|
6771
|
+
document.body.style.userSelect = previousUserSelect.value;
|
|
6772
|
+
dragPreview.value?.remove();
|
|
6773
|
+
dragPreview.value = null;
|
|
6774
|
+
draggedIndex.value = null;
|
|
6775
|
+
insertionIndex.value = null;
|
|
6776
|
+
isDragging.value = false;
|
|
6777
|
+
dragRowHeight.value = 0;
|
|
6778
|
+
activePointerId.value = null;
|
|
6779
|
+
dragStartPosition.value = null;
|
|
6780
|
+
dragHandle.value = null;
|
|
6549
6781
|
};
|
|
6550
|
-
const
|
|
6551
|
-
|
|
6552
|
-
if (!canReorder.value || draggedIndex.value === null) {
|
|
6553
|
-
endDrag();
|
|
6554
|
-
return;
|
|
6555
|
-
}
|
|
6556
|
-
const targetIndex = getDropTargetIndex(event, dragOverIndex.value ?? toIndex);
|
|
6557
|
-
if (draggedIndex.value === targetIndex) {
|
|
6558
|
-
endDrag();
|
|
6559
|
-
return;
|
|
6560
|
-
}
|
|
6782
|
+
const commitReorder = () => {
|
|
6783
|
+
if (draggedIndex.value === null || insertionIndex.value === null || draggedIndex.value === insertionIndex.value) return;
|
|
6561
6784
|
const result = reorderRows({
|
|
6562
6785
|
data: localData.value,
|
|
6563
6786
|
fromIndex: draggedIndex.value,
|
|
6564
|
-
toIndex:
|
|
6787
|
+
toIndex: insertionIndex.value,
|
|
6565
6788
|
orderField: props.orderField,
|
|
6566
6789
|
mutateRows: props.mutateRows
|
|
6567
6790
|
});
|
|
@@ -6571,10 +6794,69 @@ var _sfc_main$1 = {
|
|
|
6571
6794
|
} else localData.value = result.data;
|
|
6572
6795
|
emit("reorder", {
|
|
6573
6796
|
...result,
|
|
6574
|
-
rowKey: getRowKey(result.item,
|
|
6797
|
+
rowKey: getRowKey(result.item, insertionIndex.value, props.rowKey)
|
|
6575
6798
|
});
|
|
6576
|
-
endDrag();
|
|
6577
6799
|
};
|
|
6800
|
+
const startPointerDrag = (index, event) => {
|
|
6801
|
+
if (!canReorder.value || event.pointerType === "mouse" && event.button !== 0) return;
|
|
6802
|
+
const row = event.currentTarget?.closest("tr");
|
|
6803
|
+
if (!row) return;
|
|
6804
|
+
event.preventDefault();
|
|
6805
|
+
event.stopPropagation();
|
|
6806
|
+
draggedIndex.value = index;
|
|
6807
|
+
insertionIndex.value = index;
|
|
6808
|
+
activePointerId.value = event.pointerId;
|
|
6809
|
+
dragStartPosition.value = {
|
|
6810
|
+
x: event.clientX,
|
|
6811
|
+
y: event.clientY
|
|
6812
|
+
};
|
|
6813
|
+
dragHandle.value = event.currentTarget;
|
|
6814
|
+
dragRowHeight.value = row.getBoundingClientRect().height;
|
|
6815
|
+
previousUserSelect.value = document.body.style.userSelect;
|
|
6816
|
+
dragHandle.value.setPointerCapture?.(event.pointerId);
|
|
6817
|
+
document.addEventListener("pointermove", handlePointerMove);
|
|
6818
|
+
document.addEventListener("pointerup", handlePointerUp);
|
|
6819
|
+
document.addEventListener("pointercancel", handlePointerCancel);
|
|
6820
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
6821
|
+
};
|
|
6822
|
+
const handlePointerMove = (event) => {
|
|
6823
|
+
if (event.pointerId !== activePointerId.value) return;
|
|
6824
|
+
if (!isDragging.value) {
|
|
6825
|
+
const distanceX = event.clientX - dragStartPosition.value.x;
|
|
6826
|
+
const distanceY = event.clientY - dragStartPosition.value.y;
|
|
6827
|
+
if (Math.hypot(distanceX, distanceY) < 5) return;
|
|
6828
|
+
const row = dragHandle.value?.closest("tr");
|
|
6829
|
+
if (!row) {
|
|
6830
|
+
cleanupPointerDrag();
|
|
6831
|
+
return;
|
|
6832
|
+
}
|
|
6833
|
+
document.body.style.userSelect = "none";
|
|
6834
|
+
createDragPreview(row);
|
|
6835
|
+
isDragging.value = true;
|
|
6836
|
+
updateDragPreviewPosition(event);
|
|
6837
|
+
event.preventDefault();
|
|
6838
|
+
nextTick(() => updateInsertionIndex(event));
|
|
6839
|
+
return;
|
|
6840
|
+
}
|
|
6841
|
+
event.preventDefault();
|
|
6842
|
+
updateDragPreviewPosition(event);
|
|
6843
|
+
updateInsertionIndex(event);
|
|
6844
|
+
};
|
|
6845
|
+
const handlePointerUp = (event) => {
|
|
6846
|
+
if (event.pointerId !== activePointerId.value) return;
|
|
6847
|
+
if (isDragging.value && isPointerWithinTable(event)) {
|
|
6848
|
+
updateInsertionIndex(event);
|
|
6849
|
+
commitReorder();
|
|
6850
|
+
}
|
|
6851
|
+
cleanupPointerDrag();
|
|
6852
|
+
};
|
|
6853
|
+
const handlePointerCancel = (event) => {
|
|
6854
|
+
if (event.pointerId === activePointerId.value) cleanupPointerDrag();
|
|
6855
|
+
};
|
|
6856
|
+
const handleKeyDown = (event) => {
|
|
6857
|
+
if (event.key === "Escape") cleanupPointerDrag();
|
|
6858
|
+
};
|
|
6859
|
+
onBeforeUnmount(cleanupPointerDrag);
|
|
6578
6860
|
const sortBy = (field) => {
|
|
6579
6861
|
emit("sort", field);
|
|
6580
6862
|
};
|
|
@@ -6605,158 +6887,220 @@ var _sfc_main$1 = {
|
|
|
6605
6887
|
return item.deleted_at || item.deleted;
|
|
6606
6888
|
};
|
|
6607
6889
|
const getColumnClass = (column) => {
|
|
6608
|
-
return joinClasses(props.dense ? "px-3 py-2 text-sm truncate" : "px-6 py-4 text-sm truncate", !column.isSecondary ? "font-medium" : "", column.isSecondary ? "text-neutral-600 dark:text-neutral-200" : "", column.align === "right" ? "text-right" : "", column.class, column.cellClass);
|
|
6890
|
+
return joinClasses(props.dense ? "px-3 py-2 text-sm truncate" : "px-6 py-4 text-sm truncate", !column.isSecondary ? "font-medium" : "", column.isSecondary ? "text-neutral-600 dark:text-neutral-200" : "", column.align === "right" ? "text-right" : "", isStickyColumn(column) ? "sticky z-20 bg-inherit shadow-[-1px_0_0_rgb(229_229_229)] dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "", column.class, column.cellClass);
|
|
6609
6891
|
};
|
|
6610
6892
|
const getHeaderClass = (column) => {
|
|
6611
|
-
return joinClasses(column.sortable ? "cursor-pointer transition-colors duration-150" : "", props.dense ? "px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-[0.12em]" : "px-6 py-3 text-left text-[11px] font-semibold uppercase tracking-[0.12em]", "text-neutral-600 dark:text-neutral-200", column.sortable ? "hover:bg-neutral-100 dark:hover:bg-neutral-900" : "", column.align === "right" ? "text-right" : "", column.headerClass);
|
|
6893
|
+
return joinClasses(column.sortable ? "cursor-pointer transition-colors duration-150" : "", props.dense ? "px-3 py-2 text-left text-[11px] font-semibold uppercase tracking-[0.12em]" : "px-6 py-3 text-left text-[11px] font-semibold uppercase tracking-[0.12em]", "text-neutral-600 dark:text-neutral-200", column.sortable ? "hover:bg-neutral-100 dark:hover:bg-neutral-900" : "", column.align === "right" ? "text-right" : "", isStickyColumn(column) ? "sticky z-30 bg-neutral-50 shadow-[-1px_0_0_rgb(229_229_229)] dark:bg-neutral-900 dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "", column.headerClass);
|
|
6612
6894
|
};
|
|
6613
6895
|
const getContentClass = (column) => {
|
|
6614
6896
|
return joinClasses(column.sortable ? "flex items-center space-x-1" : "", column.align === "right" ? "w-full text-right justify-end" : "", column.contentClass);
|
|
6615
6897
|
};
|
|
6616
6898
|
const getColumnWidthStyle = (column) => {
|
|
6617
|
-
return
|
|
6899
|
+
return {
|
|
6900
|
+
...column.width ? { width: column.width } : {},
|
|
6901
|
+
...isStickyColumn(column) ? { right: `${stickyOffsets.value[column.key] ?? 0}px` } : {}
|
|
6902
|
+
};
|
|
6618
6903
|
};
|
|
6619
6904
|
const actionHeaderClass = computed(() => {
|
|
6620
|
-
return joinClasses(props.dense ? "px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-[0.12em]" : "px-6 py-3 text-right text-[11px] font-semibold uppercase tracking-[0.12em]", "text-neutral-600 dark:text-neutral-200");
|
|
6905
|
+
return joinClasses(props.dense ? "px-3 py-2 text-right text-[11px] font-semibold uppercase tracking-[0.12em]" : "px-6 py-3 text-right text-[11px] font-semibold uppercase tracking-[0.12em]", "w-px whitespace-nowrap text-neutral-600 dark:text-neutral-200", props.stickyActions ? "sticky z-30 bg-neutral-50 shadow-[-1px_0_0_rgb(229_229_229)] dark:bg-neutral-900 dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "");
|
|
6621
6906
|
});
|
|
6622
6907
|
const actionCellClass = computed(() => {
|
|
6623
|
-
return joinClasses(props.dense ? "px-3 py-2 whitespace-nowrap text-right text-sm font-medium" : "px-6 py-4 whitespace-nowrap text-right text-sm font-medium");
|
|
6908
|
+
return joinClasses(props.dense ? "px-3 py-2 whitespace-nowrap text-right text-sm font-medium" : "px-6 py-4 whitespace-nowrap text-right text-sm font-medium", "w-px", props.stickyActions ? "sticky z-20 bg-inherit shadow-[-1px_0_0_rgb(229_229_229)] dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "");
|
|
6909
|
+
});
|
|
6910
|
+
const actionColumnStyle = computed(() => {
|
|
6911
|
+
return props.stickyActions ? { right: `${stickyOffsets.value.__actions ?? 0}px` } : {};
|
|
6624
6912
|
});
|
|
6625
6913
|
return (_ctx, _cache) => {
|
|
6626
|
-
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
} : void 0]), 1032, [
|
|
6649
|
-
"model-value",
|
|
6650
|
-
"placeholder",
|
|
6651
|
-
"count",
|
|
6652
|
-
"count-label",
|
|
6653
|
-
"query-label",
|
|
6654
|
-
"show-deleted",
|
|
6655
|
-
"show-deleted-toggle",
|
|
6656
|
-
"show-deleted-label",
|
|
6657
|
-
"search-mode",
|
|
6658
|
-
"search-fields-layout"
|
|
6659
|
-
])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(["bg-white/90 backdrop-blur-sm dark:bg-neutral-950/90", __props.isCard ? "animate-fadeIn rounded-2xl border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [createElementVNode("div", { class: normalizeClass(["overflow-x-auto", __props.isCard ? "rounded-t-xl" : ""]) }, [createElementVNode("table", {
|
|
6660
|
-
ref_key: "tableRef",
|
|
6661
|
-
ref: tableRef,
|
|
6662
|
-
class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass))
|
|
6663
|
-
}, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
|
|
6664
|
-
__props.orderable ? (openBlock(), createElementBlock("th", _hoisted_2$2, "#")) : createCommentVNode("", true),
|
|
6665
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
6666
|
-
return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
|
|
6914
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
6915
|
+
__props.search ? (openBlock(), createBlock(_sfc_main$3, {
|
|
6916
|
+
key: 0,
|
|
6917
|
+
"model-value": searchQuery.value,
|
|
6918
|
+
placeholder: __props.searchPlaceholder,
|
|
6919
|
+
count: resolvedSearchCount.value,
|
|
6920
|
+
"count-label": __props.searchCountLabel,
|
|
6921
|
+
"query-label": __props.searchQueryLabel,
|
|
6922
|
+
"show-deleted": __props.searchShowDeleted,
|
|
6923
|
+
"show-deleted-toggle": __props.searchShowDeletedToggle,
|
|
6924
|
+
"show-deleted-label": __props.searchShowDeletedLabel,
|
|
6925
|
+
"search-mode": __props.searchMode,
|
|
6926
|
+
"search-fields-layout": __props.searchFieldsLayout,
|
|
6927
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
|
|
6928
|
+
"onUpdate:showDeleted": updateSearchShowDeleted
|
|
6929
|
+
}, createSlots({ _: 2 }, [_ctx.$slots["search-fields"] ? {
|
|
6930
|
+
name: "search-fields",
|
|
6931
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "search-fields")]),
|
|
6932
|
+
key: "0"
|
|
6933
|
+
} : void 0, _ctx.$slots.controls || __props.columnVisibility ? {
|
|
6934
|
+
name: "controls",
|
|
6935
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "controls"), __props.columnVisibility ? (openBlock(), createBlock(_sfc_main$2, {
|
|
6667
6936
|
key: 0,
|
|
6668
|
-
|
|
6669
|
-
"
|
|
6670
|
-
"
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
"
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
"
|
|
6680
|
-
"
|
|
6681
|
-
"
|
|
6682
|
-
"
|
|
6683
|
-
"
|
|
6684
|
-
"
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6691
|
-
|
|
6692
|
-
|
|
6693
|
-
|
|
6694
|
-
|
|
6695
|
-
|
|
6696
|
-
|
|
6697
|
-
|
|
6698
|
-
"
|
|
6699
|
-
|
|
6700
|
-
|
|
6701
|
-
|
|
6702
|
-
|
|
6703
|
-
|
|
6704
|
-
|
|
6705
|
-
__props.
|
|
6706
|
-
|
|
6707
|
-
|
|
6708
|
-
|
|
6709
|
-
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6937
|
+
columns: visibilityColumns.value,
|
|
6938
|
+
"hidden-columns": resolvedHiddenColumns.value,
|
|
6939
|
+
"button-label": __props.columnVisibilityLabel,
|
|
6940
|
+
title: __props.columnVisibilityTitle,
|
|
6941
|
+
description: __props.columnVisibilityDescription,
|
|
6942
|
+
"show-all-label": __props.columnVisibilityShowAllLabel,
|
|
6943
|
+
"apply-label": __props.columnVisibilityApplyLabel,
|
|
6944
|
+
"cancel-label": __props.columnVisibilityCancelLabel,
|
|
6945
|
+
"onUpdate:hiddenColumns": updateHiddenColumns
|
|
6946
|
+
}, null, 8, [
|
|
6947
|
+
"columns",
|
|
6948
|
+
"hidden-columns",
|
|
6949
|
+
"button-label",
|
|
6950
|
+
"title",
|
|
6951
|
+
"description",
|
|
6952
|
+
"show-all-label",
|
|
6953
|
+
"apply-label",
|
|
6954
|
+
"cancel-label"
|
|
6955
|
+
])) : createCommentVNode("", true)]),
|
|
6956
|
+
key: "1"
|
|
6957
|
+
} : void 0]), 1032, [
|
|
6958
|
+
"model-value",
|
|
6959
|
+
"placeholder",
|
|
6960
|
+
"count",
|
|
6961
|
+
"count-label",
|
|
6962
|
+
"query-label",
|
|
6963
|
+
"show-deleted",
|
|
6964
|
+
"show-deleted-toggle",
|
|
6965
|
+
"show-deleted-label",
|
|
6966
|
+
"search-mode",
|
|
6967
|
+
"search-fields-layout"
|
|
6968
|
+
])) : createCommentVNode("", true),
|
|
6969
|
+
__props.columnVisibility && !__props.search ? (openBlock(), createElementBlock("div", _hoisted_2$2, [createVNode(_sfc_main$2, {
|
|
6970
|
+
columns: visibilityColumns.value,
|
|
6971
|
+
"hidden-columns": resolvedHiddenColumns.value,
|
|
6972
|
+
"button-label": __props.columnVisibilityLabel,
|
|
6973
|
+
title: __props.columnVisibilityTitle,
|
|
6974
|
+
description: __props.columnVisibilityDescription,
|
|
6975
|
+
"show-all-label": __props.columnVisibilityShowAllLabel,
|
|
6976
|
+
"apply-label": __props.columnVisibilityApplyLabel,
|
|
6977
|
+
"cancel-label": __props.columnVisibilityCancelLabel,
|
|
6978
|
+
"onUpdate:hiddenColumns": updateHiddenColumns
|
|
6979
|
+
}, null, 8, [
|
|
6980
|
+
"columns",
|
|
6981
|
+
"hidden-columns",
|
|
6982
|
+
"button-label",
|
|
6983
|
+
"title",
|
|
6984
|
+
"description",
|
|
6985
|
+
"show-all-label",
|
|
6986
|
+
"apply-label",
|
|
6987
|
+
"cancel-label"
|
|
6988
|
+
])])) : createCommentVNode("", true),
|
|
6989
|
+
createElementVNode("div", { class: normalizeClass(["min-w-0 max-w-full bg-white/90 backdrop-blur-sm dark:bg-neutral-950/90", __props.isCard ? "animate-fadeIn rounded-2xl border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [createElementVNode("div", { class: normalizeClass(["min-w-0 max-w-full overflow-x-auto", __props.isCard ? "rounded-t-xl" : ""]) }, [createElementVNode("table", {
|
|
6990
|
+
ref_key: "tableRef",
|
|
6991
|
+
ref: tableRef,
|
|
6992
|
+
class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass))
|
|
6993
|
+
}, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
|
|
6994
|
+
__props.orderable ? (openBlock(), createElementBlock("th", _hoisted_3$2, "#")) : createCommentVNode("", true),
|
|
6995
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (column) => {
|
|
6996
|
+
return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$4, {
|
|
6718
6997
|
key: 0,
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6998
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
6999
|
+
field: column.key,
|
|
7000
|
+
"current-sort-field": __props.sortField,
|
|
7001
|
+
"current-direction": __props.sortDirection,
|
|
7002
|
+
"header-class": getHeaderClass(column),
|
|
7003
|
+
"header-style": getColumnWidthStyle(column),
|
|
7004
|
+
"content-class": getContentClass(column),
|
|
7005
|
+
onSort: sortBy
|
|
7006
|
+
}, {
|
|
7007
|
+
default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
|
|
7008
|
+
_: 2
|
|
7009
|
+
}, 1032, [
|
|
7010
|
+
"data-table-sticky-key",
|
|
7011
|
+
"field",
|
|
7012
|
+
"current-sort-field",
|
|
7013
|
+
"current-direction",
|
|
7014
|
+
"header-class",
|
|
7015
|
+
"header-style",
|
|
7016
|
+
"content-class"
|
|
7017
|
+
])) : (openBlock(), createElementBlock("th", {
|
|
6724
7018
|
key: 1,
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
index
|
|
6730
|
-
})], 2)) : column.render ? (openBlock(), createElementBlock("div", {
|
|
6731
|
-
key: 2,
|
|
6732
|
-
class: normalizeClass(getContentClass(column)),
|
|
6733
|
-
innerHTML: column.render(item)
|
|
6734
|
-
}, null, 10, _hoisted_9$1)) : (openBlock(), createElementBlock("div", {
|
|
6735
|
-
key: 3,
|
|
6736
|
-
class: normalizeClass(getContentClass(column))
|
|
6737
|
-
}, toDisplayString(getCellContent(item, column)), 3))], 6);
|
|
7019
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
7020
|
+
class: normalizeClass(getHeaderClass(column)),
|
|
7021
|
+
style: normalizeStyle(getColumnWidthStyle(column))
|
|
7022
|
+
}, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 14, _hoisted_4$1))], 64);
|
|
6738
7023
|
}), 128)),
|
|
6739
|
-
_ctx.$slots.actions ? (openBlock(), createElementBlock("
|
|
7024
|
+
_ctx.$slots.actions ? (openBlock(), createElementBlock("th", {
|
|
6740
7025
|
key: 1,
|
|
6741
|
-
|
|
6742
|
-
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
|
|
6752
|
-
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
|
|
6756
|
-
|
|
6757
|
-
|
|
6758
|
-
|
|
6759
|
-
|
|
7026
|
+
"data-table-sticky-key": __props.stickyActions ? "__actions" : void 0,
|
|
7027
|
+
class: normalizeClass(actionHeaderClass.value),
|
|
7028
|
+
style: normalizeStyle(actionColumnStyle.value)
|
|
7029
|
+
}, toDisplayString(__props.actionsLabel), 15, _hoisted_5$1)) : createCommentVNode("", true)
|
|
7030
|
+
], 2)], 2), createElementVNode("tbody", { class: normalizeClass(joinClasses("divide-y divide-neutral-200 bg-white dark:divide-neutral-800 dark:bg-neutral-950", __props.tbodyClass)) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(filteredData.value, (item, index) => {
|
|
7031
|
+
return openBlock(), createElementBlock(Fragment, { key: unref(getRowKey)(item, index, __props.rowKey) }, [isDragging.value && index !== draggedIndex.value && insertionIndex.value === insertionPositionForRow(index) ? (openBlock(), createElementBlock("tr", _hoisted_6$1, [createElementVNode("td", {
|
|
7032
|
+
colspan: placeholderColumnCount.value,
|
|
7033
|
+
class: "p-0"
|
|
7034
|
+
}, [createElementVNode("div", {
|
|
7035
|
+
class: "mx-2 rounded-md border border-dashed border-blue-400 bg-blue-50/70 dark:border-blue-500 dark:bg-blue-950/30",
|
|
7036
|
+
style: normalizeStyle({ height: `${dragRowHeight.value}px` })
|
|
7037
|
+
}, null, 4)], 8, _hoisted_7$1)])) : createCommentVNode("", true), !isDragging.value || index !== draggedIndex.value ? (openBlock(), createElementBlock("tr", {
|
|
7038
|
+
key: 1,
|
|
7039
|
+
"data-row-index": index,
|
|
7040
|
+
class: normalizeClass(joinClasses(__props.rowClasses(item, index), "transition-transform duration-150 ease-out"))
|
|
7041
|
+
}, [
|
|
7042
|
+
__props.orderable ? (openBlock(), createElementBlock("td", _hoisted_9$1, [createElementVNode("span", _hoisted_10$1, [createElementVNode("span", {
|
|
7043
|
+
class: "cursor-grab touch-none active:cursor-grabbing",
|
|
7044
|
+
"aria-label": `Drag row ${index + 1}`,
|
|
7045
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
|
|
7046
|
+
onPointerdown: ($event) => startPointerDrag(index, $event)
|
|
7047
|
+
}, [createVNode(unref(GripVertical), { class: "size-4" })], 40, _hoisted_11$1), createElementVNode("span", null, toDisplayString(index + 1), 1)])])) : createCommentVNode("", true),
|
|
7048
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (column) => {
|
|
7049
|
+
return openBlock(), createElementBlock("td", {
|
|
7050
|
+
key: column.key,
|
|
7051
|
+
class: normalizeClass(getColumnClass(column)),
|
|
7052
|
+
style: normalizeStyle(getColumnWidthStyle(column))
|
|
7053
|
+
}, [column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", {
|
|
7054
|
+
key: 0,
|
|
7055
|
+
class: normalizeClass(joinClasses("flex items-center", getContentClass(column)))
|
|
7056
|
+
}, [createElementVNode("div", {
|
|
7057
|
+
class: "truncate text-sm font-medium text-neutral-950 dark:text-neutral-50",
|
|
7058
|
+
title: getCellContent(item, column)
|
|
7059
|
+
}, toDisplayString(getCellContent(item, column)), 9, _hoisted_12$1), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_13$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)], 2)) : column.slot ? (openBlock(), createElementBlock("div", {
|
|
7060
|
+
key: 1,
|
|
7061
|
+
class: normalizeClass(getContentClass(column))
|
|
7062
|
+
}, [renderSlot(_ctx.$slots, column.slot, {
|
|
7063
|
+
item,
|
|
7064
|
+
column,
|
|
7065
|
+
index
|
|
7066
|
+
})], 2)) : column.render ? (openBlock(), createElementBlock("div", {
|
|
7067
|
+
key: 2,
|
|
7068
|
+
class: normalizeClass(getContentClass(column)),
|
|
7069
|
+
innerHTML: column.render(item)
|
|
7070
|
+
}, null, 10, _hoisted_14$1)) : (openBlock(), createElementBlock("div", {
|
|
7071
|
+
key: 3,
|
|
7072
|
+
class: normalizeClass(getContentClass(column))
|
|
7073
|
+
}, toDisplayString(getCellContent(item, column)), 3))], 6);
|
|
7074
|
+
}), 128)),
|
|
7075
|
+
_ctx.$slots.actions ? (openBlock(), createElementBlock("td", {
|
|
7076
|
+
key: 1,
|
|
7077
|
+
class: normalizeClass(actionCellClass.value),
|
|
7078
|
+
style: normalizeStyle(actionColumnStyle.value)
|
|
7079
|
+
}, [createElementVNode("div", _hoisted_15$1, [renderSlot(_ctx.$slots, "actions", {
|
|
7080
|
+
item,
|
|
7081
|
+
index
|
|
7082
|
+
})])], 6)) : createCommentVNode("", true)
|
|
7083
|
+
], 10, _hoisted_8$1)) : createCommentVNode("", true)], 64);
|
|
7084
|
+
}), 128)), isDragging.value && insertionIndex.value === filteredData.value.length - 1 ? (openBlock(), createElementBlock("tr", _hoisted_16$1, [createElementVNode("td", {
|
|
7085
|
+
colspan: placeholderColumnCount.value,
|
|
7086
|
+
class: "p-0"
|
|
7087
|
+
}, [createElementVNode("div", {
|
|
7088
|
+
class: "mx-2 rounded-md border border-dashed border-blue-400 bg-blue-50/70 dark:border-blue-500 dark:bg-blue-950/30",
|
|
7089
|
+
style: normalizeStyle({ height: `${dragRowHeight.value}px` })
|
|
7090
|
+
}, null, 4)], 8, _hoisted_17$1)])) : createCommentVNode("", true)], 2)], 2)], 2), !hasData.value ? (openBlock(), createElementBlock("div", _hoisted_18$1, [
|
|
7091
|
+
createElementVNode("div", _hoisted_19, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
|
|
7092
|
+
createElementVNode("h3", _hoisted_20, toDisplayString(__props.emptyState.title), 1),
|
|
7093
|
+
createElementVNode("p", _hoisted_21, toDisplayString(__props.emptyState.description), 1),
|
|
7094
|
+
__props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$7, {
|
|
7095
|
+
key: 0,
|
|
7096
|
+
href: __props.emptyState.actionUrl,
|
|
7097
|
+
variant: "primary"
|
|
7098
|
+
}, {
|
|
7099
|
+
default: withCtx(() => [createTextVNode(toDisplayString(__props.emptyState.actionText), 1)]),
|
|
7100
|
+
_: 1
|
|
7101
|
+
}, 8, ["href"])) : createCommentVNode("", true)
|
|
7102
|
+
])) : createCommentVNode("", true)], 2)
|
|
7103
|
+
]);
|
|
6760
7104
|
};
|
|
6761
7105
|
}
|
|
6762
7106
|
};
|
|
@@ -6766,37 +7110,39 @@ var _hoisted_1$2 = {
|
|
|
6766
7110
|
key: 0,
|
|
6767
7111
|
class: "w-10 px-2 py-3 text-center text-xs font-medium uppercase tracking-wider text-neutral-500 dark:text-neutral-200"
|
|
6768
7112
|
};
|
|
6769
|
-
var _hoisted_2$1 = ["
|
|
6770
|
-
var _hoisted_3$1 =
|
|
7113
|
+
var _hoisted_2$1 = ["data-table-sticky-key"];
|
|
7114
|
+
var _hoisted_3$1 = ["data-table-sticky-key"];
|
|
7115
|
+
var _hoisted_4 = ["onDragover", "onDrop"];
|
|
7116
|
+
var _hoisted_5 = {
|
|
6771
7117
|
key: 0,
|
|
6772
7118
|
class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
|
|
6773
7119
|
};
|
|
6774
|
-
var
|
|
6775
|
-
var
|
|
7120
|
+
var _hoisted_6 = { class: "inline-flex items-center gap-1" };
|
|
7121
|
+
var _hoisted_7 = [
|
|
6776
7122
|
"draggable",
|
|
6777
7123
|
"aria-label",
|
|
6778
7124
|
"onDragstart"
|
|
6779
7125
|
];
|
|
6780
|
-
var
|
|
7126
|
+
var _hoisted_8 = {
|
|
6781
7127
|
key: 2,
|
|
6782
7128
|
class: "flex items-center"
|
|
6783
7129
|
};
|
|
6784
|
-
var
|
|
6785
|
-
var
|
|
7130
|
+
var _hoisted_9 = ["title"];
|
|
7131
|
+
var _hoisted_10 = {
|
|
6786
7132
|
key: 0,
|
|
6787
7133
|
class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-800 dark:bg-red-950/60 dark:text-neutral-100"
|
|
6788
7134
|
};
|
|
6789
|
-
var
|
|
6790
|
-
var
|
|
6791
|
-
var
|
|
6792
|
-
var
|
|
6793
|
-
var
|
|
7135
|
+
var _hoisted_11 = ["innerHTML"];
|
|
7136
|
+
var _hoisted_12 = { key: 5 };
|
|
7137
|
+
var _hoisted_13 = { class: "ml-auto flex w-max min-w-max flex-nowrap items-center justify-end gap-2" };
|
|
7138
|
+
var _hoisted_14 = ["colspan"];
|
|
7139
|
+
var _hoisted_15 = {
|
|
6794
7140
|
key: 2,
|
|
6795
7141
|
class: "py-12 text-center"
|
|
6796
7142
|
};
|
|
6797
|
-
var
|
|
6798
|
-
var
|
|
6799
|
-
var
|
|
7143
|
+
var _hoisted_16 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
|
|
7144
|
+
var _hoisted_17 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
|
|
7145
|
+
var _hoisted_18 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
|
|
6800
7146
|
var _sfc_main = {
|
|
6801
7147
|
__name: "TableListForm",
|
|
6802
7148
|
props: {
|
|
@@ -6828,7 +7174,7 @@ var _sfc_main = {
|
|
|
6828
7174
|
},
|
|
6829
7175
|
rowClasses: {
|
|
6830
7176
|
type: Function,
|
|
6831
|
-
default: (item) => ["transition-colors duration-150", item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-
|
|
7177
|
+
default: (item) => ["transition-colors duration-150", item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-[#1c0c0b] dark:hover:bg-[#280d0b]" : "odd:bg-white even:bg-neutral-50 hover:bg-neutral-100 dark:odd:bg-neutral-950 dark:even:bg-neutral-900 dark:hover:bg-neutral-800"]
|
|
6832
7178
|
},
|
|
6833
7179
|
getErrorMessage: {
|
|
6834
7180
|
type: Function,
|
|
@@ -6891,6 +7237,10 @@ var _sfc_main = {
|
|
|
6891
7237
|
type: String,
|
|
6892
7238
|
default: "Actions"
|
|
6893
7239
|
},
|
|
7240
|
+
stickyActions: {
|
|
7241
|
+
type: Boolean,
|
|
7242
|
+
default: false
|
|
7243
|
+
},
|
|
6894
7244
|
deletedLabel: {
|
|
6895
7245
|
type: String,
|
|
6896
7246
|
default: "Deleted"
|
|
@@ -6964,6 +7314,9 @@ var _sfc_main = {
|
|
|
6964
7314
|
const localSortField = ref(props.sortField);
|
|
6965
7315
|
const localSortDirection = ref(props.sortDirection);
|
|
6966
7316
|
const localData = ref(props.data);
|
|
7317
|
+
const tableRef = ref(null);
|
|
7318
|
+
const stickyOffsets = ref({});
|
|
7319
|
+
let stickyResizeObserver = null;
|
|
6967
7320
|
const internalSearchQuery = ref("");
|
|
6968
7321
|
const searchQuery = computed({
|
|
6969
7322
|
get: () => props.searchValue ?? internalSearchQuery.value,
|
|
@@ -7072,6 +7425,34 @@ var _sfc_main = {
|
|
|
7072
7425
|
const hasActionsColumn = computed(() => hasActionsSlot.value || props.rowEditing);
|
|
7073
7426
|
const hasData = computed(() => sortedData.value && sortedData.value.length > 0);
|
|
7074
7427
|
const hasExpandedRow = computed(() => Boolean(slots["expanded-row"]));
|
|
7428
|
+
const isStickyColumn = (column) => column.sticky === true || column.sticky === "right";
|
|
7429
|
+
const updateStickyOffsets = async () => {
|
|
7430
|
+
await nextTick();
|
|
7431
|
+
const stickyHeaders = Array.from(tableRef.value?.querySelectorAll("thead [data-table-sticky-key]") ?? []);
|
|
7432
|
+
let right = 0;
|
|
7433
|
+
const offsets = {};
|
|
7434
|
+
stickyHeaders.reverse().forEach((header) => {
|
|
7435
|
+
offsets[header.dataset.tableStickyKey] = right;
|
|
7436
|
+
right += header.getBoundingClientRect().width;
|
|
7437
|
+
});
|
|
7438
|
+
stickyOffsets.value = offsets;
|
|
7439
|
+
};
|
|
7440
|
+
watch(() => [
|
|
7441
|
+
props.columns.map((column) => column.key).join("|"),
|
|
7442
|
+
props.stickyActions,
|
|
7443
|
+
hasActionsColumn.value
|
|
7444
|
+
], updateStickyOffsets);
|
|
7445
|
+
onMounted(() => {
|
|
7446
|
+
updateStickyOffsets();
|
|
7447
|
+
if (typeof ResizeObserver !== "undefined" && tableRef.value) {
|
|
7448
|
+
stickyResizeObserver = new ResizeObserver(updateStickyOffsets);
|
|
7449
|
+
stickyResizeObserver.observe(tableRef.value);
|
|
7450
|
+
} else if (typeof window !== "undefined") window.addEventListener("resize", updateStickyOffsets);
|
|
7451
|
+
});
|
|
7452
|
+
onBeforeUnmount(() => {
|
|
7453
|
+
stickyResizeObserver?.disconnect();
|
|
7454
|
+
if (typeof window !== "undefined") window.removeEventListener("resize", updateStickyOffsets);
|
|
7455
|
+
});
|
|
7075
7456
|
const sortBy = (field) => {
|
|
7076
7457
|
if (localSortField.value === field) localSortDirection.value = localSortDirection.value === "asc" ? "desc" : "asc";
|
|
7077
7458
|
else {
|
|
@@ -7172,16 +7553,19 @@ var _sfc_main = {
|
|
|
7172
7553
|
return truncateText(value);
|
|
7173
7554
|
};
|
|
7174
7555
|
const getColumnClass = (column, item, index) => {
|
|
7175
|
-
return joinClasses(isEditingRow(item, index) && (column.input || slots[getEditSlotName(column)]) ? props.dense ? "px-3 py-2 text-sm align-top" : "px-6 py-3 text-sm align-top" : props.dense ? "px-3 py-2 text-sm truncate" : "px-6 py-4 text-sm truncate", !column.isSecondary ? "font-medium" : "", column.isSecondary ? "text-neutral-600 dark:text-neutral-200" : "", column.align === "right" ? "text-right" : "", column.class, column.cellClass);
|
|
7556
|
+
return joinClasses(isEditingRow(item, index) && (column.input || slots[getEditSlotName(column)]) ? props.dense ? "px-3 py-2 text-sm align-top" : "px-6 py-3 text-sm align-top" : props.dense ? "px-3 py-2 text-sm truncate" : "px-6 py-4 text-sm truncate", !column.isSecondary ? "font-medium" : "", column.isSecondary ? "text-neutral-600 dark:text-neutral-200" : "", column.align === "right" ? "text-right" : "", isStickyColumn(column) ? "sticky z-20 bg-inherit shadow-[-1px_0_0_rgb(229_229_229)] dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "", column.class, column.cellClass);
|
|
7176
7557
|
};
|
|
7177
7558
|
const getHeaderClass = (column) => {
|
|
7178
|
-
return joinClasses(column.sortable ? "cursor-pointer transition-colors duration-150" : "", props.dense ? "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider" : "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider", "text-neutral-500 dark:text-neutral-200", column.sortable ? "hover:bg-neutral-100 dark:hover:bg-neutral-900" : "", column.align === "right" ? "text-right" : "", column.headerClass);
|
|
7559
|
+
return joinClasses(column.sortable ? "cursor-pointer transition-colors duration-150" : "", props.dense ? "px-3 py-2 text-left text-xs font-medium uppercase tracking-wider" : "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider", "text-neutral-500 dark:text-neutral-200", column.sortable ? "hover:bg-neutral-100 dark:hover:bg-neutral-900" : "", column.align === "right" ? "text-right" : "", isStickyColumn(column) ? "sticky z-30 bg-neutral-50 shadow-[-1px_0_0_rgb(229_229_229)] dark:bg-neutral-900 dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "", column.headerClass);
|
|
7179
7560
|
};
|
|
7180
7561
|
const getContentClass = (column) => {
|
|
7181
7562
|
return joinClasses(column.sortable ? "flex items-center space-x-1" : "", column.align === "right" ? "w-full text-right justify-end" : "", column.contentClass);
|
|
7182
7563
|
};
|
|
7183
7564
|
const getColumnWidthStyle = (column) => {
|
|
7184
|
-
return
|
|
7565
|
+
return {
|
|
7566
|
+
...column.width ? { width: column.width } : {},
|
|
7567
|
+
...isStickyColumn(column) ? { right: `${stickyOffsets.value[column.key] ?? 0}px` } : {}
|
|
7568
|
+
};
|
|
7185
7569
|
};
|
|
7186
7570
|
const getInputType = (column) => column.inputType || "text";
|
|
7187
7571
|
const getInputClass = (column) => {
|
|
@@ -7216,16 +7600,19 @@ var _sfc_main = {
|
|
|
7216
7600
|
return Boolean(disabled || isDeleted(item));
|
|
7217
7601
|
};
|
|
7218
7602
|
const actionHeaderClass = computed(() => {
|
|
7219
|
-
return joinClasses(props.dense ? "px-3 py-2 text-right text-xs font-medium uppercase tracking-wider" : "px-6 py-3 text-right text-xs font-medium uppercase tracking-wider", "text-neutral-500 dark:text-neutral-200");
|
|
7603
|
+
return joinClasses(props.dense ? "px-3 py-2 text-right text-xs font-medium uppercase tracking-wider" : "px-6 py-3 text-right text-xs font-medium uppercase tracking-wider", "w-px whitespace-nowrap text-neutral-500 dark:text-neutral-200", props.stickyActions ? "sticky z-30 bg-neutral-50 shadow-[-1px_0_0_rgb(229_229_229)] dark:bg-neutral-900 dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "");
|
|
7220
7604
|
});
|
|
7221
7605
|
const actionCellClass = computed(() => {
|
|
7222
|
-
return joinClasses(props.dense ? "px-3 py-2 whitespace-nowrap text-right text-sm font-medium" : "px-6 py-4 whitespace-nowrap text-right text-sm font-medium");
|
|
7606
|
+
return joinClasses(props.dense ? "px-3 py-2 whitespace-nowrap text-right text-sm font-medium" : "px-6 py-4 whitespace-nowrap text-right text-sm font-medium", "w-px", props.stickyActions ? "sticky z-20 bg-inherit shadow-[-1px_0_0_rgb(229_229_229)] dark:shadow-[-1px_0_0_rgb(38_38_38)]" : "");
|
|
7607
|
+
});
|
|
7608
|
+
const actionColumnStyle = computed(() => {
|
|
7609
|
+
return props.stickyActions ? { right: `${stickyOffsets.value.__actions ?? 0}px` } : {};
|
|
7223
7610
|
});
|
|
7224
7611
|
return (_ctx, _cache) => {
|
|
7225
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["bg-white dark:bg-neutral-950", __props.isCard ? "mx-4 rounded-xl animate-fadeIn border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [__props.search ? (openBlock(), createElementBlock("div", {
|
|
7612
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["min-w-0 max-w-full bg-white dark:bg-neutral-950", __props.isCard ? "mx-4 rounded-xl animate-fadeIn border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [__props.search ? (openBlock(), createElementBlock("div", {
|
|
7226
7613
|
key: 0,
|
|
7227
7614
|
class: normalizeClass(["px-6 py-4", __props.isCard ? "rounded-t-xl border-b border-neutral-200 bg-neutral-50/80 dark:border-neutral-800 dark:bg-neutral-900/80" : "mb-4 bg-white/80 backdrop-blur-sm dark:bg-neutral-950/80"])
|
|
7228
|
-
}, [createVNode(_sfc_main$
|
|
7615
|
+
}, [createVNode(_sfc_main$17, {
|
|
7229
7616
|
"model-value": searchQuery.value,
|
|
7230
7617
|
type: "text",
|
|
7231
7618
|
"root-class": "max-w-sm",
|
|
@@ -7236,12 +7623,17 @@ var _sfc_main = {
|
|
|
7236
7623
|
_: 1
|
|
7237
7624
|
}, 8, ["model-value", "placeholder"])], 2)) : createCommentVNode("", true), hasData.value ? (openBlock(), createElementBlock("div", {
|
|
7238
7625
|
key: 1,
|
|
7239
|
-
class: normalizeClass(["overflow-x-auto", __props.isCard ? __props.search ? "" : "rounded-t-xl" : ""])
|
|
7240
|
-
}, [createElementVNode("table", {
|
|
7626
|
+
class: normalizeClass(["min-w-0 max-w-full overflow-x-auto", __props.isCard ? __props.search ? "" : "rounded-t-xl" : ""])
|
|
7627
|
+
}, [createElementVNode("table", {
|
|
7628
|
+
ref_key: "tableRef",
|
|
7629
|
+
ref: tableRef,
|
|
7630
|
+
class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass))
|
|
7631
|
+
}, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50 dark:bg-neutral-900", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
|
|
7241
7632
|
__props.orderable ? (openBlock(), createElementBlock("th", _hoisted_1$2, "#")) : createCommentVNode("", true),
|
|
7242
7633
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
7243
|
-
return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$
|
|
7634
|
+
return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$4, {
|
|
7244
7635
|
key: 0,
|
|
7636
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
7245
7637
|
field: column.key,
|
|
7246
7638
|
"current-sort-field": localSortField.value,
|
|
7247
7639
|
"current-direction": localSortDirection.value,
|
|
@@ -7253,6 +7645,7 @@ var _sfc_main = {
|
|
|
7253
7645
|
default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
|
|
7254
7646
|
_: 2
|
|
7255
7647
|
}, 1032, [
|
|
7648
|
+
"data-table-sticky-key",
|
|
7256
7649
|
"field",
|
|
7257
7650
|
"current-sort-field",
|
|
7258
7651
|
"current-direction",
|
|
@@ -7261,27 +7654,30 @@ var _sfc_main = {
|
|
|
7261
7654
|
"content-class"
|
|
7262
7655
|
])) : (openBlock(), createElementBlock("th", {
|
|
7263
7656
|
key: 1,
|
|
7657
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
7264
7658
|
class: normalizeClass(getHeaderClass(column)),
|
|
7265
7659
|
style: normalizeStyle(getColumnWidthStyle(column))
|
|
7266
|
-
}, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)],
|
|
7660
|
+
}, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 14, _hoisted_2$1))], 64);
|
|
7267
7661
|
}), 128)),
|
|
7268
7662
|
hasActionsColumn.value ? (openBlock(), createElementBlock("th", {
|
|
7269
7663
|
key: 1,
|
|
7270
|
-
|
|
7271
|
-
|
|
7664
|
+
"data-table-sticky-key": __props.stickyActions ? "__actions" : void 0,
|
|
7665
|
+
class: normalizeClass(actionHeaderClass.value),
|
|
7666
|
+
style: normalizeStyle(actionColumnStyle.value)
|
|
7667
|
+
}, toDisplayString(__props.actionsLabel), 15, _hoisted_3$1)) : createCommentVNode("", true)
|
|
7272
7668
|
], 2)], 2), createElementVNode("tbody", { class: normalizeClass(joinClasses("divide-y divide-neutral-200 bg-white dark:divide-neutral-800 dark:bg-neutral-950", __props.tbodyClass)) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(sortedData.value, (item, index) => {
|
|
7273
7669
|
return openBlock(), createElementBlock(Fragment, { key: getRowKey$1(item, index) }, [createElementVNode("tr", {
|
|
7274
7670
|
class: normalizeClass(joinClasses(__props.rowClasses(item, index), dragOverIndex.value === index ? "ring-2 ring-inset ring-neutral-400 dark:ring-neutral-500" : "")),
|
|
7275
7671
|
onDragover: withModifiers(($event) => canReorder.value && (dragOverIndex.value = index), ["prevent"]),
|
|
7276
7672
|
onDrop: ($event) => dropRow(index, $event)
|
|
7277
7673
|
}, [
|
|
7278
|
-
__props.orderable ? (openBlock(), createElementBlock("td",
|
|
7674
|
+
__props.orderable ? (openBlock(), createElementBlock("td", _hoisted_5, [createElementVNode("span", _hoisted_6, [createElementVNode("span", {
|
|
7279
7675
|
draggable: canReorder.value,
|
|
7280
7676
|
class: "cursor-grab touch-none active:cursor-grabbing",
|
|
7281
7677
|
"aria-label": `Drag row ${index + 1}`,
|
|
7282
7678
|
onDragstart: ($event) => startDrag(index, $event),
|
|
7283
7679
|
onDragend: endDrag
|
|
7284
|
-
}, [createVNode(unref(GripVertical), { class: "size-4" })], 40,
|
|
7680
|
+
}, [createVNode(unref(GripVertical), { class: "size-4" })], 40, _hoisted_7), createElementVNode("span", null, toDisplayString(index + 1), 1)])])) : createCommentVNode("", true),
|
|
7285
7681
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
7286
7682
|
return openBlock(), createElementBlock("td", {
|
|
7287
7683
|
key: column.key,
|
|
@@ -7290,7 +7686,7 @@ var _sfc_main = {
|
|
|
7290
7686
|
}, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, [isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
|
|
7291
7687
|
key: 0,
|
|
7292
7688
|
ref_for: true
|
|
7293
|
-
}, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$
|
|
7689
|
+
}, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$17, {
|
|
7294
7690
|
key: 1,
|
|
7295
7691
|
type: getInputType(column),
|
|
7296
7692
|
class: normalizeClass(getInputClass(column)),
|
|
@@ -7312,24 +7708,25 @@ var _sfc_main = {
|
|
|
7312
7708
|
"error-message",
|
|
7313
7709
|
"onUpdate:modelValue",
|
|
7314
7710
|
"onBlur"
|
|
7315
|
-
])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div",
|
|
7711
|
+
])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("div", {
|
|
7316
7712
|
class: "text-sm font-medium truncate",
|
|
7317
7713
|
title: getCellContent(item, column)
|
|
7318
|
-
}, toDisplayString(getCellContent(item, column)), 9,
|
|
7714
|
+
}, toDisplayString(getCellContent(item, column)), 9, _hoisted_9), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)])) : column.slot ? renderSlot(_ctx.$slots, column.slot, mergeProps({
|
|
7319
7715
|
key: 3,
|
|
7320
7716
|
ref_for: true
|
|
7321
7717
|
}, getSlotBindings(item, column, index))) : column.render ? (openBlock(), createElementBlock("div", {
|
|
7322
7718
|
key: 4,
|
|
7323
7719
|
innerHTML: column.render(item)
|
|
7324
|
-
}, null, 8,
|
|
7720
|
+
}, null, 8, _hoisted_11)) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
|
|
7325
7721
|
}), 128)),
|
|
7326
7722
|
hasActionsColumn.value ? (openBlock(), createElementBlock("td", {
|
|
7327
7723
|
key: 1,
|
|
7328
|
-
class: normalizeClass(actionCellClass.value)
|
|
7329
|
-
|
|
7724
|
+
class: normalizeClass(actionCellClass.value),
|
|
7725
|
+
style: normalizeStyle(actionColumnStyle.value)
|
|
7726
|
+
}, [createElementVNode("div", _hoisted_13, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
|
|
7330
7727
|
key: 0,
|
|
7331
7728
|
ref_for: true
|
|
7332
|
-
}, getSlotBindings(item, null, index))) : createCommentVNode("", true), __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$
|
|
7729
|
+
}, getSlotBindings(item, null, index))) : createCommentVNode("", true), __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$33, {
|
|
7333
7730
|
key: 1,
|
|
7334
7731
|
type: "button",
|
|
7335
7732
|
variant: "outline",
|
|
@@ -7344,7 +7741,7 @@ var _sfc_main = {
|
|
|
7344
7741
|
"title",
|
|
7345
7742
|
"aria-label",
|
|
7346
7743
|
"onClick"
|
|
7347
|
-
])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$
|
|
7744
|
+
])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$33, {
|
|
7348
7745
|
key: 2,
|
|
7349
7746
|
type: "button",
|
|
7350
7747
|
variant: "secondary",
|
|
@@ -7361,8 +7758,8 @@ var _sfc_main = {
|
|
|
7361
7758
|
"title",
|
|
7362
7759
|
"aria-label",
|
|
7363
7760
|
"onClick"
|
|
7364
|
-
])) : createCommentVNode("", true)])],
|
|
7365
|
-
], 42,
|
|
7761
|
+
])) : createCommentVNode("", true)])], 6)) : createCommentVNode("", true)
|
|
7762
|
+
], 42, _hoisted_4), hasExpandedRow.value && __props.expandedRowKey === getRowKey$1(item, index) ? (openBlock(), createElementBlock("tr", {
|
|
7366
7763
|
key: 0,
|
|
7367
7764
|
class: normalizeClass(__props.expandedRowClass)
|
|
7368
7765
|
}, [createElementVNode("td", {
|
|
@@ -7372,12 +7769,12 @@ var _sfc_main = {
|
|
|
7372
7769
|
item,
|
|
7373
7770
|
index,
|
|
7374
7771
|
rowKey: getRowKey$1(item, index)
|
|
7375
|
-
})], 10,
|
|
7376
|
-
}), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div",
|
|
7377
|
-
createElementVNode("div",
|
|
7378
|
-
createElementVNode("h3",
|
|
7379
|
-
createElementVNode("p",
|
|
7380
|
-
__props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$
|
|
7772
|
+
})], 10, _hoisted_14)], 2)) : createCommentVNode("", true)], 64);
|
|
7773
|
+
}), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div", _hoisted_15, [
|
|
7774
|
+
createElementVNode("div", _hoisted_16, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
|
|
7775
|
+
createElementVNode("h3", _hoisted_17, toDisplayString(__props.emptyState.title), 1),
|
|
7776
|
+
createElementVNode("p", _hoisted_18, toDisplayString(__props.emptyState.description), 1),
|
|
7777
|
+
__props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$7, {
|
|
7381
7778
|
key: 0,
|
|
7382
7779
|
href: __props.emptyState.actionUrl,
|
|
7383
7780
|
variant: "primary"
|
|
@@ -7509,38 +7906,38 @@ var ToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
7509
7906
|
//#endregion
|
|
7510
7907
|
//#region src/exports.ts
|
|
7511
7908
|
var exports_exports = /* @__PURE__ */ __exportAll({
|
|
7512
|
-
ActionCard: () => _sfc_main$
|
|
7513
|
-
ActionMessage: () => _sfc_main$
|
|
7514
|
-
ActionSection: () => _sfc_main$
|
|
7515
|
-
Badge: () => _sfc_main$
|
|
7516
|
-
Button: () => _sfc_main$
|
|
7517
|
-
Card: () => _sfc_main$
|
|
7518
|
-
CardTabs: () => _sfc_main$
|
|
7519
|
-
Checkbox: () => _sfc_main$
|
|
7520
|
-
CheckboxInput: () => _sfc_main$
|
|
7521
|
-
CheckboxMultipleInput: () => _sfc_main$
|
|
7909
|
+
ActionCard: () => _sfc_main$38,
|
|
7910
|
+
ActionMessage: () => _sfc_main$37,
|
|
7911
|
+
ActionSection: () => _sfc_main$35,
|
|
7912
|
+
Badge: () => _sfc_main$34,
|
|
7913
|
+
Button: () => _sfc_main$33,
|
|
7914
|
+
Card: () => _sfc_main$40,
|
|
7915
|
+
CardTabs: () => _sfc_main$41,
|
|
7916
|
+
Checkbox: () => _sfc_main$32,
|
|
7917
|
+
CheckboxInput: () => _sfc_main$31,
|
|
7918
|
+
CheckboxMultipleInput: () => _sfc_main$16,
|
|
7522
7919
|
ColorPicker: () => ColorPicker_default,
|
|
7523
|
-
ConfirmationModal: () => _sfc_main$
|
|
7524
|
-
CustomSelect: () => _sfc_main$
|
|
7920
|
+
ConfirmationModal: () => _sfc_main$14,
|
|
7921
|
+
CustomSelect: () => _sfc_main$28,
|
|
7525
7922
|
DateInput: () => DateInput_default,
|
|
7526
7923
|
DateRangeInput: () => DateRangeInput_default,
|
|
7527
|
-
DialogModal: () => _sfc_main$
|
|
7528
|
-
Divider: () => _sfc_main$
|
|
7529
|
-
Dropdown: () => _sfc_main$
|
|
7530
|
-
DropdownLink: () => _sfc_main$
|
|
7531
|
-
FormSection: () => _sfc_main$
|
|
7532
|
-
ImageInput: () => _sfc_main$
|
|
7533
|
-
InputError: () => _sfc_main$
|
|
7534
|
-
InputGroup: () => _sfc_main$
|
|
7535
|
-
InputLabel: () => _sfc_main$
|
|
7536
|
-
LinkButton: () => _sfc_main$
|
|
7537
|
-
Modal: () => _sfc_main$
|
|
7538
|
-
NotationInput: () => _sfc_main$
|
|
7539
|
-
RadioInput: () => _sfc_main$
|
|
7540
|
-
RadioMultipleInput: () => _sfc_main$
|
|
7541
|
-
SectionBorder: () => _sfc_main$
|
|
7924
|
+
DialogModal: () => _sfc_main$13,
|
|
7925
|
+
Divider: () => _sfc_main$39,
|
|
7926
|
+
Dropdown: () => _sfc_main$12,
|
|
7927
|
+
DropdownLink: () => _sfc_main$11,
|
|
7928
|
+
FormSection: () => _sfc_main$10,
|
|
7929
|
+
ImageInput: () => _sfc_main$24,
|
|
7930
|
+
InputError: () => _sfc_main$9,
|
|
7931
|
+
InputGroup: () => _sfc_main$17,
|
|
7932
|
+
InputLabel: () => _sfc_main$8,
|
|
7933
|
+
LinkButton: () => _sfc_main$7,
|
|
7934
|
+
Modal: () => _sfc_main$15,
|
|
7935
|
+
NotationInput: () => _sfc_main$23,
|
|
7936
|
+
RadioInput: () => _sfc_main$22,
|
|
7937
|
+
RadioMultipleInput: () => _sfc_main$20,
|
|
7938
|
+
SectionBorder: () => _sfc_main$6,
|
|
7542
7939
|
SectionTitle: () => SectionTitle_default,
|
|
7543
|
-
SelectInput: () => _sfc_main$
|
|
7940
|
+
SelectInput: () => _sfc_main$27,
|
|
7544
7941
|
Sidebar: () => Sidebar_default,
|
|
7545
7942
|
SidebarContent: () => SidebarContent_default,
|
|
7546
7943
|
SidebarFooter: () => SidebarFooter_default,
|
|
@@ -7555,17 +7952,17 @@ var exports_exports = /* @__PURE__ */ __exportAll({
|
|
|
7555
7952
|
SidebarProvider: () => SidebarProvider_default,
|
|
7556
7953
|
SidebarTrigger: () => SidebarTrigger_default,
|
|
7557
7954
|
SlidePanel: () => SlidePanel_default,
|
|
7558
|
-
SortControls: () => _sfc_main$
|
|
7955
|
+
SortControls: () => _sfc_main$5,
|
|
7559
7956
|
TableList: () => _sfc_main$1,
|
|
7560
7957
|
TableListForm: () => _sfc_main,
|
|
7561
|
-
TableSearch: () => _sfc_main$
|
|
7562
|
-
TextArea: () => _sfc_main$
|
|
7563
|
-
TextInput: () => _sfc_main$
|
|
7564
|
-
ThSortable: () => _sfc_main$
|
|
7565
|
-
TinyEditor: () => _sfc_main$
|
|
7958
|
+
TableSearch: () => _sfc_main$3,
|
|
7959
|
+
TextArea: () => _sfc_main$29,
|
|
7960
|
+
TextInput: () => _sfc_main$30,
|
|
7961
|
+
ThSortable: () => _sfc_main$4,
|
|
7962
|
+
TinyEditor: () => _sfc_main$19,
|
|
7566
7963
|
Toast: () => Toast_default,
|
|
7567
7964
|
ToastContainer: () => ToastContainer_default,
|
|
7568
|
-
ToggleInput: () => _sfc_main$
|
|
7965
|
+
ToggleInput: () => _sfc_main$21,
|
|
7569
7966
|
useSidebar: () => useSidebar
|
|
7570
7967
|
});
|
|
7571
7968
|
//#endregion
|
|
@@ -7574,6 +7971,6 @@ var plugin_default = { install(app) {
|
|
|
7574
7971
|
for (const [name, component] of Object.entries(exports_exports)) app.component(name, component);
|
|
7575
7972
|
} };
|
|
7576
7973
|
//#endregion
|
|
7577
|
-
export { _sfc_main$
|
|
7974
|
+
export { _sfc_main$35 as $, _sfc_main$12 as A, _sfc_main$22 as B, useSidebar as C, _sfc_main$9 as D, _sfc_main$8 as E, _sfc_main$17 as F, _sfc_main$27 as G, _sfc_main$24 as H, ColorPicker_default as I, _sfc_main$30 as J, _sfc_main$28 as K, _sfc_main$19 as L, _sfc_main$14 as M, _sfc_main$15 as N, _sfc_main$10 as O, _sfc_main$16 as P, _sfc_main$34 as Q, _sfc_main$20 as R, Sidebar_default as S, _sfc_main$7 as T, DateRangeInput_default as U, _sfc_main$23 as V, DateInput_default as W, _sfc_main$32 as X, _sfc_main$31 as Y, _sfc_main$33 as Z, SidebarGroupLabel_default as _, _sfc_main$1 as a, _sfc_main$41 as at, SidebarFooter_default as b, _sfc_main$5 as c, SidebarProvider_default as d, SectionTitle_default as et, SidebarMenuItem_default as f, SidebarHeader_default as g, SidebarInset_default as h, _sfc_main as i, _sfc_main$40 as it, _sfc_main$13 as j, _sfc_main$11 as k, SlidePanel_default as l, SidebarMenu_default as m, ToastContainer_default as n, _sfc_main$38 as nt, _sfc_main$3 as o, __commonJSMin as ot, SidebarMenuButton_default as p, _sfc_main$29 as q, Toast_default as r, _sfc_main$39 as rt, _sfc_main$4 as s, plugin_default as t, _sfc_main$37 as tt, SidebarTrigger_default as u, SidebarGroupContent_default as v, _sfc_main$6 as w, SidebarContent_default as x, SidebarGroup_default as y, _sfc_main$21 as z };
|
|
7578
7975
|
|
|
7579
|
-
//# sourceMappingURL=plugin-
|
|
7976
|
+
//# sourceMappingURL=plugin-TP7ra_6S.js.map
|