@enos5/enos-vue-default 1.14.0 → 1.15.0

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.
Files changed (28) hide show
  1. package/dist/{code-ClREReH9.js → code-jMjxUD3o.js} +2 -2
  2. package/dist/{code-ClREReH9.js.map → code-jMjxUD3o.js.map} +1 -1
  3. package/dist/components/TableList.vue.d.ts +38 -0
  4. package/dist/components/TableListForm.vue.d.ts +22 -2
  5. package/dist/components/tableListOrdering.d.ts +15 -0
  6. package/dist/{default-CRVuY_n5.js → default-xPd8Ryrk.js} +2 -2
  7. package/dist/{default-CRVuY_n5.js.map → default-xPd8Ryrk.js.map} +1 -1
  8. package/dist/{dom-6qrBul6e.js → dom-B_GpaotC.js} +2 -2
  9. package/dist/{dom-6qrBul6e.js.map → dom-B_GpaotC.js.map} +1 -1
  10. package/dist/{image-hmzxlV3I.js → image-BvG_M2nu.js} +2 -2
  11. package/dist/{image-hmzxlV3I.js.map → image-BvG_M2nu.js.map} +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.node.js +1 -1
  14. package/dist/{link-BYdAyY59.js → link-CENwKcvp.js} +2 -2
  15. package/dist/{link-BYdAyY59.js.map → link-CENwKcvp.js.map} +1 -1
  16. package/dist/{lists-KOJ-dwY-.js → lists-YVaNdPH_.js} +2 -2
  17. package/dist/{lists-KOJ-dwY-.js.map → lists-YVaNdPH_.js.map} +1 -1
  18. package/dist/{plugin-tykOOIs_.js → plugin-Bn-FKPXN.js} +519 -265
  19. package/dist/plugin-Bn-FKPXN.js.map +1 -0
  20. package/dist/{silver-D7n8oPdV.js → silver-CQ_b7DcV.js} +2 -2
  21. package/dist/{silver-D7n8oPdV.js.map → silver-CQ_b7DcV.js.map} +1 -1
  22. package/dist/styles.css +28 -0
  23. package/dist/{table-BhfoSjsB.js → table-CtaTygbd.js} +2 -2
  24. package/dist/{table-BhfoSjsB.js.map → table-CtaTygbd.js.map} +1 -1
  25. package/dist/{tinymce-Cp7JIZgZ.js → tinymce-CfYelvmr.js} +2 -2
  26. package/dist/{tinymce-Cp7JIZgZ.js.map → tinymce-CfYelvmr.js.map} +1 -1
  27. package/package.json +1 -1
  28. package/dist/plugin-tykOOIs_.js.map +0 -1
@@ -2840,18 +2840,18 @@ var _sfc_main$18 = {
2840
2840
  });
2841
2841
  };
2842
2842
  const loadTinyMce = async () => {
2843
- const tinymceModule = await import("./tinymce-Cp7JIZgZ.js").then((m) => /* @__PURE__ */ __toESM(m.default));
2843
+ const tinymceModule = await import("./tinymce-CfYelvmr.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-6qrBul6e.js"),
2848
- import("./default-CRVuY_n5.js"),
2849
- import("./silver-D7n8oPdV.js"),
2850
- import("./code-ClREReH9.js"),
2851
- import("./image-hmzxlV3I.js"),
2852
- import("./link-BYdAyY59.js"),
2853
- import("./lists-KOJ-dwY-.js"),
2854
- import("./table-BhfoSjsB.js")
2847
+ import("./dom-B_GpaotC.js"),
2848
+ import("./default-xPd8Ryrk.js"),
2849
+ import("./silver-CQ_b7DcV.js"),
2850
+ import("./code-jMjxUD3o.js"),
2851
+ import("./image-BvG_M2nu.js"),
2852
+ import("./link-CENwKcvp.js"),
2853
+ import("./lists-YVaNdPH_.js"),
2854
+ import("./table-CtaTygbd.js")
2855
2855
  ]);
2856
2856
  isEditorReady.value = true;
2857
2857
  };
@@ -2975,30 +2975,30 @@ var _hoisted_5$5 = { class: "min-w-0 flex-1" };
2975
2975
  var _hoisted_6$5 = ["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
- var _hoisted_9$1 = {
2978
+ var _hoisted_9$2 = {
2979
2979
  key: 0,
2980
2980
  class: "absolute inset-0 bg-[linear-gradient(to_right,#fff,transparent)]"
2981
2981
  };
2982
- var _hoisted_10$1 = {
2982
+ var _hoisted_10$2 = {
2983
2983
  key: 2,
2984
2984
  class: "absolute inset-0 bg-[linear-gradient(to_top,#000,transparent)]"
2985
2985
  };
2986
- var _hoisted_11$1 = { class: "space-y-3" };
2987
- var _hoisted_12 = {
2986
+ var _hoisted_11$2 = { class: "space-y-3" };
2987
+ var _hoisted_12$2 = {
2988
2988
  key: 0,
2989
2989
  class: "space-y-2"
2990
2990
  };
2991
- var _hoisted_13 = ["for"];
2992
- var _hoisted_14 = [
2991
+ var _hoisted_13$2 = ["for"];
2992
+ var _hoisted_14$1 = [
2993
2993
  "id",
2994
2994
  "disabled",
2995
2995
  "value"
2996
2996
  ];
2997
- var _hoisted_15 = {
2997
+ var _hoisted_15$1 = {
2998
2998
  key: 1,
2999
2999
  class: "space-y-2"
3000
3000
  };
3001
- var _hoisted_16 = ["for"];
3001
+ var _hoisted_16$1 = ["for"];
3002
3002
  var _hoisted_17 = [
3003
3003
  "id",
3004
3004
  "disabled",
@@ -3542,14 +3542,14 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3542
3542
  onPointerdown: _cache[0] || (_cache[0] = ($event) => beginDrag($event, updateFromSaturationPointer)),
3543
3543
  onKeydown: updateFromSaturationKey
3544
3544
  }, [
3545
- !isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_9$1)) : createCommentVNode("", true),
3546
- isRainbowVariant.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "absolute inset-x-0 top-0 h-1/2 bg-[linear-gradient(to_bottom,#fff,transparent)]" }, null, -1)), _cache[2] || (_cache[2] = createElementVNode("div", { class: "absolute inset-x-0 bottom-0 h-1/2 bg-[linear-gradient(to_bottom,transparent,#000)]" }, null, -1))], 64)) : (openBlock(), createElementBlock("div", _hoisted_10$1)),
3545
+ !isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_9$2)) : createCommentVNode("", true),
3546
+ isRainbowVariant.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "absolute inset-x-0 top-0 h-1/2 bg-[linear-gradient(to_bottom,#fff,transparent)]" }, null, -1)), _cache[2] || (_cache[2] = createElementVNode("div", { class: "absolute inset-x-0 bottom-0 h-1/2 bg-[linear-gradient(to_bottom,transparent,#000)]" }, null, -1))], 64)) : (openBlock(), createElementBlock("div", _hoisted_10$2)),
3547
3547
  createElementVNode("span", {
3548
3548
  class: normalizeClass(["pointer-events-none absolute size-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.3)]", props.ui.saturationHandle]),
3549
3549
  style: normalizeStyle(saturationHandleStyle.value)
3550
3550
  }, null, 6)
3551
3551
  ], 46, _hoisted_8$2),
