@object-ui/plugin-kanban 3.1.5 → 3.3.1

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 (77) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +24 -0
  3. package/dist/{KanbanEnhanced-CvxO2soF.js → KanbanEnhanced-Do9ZB1Mh.js} +36 -33
  4. package/dist/{KanbanImpl-ii52_k8g.js → KanbanImpl-BdocXM5T.js} +2 -2
  5. package/dist/{chevron-down-DpXJN6OX.js → chevron-down-C0JUlGjk.js} +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +35 -26
  8. package/dist/index.umd.cjs +4 -4
  9. package/dist/packages/plugin-kanban/src/CardTemplates.d.ts.map +1 -0
  10. package/dist/packages/plugin-kanban/src/InlineQuickAdd.d.ts.map +1 -0
  11. package/dist/packages/plugin-kanban/src/KanbanEnhanced.d.ts.map +1 -0
  12. package/dist/packages/plugin-kanban/src/KanbanImpl.d.ts.map +1 -0
  13. package/dist/packages/plugin-kanban/src/ObjectKanban.EdgeCases.stories.d.ts.map +1 -0
  14. package/dist/packages/plugin-kanban/src/ObjectKanban.d.ts.map +1 -0
  15. package/dist/packages/plugin-kanban/src/ObjectKanban.stories.d.ts.map +1 -0
  16. package/dist/packages/plugin-kanban/src/index.d.ts.map +1 -0
  17. package/dist/packages/plugin-kanban/src/types.d.ts.map +1 -0
  18. package/dist/packages/plugin-kanban/src/useColumnWidths.d.ts.map +1 -0
  19. package/dist/packages/plugin-kanban/src/useCrossSwimlaneMove.d.ts.map +1 -0
  20. package/dist/packages/plugin-kanban/src/useQuickAddReorder.d.ts.map +1 -0
  21. package/dist/{plus-CAtTu4zt.js → plus-CHsXVJSY.js} +39 -36
  22. package/dist/{sortable.esm-DzUCoMzQ.js → sortable.esm-LJG1TjKd.js} +4 -4
  23. package/package.json +35 -12
  24. package/.turbo/turbo-build.log +0 -32
  25. package/dist/src/CardTemplates.d.ts.map +0 -1
  26. package/dist/src/InlineQuickAdd.d.ts.map +0 -1
  27. package/dist/src/KanbanEnhanced.d.ts.map +0 -1
  28. package/dist/src/KanbanImpl.d.ts.map +0 -1
  29. package/dist/src/ObjectKanban.EdgeCases.stories.d.ts.map +0 -1
  30. package/dist/src/ObjectKanban.d.ts.map +0 -1
  31. package/dist/src/ObjectKanban.stories.d.ts.map +0 -1
  32. package/dist/src/index.d.ts.map +0 -1
  33. package/dist/src/types.d.ts.map +0 -1
  34. package/dist/src/useColumnWidths.d.ts.map +0 -1
  35. package/dist/src/useCrossSwimlaneMove.d.ts.map +0 -1
  36. package/dist/src/useQuickAddReorder.d.ts.map +0 -1
  37. package/src/CardTemplates.tsx +0 -123
  38. package/src/InlineQuickAdd.tsx +0 -189
  39. package/src/KanbanEnhanced.tsx +0 -525
  40. package/src/KanbanImpl.tsx +0 -597
  41. package/src/ObjectKanban.EdgeCases.stories.tsx +0 -168
  42. package/src/ObjectKanban.msw.test.tsx +0 -91
  43. package/src/ObjectKanban.stories.tsx +0 -152
  44. package/src/ObjectKanban.tsx +0 -262
  45. package/src/__tests__/KanbanEnhanced.test.tsx +0 -260
  46. package/src/__tests__/KanbanGrouping.test.tsx +0 -164
  47. package/src/__tests__/KanbanSwimlanes.test.tsx +0 -194
  48. package/src/__tests__/ObjectKanbanTitle.test.tsx +0 -93
  49. package/src/__tests__/SwimlanePersistence.test.tsx +0 -159
  50. package/src/__tests__/accessibility.test.tsx +0 -296
  51. package/src/__tests__/dnd-undo-integration.test.tsx +0 -525
  52. package/src/__tests__/performance-benchmark.test.tsx +0 -306
  53. package/src/__tests__/phase13-features.test.tsx +0 -387
  54. package/src/__tests__/view-states.test.tsx +0 -403
  55. package/src/index.test.ts +0 -112
  56. package/src/index.tsx +0 -327
  57. package/src/registration.test.tsx +0 -26
  58. package/src/types.ts +0 -185
  59. package/src/useColumnWidths.ts +0 -125
  60. package/src/useCrossSwimlaneMove.ts +0 -116
  61. package/src/useQuickAddReorder.ts +0 -107
  62. package/tsconfig.json +0 -19
  63. package/vite.config.ts +0 -61
  64. package/vitest.config.ts +0 -12
  65. package/vitest.setup.ts +0 -1
  66. /package/dist/{src → packages/plugin-kanban/src}/CardTemplates.d.ts +0 -0
  67. /package/dist/{src → packages/plugin-kanban/src}/InlineQuickAdd.d.ts +0 -0
  68. /package/dist/{src → packages/plugin-kanban/src}/KanbanEnhanced.d.ts +0 -0
  69. /package/dist/{src → packages/plugin-kanban/src}/KanbanImpl.d.ts +0 -0
  70. /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.EdgeCases.stories.d.ts +0 -0
  71. /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.d.ts +0 -0
  72. /package/dist/{src → packages/plugin-kanban/src}/ObjectKanban.stories.d.ts +0 -0
  73. /package/dist/{src → packages/plugin-kanban/src}/index.d.ts +0 -0
  74. /package/dist/{src → packages/plugin-kanban/src}/types.d.ts +0 -0
  75. /package/dist/{src → packages/plugin-kanban/src}/useColumnWidths.d.ts +0 -0
  76. /package/dist/{src → packages/plugin-kanban/src}/useCrossSwimlaneMove.d.ts +0 -0
  77. /package/dist/{src → packages/plugin-kanban/src}/useQuickAddReorder.d.ts +0 -0
