vlite3 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/components/Button.vue.js +2 -2
  2. package/components/Button.vue2.js +10 -10
  3. package/components/CategoryManager/CategoryManager.vue2.js +3 -3
  4. package/components/Chart/GanttChart.vue.d.ts +92 -2
  5. package/components/Chart/GanttChart.vue.js +2 -2
  6. package/components/Chart/GanttChart.vue2.js +1028 -878
  7. package/components/Chart/GanttChartDateUtils.js +28 -24
  8. package/components/Chart/index.d.ts +1 -1
  9. package/components/Chart/types.d.ts +88 -1
  10. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  11. package/components/CommandPalette/{CommandPaletteItem.vue.js → CommandPaletteItem.vue2.js} +1 -1
  12. package/components/DataTable/DataTable.vue.js +1 -1
  13. package/components/Dropdown/DropdownMenu.vue.js +1 -1
  14. package/components/Form/{AccordionView.vue.js → AccordionView.vue2.js} +1 -1
  15. package/components/Form/index.vue2.js +1 -1
  16. package/components/Kanban/Kanban.vue.d.ts +6 -5
  17. package/components/Kanban/Kanban.vue.js +1 -1
  18. package/components/Kanban/Kanban.vue2.js +139 -118
  19. package/components/Kanban/groupKanbanData.d.ts +36 -0
  20. package/components/Kanban/groupKanbanData.js +72 -0
  21. package/components/Kanban/index.d.ts +1 -0
  22. package/components/Kanban/types.d.ts +17 -0
  23. package/components/NavbarCommandPalette.vue.js +1 -1
  24. package/components/PanZoomViewport/PanZoomViewport.vue.d.ts +1 -1
  25. package/components/RichTextEditor/RichTextEditor.vue.js +4 -4
  26. package/components/RichTextEditor/RichTextLinkPopover.vue3.js +2 -2
  27. package/components/RichTextEditor/RichTextToolbar.vue3.js +2 -2
  28. package/components/Screen/Screen.vue.js +80 -82
  29. package/components/Screen/ScreenFilter.vue.js +3 -3
  30. package/components/Screen/components/ScreenAddAction.vue.js +32 -32
  31. package/components/Screen/components/ScreenHeaderTitle.vue.js +11 -11
  32. package/components/Screen/components/ScreenToolbar.vue.d.ts +9 -0
  33. package/components/Screen/components/ScreenToolbar.vue.js +85 -52
  34. package/components/ToastNotification.vue.js +2 -2
  35. package/components/ToastNotification.vue2.js +38 -36
  36. package/index.js +426 -421
  37. package/package.json +1 -1
  38. package/style.css +10 -1
  39. /package/components/Dropdown/{DropdownMenu.vue2.js → DropdownMenu.vue3.js} +0 -0
  40. /package/components/RichTextEditor/{RichTextLinkPopover.vue2.js → RichTextLinkPopover.vue.js} +0 -0
  41. /package/components/RichTextEditor/{RichTextToolbar.vue2.js → RichTextToolbar.vue.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import o from "./Button.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../_virtual/_plugin-vue_export-helper.js";
4
- const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-dc9b3674"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8c0db2af"]]);
5
5
  export {
6
- _ as default
6
+ m as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as G, useAttrs as H, computed as s, useSlots as F, Comment as M, Fragment as b, Text as O, withDirectives as Z, openBlock as i, createElementBlock as c, normalizeClass as o, createElementVNode as I, createBlock as x, createCommentVNode as u, renderSlot as w, createTextVNode as z, toDisplayString as h, unref as q } from "vue";
1
+ import { defineComponent as G, useAttrs as H, computed as s, useSlots as F, Comment as M, Fragment as b, Text as O, withDirectives as Z, openBlock as i, createElementBlock as c, normalizeClass as o, createElementVNode as I, createBlock as x, createCommentVNode as u, renderSlot as w, createTextVNode as k, toDisplayString as h, unref as q } from "vue";
2
2
  import v from "./Icon.vue.js";
3
3
  import { vRipple as J } from "../directives/vRipple.js";
4
4
  import { $t as K } from "../utils/i18n.js";