3552
- createElementVNode("div", _hoisted_11$1, [!isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_12, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-hue` : void 0 }, toDisplayString(unref(t)("Hue")), 9, _hoisted_13), createElementVNode("span", null, toDisplayString(Math.round(hue.value)) + "°", 1)], 2), createElementVNode("input", {
3552
+ createElementVNode("div", _hoisted_11$2, [!isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_12$2, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-hue` : void 0 }, toDisplayString(unref(t)("Hue")), 9, _hoisted_13$2), createElementVNode("span", null, toDisplayString(Math.round(hue.value)) + "°", 1)], 2), createElementVNode("input", {
3553
3553
  id: fieldId.value ? `${fieldId.value}-hue` : void 0,
3554
3554
  type: "range",
3555
3555
  min: "0",
@@ -3560,7 +3560,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3560
3560
  value: hue.value,
3561
3561
  style: { "background": "linear-gradient(90deg, #FF0000 0%, #FFFF00 17%, #00FF00 33%, #00FFFF 50%, #0000FF 67%, #FF00FF 83%, #FF0000 100%)" },
3562
3562
  onInput: handleHueInput
3563
- }, null, 42, _hoisted_14)])) : createCommentVNode("", true), props.allowAlpha ? (openBlock(), createElementBlock("div", _hoisted_15, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-alpha` : void 0 }, toDisplayString(unref(t)("Opacity")), 9, _hoisted_16), createElementVNode("span", null, toDisplayString(opacityPercent.value) + "%", 1)], 2), createElementVNode("input", {
3563
+ }, null, 42, _hoisted_14$1)])) : createCommentVNode("", true), props.allowAlpha ? (openBlock(), createElementBlock("div", _hoisted_15$1, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-alpha` : void 0 }, toDisplayString(unref(t)("Opacity")), 9, _hoisted_16$1), createElementVNode("span", null, toDisplayString(opacityPercent.value) + "%", 1)], 2), createElementVNode("input", {
3564
3564
  id: fieldId.value ? `${fieldId.value}-alpha` : void 0,
3565
3565
  type: "range",
3566
3566
  min: "0",
@@ -5474,6 +5474,50 @@ 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 GripVertical = createLucideIcon("grip-vertical", [
5478
+ ["circle", {
5479
+ cx: "9",
5480
+ cy: "12",
5481
+ r: "1",
5482
+ key: "1vctgf"
5483
+ }],
5484
+ ["circle", {
5485
+ cx: "9",
5486
+ cy: "5",
5487
+ r: "1",
5488
+ key: "hp0tcf"
5489
+ }],
5490
+ ["circle", {
5491
+ cx: "9",
5492
+ cy: "19",
5493
+ r: "1",
5494
+ key: "fkjjf6"
5495
+ }],
5496
+ ["circle", {
5497
+ cx: "15",
5498
+ cy: "12",
5499
+ r: "1",
5500
+ key: "1tmaij"
5501
+ }],
5502
+ ["circle", {
5503
+ cx: "15",
5504
+ cy: "5",
5505
+ r: "1",
5506
+ key: "19l28e"
5507
+ }],
5508
+ ["circle", {
5509
+ cx: "15",
5510
+ cy: "19",
5511
+ r: "1",
5512
+ key: "f4zoj3"
5513
+ }]
5514
+ ]);
5515
+ /**
5516
+ * @license @lucide/vue v1.7.0 - ISC
5517
+ *
5518
+ * This source code is licensed under the ISC license.
5519
+ * See the LICENSE file in the root directory of this source tree.
5520
+ */
5477
5521
  var PanelLeftClose = createLucideIcon("panel-left-close", [
5478
5522
  ["rect", {
5479
5523
  width: "18",
@@ -5712,9 +5756,9 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5712
5756
  const emit = __emit;
5713
5757
  const panel = ref(null);
5714
5758
  const rendered = ref(false);
5759
+ const visible = ref(false);
5715
5760
  const layer = ref(0);
5716
5761
  const panelId = Symbol("slide-panel");
5717
- let closeTimer;
5718
5762
  let previouslyFocused = null;
5719
5763
  let resizeObserver;
5720
5764
  let warnedAboutPushTarget = false;
@@ -5791,7 +5835,7 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5791
5835
  return props.pushTarget;
5792
5836
  };
5793
5837
  const updatePush = () => {
5794
- if (!props.show || !rendered.value || props.mode !== "push") {
5838
+ if (!visible.value || props.mode !== "push") {
5795
5839
  removeSlidePanelPush(panelId);
5796
5840
  return;
5797
5841
  }
@@ -5814,23 +5858,23 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5814
5858
  updatePush();
5815
5859
  };
5816
5860
  const open = () => {
5817
- if (closeTimer) {
5818
- clearTimeout(closeTimer);
5819
- closeTimer = void 0;
5820
- }
5821
5861
  previouslyFocused = typeof document !== "undefined" ? document.activeElement : null;
5822
5862
  rendered.value = true;
5823
5863
  layer.value = registerSlidePanel(panelId, props.backdrop);
5824
- focusPanel();
5864
+ nextTick(() => {
5865
+ visible.value = true;
5866
+ focusPanel();
5867
+ });
5825
5868
  };
5826
5869
  const close = () => {
5827
5870
  if (!rendered.value) return;
5828
- unregisterSlidePanel(panelId, props.backdrop);
5871
+ visible.value = false;
5829
5872
  removeSlidePanelPush(panelId);
5830
- closeTimer = setTimeout(() => {
5831
- rendered.value = false;
5832
- closeTimer = void 0;
5833
- }, 200);
5873
+ };
5874
+ const finishClose = () => {
5875
+ if (props.show) return;
5876
+ rendered.value = false;
5877
+ unregisterSlidePanel(panelId, props.backdrop);
5834
5878
  if (previouslyFocused instanceof HTMLElement) previouslyFocused.focus();
5835
5879
  };
5836
5880
  const requestClose = () => {
@@ -5870,7 +5914,6 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5870
5914
  });
5871
5915
  onUnmounted(() => {
5872
5916
  document.removeEventListener("keydown", handleKeydown);
5873
- if (closeTimer) clearTimeout(closeTimer);
5874
5917
  resizeObserver?.disconnect();
5875
5918
  unregisterSlidePanel(panelId, props.backdrop);
5876
5919
  removeSlidePanelPush(panelId);
@@ -5884,13 +5927,13 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5884
5927
  "leave-from-class": "opacity-100",
5885
5928
  "leave-to-class": "opacity-0"
5886
5929
  }, {
5887
- default: withCtx(() => [rendered.value && __props.backdrop ? (openBlock(), createElementBlock("div", {
5930
+ default: withCtx(() => [rendered.value && __props.backdrop ? withDirectives((openBlock(), createElementBlock("div", {
5888
5931
  key: 0,
5889
5932
  class: "fixed inset-0 bg-neutral-950/40 backdrop-blur-[1px]",
5890
5933
  style: normalizeStyle({ zIndex: String(layer.value - 1) }),
5891
5934
  "aria-hidden": "true",
5892
5935
  onClick: requestClose
5893
- }, null, 4)) : createCommentVNode("", true)]),
5936
+ }, null, 4)), [[vShow, visible.value]]) : createCommentVNode("", true)]),
5894
5937
  _: 1
5895
5938
  }), createVNode(Transition, {
5896
5939
  "enter-active-class": "transform transition duration-200 ease-out",
@@ -5900,7 +5943,7 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5900
5943
  "leave-from-class": "translate-x-0 translate-y-0 opacity-100",
5901
5944
  "leave-to-class": `${transitionClasses.value.leaveTo} opacity-0`
5902
5945
  }, {
5903
- default: withCtx(() => [rendered.value ? (openBlock(), createElementBlock("section", {
5946
+ default: withCtx(() => [rendered.value ? withDirectives((openBlock(), createElementBlock("section", {
5904
5947
  key: 0,
5905
5948
  ref_key: "panel",
5906
5949
  ref: panel,
@@ -5908,8 +5951,9 @@ var SlidePanel_default = /* @__PURE__ */ defineComponent({
5908
5951
  style: normalizeStyle(panelStyle.value),
5909
5952
  role: "dialog",
5910
5953
  "aria-modal": __props.backdrop ? "true" : void 0,
5911
- tabindex: "-1"
5912
- }, [renderSlot(_ctx.$slots, "default")], 12, _hoisted_1$7)) : createCommentVNode("", true)]),
5954
+ tabindex: "-1",
5955
+ onAfterLeave: finishClose
5956
+ }, [renderSlot(_ctx.$slots, "default")], 44, _hoisted_1$7)), [[vShow, visible.value]]) : createCommentVNode("", true)]),
5913
5957
  _: 3
5914
5958
  }, 8, ["enter-from-class", "leave-to-class"])]);
5915
5959
  };
@@ -6154,21 +6198,74 @@ var _sfc_main$2 = {
6154
6198
  }
6155
6199
  };
6156
6200
  //#endregion
6201
+ //#region src/components/tableListOrdering.js
6202
+ var getNestedValue = (object, path) => {
6203
+ if (!path || typeof path !== "string") return object;
6204
+ return path.split(".").reduce((current, key) => current?.[key], object);
6205
+ };
6206
+ var setNestedValue = (object, path, value) => {
6207
+ if (!path || typeof path !== "string" || object == null) return;
6208
+ const keys = path.split(".");
6209
+ const lastKey = keys.pop();
6210
+ let current = object;
6211
+ for (const key of keys) {
6212
+ if (current[key] === void 0 || current[key] === null || typeof current[key] !== "object") current[key] = {};
6213
+ current = current[key];
6214
+ }
6215
+ if (lastKey !== void 0) current[lastKey] = value;
6216
+ };
6217
+ var getRowKey = (item, index, rowKey) => {
6218
+ if (typeof rowKey === "function") return rowKey(item, index) ?? `row-${index}`;
6219
+ return getNestedValue(item, rowKey) ?? `row-${index}`;
6220
+ };
6221
+ var cloneValue = (value) => {
6222
+ if (Array.isArray(value)) return value.map((entry) => cloneValue(entry));
6223
+ if (value && typeof value === "object") return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, cloneValue(entry)]));
6224
+ return value;
6225
+ };
6226
+ var reorderRows = ({ data, fromIndex, toIndex, orderField, mutateRows }) => {
6227
+ const reorderedData = mutateRows ? [...data] : data.map((item) => cloneValue(item));
6228
+ const [movedItem] = reorderedData.splice(fromIndex, 1);
6229
+ reorderedData.splice(toIndex, 0, movedItem);
6230
+ if (mutateRows) reorderedData.forEach((item, index) => setNestedValue(item, orderField, index + 1));
6231
+ return {
6232
+ data: reorderedData,
6233
+ item: movedItem,
6234
+ fromIndex,
6235
+ toIndex
6236
+ };
6237
+ };
6238
+ //#endregion
6157
6239
  //#region src/components/TableList.vue