@@ -1,9 +1,9 @@
1
- import { createElement as e, forwardRef as t } from "react";
1
+ import { createContext as e, createElement as t, forwardRef as n, useContext as r } from "react";
2
2
  //#region \0rolldown/runtime.js
3
- var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
3
+ var i = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), a = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
4
4
  if (typeof require < "u") return require.apply(this, arguments);
5
5
  throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
6
- }), i = /* @__PURE__ */ n(((e) => {
6
+ }), o = /* @__PURE__ */ i(((e) => {
7
7
  var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
8
8
  function r(e, n, r) {
9
9
  var i = null;
@@ -18,7 +18,7 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
18
18
  };
19
19
  }
20
20
  e.Fragment = n, e.jsx = r, e.jsxs = r;
21
- })), a = /* @__PURE__ */ n(((e) => {
21
+ })), s = /* @__PURE__ */ i(((e) => {
22
22
  process.env.NODE_ENV !== "production" && (function() {
23
23
  function t(e) {
24
24
  if (e == null) return null;
@@ -51,7 +51,7 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
51
51
  function n(e) {
52
52
  return "" + e;
53
53
  }
54
- function i(e) {
54
+ function r(e) {
55
55
  try {
56
56
  n(e);
57
57
  var t = !1;
@@ -64,7 +64,7 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
64
64
  return r.call(t, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", i), n(e);
65
65
  }
66
66
  }
67
- function a(e) {
67
+ function i(e) {
68
68
  if (e === v) return "<>";
69
69
  if (typeof e == "object" && e && e.$$typeof === D) return "<...>";
70
70
  try {
@@ -137,7 +137,7 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
137
137
  value: a
138
138
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
139
139
  }
140
- function f(e, n, r, a, s, u) {
140
+ function f(e, n, i, a, s, u) {
141
141
  var f = n.children;
142
142
  if (f !== void 0) if (a) if (M(f)) {
143
143
  for (a = 0; a < f.length; a++) p(f[a]);
@@ -151,9 +151,9 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
151
151
  });
152
152
  a = 0 < m.length ? "{key: someKey, " + m.join(": ..., ") + ": ...}" : "{key: someKey}", R[f + a] || (m = 0 < m.length ? "{" + m.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", a, f, m, f), R[f + a] = !0);
153
153
  }
154
- if (f = null, r !== void 0 && (i(r), f = "" + r), c(n) && (i(n.key), f = "" + n.key), "key" in n) for (var h in r = {}, n) h !== "key" && (r[h] = n[h]);
155
- else r = n;
156
- return f && l(r, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), d(e, f, r, o(), s, u);
154
+ if (f = null, i !== void 0 && (r(i), f = "" + i), c(n) && (r(n.key), f = "" + n.key), "key" in n) for (var h in i = {}, n) h !== "key" && (i[h] = n[h]);
155
+ else i = n;
156
+ return f && l(i, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), d(e, f, i, o(), s, u);
157
157
  }
158
158
  function p(e) {
159
159
  m(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e && e.$$typeof === D && (e._payload.status === "fulfilled" ? m(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
@@ -161,27 +161,27 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
161
161
  function m(e) {
162
162
  return typeof e == "object" && !!e && e.$$typeof === g;
163
163
  }
164
- var h = r("react"), g = Symbol.for("react.transitional.element"), _ = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), y = Symbol.for("react.strict_mode"), b = Symbol.for("react.profiler"), x = Symbol.for("react.consumer"), S = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), E = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), O = Symbol.for("react.activity"), k = Symbol.for("react.client.reference"), A = h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, j = Object.prototype.hasOwnProperty, M = Array.isArray, N = console.createTask ? console.createTask : function() {
164
+ var h = a("react"), g = Symbol.for("react.transitional.element"), _ = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), y = Symbol.for("react.strict_mode"), b = Symbol.for("react.profiler"), x = Symbol.for("react.consumer"), S = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), E = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), O = Symbol.for("react.activity"), k = Symbol.for("react.client.reference"), A = h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, j = Object.prototype.hasOwnProperty, M = Array.isArray, N = console.createTask ? console.createTask : function() {
165
165
  return null;
166
166
  };
167
167
  h = { react_stack_bottom_frame: function(e) {
168
168
  return e();
169
169
  } };
170
- var P, F = {}, I = h.react_stack_bottom_frame.bind(h, s)(), L = N(a(s)), R = {};
170
+ var P, F = {}, I = h.react_stack_bottom_frame.bind(h, s)(), L = N(i(s)), R = {};
171
171
  e.Fragment = v, e.jsx = function(e, t, n) {
172
172
  var r = 1e4 > A.recentlyCreatedOwnerStacks++;
173
- return f(e, t, n, !1, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
173
+ return f(e, t, n, !1, r ? Error("react-stack-top-frame") : I, r ? N(i(e)) : L);
174
174
  }, e.jsxs = function(e, t, n) {
175
175
  var r = 1e4 > A.recentlyCreatedOwnerStacks++;
176
- return f(e, t, n, !0, r ? Error("react-stack-top-frame") : I, r ? N(a(e)) : L);
176
+ return f(e, t, n, !0, r ? Error("react-stack-top-frame") : I, r ? N(i(e)) : L);
177
177
  };
178
178
  })();
179
- })), o = /* @__PURE__ */ n(((e, t) => {
180
- process.env.NODE_ENV === "production" ? t.exports = i() : t.exports = a();
181
- })), s = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), c = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), l = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), u = (e) => {
182
- let t = l(e);
179
+ })), c = /* @__PURE__ */ i(((e, t) => {
180
+ process.env.NODE_ENV === "production" ? t.exports = o() : t.exports = s();
181
+ })), l = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), u = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), d = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), f = (e) => {
182
+ let t = d(e);
183
183
  return t.charAt(0).toUpperCase() + t.slice(1);
184
- }, d = {
184
+ }, p = {
185
185
  xmlns: "http://www.w3.org/2000/svg",
186
186
  width: 24,
187
187
  height: 24,
@@ -191,28 +191,31 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
191
191
  strokeWidth: 2,
192
192
  strokeLinecap: "round",
193
193
  strokeLinejoin: "round"
194
- }, f = (e) => {
194
+ }, m = (e) => {
195
195
  for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
196
196
  return !1;
197
- }, p = t(({ color: t = "currentColor", size: n = 24, strokeWidth: r = 2, absoluteStrokeWidth: i, className: a = "", children: o, iconNode: c, ...l }, u) => e("svg", {
198
- ref: u,
199
- ...d,
200
- width: n,
201
- height: n,
202
- stroke: t,
203
- strokeWidth: i ? Number(r) * 24 / Number(n) : r,
204
- className: s("lucide", a),
205
- ...!o && !f(l) && { "aria-hidden": "true" },
206
- ...l
207
- }, [...c.map(([t, n]) => e(t, n)), ...Array.isArray(o) ? o : [o]])), m = (n, r) => {
208
- let i = t(({ className: t, ...i }, a) => e(p, {
197
+ }, h = e({}), g = () => r(h), _ = n(({ color: e, size: n, strokeWidth: r, absoluteStrokeWidth: i, className: a = "", children: o, iconNode: s, ...c }, u) => {
198
+ let { size: d = 24, strokeWidth: f = 2, absoluteStrokeWidth: h = !1, color: _ = "currentColor", className: v = "" } = g() ?? {}, y = i ?? h ? Number(r ?? f) * 24 / Number(n ?? d) : r ?? f;
199
+ return t("svg", {
200
+ ref: u,
201
+ ...p,
202
+ width: n ?? d ?? p.width,
203
+ height: n ?? d ?? p.height,
204
+ stroke: e ?? _,
205
+ strokeWidth: y,
206
+ className: l("lucide", v, a),
207
+ ...!o && !m(c) && { "aria-hidden": "true" },
208
+ ...c
209
+ }, [...s.map(([e, n]) => t(e, n)), ...Array.isArray(o) ? o : [o]]);
210
+ }), v = (e, r) => {
211
+ let i = n(({ className: n, ...i }, a) => t(_, {
209
212
  ref: a,
210
213
  iconNode: r,
211
- className: s(`lucide-${c(u(n))}`, `lucide-${n}`, t),
214
+ className: l(`lucide-${u(f(e))}`, `lucide-${e}`, n),
212
215
  ...i
213
216
  }));
214
- return i.displayName = u(n), i;
215
- }, h = m("plus", [["path", {
217
+ return i.displayName = f(e), i;
218
+ }, y = v("plus", [["path", {
216
219
  d: "M5 12h14",
217
220
  key: "1ays0h"
218
221
  }], ["path", {
@@ -220,4 +223,4 @@ var n = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), r
220
223
  key: "s699le"
221
224
  }]]);
222
225
  //#endregion
223
- export { m as n, o as r, h as t };
226
+ export { v as n, c as r, y as t };
@@ -1,6 +1,6 @@
1
1
  import e, { cloneElement as t, createContext as n, forwardRef as r, memo as i, useCallback as a, useContext as o, useEffect as s, useLayoutEffect as c, useMemo as l, useReducer as u, useRef as d, useState as f } from "react";
2
2
  import { createPortal as p, unstable_batchedUpdates as m } from "react-dom";
3
- //#region ../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/utilities.esm.js
3
+ //#region ../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.5/node_modules/@dnd-kit/utilities/dist/utilities.esm.js
4
4
  function h() {
5
5
  var e = [...arguments];
6
6
  return l(() => (t) => {
@@ -153,7 +153,7 @@ function oe(e) {
153
153
  return e.matches(F) ? e : e.querySelector(F);
154
154
  }
155
155
  //#endregion
156
- //#region ../../node_modules/.pnpm/@dnd-kit+accessibility@3.1.1_react@19.2.4/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js
156
+ //#region ../../node_modules/.pnpm/@dnd-kit+accessibility@3.1.1_react@19.2.5/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js
157
157
  var I = { display: "none" };
158
158
  function se(t) {
159
159
  let { id: n, value: r } = t;
@@ -195,7 +195,7 @@ function R() {
195
195
  };
196
196
  }
197
197
  //#endregion
198
- //#region ../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/core.esm.js
198
+ //#region ../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/@dnd-kit/core/dist/core.esm.js
199
199
  var ce = /* @__PURE__ */ n(null);
200
200
  function z(e) {
201
201
  let t = o(ce);
@@ -2132,7 +2132,7 @@ var xn = /* @__PURE__ */ e.memo((t) => {
2132
2132
  }, r) : null));
2133
2133
  });
2134
2134
  //#endregion
2135
- //#region ../../node_modules/.pnpm/@dnd-kit+sortable@10.0.0_@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4__react@19.2.4/node_modules/@dnd-kit/sortable/dist/sortable.esm.js
2135
+ //#region ../../node_modules/.pnpm/@dnd-kit+sortable@10.0.0_@dnd-kit+core@6.3.1_react-dom@19.2.5_react@19.2.5__react@19.2.5__react@19.2.5/node_modules/@dnd-kit/sortable/dist/sortable.esm.js
2136
2136
  function Sn(e, t, n) {
2137
2137
  let r = e.slice();
2138
2138
  return r.splice(n < 0 ? r.length + n : n, 0, r.splice(t, 1)[0]), r;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@object-ui/plugin-kanban",
3
- "version": "3.1.5",
3
+ "version": "3.3.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Kanban board plugin for Object UI, powered by dnd-kit",
7
- "homepage": "https://www.objectui.org",
7
+ "homepage": "https://www.objectui.org/docs/plugins/plugin-kanban",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/objectstack-ai/objectui.git",
10
+ "url": "git+https://github.com/objectstack-ai/objectui.git",
11
11
  "directory": "packages/plugin-kanban"
12
12
  },
13
13
  "bugs": {
@@ -27,12 +27,12 @@
27
27
  "@dnd-kit/core": "^6.3.1",
28
28
  "@dnd-kit/sortable": "^10.0.0",
29
29
  "@dnd-kit/utilities": "^3.2.2",
30
- "@tanstack/react-virtual": "^3.13.23",
31
- "lucide-react": "^0.577.0",
32
- "@object-ui/components": "3.1.5",
33
- "@object-ui/core": "3.1.5",
34
- "@object-ui/react": "3.1.5",
35
- "@object-ui/types": "3.1.5"
30
+ "@tanstack/react-virtual": "^3.13.24",
31
+ "lucide-react": "^1.8.0",
32
+ "@object-ui/components": "3.3.1",
33
+ "@object-ui/core": "3.3.1",
34
+ "@object-ui/react": "3.3.1",
35
+ "@object-ui/types": "3.3.1"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": "^18.0.0 || ^19.0.0",
@@ -42,11 +42,34 @@
42
42
  "@types/react": "19.2.14",
43
43
  "@types/react-dom": "19.2.3",
44
44
  "@vitejs/plugin-react": "^6.0.1",
45
- "typescript": "^5.9.3",
46
- "vite": "^8.0.1",
45
+ "typescript": "^6.0.3",
46
+ "vite": "^8.0.9",
47
47
  "vite-plugin-dts": "^4.5.4",
48
- "@object-ui/data-objectstack": "3.1.5"
48
+ "@object-ui/data-objectstack": "3.3.1"
49
49
  },
50
+ "keywords": [
51
+ "objectui",
52
+ "sdui",
53
+ "schema-driven-ui",
54
+ "react",
55
+ "tailwind",
56
+ "shadcn",
57
+ "objectstack",
58
+ "plugin",
59
+ "kanban",
60
+ "dnd-kit",
61
+ "board"
62
+ ],
63
+ "author": "ObjectStack Team <team@objectstack.ai>",
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "files": [
68
+ "dist",
69
+ "README.md",
70
+ "CHANGELOG.md",
71
+ "LICENSE"
72
+ ],
50
73
  "scripts": {
51
74
  "build": "vite build",
52
75
  "test": "vitest run",
@@ -1,32 +0,0 @@
1
-
2
- > @object-ui/plugin-kanban@3.1.5 build /home/runner/work/objectui/objectui/packages/plugin-kanban
3
- > vite build
4
-
5
- vite v8.0.1 building client environment for production...
6
- 
7
- rendering chunks...
8
- 
9
- [vite:dts] Start generate declaration files...
10
- src/ObjectKanban.tsx:37:6 - error TS6133: 'props' is declared but its value is never read.
11
-
12
- 37 ...props
13
-    ~~~~~
14
-
15
- [vite:dts] Declaration files built in 29215ms.
16
- 
17
- computing gzip size...
18
- dist/chevron-down-DpXJN6OX.js 0.15 kB │ gzip: 0.15 kB
19
- dist/plus-CAtTu4zt.js 9.27 kB │ gzip: 3.54 kB
20
- dist/KanbanImpl-ii52_k8g.js 13.64 kB │ gzip: 4.14 kB
21
- dist/index.js 18.79 kB │ gzip: 5.91 kB
22
- dist/KanbanEnhanced-CvxO2soF.js 30.93 kB │ gzip: 9.18 kB
23
- dist/sortable.esm-DzUCoMzQ.js 60.78 kB │ gzip: 17.98 kB
24
-
25
- [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugin `vite:dts`. See https://rolldown.rs/options/checks#plugintimings for more details.
26
- 
27
- 
28
- rendering chunks...
29
- computing gzip size...
30
- dist/index.umd.cjs 102.70 kB │ gzip: 32.38 kB
31
-
32
- ✓ built in 34.84s
@@ -1 +0,0 @@
1
- {"version":3,"file":"CardTemplates.d.ts","sourceRoot":"","sources":["../../src/CardTemplates.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,uDAAuD;IACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAA;IACjD,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2FtD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InlineQuickAdd.d.ts","sourceRoot":"","sources":["../../src/InlineQuickAdd.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAIpD,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC/B,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAA;IACjE,wCAAwC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2FxD,CAAA;AAgED,eAAe,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"KanbanEnhanced.d.ts","sourceRoot":"","sources":["../../src/KanbanEnhanced.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAChG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/D,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;CACpD;AAuSD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,cAAc,EACd,sBAA8B,EAC9B,sBAA2B,EAC3B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,EAAE,mBAAmB,2CAqJrB;AAED,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"KanbanImpl.d.ts","sourceRoot":"","sources":["../../src/KanbanImpl.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8BH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAChG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAA;IACrD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACnD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AA4OD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,EAAE,gBAAgB,2CAYjL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectKanban.EdgeCases.stories.d.ts","sourceRoot":"","sources":["../../src/ObjectKanban.EdgeCases.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAUW,CAAC;AAEtB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAMnC,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,KAYhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAiC9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,KAwCjC,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,KAmCzB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectKanban.d.ts","sourceRoot":"","sources":["../../src/ObjectKanban.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyOpD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectKanban.stories.d.ts","sourceRoot":"","sources":["../../src/ObjectKanban.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;CAUW,CAAC;AAEtB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAInC,eAAO,MAAM,OAAO,EAAE,KAsDrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAuCzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAiC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC9H,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAMhG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAClG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,KAAK,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;YACtD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YACzB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiExD,CAAC;AAqGF,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AA8DF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAG9E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnWidths.d.ts","sourceRoot":"","sources":["../../src/useColumnWidths.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI9D,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,yCAAyC;IACzC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,iDAAiD;IACjD,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,iDAAiD;IACjD,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EAAE,QAAQ,EACjB,YAAkB,EAClB,QAAc,EACd,QAAc,EACd,UAAU,GACX,EAAE,sBAAsB,GAAG,qBAAqB,CAoDhD;AAED,eAAe,eAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossSwimlaneMove.d.ts","sourceRoot":"","sources":["../../src/useCrossSwimlaneMove.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,2BAA2B;IAC3B,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,uBAAuB,EAAE,CACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAA;IACZ,iEAAiE;IACjE,yBAAyB,EAAE,OAAO,CAAA;IAClC,2CAA2C;IAC3C,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,kCAAkC;IAClC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,iEAAiE;IACjE,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;CACjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,UAAU,GACX,EAAE,uBAAuB,GAAG,0BAA0B,CAuDtD;AAED,eAAe,oBAAoB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useQuickAddReorder.d.ts","sourceRoot":"","sources":["../../src/useQuickAddReorder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,4DAA4D;IAC5D,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAA;IACnB,wDAAwD;IACxD,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,sDAAsD;IACtD,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,iBAAiB,GAClB,EAAE,yBAAyB,GAAG,wBAAwB,CAuDtD;AAWD,eAAe,kBAAkB,CAAA"}
@@ -1,123 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
-
9
- import * as React from "react"
10
- import { Button } from "@object-ui/components"
11
- import { ChevronDown, FileText, Plus } from "lucide-react"
12
- import type { CardTemplate } from "./types"
13
-
14
- const cn = (...classes: (string | undefined)[]) => classes.filter(Boolean).join(' ')
15
-
16
- export interface CardTemplatesProps {
17
- /** Available card templates */
18
- templates: CardTemplate[]
19
- /** Called when a template (or "Custom") is selected */
20
- onSelect: (template: CardTemplate | null) => void
21
- /** Column the template applies to */
22
- columnId: string
23
- }
24
-
25
- /**
26
- * CardTemplates renders a dropdown button that lets users pick a
27
- * predefined card template or start with a blank ("Custom") card.
28
- * The selected template pre-fills the quick-add form values.
29
- */
30
- export const CardTemplates: React.FC<CardTemplatesProps> = ({
31
- templates,
32
- onSelect,
33
- columnId,
34
- }) => {
35
- const [open, setOpen] = React.useState(false)
36
- const containerRef = React.useRef<HTMLDivElement>(null)
37
-
38
- // Close dropdown on outside click
39
- React.useEffect(() => {
40
- if (!open) return
41
- const handler = (e: MouseEvent) => {
42
- if (containerRef.current && !containerRef.current.contains(e.target as Node)) {
43
- setOpen(false)
44
- }
45
- }
46
- document.addEventListener("mousedown", handler)
47
- return () => document.removeEventListener("mousedown", handler)
48
- }, [open])
49
-
50
- // Close on Escape
51
- const handleKeyDown = React.useCallback(
52
- (e: React.KeyboardEvent) => {
53
- if (e.key === "Escape") {
54
- setOpen(false)
55
- }
56
- },
57
- [],
58
- )
59
-
60
- return (
61
- <div ref={containerRef} className="relative" onKeyDown={handleKeyDown}>
62
- <Button
63
- variant="ghost"
64
- size="sm"
65
- className="w-full mt-2 text-muted-foreground hover:text-foreground gap-1"
66
- onClick={() => setOpen(prev => !prev)}
67
- aria-haspopup="listbox"
68
- aria-expanded={open}
69
- aria-label={`Add card to ${columnId}`}
70
- >
71
- <Plus className="h-4 w-4" />
72
- Add Card
73
- <ChevronDown className={cn("h-3 w-3 transition-transform", open ? "rotate-180" : "")} />
74
- </Button>
75
-
76
- {open && (
77
- <div
78
- className="absolute z-50 mt-1 w-full rounded-md border border-border bg-popover p-1 shadow-md"
79
- role="listbox"
80
- aria-label="Card templates"
81
- >
82
- {/* Custom blank card option */}
83
- <button
84
- type="button"
85
- className="flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors"
86
- role="option"
87
- aria-selected={false}
88
- onClick={() => {
89
- onSelect(null)
90
- setOpen(false)
91
- }}
92
- >
93
- <Plus className="h-4 w-4 text-muted-foreground" />
94
- <span className="font-mono text-xs">Custom</span>
95
- </button>
96
-
97
- {templates.length > 0 && (
98
- <div className="my-1 h-px bg-border" role="separator" />
99
- )}
100
-
101
- {templates.map(template => (
102
- <button
103
- key={template.id}
104
- type="button"
105
- className="flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors"
106
- role="option"
107
- aria-selected={false}
108
- onClick={() => {
109
- onSelect(template)
110
- setOpen(false)
111
- }}
112
- >
113
- <FileText className="h-4 w-4 text-muted-foreground" />
114
- <span className="font-mono text-xs truncate">{template.name}</span>
115
- </button>
116
- ))}
117
- </div>
118
- )}
119
- </div>
120
- )
121
- }
122
-
123
- export default CardTemplates