@@ -61,7 +61,7 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
61
61
  }), a = s(() => {
62
62
  const n = e.layout || B.layout;
63
63
  return n === "tile" ? "tile" : n === "vertical" ? "vertical" : "horizontal";
64
- }), f = s(() => a.value === "tile"), A = s(() => a.value === "horizontal"), E = s(() => $[e.variant] ?? $.primary), k = s(() => ({
64
+ }), f = s(() => a.value === "tile"), A = s(() => a.value === "horizontal"), E = s(() => $[e.variant] ?? $.primary), z = s(() => ({
65
65
  xs: "w-9 h-9",
66
66
  sm: "w-10 h-10",
67
67
  sm2: "w-11 h-11",
@@ -71,7 +71,7 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
71
71
  })[e.size]), l = s(() => e.textI18n ? K(e.textI18n) : e.text), j = F(), p = s(() => j.default ? j.default().some((r) => !(r.type === M || r.type === b && Array.isArray(r.children) && r.children.length === 0 || r.type === O && typeof r.children == "string" && r.children.trim() === "")) : !1), y = s(
72
72
  () => e?.asIcon || e.icon && !l.value && !p.value
73
73
  ), g = s(() => e.icon ? e.icon.startsWith("http://") || e.icon.startsWith("https://") || e.icon.startsWith("data:image/") ? !0 : [".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp", ".ico", ".avif"].some((r) => e.icon.toLowerCase().endsWith(r)) : !1), T = s(() => {
74
- const r = `v-btn inline-flex items-center justify-center whitespace-nowrap text-sm font-medium disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer focus:outline-none focus-visible:outline-none ${a.value === "tile" ? "flex-col gap-1.5 items-center" : a.value === "vertical" ? "flex-col gap-2" : e.description ? "gap-3" : "gap-2"} ${A.value ? "v-btn-horizontal" : ""} ${y.value ? "icon-only shrink-0" : ""}`, C = {
74
+ const r = `v-btn inline-flex items-center justify-center whitespace-nowrap text-sm font-medium shrink-0 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] cursor-pointer focus:outline-none focus-visible:outline-none ${a.value === "tile" ? "flex-col gap-1.5 items-center" : a.value === "vertical" ? "flex-col gap-2" : e.description ? "gap-3" : "gap-2"} ${A.value ? "v-btn-horizontal" : ""} ${y.value ? "icon-only shrink-0" : ""}`, C = {
75
75
  primary: "bg-primary text-primary-foreground hover:bg-primary/90",
76
76
  "primary-light": "bg-primary-light text-primary-fg-light hover:bg-primary/15",
77
77
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -139,7 +139,7 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
139
139
  );
140
140
  }), m = s(() => {
141
141
  if (f.value && g.value)
142
- return `${k.value} object-cover`;
142
+ return `${z.value} object-cover`;
143
143
  const n = e.description && a.value === "horizontal", r = {
144
144
  xs: n ? "w-3.5 h-3.5" : "w-3 h-3",
145
145
  sm: n ? "w-5 h-5" : "w-4 h-4",
@@ -170,13 +170,13 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
170
170
  class: o(["inline-flex items-center justify-center shrink-0 transition-transform duration-150 ease-out group-active:scale-[0.92]", [
171
171
  g.value ? "" : "rounded-full",
172
172
  g.value ? "" : E.value,
173
- g.value ? "" : k.value
173
+ g.value ? "" : z.value
174
174
  ]])
175
175
  }, [
176
176
  t.loading ? (i(), x(v, {
177
177
  key: 0,
178
178
  icon: "lucide:loader-2",
179
- class: o(["animate-spin pointer-events-none", [m.value, g.value ? k.value : ""]])
179
+ class: o(["animate-spin pointer-events-none", [m.value, g.value ? z.value : ""]])
180
180
  }, null, 8, ["class"])) : t.icon ? (i(), x(v, {
181
181
  key: 1,
182
182
  icon: t.icon,
@@ -189,7 +189,7 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
189
189
  }, [
190
190
  l.value || p.value ? (i(), c("span", Q, [
191
191
  w(n.$slots, "default", {}, () => [
192
- z(h(l.value), 1)
192
+ k(h(l.value), 1)
193
193
  ], !0)
194
194
  ])) : u("", !0),
195
195
  e.description ? (i(), c("span", U, h(e.description), 1)) : u("", !0)
@@ -210,10 +210,10 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
210
210
  class: o([t.textClass, "leading-tight truncate inline-flex items-center justify-center gap-1.5"])
211
211
  }, [
212
212
  w(n.$slots, "default", {}, () => [
213
- z(h(l.value), 1)
213
+ k(h(l.value), 1)
214
214
  ], !0)
215
215
  ], 2)) : w(n.$slots, "default", { key: 1 }, () => [
216
- z(h(l.value), 1)
216
+ k(h(l.value), 1)
217
217
  ], !0)
218
218
  ], 64)) : l.value || p.value || e.description ? (i(), c("div", {
219
219
  key: 3,
@@ -226,7 +226,7 @@ const P = ["type", "dir", "disabled", "data-testid"], Q = {
226
226
  class: o([[t.textClass, V.value], "inline-flex items-center gap-1.5 w-full leading-tight [&>:where(svg)]:mx-auto [&>:where(img)]:mx-auto"])
227
227
  }, [
228
228
  w(n.$slots, "default", {}, () => [
229
- z(h(l.value), 1)
229
+ k(h(l.value), 1)
230
230
  ], !0)
231
231
  ], 2),
232
232
  e.description ? (i(), c("span", X, h(e.description), 1)) : u("", !0)
@@ -22,11 +22,11 @@ import "@vueuse/core";
22
22
  /* empty css */
23
23
  import qe from "../IconPicker.vue.js";
24
24
  /* empty css */
25
- /* empty css */
25
+ /* empty css */
26
26
  /* empty css */
27
27
  /* empty css */
28
- /* empty css */
29
- /* empty css */
28
+ /* empty css */
29
+ /* empty css */
30
30
  import "../../core/config.js";
31
31
  /* empty css */
32
32
  /* empty css */
@@ -1,4 +1,4 @@
1
- import { GanttDependencyCreatePayload, GanttDependencyDeletePayload, GanttTask, GanttViewMode } from './types';
1
+ import { GanttDependencyCreatePayload, GanttDependencyDeletePayload, GanttTask, GanttViewMode, GanttZoomState } from './types';
2
2
  export interface GanttChartProps {
3
3
  tasks: GanttTask[];
4
4
  viewMode?: GanttViewMode;
@@ -8,6 +8,7 @@ export interface GanttChartProps {
8
8
  barHeight?: number;
9
9
  sidebarWidth?: number;
10
10
  showGrid?: boolean;
11
+ gridOpacity?: number;
11
12
  showTooltip?: boolean;
12
13
  showLabels?: boolean;
13
14
  showProgress?: boolean;
@@ -31,9 +32,86 @@ export interface GanttChartProps {
31
32
  * authoritative cascade and pushes final dates back via `tasks`.
32
33
  */
33
34
  cascadeDependencies?: boolean;
35
+ /**
36
+ * Enables ctrl/⌘ + wheel (and trackpad pinch) zooming on the timeline.
37
+ * The component no longer renders its own zoom buttons — drive zoom from the
38
+ * parent via the exposed methods (`zoomIn`, `zoomOut`, `setZoom`, `resetZoom`)
39
+ * and the `zoom-change` event. See `defineExpose` below.
40
+ */
34
41
  zoom?: boolean;
42
+ /** Lower bound for the zoom level (default 0.2). */
43
+ minZoom?: number;
44
+ /** Upper bound for the zoom level (default 5). */
45
+ maxZoom?: number;
46
+ /** Increment applied by `zoomIn` / `zoomOut` (default 0.2). */
47
+ zoomStep?: number;
48
+ /**
49
+ * How many period columns to aim to show at once in the viewport (days in
50
+ * Day view, weeks in Week view, months in Month view). When omitted, a
51
+ * responsive count is chosen from the container width. Columns never shrink
52
+ * below `minColumnWidth`; the rest of the project scrolls horizontally.
53
+ */
54
+ visiblePeriodCount?: number;
55
+ /**
56
+ * Minimum width in px for a single period column. Prevents the whole
57
+ * project range from being compressed to fit the viewport. Defaults are
58
+ * per view mode (Day 44, Week 96, Month 130).
59
+ */
60
+ minColumnWidth?: number;
61
+ /**
62
+ * Force the timeline to start at this date instead of deriving it from the
63
+ * earliest task. Aligned to the period boundary of the active view.
64
+ */
65
+ timelineStart?: Date | string;
66
+ /**
67
+ * Force the timeline to end at this date instead of deriving it from the
68
+ * latest task (plus padding).
69
+ */
70
+ timelineEnd?: Date | string;
71
+ /**
72
+ * Extra empty periods generated after the last task's boundary period, as
73
+ * navigation padding (weeks in Day/Week view, months in Month view).
74
+ * The boundary period is always completed regardless of this value.
75
+ * Default 0.
76
+ */
77
+ rangePadding?: number;
78
+ /**
79
+ * Keep the date near the viewport centre in view when switching between
80
+ * Day / Week / Month, instead of jumping back to the project start.
81
+ * Default true.
82
+ */
83
+ preserveCenterDate?: boolean;
84
+ /**
85
+ * Show a collapse/expand control on the task sidebar so the timeline can be
86
+ * given more room. Default true.
87
+ */
88
+ collapsibleSidebar?: boolean;
89
+ /** Start with the sidebar collapsed. Default false. */
90
+ defaultSidebarCollapsed?: boolean;
35
91
  }
36
- declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
92
+ declare function toggleSidebar(): void;
93
+ /** Increase zoom by `zoomStep`, centered on the viewport. */
94
+ declare function zoomIn(): void;
95
+ /** Decrease zoom by `zoomStep`, centered on the viewport. */
96
+ declare function zoomOut(): void;
97
+ /** Jump to an absolute zoom level (clamped to `minZoom`…`maxZoom`). */
98
+ declare function setZoom(level: number): void;
99
+ /** Reset zoom back to 1×. */
100
+ declare function resetZoom(): void;
101
+ declare function scrollToToday(): void;
102
+ declare const _default: import('vue').DefineComponent<GanttChartProps, {
103
+ zoomIn: typeof zoomIn;
104
+ zoomOut: typeof zoomOut;
105
+ setZoom: typeof setZoom;
106
+ resetZoom: typeof resetZoom;
107
+ scrollToToday: typeof scrollToToday;
108
+ /** Current zoom level (read-only). */
109
+ getZoom: () => number;
110
+ /** Collapse / expand the task sidebar. */
111
+ toggleSidebar: typeof toggleSidebar;
112
+ /** Whether the sidebar is currently collapsed (read-only). */
113
+ isSidebarCollapsed: () => boolean;
114
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
37
115
  "task-click": (task: GanttTask) => any;
38
116
  "task-hover": (task: GanttTask) => any;
39
117
  "task-update": (task: GanttTask, changes: {
@@ -42,6 +120,8 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
42
120
  }) => any;
43
121
  "dependency-create": (payload: GanttDependencyCreatePayload) => any;
44
122
  "dependency-delete": (payload: GanttDependencyDeletePayload) => any;
123
+ "zoom-change": (payload: GanttZoomState) => any;
124
+ "sidebar-toggle": (collapsed: boolean) => any;
45
125
  }, string, import('vue').PublicProps, Readonly<GanttChartProps> & Readonly<{
46
126
  "onTask-click"?: (task: GanttTask) => any;
47
127
  "onTask-hover"?: (task: GanttTask) => any;
@@ -51,6 +131,8 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
51
131
  }) => any;
52
132
  "onDependency-create"?: (payload: GanttDependencyCreatePayload) => any;
53
133
  "onDependency-delete"?: (payload: GanttDependencyDeletePayload) => any;
134
+ "onZoom-change"?: (payload: GanttZoomState) => any;
135
+ "onSidebar-toggle"?: (collapsed: boolean) => any;
54
136
  }>, {
55
137
  animate: boolean;
56
138
  height: number;
@@ -59,6 +141,7 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
59
141
  colors: string[];
60
142
  showGrid: boolean;
61
143
  showTooltip: boolean;
144
+ gridOpacity: number;
62
145
  showLabels: boolean;
63
146
  barRadius: number;
64
147
  rowHeight: number;
@@ -73,6 +156,13 @@ declare const _default: import('vue').DefineComponent<GanttChartProps, {}, {}, {
73
156
  editableDependencies: boolean;
74
157
  cascadeDependencies: boolean;
75
158
  zoom: boolean;
159
+ minZoom: number;
160
+ maxZoom: number;
161
+ zoomStep: number;
162
+ rangePadding: number;
163
+ preserveCenterDate: boolean;
164
+ collapsibleSidebar: boolean;
165
+ defaultSidebarCollapsed: boolean;
76
166
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
77
167
  containerRef: HTMLDivElement;
78
168
  sidebarRef: HTMLDivElement;
@@ -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-94a48eeb"]]);
4
+ const p = /* @__PURE__ */ o(t, [["__scopeId", "data-v-b7dc343d"]]);
5
5
  export {
6
- m as default
6
+ p as default
7
7
  };