6158
6240
  var _hoisted_1$3 = { class: "space-y-6" };
6159
- var _hoisted_2$2 = ["title"];
6160
- var _hoisted_3$2 = {
6241
+ var _hoisted_2$2 = {
6242
+ key: 0,
6243
+ 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
+ };
6245
+ var _hoisted_3$2 = ["onDragover", "onDrop"];
6246
+ var _hoisted_4$1 = {
6247
+ key: 0,
6248
+ class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
6249
+ };
6250
+ var _hoisted_5$1 = { class: "inline-flex items-center gap-1" };
6251
+ var _hoisted_6$1 = [
6252
+ "draggable",
6253
+ "aria-label",
6254
+ "onDragstart"
6255
+ ];
6256
+ var _hoisted_7$1 = ["title"];
6257
+ var _hoisted_8$1 = {
6161
6258
  key: 0,
6162
6259
  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"
6163
6260
  };
6164
- var _hoisted_4$1 = ["innerHTML"];
6165
- var _hoisted_5$1 = {
6261
+ var _hoisted_9$1 = ["innerHTML"];
6262
+ var _hoisted_10$1 = {
6166
6263
  key: 0,
6167
6264
  class: "py-12 text-center"
6168
6265
  };
6169
- var _hoisted_6$1 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
6170
- var _hoisted_7$1 = { class: "mb-2 text-lg font-semibold text-neutral-950 dark:text-neutral-50" };
6171
- var _hoisted_8$1 = { class: "mb-4 text-neutral-600 dark:text-neutral-200" };
6266
+ var _hoisted_11$1 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
6267
+ var _hoisted_12$1 = { class: "mb-2 text-lg font-semibold text-neutral-950 dark:text-neutral-50" };
6268
+ var _hoisted_13$1 = { class: "mb-4 text-neutral-600 dark:text-neutral-200" };
6172
6269
  var _sfc_main$1 = {
6173
6270
  __name: "TableList",
6174
6271
  props: {
@@ -6180,6 +6277,22 @@ var _sfc_main$1 = {
6180
6277
  type: Array,
6181
6278
  required: true
6182
6279
  },
6280
+ rowKey: {
6281
+ type: [String, Function],
6282
+ default: "id"
6283
+ },
6284
+ orderable: {
6285
+ type: Boolean,
6286
+ default: false
6287
+ },
6288
+ orderField: {
6289
+ type: String,
6290
+ default: "order"
6291
+ },
6292
+ mutateRows: {
6293
+ type: Boolean,
6294
+ default: true
6295
+ },
6183
6296
  sortField: {
6184
6297
  type: String,
6185
6298
  default: ""
@@ -6287,6 +6400,7 @@ var _sfc_main$1 = {
6287
6400
  },
6288
6401
  emits: [
6289
6402
  "sort",
6403
+ "reorder",
6290
6404
  "update:searchShowDeleted",
6291
6405
  "update:searchValue"
6292
6406
  ],
@@ -6294,6 +6408,10 @@ var _sfc_main$1 = {
6294
6408
  const slots = useSlots();
6295
6409
  const props = __props;
6296
6410
  const emit = __emit;
6411
+ const localData = ref(props.data);
6412
+ watch(() => props.data, (value) => {
6413
+ localData.value = value;
6414
+ });
6297
6415
  computed(() => !!slots.actions);
6298
6416
  const internalSearchQuery = ref("");
6299
6417
  const searchQuery = computed({
@@ -6304,9 +6422,9 @@ var _sfc_main$1 = {
6304
6422
  }
6305
6423
  });
6306
6424
  const filteredData = computed(() => {
6307
- if (props.searchMode !== "client" || !props.search || !searchQuery.value.trim()) return props.data;
6425
+ if (props.searchMode !== "client" || !props.search || !searchQuery.value.trim()) return localData.value;
6308
6426
  const query = searchQuery.value.toLowerCase().trim();
6309
- return props.data.filter((item) => {
6427
+ return localData.value.filter((item) => {
6310
6428
  return props.columns.some((column) => {
6311
6429
  if (column.searchable === false || column.slot) return false;
6312
6430
  const value = column.key.split(".").reduce((obj, key) => obj?.[key], item);
@@ -6319,6 +6437,47 @@ var _sfc_main$1 = {
6319
6437
  const resolvedSearchCount = computed(() => {
6320
6438
  return props.searchCount ?? filteredData.value.length;
6321
6439
  });
6440
+ const draggedIndex = ref(null);
6441
+ const dragOverIndex = ref(null);
6442
+ const canReorder = computed(() => {
6443
+ return props.orderable && !searchQuery.value.trim();
6444
+ });
6445
+ const startDrag = (index, event) => {
6446
+ if (!canReorder.value) {
6447
+ event.preventDefault();
6448
+ return;
6449
+ }
6450
+ draggedIndex.value = index;
6451
+ event.dataTransfer.effectAllowed = "move";
6452
+ event.dataTransfer.setData("text/plain", String(index));
6453
+ };
6454
+ const endDrag = () => {
6455
+ draggedIndex.value = null;
6456
+ dragOverIndex.value = null;
6457
+ };
6458
+ const dropRow = (toIndex, event) => {
6459
+ event.preventDefault();
6460
+ if (!canReorder.value || draggedIndex.value === null || draggedIndex.value === toIndex) {
6461
+ endDrag();
6462
+ return;
6463
+ }
6464
+ const result = reorderRows({
6465
+ data: localData.value,
6466
+ fromIndex: draggedIndex.value,
6467
+ toIndex,
6468
+ orderField: props.orderField,
6469
+ mutateRows: props.mutateRows
6470
+ });
6471
+ if (props.mutateRows) {
6472
+ props.data.splice(0, props.data.length, ...result.data);
6473
+ localData.value = props.data;
6474
+ } else localData.value = result.data;
6475
+ emit("reorder", {
6476
+ ...result,
6477
+ rowKey: getRowKey(result.item, toIndex, props.rowKey)
6478
+ });
6479
+ endDrag();
6480
+ };
6322
6481
  const sortBy = (field) => {
6323
6482
  emit("sort", field);
6324
6483
  };
@@ -6400,75 +6559,91 @@ var _sfc_main$1 = {
6400
6559
  "show-deleted-label",
6401
6560
  "search-mode",
6402
6561
  "search-fields-layout"
6403
- ])) : 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", { class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass)) }, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6404
- return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
6405
- key: 0,
6406
- field: column.key,
6407
- "current-sort-field": __props.sortField,
6408
- "current-direction": __props.sortDirection,
6409
- "header-class": getHeaderClass(column),
6410
- "header-style": getColumnWidthStyle(column),
6411
- "content-class": getContentClass(column),
6412
- onSort: sortBy
6413
- }, {
6414
- default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
6415
- _: 2
6416
- }, 1032, [
6417
- "field",
6418
- "current-sort-field",
6419
- "current-direction",
6420
- "header-class",
6421
- "header-style",
6422
- "content-class"
6423
- ])) : (openBlock(), createElementBlock("th", {
6562
+ ])) : 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", { class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass)) }, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
6563
+ __props.orderable ? (openBlock(), createElementBlock("th", _hoisted_2$2, "#")) : createCommentVNode("", true),
6564
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6565
+ return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
6566
+ key: 0,
6567
+ field: column.key,
6568
+ "current-sort-field": __props.sortField,
6569
+ "current-direction": __props.sortDirection,
6570
+ "header-class": getHeaderClass(column),
6571
+ "header-style": getColumnWidthStyle(column),
6572
+ "content-class": getContentClass(column),
6573
+ onSort: sortBy
6574
+ }, {
6575
+ default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
6576
+ _: 2
6577
+ }, 1032, [
6578
+ "field",
6579
+ "current-sort-field",
6580
+ "current-direction",
6581
+ "header-class",
6582
+ "header-style",
6583
+ "content-class"
6584
+ ])) : (openBlock(), createElementBlock("th", {
6585
+ key: 1,
6586
+ class: normalizeClass(getHeaderClass(column)),
6587
+ style: normalizeStyle(getColumnWidthStyle(column))
6588
+ }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 6))], 64);
6589
+ }), 128)),
6590
+ _ctx.$slots.actions ? (openBlock(), createElementBlock("th", {
6424
6591
  key: 1,
6425
- class: normalizeClass(getHeaderClass(column)),
6426
- style: normalizeStyle(getColumnWidthStyle(column))
6427
- }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 6))], 64);
6428
- }), 128)), _ctx.$slots.actions ? (openBlock(), createElementBlock("th", {
6429
- key: 0,
6430
- class: normalizeClass(actionHeaderClass.value)
6431
- }, toDisplayString(__props.actionsLabel), 3)) : createCommentVNode("", true)], 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) => {
6592
+ class: normalizeClass(actionHeaderClass.value)
6593
+ }, toDisplayString(__props.actionsLabel), 3)) : createCommentVNode("", true)
6594
+ ], 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) => {
6432
6595
  return openBlock(), createElementBlock("tr", {
6433
- key: item.id,
6434
- class: normalizeClass(__props.rowClasses(item, index))
6435
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6436
- return openBlock(), createElementBlock("td", {
6437
- key: column.key,
6438
- class: normalizeClass(getColumnClass(column)),
6439
- style: normalizeStyle(getColumnWidthStyle(column))
6440
- }, [column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", {
6441
- key: 0,
6442
- class: normalizeClass(joinClasses("flex items-center", getContentClass(column)))
6443
- }, [createElementVNode("div", {
6444
- class: "truncate text-sm font-medium text-neutral-950 dark:text-neutral-50",
6445
- title: getCellContent(item, column)
6446
- }, toDisplayString(getCellContent(item, column)), 9, _hoisted_2$2), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_3$2, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)], 2)) : column.slot ? (openBlock(), createElementBlock("div", {
6596
+ key: unref(getRowKey)(item, index, __props.rowKey),
6597
+ class: normalizeClass(joinClasses(__props.rowClasses(item, index), dragOverIndex.value === index ? "ring-2 ring-inset ring-neutral-400 dark:ring-neutral-500" : "")),
6598
+ onDragover: withModifiers(($event) => canReorder.value && (dragOverIndex.value = index), ["prevent"]),
6599
+ onDrop: ($event) => dropRow(index, $event)
6600
+ }, [
6601
+ __props.orderable ? (openBlock(), createElementBlock("td", _hoisted_4$1, [createElementVNode("span", _hoisted_5$1, [createElementVNode("span", {
6602
+ draggable: canReorder.value,
6603
+ class: "cursor-grab touch-none active:cursor-grabbing",
6604
+ "aria-label": `Drag row ${index + 1}`,
6605
+ onDragstart: ($event) => startDrag(index, $event),
6606
+ onDragend: endDrag
6607
+ }, [createVNode(unref(GripVertical), { class: "size-4" })], 40, _hoisted_6$1), createElementVNode("span", null, toDisplayString(index + 1), 1)])])) : createCommentVNode("", true),
6608
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6609
+ return openBlock(), createElementBlock("td", {
6610
+ key: column.key,
6611
+ class: normalizeClass(getColumnClass(column)),
6612
+ style: normalizeStyle(getColumnWidthStyle(column))
6613
+ }, [column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", {
6614
+ key: 0,
6615
+ class: normalizeClass(joinClasses("flex items-center", getContentClass(column)))
6616
+ }, [createElementVNode("div", {
6617
+ class: "truncate text-sm font-medium text-neutral-950 dark:text-neutral-50",
6618
+ title: getCellContent(item, column)
6619
+ }, toDisplayString(getCellContent(item, column)), 9, _hoisted_7$1), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_8$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)], 2)) : column.slot ? (openBlock(), createElementBlock("div", {
6620
+ key: 1,
6621
+ class: normalizeClass(getContentClass(column))
6622
+ }, [renderSlot(_ctx.$slots, column.slot, {
6623
+ item,
6624
+ column,
6625
+ index
6626
+ })], 2)) : column.render ? (openBlock(), createElementBlock("div", {
6627
+ key: 2,
6628
+ class: normalizeClass(getContentClass(column)),
6629
+ innerHTML: column.render(item)
6630
+ }, null, 10, _hoisted_9$1)) : (openBlock(), createElementBlock("div", {
6631
+ key: 3,
6632
+ class: normalizeClass(getContentClass(column))
6633
+ }, toDisplayString(getCellContent(item, column)), 3))], 6);
6634
+ }), 128)),
6635
+ _ctx.$slots.actions ? (openBlock(), createElementBlock("td", {
6447
6636
  key: 1,
6448
- class: normalizeClass(getContentClass(column))
6449
- }, [renderSlot(_ctx.$slots, column.slot, {
6637
+ class: normalizeClass(actionCellClass.value)
6638
+ }, [renderSlot(_ctx.$slots, "actions", {
6450
6639
  item,
6451
- column,
6452
6640
  index
6453
- })], 2)) : column.render ? (openBlock(), createElementBlock("div", {
6454
- key: 2,
6455
- class: normalizeClass(getContentClass(column)),
6456
- innerHTML: column.render(item)
6457
- }, null, 10, _hoisted_4$1)) : (openBlock(), createElementBlock("div", {
6458
- key: 3,
6459
- class: normalizeClass(getContentClass(column))
6460
- }, toDisplayString(getCellContent(item, column)), 3))], 6);
6461
- }), 128)), _ctx.$slots.actions ? (openBlock(), createElementBlock("td", {
6462
- key: 0,
6463
- class: normalizeClass(actionCellClass.value)
6464
- }, [renderSlot(_ctx.$slots, "actions", {
6465
- item,
6466
- index
6467
- })], 2)) : createCommentVNode("", true)], 2);
6468
- }), 128))], 2)], 2)], 2), !hasData.value ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
6469
- createElementVNode("div", _hoisted_6$1, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
6470
- createElementVNode("h3", _hoisted_7$1, toDisplayString(__props.emptyState.title), 1),
6471
- createElementVNode("p", _hoisted_8$1, toDisplayString(__props.emptyState.description), 1),
6641
+ })], 2)) : createCommentVNode("", true)
6642
+ ], 42, _hoisted_3$2);
6643
+ }), 128))], 2)], 2)], 2), !hasData.value ? (openBlock(), createElementBlock("div", _hoisted_10$1, [
6644
+ createElementVNode("div", _hoisted_11$1, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
6645
+ createElementVNode("h3", _hoisted_12$1, toDisplayString(__props.emptyState.title), 1),
6646
+ createElementVNode("p", _hoisted_13$1, toDisplayString(__props.emptyState.description), 1),
6472
6647
  __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$6, {
6473
6648
  key: 0,
6474
6649
  href: __props.emptyState.actionUrl,
@@ -6484,25 +6659,40 @@ var _sfc_main$1 = {
6484
6659
  //#endregion
6485
6660
  //#region src/components/TableListForm.vue
6486
6661
  var _hoisted_1$2 = {
6662
+ key: 0,
6663
+ class: "w-10 px-2 py-3 text-center text-xs font-medium uppercase tracking-wider text-neutral-500 dark:text-neutral-200"
6664
+ };
6665
+ var _hoisted_2$1 = ["onDragover", "onDrop"];
6666
+ var _hoisted_3$1 = {
6667
+ key: 0,
6668
+ class: "w-10 whitespace-nowrap px-2 py-4 text-center text-sm text-neutral-500 dark:text-neutral-400"
6669
+ };
6670
+ var _hoisted_4 = { class: "inline-flex items-center gap-1" };
6671
+ var _hoisted_5 = [
6672
+ "draggable",
6673
+ "aria-label",
6674
+ "onDragstart"
6675
+ ];
6676
+ var _hoisted_6 = {
6487
6677
  key: 2,
6488
6678
  class: "flex items-center"
6489
6679
  };
6490
- var _hoisted_2$1 = ["title"];
6491
- var _hoisted_3$1 = {
6680
+ var _hoisted_7 = ["title"];
6681
+ var _hoisted_8 = {
6492
6682
  key: 0,
6493
6683
  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"
6494
6684
  };
6495
- var _hoisted_4 = ["innerHTML"];
6496
- var _hoisted_5 = { key: 5 };
6497
- var _hoisted_6 = { class: "flex items-center justify-end gap-2" };
6498
- var _hoisted_7 = ["colspan"];
6499
- var _hoisted_8 = {
6685
+ var _hoisted_9 = ["innerHTML"];
6686
+ var _hoisted_10 = { key: 5 };
6687
+ var _hoisted_11 = { class: "flex items-center justify-end gap-2" };
6688
+ var _hoisted_12 = ["colspan"];
6689
+ var _hoisted_13 = {
6500
6690
  key: 2,
6501
6691
  class: "py-12 text-center"
6502
6692
  };
6503
- var _hoisted_9 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
6504
- var _hoisted_10 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
6505
- var _hoisted_11 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
6693
+ var _hoisted_14 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
6694
+ var _hoisted_15 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
6695
+ var _hoisted_16 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
6506
6696
  var _sfc_main = {
6507
6697
  __name: "TableListForm",
6508
6698
  props: {
@@ -6644,11 +6834,20 @@ var _sfc_main = {
6644
6834
  expandedCellClass: {
6645
6835
  type: String,
6646
6836
  default: "p-0"
6837
+ },
6838
+ orderable: {
6839
+ type: Boolean,
6840
+ default: false
6841
+ },
6842
+ orderField: {
6843
+ type: String,
6844
+ default: "order"
6647
6845
  }
6648
6846
  },
6649
6847
  emits: [
6650
6848
  "sort",
6651
6849
  "update",
6850
+ "reorder",
6652
6851
  "update:editingRowKey",
6653
6852
  "edit-start",
6654
6853
  "edit-cancel",
@@ -6660,6 +6859,7 @@ var _sfc_main = {
6660
6859
  const emit = __emit;
6661
6860
  const localSortField = ref(props.sortField);
6662
6861
  const localSortDirection = ref(props.sortDirection);
6862
+ const localData = ref(props.data);
6663
6863
  const internalSearchQuery = ref("");
6664
6864
  const searchQuery = computed({
6665
6865
  get: () => props.searchValue ?? internalSearchQuery.value,
@@ -6673,6 +6873,50 @@ var _sfc_main = {
6673
6873
  const resolvedEditingRowKey = computed(() => {
6674
6874
  return props.editingRowKey !== void 0 ? props.editingRowKey : internalEditingRowKey.value;
6675
6875
  });
6876
+ watch(() => props.data, (value) => {
6877
+ localData.value = value;
6878
+ });
6879
+ const draggedIndex = ref(null);
6880
+ const dragOverIndex = ref(null);
6881
+ const canReorder = computed(() => {
6882
+ return props.orderable && !searchQuery.value.trim() && !localSortField.value;
6883
+ });
6884
+ const startDrag = (index, event) => {
6885
+ if (!canReorder.value) {
6886
+ event.preventDefault();
6887
+ return;
6888
+ }
6889
+ draggedIndex.value = index;
6890
+ event.dataTransfer.effectAllowed = "move";
6891
+ event.dataTransfer.setData("text/plain", String(index));
6892
+ };
6893
+ const endDrag = () => {
6894
+ draggedIndex.value = null;
6895
+ dragOverIndex.value = null;
6896
+ };
6897
+ const dropRow = (toIndex, event) => {
6898
+ event.preventDefault();
6899
+ if (!canReorder.value || draggedIndex.value === null || draggedIndex.value === toIndex) {
6900
+ endDrag();
6901
+ return;
6902
+ }
6903
+ const result = reorderRows({
6904
+ data: localData.value,
6905
+ fromIndex: draggedIndex.value,
6906
+ toIndex,
6907
+ orderField: props.orderField,
6908
+ mutateRows: props.mutateRows
6909
+ });
6910
+ if (props.mutateRows) {
6911
+ props.data.splice(0, props.data.length, ...result.data);
6912
+ localData.value = props.data;
6913
+ } else localData.value = result.data;
6914
+ emit("reorder", {
6915
+ ...result,
6916
+ rowKey: getRowKey(result.item, toIndex, props.rowKey)
6917
+ });
6918
+ endDrag();
6919
+ };
6676
6920
  watch(() => props.sortField, (value) => {
6677
6921
  localSortField.value = value;
6678
6922
  });
@@ -6688,21 +6932,21 @@ var _sfc_main = {
6688
6932
  editingDraft.value = {};
6689
6933
  return;
6690
6934
  }
6691
- const activeItem = props.data.find((item, index) => getRowKey(item, index) === nextKey);
6935
+ const activeItem = props.data.find((item, index) => getRowKey$1(item, index) === nextKey);
6692
6936
  editingDraft.value = activeItem ? cloneValue(activeItem) : {};
6693
6937
  });
6694
6938
  watch(() => props.data, () => {
6695
6939
  if (resolvedEditingRowKey.value === null || resolvedEditingRowKey.value === void 0) return;
6696
- if (!props.data.find((item, index) => getRowKey(item, index) === resolvedEditingRowKey.value)) resetEditState();
6940
+ if (!props.data.find((item, index) => getRowKey$1(item, index) === resolvedEditingRowKey.value)) resetEditState();
6697
6941
  }, { deep: true });
6698
6942
  const sortedData = computed(() => {
6699
- let filteredData = props.data;
6943
+ let filteredData = localData.value;
6700
6944
  if (props.searchMode === "client" && props.search && searchQuery.value.trim()) {
6701
6945
  const query = searchQuery.value.toLowerCase().trim();
6702
- filteredData = props.data.filter((item) => {
6946
+ filteredData = localData.value.filter((item) => {
6703
6947
  return props.columns.some((column) => {
6704
6948
  if (!column.searchable) return false;
6705
- const value = getNestedValue(item, column.key);
6949
+ const value = getNestedValue$1(item, column.key);
6706
6950
  if (value === null || value === void 0 || value === "") return false;
6707
6951
  return String(value).toLowerCase().includes(query);
6708
6952
  });
@@ -6710,8 +6954,8 @@ var _sfc_main = {
6710
6954
  }
6711
6955
  if (!localSortField.value) return filteredData;
6712
6956
  return [...filteredData].sort((a, b) => {
6713
- const aValue = getNestedValue(a, localSortField.value);
6714
- const bValue = getNestedValue(b, localSortField.value);
6957
+ const aValue = getNestedValue$1(a, localSortField.value);
6958
+ const bValue = getNestedValue$1(b, localSortField.value);
6715
6959
  if (aValue === null || aValue === void 0 || aValue === "") return 1;
6716
6960
  if (bValue === null || bValue === void 0 || bValue === "") return -1;
6717
6961
  let comparison = 0;
@@ -6753,28 +6997,20 @@ var _sfc_main = {
6753
6997
  if (!Number.isFinite(maxLength) || maxLength <= 0 || stringValue.length <= maxLength) return stringValue;
6754
6998
  return `${stringValue.slice(0, maxLength)}...`;
6755
6999
  };
6756
- const getNestedValue = (obj, path) => {
7000
+ const getNestedValue$1 = (obj, path) => {
6757
7001
  if (!path || typeof path !== "string") return obj;
6758
- return path.split(".").reduce((current, key) => current?.[key], obj);
7002
+ return getNestedValue(obj, path);
6759
7003
  };
6760
- const setNestedValue = (obj, path, value) => {
7004
+ const setNestedValue$1 = (obj, path, value) => {
6761
7005
  if (!path || typeof path !== "string" || obj == null) return;
6762
- const keys = path.split(".");
6763
- const lastKey = keys.pop();
6764
- let current = obj;
6765
- for (const key of keys) {
6766
- if (current[key] === void 0 || current[key] === null || typeof current[key] !== "object") current[key] = {};
6767
- current = current[key];
6768
- }
6769
- if (lastKey !== void 0) current[lastKey] = value;
7006
+ setNestedValue(obj, path, value);
6770
7007
  };
6771
7008
  const getDataIndex = (item) => {
6772
- if (item?.id) return props.data.findIndex((row) => row?.id === item.id);
6773
- return props.data.findIndex((row) => row === item);
7009
+ if (item?.id) return localData.value.findIndex((row) => row?.id === item.id);
7010
+ return localData.value.findIndex((row) => row === item);
6774
7011
  };
6775
- const getRowKey = (item, index) => {
6776
- if (typeof props.rowKey === "function") return props.rowKey(item, index) ?? `row-${index}`;
6777
- return getNestedValue(item, props.rowKey) ?? `row-${index}`;
7012
+ const getRowKey$1 = (item, index) => {
7013
+ return getRowKey(item, index, props.rowKey);
6778
7014
  };
6779
7015
  const getEditSlotName = (column) => `${column.slot}-edit`;
6780
7016
  const isDeleted = (item) => props.isDeletedFn(item);
@@ -6783,7 +7019,7 @@ var _sfc_main = {
6783
7019
  emit("update:editingRowKey", value);
6784
7020
  };
6785
7021
  const isEditingRow = (item, index) => {
6786
- return props.rowEditing && resolvedEditingRowKey.value !== null && resolvedEditingRowKey.value === getRowKey(item, index);
7022
+ return props.rowEditing && resolvedEditingRowKey.value !== null && resolvedEditingRowKey.value === getRowKey$1(item, index);
6787
7023
  };
6788
7024
  const isRowEditDisabled = (item, index) => {
6789
7025
  if (!props.rowEditing) return true;
@@ -6795,7 +7031,7 @@ var _sfc_main = {
6795
7031
  };
6796
7032
  const startEdit = (item, index) => {
6797
7033
  if (isRowEditDisabled(item, index)) return;
6798
- const rowKey = getRowKey(item, index);
7034
+ const rowKey = getRowKey$1(item, index);
6799
7035
  setEditingRowKey(rowKey);
6800
7036
  emit("edit-start", {
6801
7037
  item,
@@ -6807,13 +7043,13 @@ var _sfc_main = {
6807
7043
  emit("edit-cancel", {
6808
7044
  item,
6809
7045
  index: getDataIndex(item),
6810
- rowKey: getRowKey(item, index)
7046
+ rowKey: getRowKey$1(item, index)
6811
7047
  });
6812
7048
  resetEditState();
6813
7049
  };
6814
7050
  const updateDraft = (field, value, item, eventName = void 0) => {
6815
- setNestedValue(editingDraft.value, field, value);
6816
- if (props.mutateRows) setNestedValue(item, field, cloneValue(value));
7051
+ setNestedValue$1(editingDraft.value, field, value);
7052
+ if (props.mutateRows) setNestedValue$1(item, field, cloneValue(value));
6817
7053
  emit("update", {
6818
7054
  item,
6819
7055
  draft: editingDraft.value,
@@ -6827,7 +7063,7 @@ var _sfc_main = {
6827
7063
  const getCellContent = (item, column) => {
6828
7064
  if (column.slot) return null;
6829
7065
  if (column.render) return column.render(item);
6830
- const value = getNestedValue(item, column.key);
7066
+ const value = getNestedValue$1(item, column.key);
6831
7067
  if (value === null || value === void 0 || value === "") return "-";
6832
7068
  return truncateText(value);
6833
7069
  };
@@ -6852,8 +7088,8 @@ var _sfc_main = {
6852
7088
  };
6853
7089
  const getInputPlaceholder = (column) => column.placeholder || column.label || "";
6854
7090
  const getInputValue = (item, column, index) => {
6855
- if (isEditingRow(item, index)) return getNestedValue(editingDraft.value, column.key) ?? "";
6856
- return getNestedValue(item, column.key) ?? "";
7091
+ if (isEditingRow(item, index)) return getNestedValue$1(editingDraft.value, column.key) ?? "";
7092
+ return getNestedValue$1(item, column.key) ?? "";
6857
7093
  };
6858
7094
  const getColumnError = (item, column) => {
6859
7095
  const arrayIndex = getDataIndex(item);
@@ -6866,7 +7102,7 @@ var _sfc_main = {
6866
7102
  index,
6867
7103
  isEditing: isEditingRow(item, index),
6868
7104
  draft: editingDraft.value,
6869
- rowKey: getRowKey(item, index),
7105
+ rowKey: getRowKey$1(item, index),
6870
7106
  updateDraft: (field, value) => updateDraft(field, value, item),
6871
7107
  startEdit: () => startEdit(item, index),
6872
7108
  cancelEdit: () => cancelEdit(item, index)
@@ -6897,128 +7133,146 @@ var _sfc_main = {
6897
7133
  }, 8, ["model-value", "placeholder"])], 2)) : createCommentVNode("", true), hasData.value ? (openBlock(), createElementBlock("div", {
6898
7134
  key: 1,
6899
7135
  class: normalizeClass(["overflow-x-auto", __props.isCard ? __props.search ? "" : "rounded-t-xl" : ""])
6900
- }, [createElementVNode("table", { class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass)) }, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50 dark:bg-neutral-900", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6901
- return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
6902
- key: 0,
6903
- field: column.key,
6904
- "current-sort-field": localSortField.value,
6905
- "current-direction": localSortDirection.value,
6906
- "header-class": getHeaderClass(column),
6907
- "header-style": getColumnWidthStyle(column),
6908
- "content-class": getContentClass(column),
6909
- onSort: sortBy
6910
- }, {
6911
- default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
6912
- _: 2
6913
- }, 1032, [
6914
- "field",
6915
- "current-sort-field",
6916
- "current-direction",
6917
- "header-class",
6918
- "header-style",
6919
- "content-class"
6920
- ])) : (openBlock(), createElementBlock("th", {
6921
- key: 1,
6922
- class: normalizeClass(getHeaderClass(column)),
6923
- style: normalizeStyle(getColumnWidthStyle(column))
6924
- }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 6))], 64);
6925
- }), 128)), hasActionsColumn.value ? (openBlock(), createElementBlock("th", {
6926
- key: 0,
6927
- class: normalizeClass(actionHeaderClass.value)
6928
- }, toDisplayString(__props.actionsLabel), 3)) : createCommentVNode("", true)], 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) => {
6929
- return openBlock(), createElementBlock(Fragment, { key: getRowKey(item, index) }, [createElementVNode("tr", { class: normalizeClass(__props.rowClasses(item, index)) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
6930
- return openBlock(), createElementBlock("td", {
6931
- key: column.key,
6932
- class: normalizeClass(getColumnClass(column, item, index)),
7136
+ }, [createElementVNode("table", { class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass)) }, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50 dark:bg-neutral-900", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [
7137
+ __props.orderable ? (openBlock(), createElementBlock("th", _hoisted_1$2, "#")) : createCommentVNode("", true),
7138
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
7139
+ return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
7140
+ key: 0,
7141
+ field: column.key,
7142
+ "current-sort-field": localSortField.value,
7143
+ "current-direction": localSortDirection.value,
7144
+ "header-class": getHeaderClass(column),
7145
+ "header-style": getColumnWidthStyle(column),
7146
+ "content-class": getContentClass(column),
7147
+ onSort: sortBy
7148
+ }, {
7149
+ default: withCtx(() => [createTextVNode(toDisplayString(column.label), 1)]),
7150
+ _: 2
7151
+ }, 1032, [
7152
+ "field",
7153
+ "current-sort-field",
7154
+ "current-direction",
7155
+ "header-class",
7156
+ "header-style",
7157
+ "content-class"
7158
+ ])) : (openBlock(), createElementBlock("th", {
7159
+ key: 1,
7160
+ class: normalizeClass(getHeaderClass(column)),
6933
7161
  style: normalizeStyle(getColumnWidthStyle(column))
6934
- }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, [isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
7162
+ }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, toDisplayString(column.label), 3)], 6))], 64);
7163
+ }), 128)),
7164
+ hasActionsColumn.value ? (openBlock(), createElementBlock("th", {
7165
+ key: 1,
7166
+ class: normalizeClass(actionHeaderClass.value)
7167
+ }, toDisplayString(__props.actionsLabel), 3)) : createCommentVNode("", true)
7168
+ ], 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) => {
7169
+ return openBlock(), createElementBlock(Fragment, { key: getRowKey$1(item, index) }, [createElementVNode("tr", {
7170
+ class: normalizeClass(joinClasses(__props.rowClasses(item, index), dragOverIndex.value === index ? "ring-2 ring-inset ring-neutral-400 dark:ring-neutral-500" : "")),
7171
+ onDragover: withModifiers(($event) => canReorder.value && (dragOverIndex.value = index), ["prevent"]),
7172
+ onDrop: ($event) => dropRow(index, $event)
7173
+ }, [
7174
+ __props.orderable ? (openBlock(), createElementBlock("td", _hoisted_3$1, [createElementVNode("span", _hoisted_4, [createElementVNode("span", {
7175
+ draggable: canReorder.value,
7176
+ class: "cursor-grab touch-none active:cursor-grabbing",
7177
+ "aria-label": `Drag row ${index + 1}`,
7178
+ onDragstart: ($event) => startDrag(index, $event),
7179
+ onDragend: endDrag
7180
+ }, [createVNode(unref(GripVertical), { class: "size-4" })], 40, _hoisted_5), createElementVNode("span", null, toDisplayString(index + 1), 1)])])) : createCommentVNode("", true),
7181
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
7182
+ return openBlock(), createElementBlock("td", {
7183
+ key: column.key,
7184
+ class: normalizeClass(getColumnClass(column, item, index)),
7185
+ style: normalizeStyle(getColumnWidthStyle(column))
7186
+ }, [createElementVNode("div", { class: normalizeClass(getContentClass(column)) }, [isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
7187
+ key: 0,
7188
+ ref_for: true
7189
+ }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$16, {
7190
+ key: 1,
7191
+ type: getInputType(column),
7192
+ class: normalizeClass(getInputClass(column)),
7193
+ placeholder: getInputPlaceholder(column),
7194
+ "model-value": getInputValue(item, column, index),
7195
+ disabled: resolveColumnDisabled(column, item, index),
7196
+ maxlength: column.maxlength,
7197
+ "error-message": getColumnError(item, column),
7198
+ "helper-text": "",
7199
+ "onUpdate:modelValue": (value) => updateDraft(column.key, value, item),
7200
+ onBlur: (event) => updateDraft(column.key, event?.target?.value ?? getInputValue(item, column, index), item, "blur")
7201
+ }, null, 8, [
7202
+ "type",
7203
+ "class",
7204
+ "placeholder",
7205
+ "model-value",
7206
+ "disabled",
7207
+ "maxlength",
7208
+ "error-message",
7209
+ "onUpdate:modelValue",
7210
+ "onBlur"
7211
+ ])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_6, [createElementVNode("div", {
7212
+ class: "text-sm font-medium truncate",
7213
+ title: getCellContent(item, column)
7214
+ }, toDisplayString(getCellContent(item, column)), 9, _hoisted_7), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)])) : column.slot ? renderSlot(_ctx.$slots, column.slot, mergeProps({
7215
+ key: 3,
7216
+ ref_for: true
7217
+ }, getSlotBindings(item, column, index))) : column.render ? (openBlock(), createElementBlock("div", {
7218
+ key: 4,
7219
+ innerHTML: column.render(item)
7220
+ }, null, 8, _hoisted_9)) : (openBlock(), createElementBlock("div", _hoisted_10, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
7221
+ }), 128)),
7222
+ hasActionsColumn.value ? (openBlock(), createElementBlock("td", {
7223
+ key: 1,
7224
+ class: normalizeClass(actionCellClass.value)
7225
+ }, [createElementVNode("div", _hoisted_11, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
6935
7226
  key: 0,
6936
7227
  ref_for: true
6937
- }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$16, {
7228
+ }, getSlotBindings(item, null, index))) : createCommentVNode("", true), __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$32, {
6938
7229
  key: 1,
6939
- type: getInputType(column),
6940
- class: normalizeClass(getInputClass(column)),
6941
- placeholder: getInputPlaceholder(column),
6942
- "model-value": getInputValue(item, column, index),
6943
- disabled: resolveColumnDisabled(column, item, index),
6944
- maxlength: column.maxlength,
6945
- "error-message": getColumnError(item, column),
6946
- "helper-text": "",
6947
- "onUpdate:modelValue": (value) => updateDraft(column.key, value, item),
6948
- onBlur: (event) => updateDraft(column.key, event?.target?.value ?? getInputValue(item, column, index), item, "blur")
6949
- }, null, 8, [
6950
- "type",
6951
- "class",
6952
- "placeholder",
6953
- "model-value",
7230
+ type: "button",
7231
+ variant: "outline",
7232
+ size: "icon",
7233
+ title: __props.cancelLabel,
7234
+ "aria-label": __props.cancelLabel,
7235
+ onClick: ($event) => cancelEdit(item, index)
7236
+ }, {
7237
+ default: withCtx(() => [createVNode(unref(CheckIcon), { class: "size-4" })]),
7238
+ _: 1
7239
+ }, 8, [
7240
+ "title",
7241
+ "aria-label",
7242
+ "onClick"
7243
+ ])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$32, {
7244
+ key: 2,
7245
+ type: "button",
7246
+ variant: "secondary",
7247
+ size: "icon",
7248
+ disabled: isRowEditDisabled(item, index),
7249
+ title: __props.editLabel,
7250
+ "aria-label": __props.editLabel,
7251
+ onClick: ($event) => startEdit(item, index)
7252
+ }, {
7253
+ default: withCtx(() => [createVNode(unref(PencilSquareIcon), { class: "size-4" })]),
7254
+ _: 1
7255
+ }, 8, [
6954
7256
  "disabled",
6955
- "maxlength",
6956
- "error-message",
6957
- "onUpdate:modelValue",
6958
- "onBlur"
6959
- ])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_1$2, [createElementVNode("div", {
6960
- class: "text-sm font-medium truncate",
6961
- title: getCellContent(item, column)
6962
- }, toDisplayString(getCellContent(item, column)), 9, _hoisted_2$1), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)])) : column.slot ? renderSlot(_ctx.$slots, column.slot, mergeProps({
6963
- key: 3,
6964
- ref_for: true
6965
- }, getSlotBindings(item, column, index))) : column.render ? (openBlock(), createElementBlock("div", {
6966
- key: 4,
6967
- innerHTML: column.render(item)
6968
- }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
6969
- }), 128)), hasActionsColumn.value ? (openBlock(), createElementBlock("td", {
6970
- key: 0,
6971
- class: normalizeClass(actionCellClass.value)
6972
- }, [createElementVNode("div", _hoisted_6, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
6973
- key: 0,
6974
- ref_for: true
6975
- }, getSlotBindings(item, null, index))) : createCommentVNode("", true), __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$32, {
6976
- key: 1,
6977
- type: "button",
6978
- variant: "outline",
6979
- size: "icon",
6980
- title: __props.cancelLabel,
6981
- "aria-label": __props.cancelLabel,
6982
- onClick: ($event) => cancelEdit(item, index)
6983
- }, {
6984
- default: withCtx(() => [createVNode(unref(CheckIcon), { class: "size-4" })]),
6985
- _: 1
6986
- }, 8, [
6987
- "title",
6988
- "aria-label",
6989
- "onClick"
6990
- ])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$32, {
6991
- key: 2,
6992
- type: "button",
6993
- variant: "secondary",
6994
- size: "icon",
6995
- disabled: isRowEditDisabled(item, index),
6996
- title: __props.editLabel,
6997
- "aria-label": __props.editLabel,
6998
- onClick: ($event) => startEdit(item, index)
6999
- }, {
7000
- default: withCtx(() => [createVNode(unref(PencilSquareIcon), { class: "size-4" })]),
7001
- _: 1
7002
- }, 8, [
7003
- "disabled",
7004
- "title",
7005
- "aria-label",
7006
- "onClick"
7007
- ])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)], 2), hasExpandedRow.value && __props.expandedRowKey === getRowKey(item, index) ? (openBlock(), createElementBlock("tr", {
7257
+ "title",
7258
+ "aria-label",
7259
+ "onClick"
7260
+ ])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)
7261
+ ], 42, _hoisted_2$1), hasExpandedRow.value && __props.expandedRowKey === getRowKey$1(item, index) ? (openBlock(), createElementBlock("tr", {
7008
7262
  key: 0,
7009
7263
  class: normalizeClass(__props.expandedRowClass)
7010
7264
  }, [createElementVNode("td", {
7011
- colspan: __props.columns.length + (hasActionsColumn.value ? 1 : 0),
7265
+ colspan: __props.columns.length + (hasActionsColumn.value ? 1 : 0) + (__props.orderable ? 1 : 0),
7012
7266
  class: normalizeClass(__props.expandedCellClass)
7013
7267
  }, [renderSlot(_ctx.$slots, "expanded-row", {
7014
7268
  item,
7015
7269
  index,
7016
- rowKey: getRowKey(item, index)
7017
- })], 10, _hoisted_7)], 2)) : createCommentVNode("", true)], 64);
7018
- }), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div", _hoisted_8, [
7019
- createElementVNode("div", _hoisted_9, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
7020
- createElementVNode("h3", _hoisted_10, toDisplayString(__props.emptyState.title), 1),
7021
- createElementVNode("p", _hoisted_11, toDisplayString(__props.emptyState.description), 1),
7270
+ rowKey: getRowKey$1(item, index)
7271
+ })], 10, _hoisted_12)], 2)) : createCommentVNode("", true)], 64);
7272
+ }), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div", _hoisted_13, [
7273
+ createElementVNode("div", _hoisted_14, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
7274
+ createElementVNode("h3", _hoisted_15, toDisplayString(__props.emptyState.title), 1),
7275
+ createElementVNode("p", _hoisted_16, toDisplayString(__props.emptyState.description), 1),
7022
7276
  __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$6, {
7023
7277
  key: 0,
7024
7278
  href: __props.emptyState.actionUrl,
@@ -7218,4 +7472,4 @@ var plugin_default = { install(app) {
7218
7472
  //#endregion
7219
7473
  export { _sfc_main$34 as $, _sfc_main$11 as A, _sfc_main$21 as B, useSidebar as C, _sfc_main$8 as D, _sfc_main$7 as E, _sfc_main$16 as F, _sfc_main$26 as G, _sfc_main$23 as H, ColorPicker_default as I, _sfc_main$29 as J, _sfc_main$27 as K, _sfc_main$18 as L, _sfc_main$13 as M, _sfc_main$14 as N, _sfc_main$9 as O, _sfc_main$15 as P, _sfc_main$33 as Q, _sfc_main$19 as R, Sidebar_default as S, _sfc_main$6 as T, DateRangeInput_default as U, _sfc_main$22 as V, DateInput_default as W, _sfc_main$31 as X, _sfc_main$30 as Y, _sfc_main$32 as Z, SidebarGroupLabel_default as _, _sfc_main$1 as a, _sfc_main$40 as at, SidebarFooter_default as b, _sfc_main$4 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$39 as it, _sfc_main$12 as j, _sfc_main$10 as k, SlidePanel_default as l, SidebarMenu_default as m, ToastContainer_default as n, _sfc_main$37 as nt, _sfc_main$2 as o, __commonJSMin as ot, SidebarMenuButton_default as p, _sfc_main$28 as q, Toast_default as r, _sfc_main$38 as rt, _sfc_main$3 as s, plugin_default as t, _sfc_main$36 as tt, SidebarTrigger_default as u, SidebarGroupContent_default as v, _sfc_main$5 as w, SidebarContent_default as x, SidebarGroup_default as y, _sfc_main$20 as z };
7220
7474
 
7221
- //# sourceMappingURL=plugin-tykOOIs_.js.map
7475
+ //# sourceMappingURL=plugin-Bn-FKPXN.js.map