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
@@ -12,7 +12,25 @@ interface KeyStrokeComposable {
12
12
  offKeyStroke: (key: string | string[], handler?: KeyStrokeHandler) => void;
13
13
  destroy: () => void;
14
14
  }
15
+ /**
16
+ * SSR-safe keyboard composable.
17
+ *
18
+ * Components may call `useKeyStroke()` and register handlers unconditionally
19
+ * during `setup()` — including on the server. Registrations are stored in
20
+ * plain per-composable state; actual DOM listeners are attached only in the
21
+ * browser, after the owning component has mounted (or immediately when used
22
+ * outside a component in a browser context). Default event targets are
23
+ * resolved lazily at attach time, never during registration.
24
+ */
15
25
  export declare const useKeyStroke: () => KeyStrokeComposable;
26
+ /**
27
+ * SSR-safe advanced keyboard-shortcut composable.
28
+ *
29
+ * Combination parsing, meta⇄ctrl alternatives, and matching order are
30
+ * unchanged. Global `window`/`document` listeners are attached only in the
31
+ * browser after mount (or immediately when used outside a component in a
32
+ * browser context) and are always detached on unmount.
33
+ */
16
34
  export declare const useAdvancedKeyStroke: () => {
17
35
  onKeyStroke: (keys: string, handler: KeyStrokeHandler) => void;
18
36
  offKeyStroke: (keys: string, handler?: KeyStrokeHandler) => void;
@@ -1,94 +1,120 @@
1
- import { onUnmounted as k } from "vue";
2
- const S = () => {
3
- const o = /* @__PURE__ */ new Map(), r = (n) => {
4
- const f = s(n.key), c = o.get(f);
5
- c && c.forEach(({ handler: y, options: u }) => {
6
- u?.preventDefault && n.preventDefault(), u?.stopPropagation && n.stopPropagation(), y(n);
1
+ import { getCurrentInstance as A, onMounted as T, onUnmounted as D, unref as x } from "vue";
2
+ import { isBrowser as S } from "../utils/environment.js";
3
+ const U = () => {
4
+ const o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), u = [], m = A();
5
+ let p = S && !m;
6
+ const g = (n) => n ? n.toLowerCase() : "", v = (n) => {
7
+ const s = g(n.key), r = o.get(s);
8
+ r && r.forEach(({ handler: f, options: d }) => {
9
+ d?.preventDefault && n.preventDefault(), d?.stopPropagation && n.stopPropagation(), f(n);
7
10
  });
8
- }, s = (n) => n ? n.toLowerCase() : "", p = (n) => n ? "value" in n ? n.value || document : n || document : document, w = (n, f, c = {}) => {
9
- const y = Array.isArray(n) ? n : [n], u = p(c.target);
10
- y.forEach((d) => {
11
- const m = s(d);
12
- o.has(m) || (o.set(m, /* @__PURE__ */ new Set()), u.addEventListener("keydown", r, {
13
- passive: c.passive ?? !0,
14
- capture: c.capture ?? !1
15
- })), o.get(m).add({ handler: f, options: c });
16
- });
17
- }, v = (n, f) => {
18
- (Array.isArray(n) ? n : [n]).forEach((y) => {
19
- const u = s(y), d = o.get(u);
20
- d && (f ? d.forEach((m) => {
21
- m.handler === f && d.delete(m);
22
- }) : d.clear(), d.size === 0 && (o.delete(u), document.removeEventListener("keydown", r)));
23
- });
24
- }, K = () => {
25
- document.removeEventListener("keydown", r), o.clear();
11
+ }, k = (n) => S ? x(n) ?? document : null, E = (n) => {
12
+ const s = k(n.target);
13
+ if (!s) return;
14
+ const r = n.capture ?? !1, f = i.get(s);
15
+ f?.has(r) || (s.addEventListener("keydown", v, {
16
+ passive: n.passive ?? !0,
17
+ capture: r
18
+ }), i.set(s, (f ?? /* @__PURE__ */ new Set()).add(r)));
19
+ }, C = (n) => {
20
+ p ? E(n) : u.push(n);
21
+ }, M = () => {
22
+ i.forEach((n, s) => {
23
+ n.forEach((r) => {
24
+ s.removeEventListener("keydown", v, { capture: r });
25
+ });
26
+ }), i.clear(), u.length = 0;
27
+ }, z = (n, s, r = {}) => {
28
+ (Array.isArray(n) ? n : [n]).forEach((d) => {
29
+ const l = g(d);
30
+ o.has(l) || o.set(l, /* @__PURE__ */ new Set());
31
+ const K = o.get(l);
32
+ let b = !1;
33
+ K.forEach((t) => {
34
+ t.handler === s && (b = !0);
35
+ }), b || K.add({ handler: s, options: r });
36
+ }), C(r);
37
+ }, w = (n, s) => {
38
+ (Array.isArray(n) ? n : [n]).forEach((f) => {
39
+ const d = g(f), l = o.get(d);
40
+ l && (s ? l.forEach((K) => {
41
+ K.handler === s && l.delete(K);
42
+ }) : l.clear(), l.size === 0 && o.delete(d));
43
+ }), o.size === 0 && M();
44
+ }, L = () => {
45
+ M(), o.clear();
26
46
  };
27
- return k(() => {
28
- K();
29
- }), {
30
- onKeyStroke: w,
31
- offKeyStroke: v,
32
- destroy: K
47
+ return m && (T(() => {
48
+ p = !0, u.splice(0).forEach(E);
49
+ }), D(L)), {
50
+ onKeyStroke: z,
51
+ offKeyStroke: w,
52
+ destroy: L
33
53
  };
34
- }, M = () => {
35
- const o = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Map();
36
- let s = null;
37
- const p = (t) => {
54
+ }, q = () => {
55
+ const o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map();
56
+ let u = null, m = !1, p = !1;
57
+ const g = A();
58
+ let v = S && !g;
59
+ const k = (t) => {
38
60
  if (!t) return "";
39
61
  const e = t.toLowerCase();
40
62
  return e === "cmd" || e === "meta" || e === "metakey" ? "meta" : e === "ctrl" || e === "control" || e === "controlkey" ? "ctrl" : e === "alt" || e === "option" || e === "altkey" ? "alt" : e === "shift" || e === "shiftkey" ? "shift" : e;
41
- }, w = (t) => t.toLowerCase().split("+").map((e) => e.trim()).map(p).sort(), v = (t) => {
42
- const e = [t.join("+")], h = t.includes("meta"), l = t.includes("ctrl");
63
+ }, E = (t) => t.toLowerCase().split("+").map((e) => e.trim()).map(k).sort(), C = (t) => {
64
+ const e = [t.join("+")], h = t.includes("meta"), y = t.includes("ctrl");
43
65
  if (h) {
44
- const i = t.map((a) => a === "meta" ? "ctrl" : a);
45
- e.push(i.join("+"));
46
- } else if (l) {
47
- const i = t.map((a) => a === "ctrl" ? "meta" : a);
48
- e.push(i.join("+"));
66
+ const a = t.map((c) => c === "meta" ? "ctrl" : c);
67
+ e.push(a.join("+"));
68
+ } else if (y) {
69
+ const a = t.map((c) => c === "ctrl" ? "meta" : c);
70
+ e.push(a.join("+"));
49
71
  }
50
72
  return e;
51
- }, K = (t) => {
73
+ }, M = (t) => {
52
74
  const e = [];
53
75
  return t.metaKey && e.push("meta"), t.ctrlKey && e.push("ctrl"), t.altKey && e.push("alt"), t.shiftKey && e.push("shift"), e.sort();
54
- }, n = (t, e) => t.length !== e.length ? !1 : t.every((h, l) => h === e[l]), f = (t) => {
55
- const e = p(t.key);
56
- s && (clearTimeout(s), s = null);
57
- const l = [...K(t)];
58
- ["meta", "ctrl", "alt", "shift"].includes(e) || l.push(e), l.sort(), r.forEach((i, a) => {
59
- const b = w(a);
60
- n(b, l) && i.forEach((C) => C(t));
61
- }), s = window.setTimeout(() => {
62
- o.clear(), s = null;
76
+ }, z = (t, e) => t.length !== e.length ? !1 : t.every((h, y) => h === e[y]), w = () => {
77
+ u && (clearTimeout(u), u = null);
78
+ }, L = (t) => {
79
+ const e = k(t.key);
80
+ w();
81
+ const y = [...M(t)];
82
+ ["meta", "ctrl", "alt", "shift"].includes(e) || y.push(e), y.sort(), i.forEach((a, c) => {
83
+ const j = E(c);
84
+ z(j, y) && a.forEach((R) => R(t));
85
+ }), u = setTimeout(() => {
86
+ o.clear(), u = null;
63
87
  }, 100);
64
- }, c = (t) => {
65
- const e = p(t.key);
66
- o.delete(e), s && (clearTimeout(s), s = null);
67
- }, y = () => {
68
- o.clear(), s && (clearTimeout(s), s = null);
69
- }, u = () => {
70
- document.hidden && (o.clear(), s && (clearTimeout(s), s = null));
88
+ }, n = (t) => {
89
+ const e = k(t.key);
90
+ o.delete(e), w();
91
+ }, s = () => {
92
+ o.clear(), w();
93
+ }, r = () => {
94
+ document.hidden && (o.clear(), w());
95
+ }, f = () => {
96
+ !S || m || (m = !0, window.addEventListener("keydown", L, { passive: !1 }), window.addEventListener("keyup", n, { passive: !1 }), window.addEventListener("blur", s, { passive: !0 }), document.addEventListener("visibilitychange", r, { passive: !0 }));
71
97
  }, d = () => {
72
- window.addEventListener("keydown", f, { passive: !1 }), window.addEventListener("keyup", c, { passive: !1 }), window.addEventListener("blur", y, { passive: !0 }), document.addEventListener("visibilitychange", u, { passive: !0 });
73
- }, m = () => {
74
- window.removeEventListener("keydown", f), window.removeEventListener("keyup", c), window.removeEventListener("blur", y), document.removeEventListener("visibilitychange", u), s && (clearTimeout(s), s = null);
75
- }, L = (t, e) => {
76
- const h = w(t), l = v(h);
77
- l.forEach((i) => {
78
- r.has(i) || r.set(i, /* @__PURE__ */ new Set()), r.get(i).add(e);
79
- }), r.size === l.length && d();
80
- }, g = (t, e) => {
81
- const h = w(t);
82
- v(h).forEach((i) => {
83
- const a = r.get(i);
84
- a && (e ? a.delete(e) : a.clear(), a.size === 0 && r.delete(i));
85
- }), r.size === 0 && m();
86
- }, E = () => {
87
- m(), r.clear(), o.clear();
98
+ m && (m = !1, window.removeEventListener("keydown", L), window.removeEventListener("keyup", n), window.removeEventListener("blur", s), document.removeEventListener("visibilitychange", r)), w();
99
+ }, l = (t, e) => {
100
+ const h = E(t);
101
+ C(h).forEach((a) => {
102
+ i.has(a) || i.set(a, /* @__PURE__ */ new Set()), i.get(a).add(e);
103
+ }), p = !0, v && f();
104
+ }, K = (t, e) => {
105
+ const h = E(t);
106
+ C(h).forEach((a) => {
107
+ const c = i.get(a);
108
+ c && (e ? c.delete(e) : c.clear(), c.size === 0 && i.delete(a));
109
+ }), i.size === 0 && (p = !1, d());
110
+ }, b = () => {
111
+ d(), i.clear(), o.clear(), p = !1;
88
112
  };
89
- return k(E), { onKeyStroke: L, offKeyStroke: g, destroy: E };
113
+ return g && (T(() => {
114
+ v = !0, p && f();
115
+ }), D(b)), { onKeyStroke: l, offKeyStroke: K, destroy: b };
90
116
  };
91
117
  export {
92
- M as useAdvancedKeyStroke,
93
- S as useKeyStroke
118
+ q as useAdvancedKeyStroke,
119
+ U as useKeyStroke
94
120
  };
@@ -20,7 +20,7 @@ function c() {
20
20
  d(
21
21
  t,
22
22
  (i) => {
23
- localStorage.setItem("builto-theme", i), n(i);
23
+ typeof window > "u" || (localStorage.setItem("builto-theme", i), n(i));
24
24
  },
25
25
  { immediate: !0 }
26
26
  ), r(() => {
package/index.d.ts CHANGED
@@ -65,6 +65,7 @@ export { default as ImageMagnifier } from './components/ImageMagnifier.vue';
65
65
  export * from './components/ThemeProvider';
66
66
  export * from './components/SeoProvider';
67
67
  export * from './components/ScaleGenerator';
68
+ export * from './components/PanZoomViewport';
68
69
  export { THEME_STYLES_KEY, useThemeStyles } from './composables/useThemeStyles';
69
70
  export { useSeo, SEO_CONTEXT_KEY, type SeoContextBag, type SeoContextHandle } from './composables/useSeo';
70
71
  export { default as Icon } from './components/Icon.vue';
@@ -96,6 +97,7 @@ export { default as ThemeToggle } from './components/ThemeToggle.vue';
96
97
  export { default as GoogleLogin } from './components/GoogleLogin.vue';
97
98
  export { default as GoogleMap } from './components/GoogleMap.vue';
98
99
  export { default as ColorPicker } from './components/ColorPicker/ColorPicker.vue';
100
+ export { COLOR_PICKER_RESET_VALUE } from './components/ColorPicker/constants';
99
101
  export { default as ConfirmationModal } from './components/ConfirmationModal.vue';
100
102
  export { default as ToastNotification } from './components/ToastNotification.vue';
101
103
  export { default as CommandPaletteContent } from './components/CommandPalette/CommandPaletteContent.vue';