@enos5/enos-vue-default 1.16.8 → 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-Uq_sE9rw.js → code-Cm7MgQif.js} +2 -2
- package/dist/{code-Uq_sE9rw.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-BrvQoVVs.js → default-Cgs8Tahv.js} +2 -2
- package/dist/{default-BrvQoVVs.js.map → default-Cgs8Tahv.js.map} +1 -1
- package/dist/{dom-CyNQy3FR.js → dom-BeRggs56.js} +2 -2
- package/dist/{dom-CyNQy3FR.js.map → dom-BeRggs56.js.map} +1 -1
- package/dist/{image-BPy4dcSt.js → image-wVCnQh0h.js} +2 -2
- package/dist/{image-BPy4dcSt.js.map → image-wVCnQh0h.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.js +1 -1
- package/dist/{link-BNLldsh6.js → link-KJRFTy--.js} +2 -2
- package/dist/{link-BNLldsh6.js.map → link-KJRFTy--.js.map} +1 -1
- package/dist/{lists-CCw-difh.js → lists-BzJs5oD0.js} +2 -2
- package/dist/{lists-CCw-difh.js.map → lists-BzJs5oD0.js.map} +1 -1
- package/dist/{plugin-BXdUiTUI.js → plugin-TP7ra_6S.js} +818 -467
- package/dist/plugin-TP7ra_6S.js.map +1 -0
- package/dist/{silver-6SQnxErw.js → silver-Y-RHxZ9j.js} +2 -2
- package/dist/{silver-6SQnxErw.js.map → silver-Y-RHxZ9j.js.map} +1 -1
- package/dist/styles.css +69 -27
- package/dist/{table-eUIcL87o.js → table-CV-zOVUh.js} +2 -2
- package/dist/{table-eUIcL87o.js.map → table-CV-zOVUh.js.map} +1 -1
- package/dist/{tinymce-_FcmnBzR.js → tinymce-C8b0wRwA.js} +2 -2
- package/dist/{tinymce-_FcmnBzR.js.map → tinymce-C8b0wRwA.js.map} +1 -1
- package/package.json +36 -36
- package/dist/plugin-BXdUiTUI.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 = {
|
|
@@ -2999,14 +2999,14 @@ var _hoisted_15$2 = {
|
|
|
2999
2999
|
class: "space-y-2"
|
|
3000
3000
|
};
|
|
3001
3001
|
var _hoisted_16$2 = ["for"];
|
|
3002
|
-
var _hoisted_17$
|
|
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",
|
|
@@ -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$
|
|
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,43 +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
|
|
6410
|
+
var _hoisted_4$1 = ["data-table-sticky-key"];
|
|
6411
|
+
var _hoisted_5$1 = ["data-table-sticky-key"];
|
|
6412
|
+
var _hoisted_6$1 = {
|
|
6246
6413
|
key: 0,
|
|
6247
6414
|
"data-table-list-placeholder": "",
|
|
6248
6415
|
class: "bg-blue-50/60 dark:bg-blue-950/20"
|
|
6249
6416
|
};
|
|
6250
|
-
var
|
|
6251
|
-
var
|
|
6252
|
-
var
|
|
6417
|
+
var _hoisted_7$1 = ["colspan"];
|
|
6418
|
+
var _hoisted_8$1 = ["data-row-index"];
|
|
6419
|
+
var _hoisted_9$1 = {
|
|
6253
6420
|
key: 0,
|
|
6254
6421
|
class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
|
|
6255
6422
|
};
|
|
6256
|
-
var
|
|
6257
|
-
var
|
|
6258
|
-
var
|
|
6259
|
-
var
|
|
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 = {
|
|
6260
6427
|
key: 0,
|
|
6261
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"
|
|
6262
6429
|
};
|
|
6263
|
-
var
|
|
6264
|
-
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 = {
|
|
6265
6433
|
key: 0,
|
|
6266
6434
|
"data-table-list-placeholder": "",
|
|
6267
6435
|
class: "bg-blue-50/60 dark:bg-blue-950/20"
|
|
6268
6436
|
};
|
|
6269
|
-
var
|
|
6270
|
-
var
|
|
6437
|
+
var _hoisted_17$1 = ["colspan"];
|
|
6438
|
+
var _hoisted_18$1 = {
|
|
6271
6439
|
key: 0,
|
|
6272
6440
|
class: "py-12 text-center"
|
|
6273
6441
|
};
|
|
6274
|
-
var
|
|
6275
|
-
var
|
|
6276
|
-
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" };
|
|
6277
6445
|
var _sfc_main$1 = {
|
|
6278
6446
|
__name: "TableList",
|
|
6279
6447
|
props: {
|
|
@@ -6321,7 +6489,7 @@ var _sfc_main$1 = {
|
|
|
6321
6489
|
},
|
|
6322
6490
|
rowClasses: {
|
|
6323
6491
|
type: Function,
|
|
6324
|
-
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"]
|
|
6325
6493
|
},
|
|
6326
6494
|
maxTextLength: {
|
|
6327
6495
|
type: Number,
|
|
@@ -6355,6 +6523,42 @@ var _sfc_main$1 = {
|
|
|
6355
6523
|
type: String,
|
|
6356
6524
|
default: "Actions"
|
|
6357
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
|
+
},
|
|
6358
6562
|
deletedLabel: {
|
|
6359
6563
|
type: String,
|
|
6360
6564
|
default: "Deleted"
|
|
@@ -6410,7 +6614,8 @@ var _sfc_main$1 = {
|
|
|
6410
6614
|
"sort",
|
|
6411
6615
|
"reorder",
|
|
6412
6616
|
"update:searchShowDeleted",
|
|
6413
|
-
"update:searchValue"
|
|
6617
|
+
"update:searchValue",
|
|
6618
|
+
"update:hiddenColumns"
|
|
6414
6619
|
],
|
|
6415
6620
|
setup(__props, { emit: __emit }) {
|
|
6416
6621
|
const slots = useSlots();
|
|
@@ -6421,6 +6626,14 @@ var _sfc_main$1 = {
|
|
|
6421
6626
|
localData.value = value;
|
|
6422
6627
|
});
|
|
6423
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
|
+
};
|
|
6424
6637
|
const internalSearchQuery = ref("");
|
|
6425
6638
|
const searchQuery = computed({
|
|
6426
6639
|
get: () => props.searchValue ?? internalSearchQuery.value,
|
|
@@ -6451,6 +6664,8 @@ var _sfc_main$1 = {
|
|
|
6451
6664
|
const dragPreview = ref(null);
|
|
6452
6665
|
const dragRowHeight = ref(0);
|
|
6453
6666
|
const tableRef = ref(null);
|
|
6667
|
+
const stickyOffsets = ref({});
|
|
6668
|
+
let stickyResizeObserver = null;
|
|
6454
6669
|
const activePointerId = ref(null);
|
|
6455
6670
|
const dragStartPosition = ref(null);
|
|
6456
6671
|
const dragHandle = ref(null);
|
|
@@ -6459,7 +6674,35 @@ var _sfc_main$1 = {
|
|
|
6459
6674
|
return props.orderable && !searchQuery.value.trim();
|
|
6460
6675
|
});
|
|
6461
6676
|
const placeholderColumnCount = computed(() => {
|
|
6462
|
-
return
|
|
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;
|
|
6690
|
+
};
|
|
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);
|
|
6463
6706
|
});
|
|
6464
6707
|
const insertionPositionForRow = (index) => {
|
|
6465
6708
|
if (draggedIndex.value === null || index < draggedIndex.value) return index;
|
|
@@ -6644,165 +6887,220 @@ var _sfc_main$1 = {
|
|
|
6644
6887
|
return item.deleted_at || item.deleted;
|
|
6645
6888
|
};
|
|
6646
6889
|
const getColumnClass = (column) => {
|
|
6647
|
-
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);
|
|
6648
6891
|
};
|
|
6649
6892
|
const getHeaderClass = (column) => {
|
|
6650
|
-
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);
|
|
6651
6894
|
};
|
|
6652
6895
|
const getContentClass = (column) => {
|
|
6653
6896
|
return joinClasses(column.sortable ? "flex items-center space-x-1" : "", column.align === "right" ? "w-full text-right justify-end" : "", column.contentClass);
|
|
6654
6897
|
};
|
|
6655
6898
|
const getColumnWidthStyle = (column) => {
|
|
6656
|
-
return
|
|
6899
|
+
return {
|
|
6900
|
+
...column.width ? { width: column.width } : {},
|
|
6901
|
+
...isStickyColumn(column) ? { right: `${stickyOffsets.value[column.key] ?? 0}px` } : {}
|
|
6902
|
+
};
|
|
6657
6903
|
};
|
|
6658
6904
|
const actionHeaderClass = computed(() => {
|
|
6659
|
-
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)]" : "");
|
|
6660
6906
|
});
|
|
6661
6907
|
const actionCellClass = computed(() => {
|
|
6662
|
-
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` } : {};
|
|
6663
6912
|
});
|
|
6664
6913
|
return (_ctx, _cache) => {
|
|
6665
|
-
return openBlock(), createElementBlock("div", _hoisted_1$3, [
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
} : void 0]), 1032, [
|
|
6688
|
-
"model-value",
|
|
6689
|
-
"placeholder",
|
|
6690
|
-
"count",
|
|
6691
|
-
"count-label",
|
|
6692
|
-
"query-label",
|
|
6693
|
-
"show-deleted",
|
|
6694
|
-
"show-deleted-toggle",
|
|
6695
|
-
"show-deleted-label",
|
|
6696
|
-
"search-mode",
|
|
6697
|
-
"search-fields-layout"
|
|
6698
|
-
])) : 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", {
|
|
6699
|
-
ref_key: "tableRef",
|
|
6700
|
-
ref: tableRef,
|
|
6701
|
-
class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass))
|
|
6702
|
-
}, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
|
|
6703
|
-
__props.orderable ? (openBlock(), createElementBlock("th", _hoisted_2$2, "#")) : createCommentVNode("", true),
|
|
6704
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
6705
|
-
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, {
|
|
6706
6936
|
key: 0,
|
|
6707
|
-
|
|
6708
|
-
"
|
|
6709
|
-
"
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
"
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
"
|
|
6719
|
-
"
|
|
6720
|
-
"
|
|
6721
|
-
"
|
|
6722
|
-
"
|
|
6723
|
-
"
|
|
6724
|
-
|
|
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, {
|
|
6997
|
+
key: 0,
|
|
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", {
|
|
7018
|
+
key: 1,
|
|
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);
|
|
7023
|
+
}), 128)),
|
|
7024
|
+
_ctx.$slots.actions ? (openBlock(), createElementBlock("th", {
|
|
6725
7025
|
key: 1,
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
key: 1,
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
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", {
|
|
6736
7085
|
colspan: placeholderColumnCount.value,
|
|
6737
7086
|
class: "p-0"
|
|
6738
7087
|
}, [createElementVNode("div", {
|
|
6739
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",
|
|
6740
7089
|
style: normalizeStyle({ height: `${dragRowHeight.value}px` })
|
|
6741
|
-
}, null, 4)], 8,
|
|
6742
|
-
|
|
6743
|
-
"
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
"
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
|
|
6752
|
-
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
class: normalizeClass(getColumnClass(column)),
|
|
6756
|
-
style: normalizeStyle(getColumnWidthStyle(column))
|
|
6757
|
-
}, [column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", {
|
|
6758
|
-
key: 0,
|
|
6759
|
-
class: normalizeClass(joinClasses("flex items-center", getContentClass(column)))
|
|
6760
|
-
}, [createElementVNode("div", {
|
|
6761
|
-
class: "truncate text-sm font-medium text-neutral-950 dark:text-neutral-50",
|
|
6762
|
-
title: getCellContent(item, column)
|
|
6763
|
-
}, toDisplayString(getCellContent(item, column)), 9, _hoisted_9$1), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_10$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)], 2)) : column.slot ? (openBlock(), createElementBlock("div", {
|
|
6764
|
-
key: 1,
|
|
6765
|
-
class: normalizeClass(getContentClass(column))
|
|
6766
|
-
}, [renderSlot(_ctx.$slots, column.slot, {
|
|
6767
|
-
item,
|
|
6768
|
-
column,
|
|
6769
|
-
index
|
|
6770
|
-
})], 2)) : column.render ? (openBlock(), createElementBlock("div", {
|
|
6771
|
-
key: 2,
|
|
6772
|
-
class: normalizeClass(getContentClass(column)),
|
|
6773
|
-
innerHTML: column.render(item)
|
|
6774
|
-
}, null, 10, _hoisted_11$1)) : (openBlock(), createElementBlock("div", {
|
|
6775
|
-
key: 3,
|
|
6776
|
-
class: normalizeClass(getContentClass(column))
|
|
6777
|
-
}, toDisplayString(getCellContent(item, column)), 3))], 6);
|
|
6778
|
-
}), 128)),
|
|
6779
|
-
_ctx.$slots.actions ? (openBlock(), createElementBlock("td", {
|
|
6780
|
-
key: 1,
|
|
6781
|
-
class: normalizeClass(actionCellClass.value)
|
|
6782
|
-
}, [renderSlot(_ctx.$slots, "actions", {
|
|
6783
|
-
item,
|
|
6784
|
-
index
|
|
6785
|
-
})], 2)) : createCommentVNode("", true)
|
|
6786
|
-
], 10, _hoisted_5$1)) : createCommentVNode("", true)], 64);
|
|
6787
|
-
}), 128)), isDragging.value && insertionIndex.value === filteredData.value.length - 1 ? (openBlock(), createElementBlock("tr", _hoisted_12$1, [createElementVNode("td", {
|
|
6788
|
-
colspan: placeholderColumnCount.value,
|
|
6789
|
-
class: "p-0"
|
|
6790
|
-
}, [createElementVNode("div", {
|
|
6791
|
-
class: "mx-2 rounded-md border border-dashed border-blue-400 bg-blue-50/70 dark:border-blue-500 dark:bg-blue-950/30",
|
|
6792
|
-
style: normalizeStyle({ height: `${dragRowHeight.value}px` })
|
|
6793
|
-
}, null, 4)], 8, _hoisted_13$1)])) : createCommentVNode("", true)], 2)], 2)], 2), !hasData.value ? (openBlock(), createElementBlock("div", _hoisted_14$1, [
|
|
6794
|
-
createElementVNode("div", _hoisted_15$1, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
|
|
6795
|
-
createElementVNode("h3", _hoisted_16$1, toDisplayString(__props.emptyState.title), 1),
|
|
6796
|
-
createElementVNode("p", _hoisted_17, toDisplayString(__props.emptyState.description), 1),
|
|
6797
|
-
__props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$6, {
|
|
6798
|
-
key: 0,
|
|
6799
|
-
href: __props.emptyState.actionUrl,
|
|
6800
|
-
variant: "primary"
|
|
6801
|
-
}, {
|
|
6802
|
-
default: withCtx(() => [createTextVNode(toDisplayString(__props.emptyState.actionText), 1)]),
|
|
6803
|
-
_: 1
|
|
6804
|
-
}, 8, ["href"])) : createCommentVNode("", true)
|
|
6805
|
-
])) : createCommentVNode("", true)], 2)]);
|
|
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
|
+
]);
|
|
6806
7104
|
};
|
|
6807
7105
|
}
|
|
6808
7106
|
};
|
|
@@ -6812,37 +7110,39 @@ var _hoisted_1$2 = {
|
|
|
6812
7110
|
key: 0,
|
|
6813
7111
|
class: "w-10 px-2 py-3 text-center text-xs font-medium uppercase tracking-wider text-neutral-500 dark:text-neutral-200"
|
|
6814
7112
|
};
|
|
6815
|
-
var _hoisted_2$1 = ["
|
|
6816
|
-
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 = {
|
|
6817
7117
|
key: 0,
|
|
6818
7118
|
class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
|
|
6819
7119
|
};
|
|
6820
|
-
var
|
|
6821
|
-
var
|
|
7120
|
+
var _hoisted_6 = { class: "inline-flex items-center gap-1" };
|
|
7121
|
+
var _hoisted_7 = [
|
|
6822
7122
|
"draggable",
|
|
6823
7123
|
"aria-label",
|
|
6824
7124
|
"onDragstart"
|
|
6825
7125
|
];
|
|
6826
|
-
var
|
|
7126
|
+
var _hoisted_8 = {
|
|
6827
7127
|
key: 2,
|
|
6828
7128
|
class: "flex items-center"
|
|
6829
7129
|
};
|
|
6830
|
-
var
|
|
6831
|
-
var
|
|
7130
|
+
var _hoisted_9 = ["title"];
|
|
7131
|
+
var _hoisted_10 = {
|
|
6832
7132
|
key: 0,
|
|
6833
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"
|
|
6834
7134
|
};
|
|
6835
|
-
var
|
|
6836
|
-
var
|
|
6837
|
-
var
|
|
6838
|
-
var
|
|
6839
|
-
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 = {
|
|
6840
7140
|
key: 2,
|
|
6841
7141
|
class: "py-12 text-center"
|
|
6842
7142
|
};
|
|
6843
|
-
var
|
|
6844
|
-
var
|
|
6845
|
-
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" };
|
|
6846
7146
|
var _sfc_main = {
|
|
6847
7147
|
__name: "TableListForm",
|
|
6848
7148
|
props: {
|
|
@@ -6874,7 +7174,7 @@ var _sfc_main = {
|
|
|
6874
7174
|
},
|
|
6875
7175
|
rowClasses: {
|
|
6876
7176
|
type: Function,
|
|
6877
|
-
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"]
|
|
6878
7178
|
},
|
|
6879
7179
|
getErrorMessage: {
|
|
6880
7180
|
type: Function,
|
|
@@ -6937,6 +7237,10 @@ var _sfc_main = {
|
|
|
6937
7237
|
type: String,
|
|
6938
7238
|
default: "Actions"
|
|
6939
7239
|
},
|
|
7240
|
+
stickyActions: {
|
|
7241
|
+
type: Boolean,
|
|
7242
|
+
default: false
|
|
7243
|
+
},
|
|
6940
7244
|
deletedLabel: {
|
|
6941
7245
|
type: String,
|
|
6942
7246
|
default: "Deleted"
|
|
@@ -7010,6 +7314,9 @@ var _sfc_main = {
|
|
|
7010
7314
|
const localSortField = ref(props.sortField);
|
|
7011
7315
|
const localSortDirection = ref(props.sortDirection);
|
|
7012
7316
|
const localData = ref(props.data);
|
|
7317
|
+
const tableRef = ref(null);
|
|
7318
|
+
const stickyOffsets = ref({});
|
|
7319
|
+
let stickyResizeObserver = null;
|
|
7013
7320
|
const internalSearchQuery = ref("");
|
|
7014
7321
|
const searchQuery = computed({
|
|
7015
7322
|
get: () => props.searchValue ?? internalSearchQuery.value,
|
|
@@ -7118,6 +7425,34 @@ var _sfc_main = {
|
|
|
7118
7425
|
const hasActionsColumn = computed(() => hasActionsSlot.value || props.rowEditing);
|
|
7119
7426
|
const hasData = computed(() => sortedData.value && sortedData.value.length > 0);
|
|
7120
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
|
+
});
|
|
7121
7456
|
const sortBy = (field) => {
|
|
7122
7457
|
if (localSortField.value === field) localSortDirection.value = localSortDirection.value === "asc" ? "desc" : "asc";
|
|
7123
7458
|
else {
|
|
@@ -7218,16 +7553,19 @@ var _sfc_main = {
|
|
|
7218
7553
|
return truncateText(value);
|
|
7219
7554
|
};
|
|
7220
7555
|
const getColumnClass = (column, item, index) => {
|
|
7221
|
-
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);
|
|
7222
7557
|
};
|
|
7223
7558
|
const getHeaderClass = (column) => {
|
|
7224
|
-
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);
|
|
7225
7560
|
};
|
|
7226
7561
|
const getContentClass = (column) => {
|
|
7227
7562
|
return joinClasses(column.sortable ? "flex items-center space-x-1" : "", column.align === "right" ? "w-full text-right justify-end" : "", column.contentClass);
|
|
7228
7563
|
};
|
|
7229
7564
|
const getColumnWidthStyle = (column) => {
|
|
7230
|
-
return
|
|
7565
|
+
return {
|
|
7566
|
+
...column.width ? { width: column.width } : {},
|
|
7567
|
+
...isStickyColumn(column) ? { right: `${stickyOffsets.value[column.key] ?? 0}px` } : {}
|
|
7568
|
+
};
|
|
7231
7569
|
};
|
|
7232
7570
|
const getInputType = (column) => column.inputType || "text";
|
|
7233
7571
|
const getInputClass = (column) => {
|
|
@@ -7262,16 +7600,19 @@ var _sfc_main = {
|
|
|
7262
7600
|
return Boolean(disabled || isDeleted(item));
|
|
7263
7601
|
};
|
|
7264
7602
|
const actionHeaderClass = computed(() => {
|
|
7265
|
-
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)]" : "");
|
|
7266
7604
|
});
|
|
7267
7605
|
const actionCellClass = computed(() => {
|
|
7268
|
-
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` } : {};
|
|
7269
7610
|
});
|
|
7270
7611
|
return (_ctx, _cache) => {
|
|
7271
|
-
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", {
|
|
7272
7613
|
key: 0,
|
|
7273
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"])
|
|
7274
|
-
}, [createVNode(_sfc_main$
|
|
7615
|
+
}, [createVNode(_sfc_main$17, {
|
|
7275
7616
|
"model-value": searchQuery.value,
|
|
7276
7617
|
type: "text",
|
|
7277
7618
|
"root-class": "max-w-sm",
|
|
@@ -7282,12 +7623,17 @@ var _sfc_main = {
|
|
|
7282
7623
|
_: 1
|
|
7283
7624
|
}, 8, ["model-value", "placeholder"])], 2)) : createCommentVNode("", true), hasData.value ? (openBlock(), createElementBlock("div", {
|
|
7284
7625
|
key: 1,
|
|
7285
|
-
class: normalizeClass(["overflow-x-auto", __props.isCard ? __props.search ? "" : "rounded-t-xl" : ""])
|
|
7286
|
-
}, [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) }, [
|
|
7287
7632
|
__props.orderable ? (openBlock(), createElementBlock("th", _hoisted_1$2, "#")) : createCommentVNode("", true),
|
|
7288
7633
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
7289
|
-
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, {
|
|
7290
7635
|
key: 0,
|
|
7636
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
7291
7637
|
field: column.key,
|
|
7292
7638
|
"current-sort-field": localSortField.value,
|
|
7293
7639
|
"current-direction": localSortDirection.value,
|
|
@@ -7299,6 +7645,7 @@ var _sfc_main = {
|
|
|
7299
7645
|
default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
|
|
7300
7646
|
_: 2
|
|
7301
7647
|
}, 1032, [
|
|
7648
|
+
"data-table-sticky-key",
|
|
7302
7649
|
"field",
|
|
7303
7650
|
"current-sort-field",
|
|
7304
7651
|
"current-direction",
|
|
@@ -7307,27 +7654,30 @@ var _sfc_main = {
|
|
|
7307
7654
|
"content-class"
|
|
7308
7655
|
])) : (openBlock(), createElementBlock("th", {
|
|
7309
7656
|
key: 1,
|
|
7657
|
+
"data-table-sticky-key": isStickyColumn(column) ? column.key : void 0,
|
|
7310
7658
|
class: normalizeClass(getHeaderClass(column)),
|
|
7311
7659
|
style: normalizeStyle(getColumnWidthStyle(column))
|
|
7312
|
-
}, [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);
|
|
7313
7661
|
}), 128)),
|
|
7314
7662
|
hasActionsColumn.value ? (openBlock(), createElementBlock("th", {
|
|
7315
7663
|
key: 1,
|
|
7316
|
-
|
|
7317
|
-
|
|
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)
|
|
7318
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) => {
|
|
7319
7669
|
return openBlock(), createElementBlock(Fragment, { key: getRowKey$1(item, index) }, [createElementVNode("tr", {
|
|
7320
7670
|
class: normalizeClass(joinClasses(__props.rowClasses(item, index), dragOverIndex.value === index ? "ring-2 ring-inset ring-neutral-400 dark:ring-neutral-500" : "")),
|
|
7321
7671
|
onDragover: withModifiers(($event) => canReorder.value && (dragOverIndex.value = index), ["prevent"]),
|
|
7322
7672
|
onDrop: ($event) => dropRow(index, $event)
|
|
7323
7673
|
}, [
|
|
7324
|
-
__props.orderable ? (openBlock(), createElementBlock("td",
|
|
7674
|
+
__props.orderable ? (openBlock(), createElementBlock("td", _hoisted_5, [createElementVNode("span", _hoisted_6, [createElementVNode("span", {
|
|
7325
7675
|
draggable: canReorder.value,
|
|
7326
7676
|
class: "cursor-grab touch-none active:cursor-grabbing",
|
|
7327
7677
|
"aria-label": `Drag row ${index + 1}`,
|
|
7328
7678
|
onDragstart: ($event) => startDrag(index, $event),
|
|
7329
7679
|
onDragend: endDrag
|
|
7330
|
-
}, [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),
|
|
7331
7681
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
7332
7682
|
return openBlock(), createElementBlock("td", {
|
|
7333
7683
|
key: column.key,
|
|
@@ -7336,7 +7686,7 @@ var _sfc_main = {
|
|
|
7336
7686
|
}, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, [isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
|
|
7337
7687
|
key: 0,
|
|
7338
7688
|
ref_for: true
|
|
7339
|
-
}, 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, {
|
|
7340
7690
|
key: 1,
|
|
7341
7691
|
type: getInputType(column),
|
|
7342
7692
|
class: normalizeClass(getInputClass(column)),
|
|
@@ -7358,24 +7708,25 @@ var _sfc_main = {
|
|
|
7358
7708
|
"error-message",
|
|
7359
7709
|
"onUpdate:modelValue",
|
|
7360
7710
|
"onBlur"
|
|
7361
|
-
])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div",
|
|
7711
|
+
])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("div", {
|
|
7362
7712
|
class: "text-sm font-medium truncate",
|
|
7363
7713
|
title: getCellContent(item, column)
|
|
7364
|
-
}, 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({
|
|
7365
7715
|
key: 3,
|
|
7366
7716
|
ref_for: true
|
|
7367
7717
|
}, getSlotBindings(item, column, index))) : column.render ? (openBlock(), createElementBlock("div", {
|
|
7368
7718
|
key: 4,
|
|
7369
7719
|
innerHTML: column.render(item)
|
|
7370
|
-
}, null, 8,
|
|
7720
|
+
}, null, 8, _hoisted_11)) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
|
|
7371
7721
|
}), 128)),
|
|
7372
7722
|
hasActionsColumn.value ? (openBlock(), createElementBlock("td", {
|
|
7373
7723
|
key: 1,
|
|
7374
|
-
class: normalizeClass(actionCellClass.value)
|
|
7375
|
-
|
|
7724
|
+
class: normalizeClass(actionCellClass.value),
|
|
7725
|
+
style: normalizeStyle(actionColumnStyle.value)
|
|
7726
|
+
}, [createElementVNode("div", _hoisted_13, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
|
|
7376
7727
|
key: 0,
|
|
7377
7728
|
ref_for: true
|
|
7378
|
-
}, 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, {
|
|
7379
7730
|
key: 1,
|
|
7380
7731
|
type: "button",
|
|
7381
7732
|
variant: "outline",
|
|
@@ -7390,7 +7741,7 @@ var _sfc_main = {
|
|
|
7390
7741
|
"title",
|
|
7391
7742
|
"aria-label",
|
|
7392
7743
|
"onClick"
|
|
7393
|
-
])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$
|
|
7744
|
+
])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$33, {
|
|
7394
7745
|
key: 2,
|
|
7395
7746
|
type: "button",
|
|
7396
7747
|
variant: "secondary",
|
|
@@ -7407,8 +7758,8 @@ var _sfc_main = {
|
|
|
7407
7758
|
"title",
|
|
7408
7759
|
"aria-label",
|
|
7409
7760
|
"onClick"
|
|
7410
|
-
])) : createCommentVNode("", true)])],
|
|
7411
|
-
], 42,
|
|
7761
|
+
])) : createCommentVNode("", true)])], 6)) : createCommentVNode("", true)
|
|
7762
|
+
], 42, _hoisted_4), hasExpandedRow.value && __props.expandedRowKey === getRowKey$1(item, index) ? (openBlock(), createElementBlock("tr", {
|
|
7412
7763
|
key: 0,
|
|
7413
7764
|
class: normalizeClass(__props.expandedRowClass)
|
|
7414
7765
|
}, [createElementVNode("td", {
|
|
@@ -7418,12 +7769,12 @@ var _sfc_main = {
|
|
|
7418
7769
|
item,
|
|
7419
7770
|
index,
|
|
7420
7771
|
rowKey: getRowKey$1(item, index)
|
|
7421
|
-
})], 10,
|
|
7422
|
-
}), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div",
|
|
7423
|
-
createElementVNode("div",
|
|
7424
|
-
createElementVNode("h3",
|
|
7425
|
-
createElementVNode("p",
|
|
7426
|
-
__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, {
|
|
7427
7778
|
key: 0,
|
|
7428
7779
|
href: __props.emptyState.actionUrl,
|
|
7429
7780
|
variant: "primary"
|
|
@@ -7555,38 +7906,38 @@ var ToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
7555
7906
|
//#endregion
|
|
7556
7907
|
//#region src/exports.ts
|
|
7557
7908
|
var exports_exports = /* @__PURE__ */ __exportAll({
|
|
7558
|
-
ActionCard: () => _sfc_main$
|
|
7559
|
-
ActionMessage: () => _sfc_main$
|
|
7560
|
-
ActionSection: () => _sfc_main$
|
|
7561
|
-
Badge: () => _sfc_main$
|
|
7562
|
-
Button: () => _sfc_main$
|
|
7563
|
-
Card: () => _sfc_main$
|
|
7564
|
-
CardTabs: () => _sfc_main$
|
|
7565
|
-
Checkbox: () => _sfc_main$
|
|
7566
|
-
CheckboxInput: () => _sfc_main$
|
|
7567
|
-
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,
|
|
7568
7919
|
ColorPicker: () => ColorPicker_default,
|
|
7569
|
-
ConfirmationModal: () => _sfc_main$
|
|
7570
|
-
CustomSelect: () => _sfc_main$
|
|
7920
|
+
ConfirmationModal: () => _sfc_main$14,
|
|
7921
|
+
CustomSelect: () => _sfc_main$28,
|
|
7571
7922
|
DateInput: () => DateInput_default,
|
|
7572
7923
|
DateRangeInput: () => DateRangeInput_default,
|
|
7573
|
-
DialogModal: () => _sfc_main$
|
|
7574
|
-
Divider: () => _sfc_main$
|
|
7575
|
-
Dropdown: () => _sfc_main$
|
|
7576
|
-
DropdownLink: () => _sfc_main$
|
|
7577
|
-
FormSection: () => _sfc_main$
|
|
7578
|
-
ImageInput: () => _sfc_main$
|
|
7579
|
-
InputError: () => _sfc_main$
|
|
7580
|
-
InputGroup: () => _sfc_main$
|
|
7581
|
-
InputLabel: () => _sfc_main$
|
|
7582
|
-
LinkButton: () => _sfc_main$
|
|
7583
|
-
Modal: () => _sfc_main$
|
|
7584
|
-
NotationInput: () => _sfc_main$
|
|
7585
|
-
RadioInput: () => _sfc_main$
|
|
7586
|
-
RadioMultipleInput: () => _sfc_main$
|
|
7587
|
-
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,
|
|
7588
7939
|
SectionTitle: () => SectionTitle_default,
|
|
7589
|
-
SelectInput: () => _sfc_main$
|
|
7940
|
+
SelectInput: () => _sfc_main$27,
|
|
7590
7941
|
Sidebar: () => Sidebar_default,
|
|
7591
7942
|
SidebarContent: () => SidebarContent_default,
|
|
7592
7943
|
SidebarFooter: () => SidebarFooter_default,
|
|
@@ -7601,17 +7952,17 @@ var exports_exports = /* @__PURE__ */ __exportAll({
|
|
|
7601
7952
|
SidebarProvider: () => SidebarProvider_default,
|
|
7602
7953
|
SidebarTrigger: () => SidebarTrigger_default,
|
|
7603
7954
|
SlidePanel: () => SlidePanel_default,
|
|
7604
|
-
SortControls: () => _sfc_main$
|
|
7955
|
+
SortControls: () => _sfc_main$5,
|
|
7605
7956
|
TableList: () => _sfc_main$1,
|
|
7606
7957
|
TableListForm: () => _sfc_main,
|
|
7607
|
-
TableSearch: () => _sfc_main$
|
|
7608
|
-
TextArea: () => _sfc_main$
|
|
7609
|
-
TextInput: () => _sfc_main$
|
|
7610
|
-
ThSortable: () => _sfc_main$
|
|
7611
|
-
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,
|
|
7612
7963
|
Toast: () => Toast_default,
|
|
7613
7964
|
ToastContainer: () => ToastContainer_default,
|
|
7614
|
-
ToggleInput: () => _sfc_main$
|
|
7965
|
+
ToggleInput: () => _sfc_main$21,
|
|
7615
7966
|
useSidebar: () => useSidebar
|
|
7616
7967
|
});
|
|
7617
7968
|
//#endregion
|
|
@@ -7620,6 +7971,6 @@ var plugin_default = { install(app) {
|
|
|
7620
7971
|
for (const [name, component] of Object.entries(exports_exports)) app.component(name, component);
|
|
7621
7972
|
} };
|
|
7622
7973
|
//#endregion
|
|
7623
|
-
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 };
|
|
7624
7975
|
|
|
7625
|
-
//# sourceMappingURL=plugin-
|
|
7976
|
+
//# sourceMappingURL=plugin-TP7ra_6S.js.map
|