vlite3 1.4.31 → 1.4.33

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 (102) hide show
  1. package/components/Accordion/Accordion.vue.js +19 -16
  2. package/components/Accordion/AccordionContent.vue.js +2 -2
  3. package/components/Accordion/AccordionItem.vue.js +38 -36
  4. package/components/CategoryManager/CategoryManager.vue2.js +4 -3
  5. package/components/CategoryManager/CategoryNode.vue.js +30 -30
  6. package/components/CategoryMenu/CategoryMenu.vue.js +9 -11
  7. package/components/Chart/GanttChart.vue.d.ts +18 -2
  8. package/components/Chart/GanttChart.vue.js +1 -1
  9. package/components/Chart/GanttChart.vue2.js +1347 -604
  10. package/components/Chart/GanttChartConnectorRouting.d.ts +83 -0
  11. package/components/Chart/GanttChartConnectorRouting.js +405 -0
  12. package/components/Chart/GanttChartDateUtils.d.ts +38 -0
  13. package/components/Chart/GanttChartDateUtils.js +79 -0
  14. package/components/Chart/GanttChartDependencyUtils.d.ts +92 -0
  15. package/components/Chart/GanttChartDependencyUtils.js +109 -0
  16. package/components/Chart/GanttChartResizePreviewUtils.d.ts +52 -0
  17. package/components/Chart/GanttChartResizePreviewUtils.js +53 -0
  18. package/components/Chart/GanttChartTooltipUtils.d.ts +41 -0
  19. package/components/Chart/GanttChartTooltipUtils.js +63 -0
  20. package/components/Chart/index.d.ts +3 -1
  21. package/components/Chart/types.d.ts +92 -2
  22. package/components/Chart/types.js +8 -0
  23. package/components/ColorPicker/ColorIro.vue2.js +155 -0
  24. package/components/ColorPicker/ColorIro.vue3.js +2 -2
  25. package/components/ColorPicker/ColorPicker.vue.d.ts +5 -0
  26. package/components/ColorPicker/ColorPicker.vue.js +111 -65
  27. package/components/ColorPicker/constants.d.ts +2 -0
  28. package/components/ColorPicker/constants.js +4 -0
  29. package/components/ColorPicker/index.d.ts +1 -0
  30. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  31. package/components/CommandPalette/{CommandPaletteItem.vue.js → CommandPaletteItem.vue2.js} +1 -1
  32. package/components/Dropdown/Dropdown.vue.js +100 -97
  33. package/components/Dropdown/DropdownMenu.vue.js +1 -1
  34. package/components/Form/AccordionView.vue.js +5 -220
  35. package/components/Form/AccordionView.vue3.js +250 -0
  36. package/components/Form/Form.vue.js +2 -2
  37. package/components/Form/Form.vue2.js +309 -280
  38. package/components/Form/FormField.vue.js +177 -197
  39. package/components/Form/FormFields.vue.js +1 -1
  40. package/components/Form/FormFields.vue2.js +60 -60
  41. package/components/Form/FormSkeleton.vue.js +50 -35
  42. package/components/Form/TableView.vue.js +59 -43
  43. package/components/Form/composables/useForm.js +159 -148
  44. package/components/Form/index.vue2.js +7 -7
  45. package/components/Form/utils/form.utils.d.ts +2 -0
  46. package/components/Form/utils/form.utils.js +17 -13
  47. package/components/GoogleMap.vue.d.ts +1 -1
  48. package/components/Kanban/Kanban.vue.d.ts +16 -2
  49. package/components/Kanban/Kanban.vue.js +2 -2
  50. package/components/Kanban/Kanban.vue2.js +150 -86
  51. package/components/Kanban/types.d.ts +37 -0
  52. package/components/NavbarCommandPalette.vue.js +1 -1
  53. package/components/PanZoomViewport/PanZoomViewport.vue.d.ts +189 -0
  54. package/components/PanZoomViewport/PanZoomViewport.vue.js +7 -0
  55. package/components/PanZoomViewport/PanZoomViewport.vue2.js +536 -0
  56. package/components/PanZoomViewport/index.d.ts +2 -0
  57. package/components/PanZoomViewport/types.d.ts +121 -0
  58. package/components/ScaleGenerator/ScaleGenerator.vue.d.ts +3 -0
  59. package/components/ScaleGenerator/ScaleGenerator.vue.js +5 -108
  60. package/components/ScaleGenerator/ScaleGenerator.vue2.js +143 -2
  61. package/components/ScaleGenerator/types.d.ts +2 -0
  62. package/components/Screen/ScreenFilter.vue.js +19 -18
  63. package/components/SeoProvider/SeoProvider.vue.d.ts +4 -1
  64. package/components/SeoProvider/SeoProvider.vue.js +39 -33
  65. package/components/SeoProvider/domAdapter.d.ts +1 -4
  66. package/components/SeoProvider/domAdapter.js +71 -58
  67. package/components/SeoProvider/index.d.ts +5 -2
  68. package/components/SeoProvider/normalizeSeo.d.ts +10 -49
  69. package/components/SeoProvider/normalizeSeo.js +246 -182
  70. package/components/SeoProvider/plainText.d.ts +8 -0
  71. package/components/SeoProvider/plainText.js +117 -0
  72. package/components/SeoProvider/seoUrl.d.ts +13 -0
  73. package/components/SeoProvider/seoUrl.js +25 -0
  74. package/components/SeoProvider/structuredData.d.ts +100 -0
  75. package/components/SeoProvider/structuredData.js +33 -0
  76. package/components/SeoProvider/types.d.ts +47 -109
  77. package/components/Tabes/Tabes.vue.js +1 -1
  78. package/components/Tabes/Tabes.vue2.js +215 -193
  79. package/components/Tabes/TabesMarkerGeometry.d.ts +34 -0
  80. package/components/Tabes/TabesMarkerGeometry.js +21 -0
  81. package/components/ThemeProvider/ThemeProvider.vue.d.ts +2 -0
  82. package/components/ThemeProvider/ThemeProvider.vue.js +29 -23
  83. package/components/ThemeProvider/index.d.ts +1 -1
  84. package/components/ThemeProvider/themeVars.d.ts +9 -13
  85. package/components/ThemeProvider/themeVars.js +173 -125
  86. package/components/ThemeProvider/types.d.ts +10 -0
  87. package/components/ToastNotification.vue.js +1 -1
  88. package/components/ToastNotification.vue2.js +3 -3
  89. package/components/index.d.ts +3 -2
  90. package/composables/useKeyStroke.d.ts +18 -0
  91. package/composables/useKeyStroke.js +103 -77
  92. package/composables/useTheme.js +1 -1
  93. package/index.d.ts +2 -0
  94. package/index.js +380 -350
  95. package/package.json +12 -4
  96. package/style.css +1 -1
  97. package/utils/environment.d.ts +29 -0
  98. package/utils/environment.js +4 -0
  99. package/utils/functions.js +14 -13
  100. package/components/ColorPicker/ColorIro.vue.js +0 -141
  101. package/components/Form/AccordionView.vue2.js +0 -4
  102. /package/components/Dropdown/{DropdownMenu.vue2.js → DropdownMenu.vue3.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { defineComponent as C, shallowRef as y, watch as u, computed as b, openBlock as f, createElementBlock as m, normalizeClass as z, renderSlot as s, Fragment as B, renderList as $, withMemo as k, createVNode as x, createSlots as M, withCtx as v, mergeProps as g } from "vue";
1
+ import { defineComponent as I, shallowRef as y, watch as r, computed as b, openBlock as f, createElementBlock as m, normalizeClass as z, renderSlot as o, Fragment as B, renderList as $, withMemo as k, createVNode as x, createSlots as M, withCtx as v, mergeProps as g } from "vue";
2
2
  import A from "./AccordionItem.vue.js";
3
- const E = /* @__PURE__ */ C({
3
+ const E = /* @__PURE__ */ I({
4
4
  __name: "Accordion",
5
5
  props: {
6
6
  modelValue: {},
@@ -24,35 +24,35 @@ const E = /* @__PURE__ */ C({
24
24
  emits: ["update:modelValue", "change"],
25
25
  setup(a, { emit: h }) {
26
26
  const l = a, c = h, t = y([]), d = (e) => Array.isArray(e) ? e : typeof e == "string" && e ? [e] : [];
27
- u(
27
+ r(
28
28
  () => l.modelValue,
29
29
  (e) => {
30
30
  t.value = d(e);
31
31
  },
32
32
  { immediate: !0 }
33
- ), u(
33
+ ), r(
34
34
  () => l.defaultValue,
35
35
  (e) => {
36
36
  !l.modelValue && e && (t.value = d(e));
37
37
  },
38
38
  { immediate: !0 }
39
39
  );
40
- const r = (e) => {
40
+ const u = (e) => {
41
41
  if (l.disabled) return;
42
42
  const i = t.value.includes(e);
43
43
  l.allowMultiple ? i ? t.value = t.value.filter((n) => n !== e) : t.value = [...t.value, e] : i ? t.value = [] : t.value = [e], V();
44
44
  }, V = () => {
45
45
  const e = l.allowMultiple ? t.value : t.value[0] || "";
46
46
  c("update:modelValue", e), c("change", e);
47
- }, w = b(() => {
47
+ }, C = b(() => {
48
48
  const e = ["w-full", l.class];
49
49
  return l.attached && (e.push("rounded-lg overflow-hidden"), (l.variant === "outline" || l.variant === "default" || l.variant === "solid") && e.push("border")), e.join(" ");
50
50
  });
51
51
  return (e, i) => (f(), m("div", {
52
- class: z(w.value)
52
+ class: z(C.value)
53
53
  }, [
54
- s(e.$slots, "default", {}, () => [
55
- (f(!0), m(B, null, $(a.items, (n, I) => k([
54
+ o(e.$slots, "default", {}, () => [
55
+ (f(!0), m(B, null, $(a.items, (n, w) => k([
56
56
  n,
57
57
  t.value.includes(n.id),
58
58
  a.variant,
@@ -63,7 +63,10 @@ const E = /* @__PURE__ */ C({
63
63
  a.openIcon,
64
64
  a.closeIcon,
65
65
  a.iconVariant,
66
- a.activeIconVariant
66
+ a.activeIconVariant,
67
+ a.triggerClass,
68
+ a.contentClass,
69
+ a.itemClass
67
70
  ], () => x(A, {
68
71
  item: n,
69
72
  "is-open": t.value.includes(n.id),
@@ -71,7 +74,7 @@ const E = /* @__PURE__ */ C({
71
74
  size: a.size,
72
75
  attached: a.attached,
73
76
  disabled: a.disabled,
74
- index: I + 1,
77
+ index: w + 1,
75
78
  "show-index": a.showIndex,
76
79
  "open-icon": a.openIcon,
77
80
  "close-icon": a.closeIcon,
@@ -80,19 +83,19 @@ const E = /* @__PURE__ */ C({
80
83
  "trigger-class": a.triggerClass,
81
84
  "content-class": a.contentClass,
82
85
  "item-class": a.itemClass,
83
- onToggle: r
86
+ onToggle: u
84
87
  }, M({ _: 2 }, [
85
88
  e.$slots.trigger ? {
86
89
  name: "trigger",
87
- fn: v((o) => [
88
- s(e.$slots, "trigger", g({ ref_for: !0 }, o))
90
+ fn: v((s) => [
91
+ o(e.$slots, "trigger", g({ ref_for: !0 }, s))
89
92
  ]),
90
93
  key: "0"
91
94
  } : void 0,
92
95
  e.$slots.content ? {
93
96
  name: "content",
94
- fn: v((o) => [
95
- s(e.$slots, "content", g({ ref_for: !0 }, o, { close: r }))
97
+ fn: v((s) => [
98
+ o(e.$slots, "content", g({ ref_for: !0 }, s, { close: u }))
96
99
  ]),
97
100
  key: "1"
98
101
  } : void 0
@@ -1,7 +1,7 @@
1
1
  import o from "./AccordionContent.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0075dffb"]]);
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d1f2e7f8"]]);
5
5
  export {
6
- m as default
6
+ e as default
7
7
  };
@@ -1,11 +1,11 @@
1
- import { defineComponent as B, computed as r, openBlock as c, createElementBlock as m, normalizeClass as u, renderSlot as f, createVNode as p, withCtx as x, createElementVNode as V, toDisplayString as v, createCommentVNode as $, withDirectives as O, createBlock as T, resolveDynamicComponent as A, vShow as D } from "vue";
2
- import P from "./AccordionTrigger.vue.js";
3
- import N from "./AccordionContent.vue.js";
4
- import { $t as h } from "../../utils/i18n.js";
5
- const S = { class: "font-medium" }, E = {
1
+ import { defineComponent as V, computed as d, markRaw as O, openBlock as c, createElementBlock as m, normalizeClass as u, renderSlot as p, createVNode as v, withCtx as x, createElementVNode as T, toDisplayString as $, createCommentVNode as h, withDirectives as A, createBlock as D, resolveDynamicComponent as P, vShow as N } from "vue";
2
+ import S from "./AccordionTrigger.vue.js";
3
+ import E from "./AccordionContent.vue.js";
4
+ import { $t as C } from "../../utils/i18n.js";
5
+ const H = { class: "font-medium" }, L = {
6
6
  key: 0,
7
7
  class: "ml-2 text-sm text-muted-foreground font-normal"
8
- }, H = ["innerHTML"], G = /* @__PURE__ */ B({
8
+ }, M = ["innerHTML"], J = /* @__PURE__ */ V({
9
9
  __name: "AccordionItem",
10
10
  props: {
11
11
  item: {},
@@ -26,49 +26,51 @@ const S = { class: "font-medium" }, E = {
26
26
  class: { default: "" }
27
27
  },
28
28
  emits: ["toggle"],
29
- setup(e, { emit: C }) {
30
- const n = e, y = C, l = () => {
31
- n.item.disabled || n.disabled || y("toggle", n.item.id);
32
- }, I = r(() => {
33
- const { variant: t, attached: a } = n;
34
- return a ? "transition-all first:rounded-t-lg last:rounded-b-lg border-b last:border-0" : t === "solid" ? "mb-2 border rounded-lg overflow-hidden transition-all duration-200" : t === "outline" ? "border mb-2 rounded-lg overflow-hidden" : t === "separated" ? "border mb-4 rounded-lg overflow-hidden" : t === "ghost" ? "border-none bg-transparent mb-1 rounded-lg overflow-hidden" : "border-b";
35
- }), g = r(() => {
36
- const { variant: t, size: a, isOpen: d } = n, i = n.triggerClass || "", o = "transition-all duration-200 ease-in-out", s = {
29
+ setup(e, { emit: y }) {
30
+ const t = e, w = y, l = () => {
31
+ t.item.disabled || t.disabled || w("toggle", t.item.id);
32
+ }, I = d(() => {
33
+ const { variant: n, attached: a } = t;
34
+ return a ? "transition-all first:rounded-t-lg last:rounded-b-lg border-b last:border-0" : n === "solid" ? "mb-2 border rounded-lg overflow-hidden transition-all duration-200" : n === "outline" ? "border mb-2 rounded-lg overflow-hidden" : n === "separated" ? "border mb-4 rounded-lg overflow-hidden" : n === "ghost" ? "border-none bg-transparent mb-1 rounded-lg overflow-hidden" : "border-b";
35
+ }), g = d(() => {
36
+ const { variant: n, size: a, isOpen: r } = t, o = t.triggerClass || "", i = "transition-all duration-200 ease-in-out", s = {
37
37
  sm: "px-3.5 py-2.5 text-sm",
38
38
  md: "px-4 py-3 text-base",
39
39
  lg: "px-5 py-4 text-lg"
40
40
  }[a];
41
- return t === "solid" ? `${i} ${s} bg-card ${o}` : t === "ghost" ? d ? `${i} ${s} bg-muted font-medium ${o}` : `${i} ${s} hover:bg-muted/20 bg-transparent ${o}` : t === "outline" || t === "separated" ? d ? `${i} ${s} bg-muted/5 border-b border-border ${o}` : `${i} ${s} hover:bg-muted/5 bg-transparent ${o}` : !n.attached && t === "default" ? `${i} ${{
41
+ return n === "solid" ? `${o} ${s} bg-card ${i}` : n === "ghost" ? r ? `${o} ${s} bg-muted font-medium ${i}` : `${o} ${s} hover:bg-muted/20 bg-transparent ${i}` : n === "outline" || n === "separated" ? r ? `${o} ${s} bg-muted/5 border-b border-border ${i}` : `${o} ${s} hover:bg-muted/5 bg-transparent ${i}` : !t.attached && n === "default" ? `${o} ${{
42
42
  sm: "py-2 text-base",
43
43
  md: "py-3 text-base",
44
44
  lg: "py-4 text-lg"
45
- }[a]} px-0 hover:no-underline ${o}` : `${i} ${s} hover:bg-muted/5 ${o}`;
46
- }), w = r(() => {
47
- const { variant: t, size: a, attached: d } = n, i = n.contentClass || "", o = {
45
+ }[a]} px-0 hover:no-underline ${i}` : `${o} ${s} hover:bg-muted/5 ${i}`;
46
+ }), k = d(() => {
47
+ const { variant: n, size: a, attached: r } = t, o = t.contentClass || "", i = {
48
48
  sm: "px-3.5 pb-3.5 pt-2.5 text-sm",
49
49
  md: "px-4 pb-4 pt-4 text-sm",
50
50
  lg: "px-5 pb-5 pt-5 text-base"
51
51
  };
52
- return t === "solid" || t === "outline" || t === "separated" || t === "ghost" || d ? `${i} ${o[a]}` : `${i} ${{
52
+ return n === "solid" || n === "outline" || n === "separated" || n === "ghost" || r ? `${o} ${i[a]}` : `${o} ${{
53
53
  sm: "pb-3.5 pt-2.5 text-sm",
54
54
  md: "pb-4 pt-4 text-sm",
55
55
  lg: "pb-5 pt-5 text-base"
56
56
  }[a]} px-0`;
57
- }), k = r(
58
- () => n.item.titleI18n ? h(n.item.titleI18n) : n.item.title
59
- ), b = r(
60
- () => n.item.descriptionI18n ? h(n.item.descriptionI18n) : n.item.description
57
+ }), B = d(
58
+ () => t.item.titleI18n ? C(t.item.titleI18n) : t.item.title
59
+ ), b = d(
60
+ () => t.item.descriptionI18n ? C(t.item.descriptionI18n) : t.item.description
61
+ ), f = d(
62
+ () => t.item.bodyComponent ? O(t.item.bodyComponent) : null
61
63
  );
62
- return (t, a) => (c(), m("div", {
63
- class: u([I.value, n.class, n.itemClass])
64
+ return (n, a) => (c(), m("div", {
65
+ class: u([I.value, t.class, t.itemClass])
64
66
  }, [
65
- f(t.$slots, "trigger", {
67
+ p(n.$slots, "trigger", {
66
68
  item: e.item,
67
69
  open: e.isOpen,
68
70
  toggle: l,
69
71
  triggerClass: g.value
70
72
  }, () => [
71
- p(P, {
73
+ v(S, {
72
74
  open: e.isOpen,
73
75
  size: e.size,
74
76
  disabled: e.item.disabled || e.disabled,
@@ -83,21 +85,21 @@ const S = { class: "font-medium" }, E = {
83
85
  onClick: l
84
86
  }, {
85
87
  default: x(() => [
86
- V("span", S, v(k.value), 1),
87
- b.value ? (c(), m("span", E, v(b.value), 1)) : $("", !0)
88
+ T("span", H, $(B.value), 1),
89
+ b.value ? (c(), m("span", L, $(b.value), 1)) : h("", !0)
88
90
  ]),
89
91
  _: 1
90
92
  }, 8, ["open", "size", "disabled", "icon", "index", "show-index", "open-icon", "close-icon", "icon-variant", "active-icon-variant", "class"])
91
93
  ]),
92
- O(p(N, {
93
- class: u(w.value)
94
+ A(v(E, {
95
+ class: u(k.value)
94
96
  }, {
95
97
  default: x(() => [
96
- f(t.$slots, "content", {
98
+ p(n.$slots, "content", {
97
99
  item: e.item,
98
100
  close: l
99
101
  }, () => [
100
- e.item.bodyComponent ? (c(), T(A(e.item.bodyComponent), {
102
+ f.value ? (c(), D(P(f.value), {
101
103
  key: 0,
102
104
  item: e.item,
103
105
  close: l
@@ -105,16 +107,16 @@ const S = { class: "font-medium" }, E = {
105
107
  key: 1,
106
108
  class: "text-muted-foreground leading-relaxed",
107
109
  innerHTML: e.item.content
108
- }, null, 8, H)) : $("", !0)
110
+ }, null, 8, M)) : h("", !0)
109
111
  ])
110
112
  ]),
111
113
  _: 3
112
114
  }, 8, ["class"]), [
113
- [D, e.isOpen]
115
+ [N, e.isOpen]
114
116
  ])
115
117
  ], 2));
116
118
  }
117
119
  });
118
120
  export {
119
- G as default
121
+ J as default
120
122
  };
@@ -18,9 +18,10 @@ import "v-datepicker-lite/style.css";
18
18
  /* empty css */
19
19
  import "@jaames/iro";
20
20
  import "@vueuse/core";
21
- /* empty css */
21
+ /* empty css */
22
22
  import qe from "../IconPicker.vue.js";
23
23
  /* empty css */
24
+ /* empty css */
24
25
  /* empty css */
25
26
  /* empty css */
26
27
  /* empty css */
@@ -46,7 +47,7 @@ const Ue = { class: "flex items-center justify-between mb-6" }, Oe = { class: "t
46
47
  }, Le = {
47
48
  key: 0,
48
49
  class: "absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/60 backdrop-blur-[1px] transition-opacity"
49
- }, We = { class: "flex items-center gap-2 text-sm text-muted-foreground" }, kt = /* @__PURE__ */ Me({
50
+ }, We = { class: "flex items-center gap-2 text-sm text-muted-foreground" }, Pt = /* @__PURE__ */ Me({
50
51
  __name: "CategoryManager",
51
52
  props: {
52
53
  modelValue: { default: () => [] },
@@ -495,5 +496,5 @@ const Ue = { class: "flex items-center justify-between mb-6" }, Oe = { class: "t
495
496
  }
496
497
  });
497
498
  export {
498
- kt as default
499
+ Pt as default
499
500
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as A, inject as B, computed as g, resolveComponent as F, openBlock as a, createBlock as f, unref as l, withCtx as K, createElementBlock as d, Fragment as R, renderList as L, isMemoSame as O, createElementVNode as y, normalizeClass as u, createVNode as s, createCommentVNode as c, withDirectives as k, withModifiers as q, withKeys as w, vModelText as _, toDisplayString as Q, vShow as G } from "vue";
1
+ import { defineComponent as B, inject as F, computed as g, resolveComponent as K, openBlock as a, createBlock as f, unref as l, withCtx as P, createElementBlock as i, Fragment as R, renderList as L, isMemoSame as O, createElementVNode as y, normalizeClass as u, createVNode as s, createCommentVNode as c, withDirectives as k, withModifiers as q, withKeys as w, vModelText as _, toDisplayString as Q, vShow as G } from "vue";
2
2
  import { VueDraggable as H } from "vue-draggable-plus";
3
3
  import C from "../Icon.vue.js";
4
4
  import m from "../Button.vue.js";
@@ -15,7 +15,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
15
15
  }, le = {
16
16
  key: 1,
17
17
  class: "flex items-center gap-1.5 py-1.5 px-2 bg-background border border-border shadow-sm rounded-lg w-full mb-1.5"
18
- }, ne = ["placeholder"], ce = /* @__PURE__ */ A({
18
+ }, ne = ["placeholder"], ce = /* @__PURE__ */ B({
19
19
  __name: "CategoryNode",
20
20
  props: {
21
21
  modelValue: {},
@@ -23,24 +23,24 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
23
23
  },
24
24
  emits: ["update:modelValue", "change", "dragEnd"],
25
25
  setup(V, { emit: E }) {
26
- const S = V, p = E, t = B("categoryManager"), b = g({
26
+ const S = V, p = E, t = F("categoryManager"), b = g({
27
27
  get: () => S.modelValue,
28
- set: (i) => p("update:modelValue", i)
29
- }), D = (i, n) => {
30
- n.children = i, p("change");
31
- }, U = () => p("change"), N = (i) => {
32
- const n = i.item?.dataset?.id;
28
+ set: (d) => p("update:modelValue", d)
29
+ }), D = (d, n) => {
30
+ n.children = d, p("change");
31
+ }, U = () => p("change"), N = (d) => {
32
+ const n = d.item?.dataset?.id;
33
33
  n && p("dragEnd", n);
34
- }, v = g(() => t?.readonly.value || !1), r = g(() => t?.size.value || "md"), M = g(() => r.value === "sm" ? "p-1 md:p-1.5" : r.value === "lg" ? "p-2 md:p-2.5" : "py-1.5 px-2"), I = g(() => {
34
+ }, v = g(() => t?.readonly.value || !1), r = g(() => t?.size.value || "md"), M = g(() => r.value === "sm" ? "p-1 md:p-1.5" : r.value === "lg" ? "p-2 md:p-2.5" : "py-1.5 px-2"), T = g(() => {
35
35
  const n = S.level === 0 ? "font-semibold" : "font-medium";
36
36
  return r.value === "sm" ? `text-xs ${n} text-foreground` : r.value === "lg" ? `-text-fs-1 ${n} text-foreground` : `text-sm ${n} text-foreground`;
37
37
  }), h = g(() => r.value === "sm" ? "w-3.5 h-3.5" : r.value === "lg" ? "w-4.5 h-4.5" : "w-4 h-4"), j = {
38
- mounted: (i) => {
39
- setTimeout(() => i.focus(), 10);
38
+ mounted: (d) => {
39
+ setTimeout(() => d.focus(), 10);
40
40
  }
41
41
  };
42
- return (i, n) => {
43
- const P = F("CategoryNode", !0);
42
+ return (d, n) => {
43
+ const A = K("CategoryNode", !0);
44
44
  return a(), f(l(H), {
45
45
  modelValue: b.value,
46
46
  "onUpdate:modelValue": n[11] || (n[11] = (e) => b.value = e),
@@ -52,9 +52,9 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
52
52
  class: "min-h-[2px]",
53
53
  onEnd: N
54
54
  }, {
55
- default: K(() => [
56
- (a(!0), d(R, null, L(b.value, (e, oe, ae, x) => {
57
- const T = [
55
+ default: P(() => [
56
+ (a(!0), i(R, null, L(b.value, (e, oe, ae, x) => {
57
+ const I = [
58
58
  e.id,
59
59
  e.title,
60
60
  e.icon,
@@ -65,8 +65,8 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
65
65
  v.value,
66
66
  r.value
67
67
  ];
68
- if (x && x.key === e.id && O(x, T)) return x;
69
- const $ = (a(), d("div", {
68
+ if (x && x.key === e.id && O(x, I)) return x;
69
+ const $ = (a(), i("div", {
70
70
  key: e.id,
71
71
  "data-id": e.id,
72
72
  class: "mb-1.5 flex flex-col"
@@ -78,7 +78,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
78
78
  ])
79
79
  }, [
80
80
  y("div", J, [
81
- e.children && e.children.length > 0 ? (a(), d("button", {
81
+ e.children && e.children.length > 0 ? (a(), i("button", {
82
82
  key: 0,
83
83
  onClick: (o) => l(t)?.toggleExpand(e.id),
84
84
  class: u([
@@ -92,7 +92,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
92
92
  }, null, 8, ["icon", "class"])
93
93
  ], 10, W)) : c("", !0),
94
94
  y("div", X, [
95
- v.value ? c("", !0) : (a(), d("div", Y, [
95
+ v.value ? c("", !0) : (a(), i("div", Y, [
96
96
  s(C, {
97
97
  icon: "lucide:grip-vertical",
98
98
  class: u(h.value)
@@ -113,18 +113,18 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
113
113
  },
114
114
  position: "bottom-start",
115
115
  onOnSelect: (o) => {
116
- console.log("IconPicker value :>> ", o), e.icon = o, l(t)?.saveItem(e);
116
+ e.icon = o, l(t)?.saveItem(e);
117
117
  }
118
118
  }, null, 8, ["value", "btn-props", "onOnSelect"])),
119
- v.value ? (a(), d("span", {
119
+ v.value ? (a(), i("span", {
120
120
  key: 4,
121
- class: u(["truncate", I.value])
122
- }, Q(e.title), 3)) : k((a(), d("input", {
121
+ class: u(["truncate", T.value])
122
+ }, Q(e.title), 3)) : k((a(), i("input", {
123
123
  key: 3,
124
124
  "onUpdate:modelValue": (o) => e.title = o,
125
125
  class: u([
126
126
  "bg-transparent border-0 outline-none focus:ring-0 px-1 py-0.5 -ml-1 transition-colors w-full truncate cursor-text min-w-0 shadow-none caret-primary",
127
- I.value
127
+ T.value
128
128
  ]),
129
129
  placeholder: l(t)?.categoryTitlePlaceholderText.value || "Category title...",
130
130
  onChange: (o) => l(t)?.saveItem(e),
@@ -136,7 +136,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
136
136
  ])
137
137
  ])
138
138
  ]),
139
- v.value ? c("", !0) : (a(), d("div", ee, [
139
+ v.value ? c("", !0) : (a(), i("div", ee, [
140
140
  s(m, {
141
141
  variant: "ghost",
142
142
  size: "xs",
@@ -164,8 +164,8 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
164
164
  }, null, 8, ["title", "onClick"])
165
165
  ]))
166
166
  ], 2),
167
- e.children && e.children.length > 0 || l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? k((a(), d("div", te, [
168
- e.children && e.children.length > 0 ? (a(), f(P, {
167
+ e.children && e.children.length > 0 || l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? k((a(), i("div", te, [
168
+ e.children && e.children.length > 0 ? (a(), f(A, {
169
169
  key: 0,
170
170
  modelValue: e.children,
171
171
  "onUpdate:modelValue": (o) => D(o, e),
@@ -173,7 +173,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
173
173
  onChange: U,
174
174
  onDragEnd: n[2] || (n[2] = (o) => p("dragEnd", o))
175
175
  }, null, 8, ["modelValue", "onUpdate:modelValue", "level"])) : c("", !0),
176
- l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? (a(), d("div", le, [
176
+ l(t)?.inlineState.value.mode === "add-child" && l(t).inlineState.value.targetId === e.id ? (a(), i("div", le, [
177
177
  s(z, {
178
178
  modelValue: l(t).inlineState.value.icon,
179
179
  "onUpdate:modelValue": n[3] || (n[3] = (o) => l(t).inlineState.value.icon = o),
@@ -217,7 +217,7 @@ const J = { class: "flex items-center gap-px overflow-hidden flex-1" }, W = ["on
217
217
  [G, l(t)?.expandedIds.value.has(e.id)]
218
218
  ]) : c("", !0)
219
219
  ], 8, ["data-id"]));
220
- return $.memo = T, $;
220
+ return $.memo = I, $;
221
221
  }, n, 9), 128))
222
222
  ]),
223
223
  _: 1
@@ -1,4 +1,4 @@
1
- import { defineComponent as C, computed as i, markRaw as u, inject as B, openBlock as m, createElementBlock as D, createBlock as f, unref as E, normalizeClass as h, resolveDynamicComponent as S } from "vue";
1
+ import { defineComponent as C, computed as o, markRaw as u, inject as B, openBlock as m, createElementBlock as D, createBlock as f, unref as E, normalizeClass as h, resolveDynamicComponent as S } from "vue";
2
2
  import v from "./CategoryMenuVariant1.vue.js";
3
3
  import k from "./CategoryMenuVariant2.vue.js";
4
4
  import { CATEGORY_MENU_ROUTE_PREFIX_KEY as R, buildCategoryRoute as A } from "./utils.js";
@@ -42,9 +42,7 @@ const L = {
42
42
  },
43
43
  emits: ["select"],
44
44
  setup(w, { emit: g }) {
45
- const e = w, n = g, l = i(() => e.rawData && e.rawData.length > 0 ? j(e.rawData) : e.items || []);
46
- console.log(l.value);
47
- const x = i(() => {
45
+ const e = w, n = g, i = o(() => e.rawData && e.rawData.length > 0 ? j(e.rawData) : e.items || []), x = o(() => {
48
46
  switch (e.variant) {
49
47
  case "tabs":
50
48
  return u(v);
@@ -53,13 +51,13 @@ const L = {
53
51
  default:
54
52
  return u(v);
55
53
  }
56
- }), o = B(
54
+ }), l = B(
57
55
  R,
58
56
  void 0
59
- ), s = i(() => {
60
- const a = typeof o == "object" && o && "value" in o ? o.value : o;
57
+ ), s = o(() => {
58
+ const a = typeof l == "object" && l && "value" in l ? l.value : l;
61
59
  return String(e.routePrefix || a || "");
62
- }), y = i(() => {
60
+ }), y = o(() => {
63
61
  if (e.variant !== "sidebar") return [];
64
62
  const a = (t, d = []) => {
65
63
  const c = t.children && t.children.length > 0 ? t.children.map((_) => a(_, [...d, t])) : void 0, p = !!c?.length;
@@ -73,7 +71,7 @@ const L = {
73
71
  // Parent nodes are expanders in tree/sidebar mode; leaves select/navigate.
74
72
  action: p ? void 0 : () => n("select", t)
75
73
  };
76
- }, r = l.value.map((t) => a(t));
74
+ }, r = i.value.map((t) => a(t));
77
75
  return e.showAllItem && r.unshift({
78
76
  id: "all",
79
77
  label: e.allItemLabel,
@@ -81,7 +79,7 @@ const L = {
81
79
  icon: e.showIcons ? "lucide:layout-grid" : void 0,
82
80
  action: () => n("select", { id: "all", title: e.allItemLabel })
83
81
  }), r;
84
- }), I = (a) => n("select", a), b = i(() => !l.value || l.value.length === 0);
82
+ }), I = (a) => n("select", a), b = o(() => !i.value || i.value.length === 0);
85
83
  return (a, r) => b.value ? (m(), D("div", L, " No categories to display. ")) : e.variant === "sidebar" ? (m(), f(E(P), {
86
84
  key: 1,
87
85
  items: y.value,
@@ -90,7 +88,7 @@ const L = {
90
88
  class: h(e.class)
91
89
  }, null, 8, ["items", "allow-multiple", "default-expanded", "class"])) : (m(), f(S(x.value), {
92
90
  key: 2,
93
- items: l.value,
91
+ items: i.value,
94
92
  "max-depth": e.maxDepth,
95
93
  "show-icons": e.showIcons,
96
94
  "show-all-item": e.showAllItem,
@@ -1,4 +1,4 @@
1
- import { GanttTask, GanttViewMode } from './types';
1
+ import { GanttDependencyCreatePayload, GanttDependencyDeletePayload, GanttTask, GanttViewMode } from './types';
2
2
  export interface GanttChartProps {
3
3
  tasks: GanttTask[];
4
4
  viewMode?: GanttViewMode;
@@ -19,7 +19,17 @@ export interface GanttChartProps {
19
19
  todayColor?: string;
20
20
  locale?: string;
21
21
  draggable?: boolean;
22
- /** When moving a task, also shift all tasks that depend on it (recursively) */
22
+ /**
23
+ * Opt-in dependency editing. When true, hovered/focused tasks show a `+`
24
+ * connector that can be dragged (or operated via keyboard) to request a
25
+ * new dependency. Independent of `showDependencies`.
26
+ */
27
+ editableDependencies?: boolean;
28
+ /**
29
+ * When moving a task, dependents follow the bar as a visual preview only.
30
+ * Release still emits ONE root `task-update`; the parent owns the
31
+ * authoritative cascade and pushes final dates back via `tasks`.
32
+ */
23
33
  cascadeDependencies?: boolean;
24
34
  zoom?: boolean;
25
35
  }
@@ -30,6 +40,8 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
30
40
  start: Date;
31
41
  end: Date;
32
42
  }) => any;
43
+ "dependency-create": (payload: GanttDependencyCreatePayload) => any;
44
+ "dependency-delete": (payload: GanttDependencyDeletePayload) => any;
33
45
  }, string, import('vue').PublicProps, Readonly<GanttChartProps> & Readonly<{
34
46
  "onTask-click"?: (task: GanttTask) => any;
35
47
  "onTask-hover"?: (task: GanttTask) => any;
@@ -37,6 +49,8 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
37
49
  start: Date;
38
50
  end: Date;
39
51
  }) => any;
52
+ "onDependency-create"?: (payload: GanttDependencyCreatePayload) => any;
53
+ "onDependency-delete"?: (payload: GanttDependencyDeletePayload) => any;
40
54
  }>, {
41
55
  animate: boolean;
42
56
  height: number;
@@ -56,12 +70,14 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
56
70
  showTodayLine: boolean;
57
71
  todayColor: string;
58
72
  locale: string;
73
+ editableDependencies: boolean;
59
74
  cascadeDependencies: boolean;
60
75
  zoom: boolean;
61
76
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
62
77
  containerRef: HTMLDivElement;
63
78
  sidebarRef: HTMLDivElement;
64
79
  timelineRef: HTMLDivElement;
80
+ timelineSvgRef: SVGSVGElement;
65
81
  dragLabelRef: SVGGElement;
66
82
  }, HTMLDivElement>;
67
83
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import t from "./GanttChart.vue2.js";
2
2
  /* empty css */
3
3
  import o from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ o(t, [["__scopeId", "data-v-ebb84e3d"]]);
4
+ const m = /* @__PURE__ */ o(t, [["__scopeId", "data-v-94a48eeb"]]);
5
5
  export {
6
6
  m as default
7
7
  };