@dxos/plugin-kanban 0.8.3 → 0.8.4-main.5acf9ea

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 (104) hide show
  1. package/dist/lib/browser/{artifact-definition-6HNQFL2M.mjs → artifact-definition-NIFSAHUK.mjs} +32 -36
  2. package/dist/lib/browser/artifact-definition-NIFSAHUK.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-6JEDX6HA.mjs → chunk-MUK4JV7A.mjs} +34 -11
  4. package/dist/lib/browser/chunk-MUK4JV7A.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +17 -17
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/intent-resolver-6GPK64NB.mjs +111 -0
  8. package/dist/lib/browser/intent-resolver-6GPK64NB.mjs.map +7 -0
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-HJL2JRJP.mjs → react-surface-Y2GO6B24.mjs} +40 -89
  11. package/dist/lib/browser/react-surface-Y2GO6B24.mjs.map +7 -0
  12. package/dist/lib/browser/{types.mjs → types/index.mjs} +4 -4
  13. package/dist/lib/node-esm/{artifact-definition-FA2IAAUQ.mjs → artifact-definition-NACXLTWB.mjs} +32 -36
  14. package/dist/lib/node-esm/artifact-definition-NACXLTWB.mjs.map +7 -0
  15. package/dist/lib/node-esm/{chunk-7DHZSNGQ.mjs → chunk-2GCFRKS2.mjs} +34 -11
  16. package/dist/lib/node-esm/chunk-2GCFRKS2.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +17 -17
  18. package/dist/lib/node-esm/index.mjs.map +3 -3
  19. package/dist/lib/node-esm/intent-resolver-CXHLNVEN.mjs +112 -0
  20. package/dist/lib/node-esm/intent-resolver-CXHLNVEN.mjs.map +7 -0
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/{react-surface-257WTPQZ.mjs → react-surface-UEQNH6S4.mjs} +40 -89
  23. package/dist/lib/node-esm/react-surface-UEQNH6S4.mjs.map +7 -0
  24. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +4 -4
  25. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  26. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  27. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/index.d.ts +1 -1
  29. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  31. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  32. package/dist/types/src/components/KanbanContainer.d.ts +3 -3
  33. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  34. package/dist/types/src/components/KanbanContainer.stories.d.ts +1 -1
  35. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  36. package/dist/types/src/components/KanbanViewEditor.d.ts +3 -3
  37. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  38. package/dist/types/src/index.d.ts +1 -1
  39. package/dist/types/src/index.d.ts.map +1 -1
  40. package/dist/types/src/translations.d.ts +24 -53
  41. package/dist/types/src/translations.d.ts.map +1 -1
  42. package/dist/types/src/types/index.d.ts +4 -0
  43. package/dist/types/src/types/index.d.ts.map +1 -0
  44. package/dist/types/src/types/kanban.d.ts +11 -0
  45. package/dist/types/src/types/kanban.d.ts.map +1 -0
  46. package/dist/types/src/types/schema.d.ts +110 -0
  47. package/dist/types/src/types/schema.d.ts.map +1 -0
  48. package/dist/types/src/types/types.d.ts +4 -0
  49. package/dist/types/src/types/types.d.ts.map +1 -0
  50. package/dist/types/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +36 -32
  52. package/src/KanbanPlugin.tsx +5 -4
  53. package/src/capabilities/artifact-definition.ts +25 -17
  54. package/src/capabilities/intent-resolver.ts +13 -14
  55. package/src/capabilities/react-surface.tsx +15 -12
  56. package/src/components/KanbanContainer.stories.tsx +42 -45
  57. package/src/components/KanbanContainer.tsx +11 -11
  58. package/src/components/KanbanViewEditor.tsx +21 -65
  59. package/src/index.ts +2 -1
  60. package/src/translations.ts +7 -7
  61. package/src/types/index.ts +7 -0
  62. package/src/types/kanban.ts +29 -0
  63. package/src/{types.ts → types/schema.ts} +5 -26
  64. package/src/types/types.ts +7 -0
  65. package/dist/lib/browser/artifact-definition-6HNQFL2M.mjs.map +0 -7
  66. package/dist/lib/browser/chunk-6JEDX6HA.mjs.map +0 -7
  67. package/dist/lib/browser/intent-resolver-QQOH5EV2.mjs +0 -297
  68. package/dist/lib/browser/intent-resolver-QQOH5EV2.mjs.map +0 -7
  69. package/dist/lib/browser/react-surface-HJL2JRJP.mjs.map +0 -7
  70. package/dist/lib/node/artifact-definition-GRCAYCVG.cjs +0 -193
  71. package/dist/lib/node/artifact-definition-GRCAYCVG.cjs.map +0 -7
  72. package/dist/lib/node/chunk-ATDUVDIE.cjs +0 -108
  73. package/dist/lib/node/chunk-ATDUVDIE.cjs.map +0 -7
  74. package/dist/lib/node/index.cjs +0 -128
  75. package/dist/lib/node/index.cjs.map +0 -7
  76. package/dist/lib/node/intent-resolver-6ZNOIHKY.cjs +0 -308
  77. package/dist/lib/node/intent-resolver-6ZNOIHKY.cjs.map +0 -7
  78. package/dist/lib/node/meta.json +0 -1
  79. package/dist/lib/node/react-surface-G2J6F7U5.cjs +0 -322
  80. package/dist/lib/node/react-surface-G2J6F7U5.cjs.map +0 -7
  81. package/dist/lib/node/types.cjs +0 -35
  82. package/dist/lib/node/types.cjs.map +0 -7
  83. package/dist/lib/node-esm/artifact-definition-FA2IAAUQ.mjs.map +0 -7
  84. package/dist/lib/node-esm/chunk-7DHZSNGQ.mjs.map +0 -7
  85. package/dist/lib/node-esm/intent-resolver-4TYFDM4E.mjs +0 -298
  86. package/dist/lib/node-esm/intent-resolver-4TYFDM4E.mjs.map +0 -7
  87. package/dist/lib/node-esm/react-surface-257WTPQZ.mjs.map +0 -7
  88. package/dist/types/src/testing/index.d.ts +0 -3
  89. package/dist/types/src/testing/index.d.ts.map +0 -1
  90. package/dist/types/src/testing/initialize-kanban.d.ts +0 -17
  91. package/dist/types/src/testing/initialize-kanban.d.ts.map +0 -1
  92. package/dist/types/src/testing/kanban-manager.d.ts +0 -7
  93. package/dist/types/src/testing/kanban-manager.d.ts.map +0 -1
  94. package/dist/types/src/testing/playwright/smoke.spec.d.ts +0 -2
  95. package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +0 -1
  96. package/dist/types/src/types.d.ts +0 -76
  97. package/dist/types/src/types.d.ts.map +0 -1
  98. package/src/testing/index.ts +0 -6
  99. package/src/testing/initialize-kanban.ts +0 -128
  100. package/src/testing/kanban-manager.ts +0 -13
  101. package/src/testing/playwright/playwright.config.cts +0 -18
  102. package/src/testing/playwright/smoke.spec.ts +0 -7
  103. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
  104. /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
@@ -1,21 +1,22 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- KANBAN_PLUGIN,
4
3
  KanbanAction,
5
4
  PivotColumnAnnotationId,
6
- isKanban
7
- } from "./chunk-7DHZSNGQ.mjs";
5
+ meta
6
+ } from "./chunk-2GCFRKS2.mjs";
8
7
 
9
- // packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx
8
+ // src/capabilities/react-surface.tsx
10
9
  import React3, { useMemo as useMemo3 } from "react";
11
10
  import { Capabilities, contributes, createSurface, useCapabilities } from "@dxos/app-framework";
12
- import { Type as Type3 } from "@dxos/echo";
11
+ import { Obj as Obj2, Type as Type3 } from "@dxos/echo";
13
12
  import { findAnnotation } from "@dxos/effect";
14
13
  import { ClientCapabilities } from "@dxos/plugin-client";
15
14
  import { getSpace as getSpace3, isSpace } from "@dxos/react-client/echo";
16
15
  import { SelectInput as SelectInput2, useFormValues } from "@dxos/react-ui-form";
16
+ import { KanbanView } from "@dxos/react-ui-kanban";
17
+ import { DataType } from "@dxos/schema";
17
18
 
18
- // packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx
19
+ // src/components/KanbanContainer.tsx
19
20
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
20
21
  import React, { useCallback, useEffect, useMemo, useState } from "react";
21
22
  import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
@@ -26,14 +27,14 @@ import { useClient } from "@dxos/react-client";
26
27
  import { useQuery, getSpace } from "@dxos/react-client/echo";
27
28
  import { useKanbanModel, Kanban } from "@dxos/react-ui-kanban";
28
29
  import { StackItem } from "@dxos/react-ui-stack";
29
- import { ViewProjection } from "@dxos/schema";
30
- var KanbanContainer = ({ kanban }) => {
30
+ import { ProjectionModel } from "@dxos/schema";
31
+ var KanbanContainer = ({ view }) => {
31
32
  var _effect = _useSignals();
32
33
  try {
33
34
  const client = useClient();
34
35
  const [cardSchema, setCardSchema] = useState();
35
36
  const [projection, setProjection] = useState();
36
- const space = getSpace(kanban);
37
+ const space = getSpace(view);
37
38
  const { dispatchPromise: dispatch } = useIntentDispatcher();
38
39
  const jsonSchema = useMemo(() => {
39
40
  if (!cardSchema) {
@@ -44,7 +45,7 @@ var KanbanContainer = ({ kanban }) => {
44
45
  cardSchema
45
46
  ]);
46
47
  useEffect(() => {
47
- const typename = kanban.cardView?.target?.query?.typename;
48
+ const typename = view.query.typename;
48
49
  const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);
49
50
  if (staticSchema) {
50
51
  setCardSchema(() => staticSchema);
@@ -64,21 +65,21 @@ var KanbanContainer = ({ kanban }) => {
64
65
  return unsubscribe;
65
66
  }
66
67
  }, [
67
- kanban.cardView?.target?.query,
68
+ view.query.typename,
68
69
  space
69
70
  ]);
70
71
  useEffect(() => {
71
- if (kanban.cardView?.target && jsonSchema) {
72
- setProjection(new ViewProjection(jsonSchema, kanban.cardView.target));
72
+ if (jsonSchema) {
73
+ setProjection(new ProjectionModel(jsonSchema, view.projection));
73
74
  }
74
75
  }, [
75
- kanban.cardView?.target,
76
+ view.projection,
76
77
  JSON.stringify(jsonSchema)
77
78
  ]);
78
79
  const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());
79
80
  const filteredObjects = useGlobalFilteredObjects(objects);
80
81
  const model = useKanbanModel({
81
- kanban,
82
+ view,
82
83
  schema: cardSchema,
83
84
  projection,
84
85
  items: filteredObjects
@@ -114,74 +115,33 @@ var KanbanContainer = ({ kanban }) => {
114
115
  }
115
116
  };
116
117
 
117
- // packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx
118
+ // src/components/KanbanViewEditor.tsx
118
119
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
119
120
  import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
120
- import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
121
121
  import { Type as Type2 } from "@dxos/echo";
122
122
  import { EchoSchema as EchoSchema2, FormatEnum } from "@dxos/echo-schema";
123
- import { invariant } from "@dxos/invariant";
124
123
  import { useClient as useClient2 } from "@dxos/react-client";
125
- import { Filter as Filter2, getSpace as getSpace2, useQuery as useQuery2, useSchema } from "@dxos/react-client/echo";
126
- import { ViewEditor, Form, SelectInput } from "@dxos/react-ui-form";
124
+ import { getSpace as getSpace2, useSchema } from "@dxos/react-client/echo";
125
+ import { Form, SelectInput } from "@dxos/react-ui-form";
127
126
  import { KanbanSettingsSchema } from "@dxos/react-ui-kanban";
128
- import { ViewType, ViewProjection as ViewProjection2 } from "@dxos/schema";
129
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
130
- var KanbanViewEditor = ({ kanban }) => {
127
+ import { ProjectionModel as ProjectionModel2 } from "@dxos/schema";
128
+ var KanbanViewEditor = ({ view }) => {
131
129
  var _effect = _useSignals2();
132
130
  try {
133
- const { dispatchPromise: dispatch } = useIntentDispatcher2();
134
131
  const client = useClient2();
135
- const space = getSpace2(kanban);
136
- const currentTypename = useMemo2(() => kanban?.cardView?.target?.query?.typename, [
137
- kanban?.cardView?.target?.query?.typename
132
+ const space = getSpace2(view);
133
+ const kanban = view.presentation.target;
134
+ const currentTypename = useMemo2(() => view.query.typename, [
135
+ view.query.typename
138
136
  ]);
139
137
  const schema = useSchema(client, space, currentTypename);
140
- const views = useQuery2(space, Filter2.type(ViewType));
141
- const handleUpdateTypename = useCallback2((newTypename) => {
142
- invariant(schema, void 0, {
143
- F: __dxlog_file,
144
- L: 34,
145
- S: void 0,
146
- A: [
147
- "schema",
148
- ""
149
- ]
150
- });
151
- invariant(Type2.isMutable(schema), void 0, {
152
- F: __dxlog_file,
153
- L: 35,
154
- S: void 0,
155
- A: [
156
- "Type.isMutable(schema)",
157
- ""
158
- ]
159
- });
160
- const matchingViews = views.filter((view) => view.query.typename === currentTypename);
161
- for (const view of matchingViews) {
162
- view.query.typename = newTypename;
163
- }
164
- schema.updateTypename(newTypename);
165
- }, [
166
- views,
167
- schema
168
- ]);
169
- const handleDelete = useCallback2((fieldId) => {
170
- void dispatch?.(createIntent2(KanbanAction.DeleteCardField, {
171
- kanban,
172
- fieldId
173
- }));
174
- }, [
175
- dispatch,
176
- kanban
177
- ]);
178
138
  const projection = useMemo2(() => {
179
- if (kanban?.cardView?.target && schema) {
139
+ if (schema) {
180
140
  const jsonSchema = schema instanceof EchoSchema2 ? schema.jsonSchema : Type2.toJsonSchema(schema);
181
- return new ViewProjection2(jsonSchema, kanban.cardView.target);
141
+ return new ProjectionModel2(jsonSchema, view.projection);
182
142
  }
183
143
  }, [
184
- kanban?.cardView?.target,
144
+ view.projection,
185
145
  JSON.stringify(schema)
186
146
  ]);
187
147
  const fieldProjections = projection?.getFieldProjections() || [];
@@ -207,10 +167,7 @@ var KanbanViewEditor = ({ kanban }) => {
207
167
  }), [
208
168
  selectFields
209
169
  ]);
210
- if (!space || !schema || !kanban.cardView?.target) {
211
- return null;
212
- }
213
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(Form, {
170
+ return /* @__PURE__ */ React2.createElement(Form, {
214
171
  Custom: custom,
215
172
  schema: KanbanSettingsSchema,
216
173
  values: initialValues,
@@ -218,43 +175,37 @@ var KanbanViewEditor = ({ kanban }) => {
218
175
  autoSave: true,
219
176
  outerSpacing: false,
220
177
  classNames: "pbs-inputSpacingBlock"
221
- }), /* @__PURE__ */ React2.createElement(ViewEditor, {
222
- registry: space.db.schemaRegistry,
223
- schema,
224
- view: kanban.cardView.target,
225
- onTypenameChanged: Type2.isMutable(schema) ? handleUpdateTypename : void 0,
226
- onDelete: Type2.isMutable(schema) ? handleDelete : void 0,
227
- outerSpacing: false
228
- }));
178
+ });
229
179
  } finally {
230
180
  _effect.f();
231
181
  }
232
182
  };
233
183
 
234
- // packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx
184
+ // src/capabilities/react-surface.tsx
235
185
  var react_surface_default = () => contributes(Capabilities.ReactSurface, [
236
186
  createSurface({
237
- id: `${KANBAN_PLUGIN}/kanban`,
187
+ id: meta.id,
238
188
  role: [
239
189
  "article",
240
190
  "section"
241
191
  ],
242
- filter: (data) => isKanban(data.subject),
192
+ filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(KanbanView, data.subject.presentation.target),
243
193
  component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
244
- kanban: data.subject,
194
+ view: data.subject,
245
195
  role
246
196
  })
247
197
  }),
248
198
  createSurface({
249
- id: `${KANBAN_PLUGIN}/object-settings`,
199
+ id: `${meta.id}/object-settings`,
250
200
  role: "object-settings",
251
- filter: (data) => isKanban(data.subject),
201
+ position: "hoist",
202
+ filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(KanbanView, data.subject.presentation.target),
252
203
  component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor, {
253
- kanban: data.subject
204
+ view: data.subject
254
205
  })
255
206
  }),
256
207
  createSurface({
257
- id: `${KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
208
+ id: `${meta.id}/create-initial-schema-form-[pivot-column]`,
258
209
  role: "form-input",
259
210
  filter: (data) => {
260
211
  const annotation = findAnnotation(data.schema.ast, PivotColumnAnnotationId);
@@ -303,4 +254,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
303
254
  export {
304
255
  react_surface_default as default
305
256
  };
306
- //# sourceMappingURL=react-surface-257WTPQZ.mjs.map
257
+ //# sourceMappingURL=react-surface-UEQNH6S4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapabilities } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { getSpace, isSpace, type Space } from '@dxos/react-client/echo';\nimport { type InputProps, SelectInput, useFormValues } from '@dxos/react-ui-form';\nimport { KanbanView } from '@dxos/react-ui-kanban';\nimport { DataType } from '@dxos/schema';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { meta } from '../meta';\nimport { PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: DataType.View } =>\n Obj.instanceOf(DataType.View, data.subject) && Obj.instanceOf(KanbanView, data.subject.presentation.target),\n component: ({ data, role }) => <KanbanContainer view={data.subject} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n position: 'hoist',\n filter: (data): data is { subject: DataType.View } =>\n Obj.instanceOf(DataType.View, data.subject) && Obj.instanceOf(KanbanView, data.subject.presentation.target),\n component: ({ data }) => <KanbanViewEditor view={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n const { typename } = useFormValues();\n // TODO(wittjosiah): Unify this schema lookup.\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const staticSchema = schemaWhitelists.flat().find((schema) => Type.getTypename(schema) === typename);\n const [selectedSchema] = space?.db.schemaRegistry.query({ typename }).runSync();\n\n const singleSelectColumns = useMemo(() => {\n const properties = staticSchema\n ? Type.toJsonSchema(staticSchema).properties\n : selectedSchema?.jsonSchema?.properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema?.jsonSchema, staticSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectInput {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { EchoSchema, type TypedObject } from '@dxos/echo-schema';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { useQuery, getSpace } from '@dxos/react-client/echo';\nimport { useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { ProjectionModel, type DataType } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ view }: { view: DataType.View; role: string }) => {\n const client = useClient();\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const [projection, setProjection] = useState<ProjectionModel>();\n const space = getSpace(view);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const jsonSchema = useMemo(() => {\n if (!cardSchema) {\n return undefined;\n }\n return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);\n }, [cardSchema]);\n\n useEffect(() => {\n const typename = view.query.typename;\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [view.query.typename, space]);\n\n useEffect(() => {\n if (jsonSchema) {\n setProjection(new ProjectionModel(jsonSchema, view.projection));\n }\n // TODO(ZaymonFC): Is there a better way to get notified about deep changes in the json schema?\n }, [view.projection, JSON.stringify(jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n view,\n schema: cardSchema,\n projection,\n items: filteredObjects,\n });\n\n const handleAddCard = useCallback(\n (columnValue: string | undefined) => {\n const path = model?.columnFieldPath;\n if (space && cardSchema && path) {\n const card = Obj.make(cardSchema, { [path]: columnValue });\n space.db.add(card);\n return card.id;\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n void dispatch(createIntent(KanbanAction.DeleteCard, { card }));\n },\n [dispatch],\n );\n\n return (\n <StackItem.Content>\n {model && <Kanban model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Type } from '@dxos/echo';\nimport { EchoSchema, FormatEnum } from '@dxos/echo-schema';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useSchema } from '@dxos/react-client/echo';\nimport { Form, SelectInput, type CustomInputMap } from '@dxos/react-ui-form';\nimport { KanbanSettingsSchema, type KanbanView } from '@dxos/react-ui-kanban';\nimport { type DataType, ProjectionModel } from '@dxos/schema';\n\ntype KanbanViewEditorProps = { view: DataType.View };\n\nexport const KanbanViewEditor = ({ view }: KanbanViewEditorProps) => {\n const client = useClient();\n const space = getSpace(view);\n const kanban = view.presentation.target as KanbanView;\n const currentTypename = useMemo(() => view.query.typename, [view.query.typename]);\n const schema = useSchema(client, space, currentTypename);\n\n const projection = useMemo(() => {\n if (schema) {\n const jsonSchema = schema instanceof EchoSchema ? schema.jsonSchema : Type.toJsonSchema(schema);\n return new ProjectionModel(jsonSchema, view.projection);\n }\n }, [view.projection, JSON.stringify(schema)]);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === FormatEnum.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const handleSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n kanban.columnFieldId = values.columnFieldId;\n },\n [kanban],\n );\n\n const initialValues = useMemo(() => ({ columnFieldId: kanban.columnFieldId }), [kanban.columnFieldId]);\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n return (\n <Form\n Custom={custom}\n schema={KanbanSettingsSchema}\n values={initialValues}\n onSave={handleSave}\n autoSave\n outerSpacing={false}\n classNames='pbs-inputSpacingBlock'\n />\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Capabilities", "contributes", "createSurface", "useCapabilities", "Obj", "Type", "findAnnotation", "ClientCapabilities", "getSpace", "isSpace", "SelectInput", "useFormValues", "KanbanView", "DataType", "React", "useCallback", "useEffect", "useMemo", "useState", "createIntent", "useIntentDispatcher", "Filter", "Obj", "Type", "EchoSchema", "useGlobalFilteredObjects", "useClient", "useQuery", "getSpace", "useKanbanModel", "Kanban", "StackItem", "ProjectionModel", "KanbanContainer", "view", "client", "useClient", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "jsonSchema", "useMemo", "undefined", "EchoSchema", "Type", "toJsonSchema", "useEffect", "typename", "query", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "getTypename", "db", "unsubscribe", "subscribe", "results", "fire", "ProjectionModel", "JSON", "stringify", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "Obj", "make", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "StackItem", "Content", "Kanban", "onAddCard", "onRemoveCard", "React", "useCallback", "useMemo", "Type", "EchoSchema", "FormatEnum", "useClient", "getSpace", "useSchema", "Form", "SelectInput", "KanbanSettingsSchema", "ProjectionModel", "KanbanViewEditor", "view", "client", "useClient", "space", "getSpace", "kanban", "presentation", "target", "currentTypename", "useMemo", "query", "typename", "schema", "useSchema", "projection", "jsonSchema", "EchoSchema", "Type", "toJsonSchema", "ProjectionModel", "JSON", "stringify", "fieldProjections", "getFieldProjections", "selectFields", "filter", "field", "props", "format", "FormatEnum", "SingleSelect", "map", "value", "id", "label", "path", "handleSave", "useCallback", "values", "columnFieldId", "initialValues", "custom", "React", "SelectInput", "options", "Form", "Custom", "KanbanSettingsSchema", "onSave", "autoSave", "outerSpacing", "classNames", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "DataType", "View", "subject", "KanbanView", "presentation", "target", "component", "React", "KanbanContainer", "view", "position", "KanbanViewEditor", "annotation", "findAnnotation", "schema", "ast", "PivotColumnAnnotationId", "inputProps", "props", "space", "isSpace", "getSpace", "typename", "useFormValues", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "staticSchema", "flat", "find", "Type", "getTypename", "selectedSchema", "db", "schemaRegistry", "query", "runSync", "singleSelectColumns", "useMemo", "properties", "toJsonSchema", "jsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "value", "format", "push", "SelectInput", "options", "map", "column"]
7
+ }
@@ -3,12 +3,12 @@ import {
3
3
  CreateKanbanSchema,
4
4
  KanbanAction,
5
5
  PivotColumnAnnotationId,
6
- isKanban
7
- } from "./chunk-7DHZSNGQ.mjs";
6
+ createKanban
7
+ } from "../chunk-2GCFRKS2.mjs";
8
8
  export {
9
9
  CreateKanbanSchema,
10
10
  KanbanAction,
11
11
  PivotColumnAnnotationId,
12
- isKanban
12
+ createKanban
13
13
  };
14
- //# sourceMappingURL=types.mjs.map
14
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY,4CA8CrB,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY,4CA+CrB,CAAC"}
@@ -6,6 +6,6 @@ declare global {
6
6
  dispatch?: PromiseIntentDispatcher;
7
7
  }
8
8
  }
9
- declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition>;
9
+ declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/blueprints").ArtifactDefinition>;
10
10
  export default _default;
11
11
  //# sourceMappingURL=artifact-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAU/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAyGE"}
1
+ {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAY/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBA+GE"}
@@ -1,4 +1,4 @@
1
- export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/blueprints").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
2
2
  export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
3
3
  export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,oLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,kPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,sLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,kPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,YAAY,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAUpF,SAAS,aAAa;AAAtC,wBAwDK"}
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,YAAY,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBASpF,SAAS,aAAa;AAAtC,wBAwDK"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA+C,MAAM,qBAAqB,CAAC;;AAahG,wBA4DK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA+C,MAAM,qBAAqB,CAAC;;AAahG,wBA+DK"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type KanbanType } from '@dxos/react-ui-kanban';
3
- export declare const KanbanContainer: ({ kanban }: {
4
- kanban: KanbanType;
2
+ import { type DataType } from '@dxos/schema';
3
+ export declare const KanbanContainer: ({ view }: {
4
+ view: DataType.View;
5
5
  role: string;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAQzE,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAMhF,eAAO,MAAM,eAAe,GAAI,YAAY;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA4E/E,CAAC"}
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAUzE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI9D,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA4E9E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import '@dxos-theme';
2
- import { type StoryObj, type Meta } from '@storybook/react';
2
+ import { type StoryObj, type Meta } from '@storybook/react-vite';
3
3
  type StoryProps = {
4
4
  rows?: number;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAoI5D,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAwC1B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAElC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAkIjE,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAsC1B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAElC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { type KanbanType } from '@dxos/react-ui-kanban';
2
+ import { type DataType } from '@dxos/schema';
3
3
  type KanbanViewEditorProps = {
4
- kanban: KanbanType;
4
+ view: DataType.View;
5
5
  };
6
- export declare const KanbanViewEditor: ({ kanban }: KanbanViewEditorProps) => React.JSX.Element | null;
6
+ export declare const KanbanViewEditor: ({ view }: KanbanViewEditorProps) => React.JSX.Element;
7
7
  export {};
8
8
  //# sourceMappingURL=KanbanViewEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAK9E,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,6BAmFjE,CAAC"}
1
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAE9D,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAA;CAAE,CAAC;AAErD,eAAO,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,sBA2C/D,CAAC"}
@@ -1,3 +1,3 @@
1
- export * from './KanbanPlugin';
2
1
  export * from './meta';
2
+ export * from './KanbanPlugin';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AAEvB,cAAc,gBAAgB,CAAC"}
@@ -1,57 +1,28 @@
1
- declare const _default: {
2
- 'en-US': {
3
- [x: string]: {
4
- 'typename label': string;
5
- 'typename label_zero': string;
6
- 'typename label_one': string;
7
- 'typename label_other': string;
8
- 'object name placeholder': string;
9
- 'plugin name'?: undefined;
10
- 'kanban title label'?: undefined;
11
- 'column title label'?: undefined;
12
- 'column title placeholder'?: undefined;
13
- 'item title label'?: undefined;
14
- 'item title placeholder'?: undefined;
15
- 'add column label'?: undefined;
16
- 'add item label'?: undefined;
17
- 'delete column label'?: undefined;
18
- 'delete item label'?: undefined;
19
- 'card field deleted label'?: undefined;
20
- 'card deleted label'?: undefined;
21
- } | {
22
- 'plugin name': string;
23
- 'kanban title label': string;
24
- 'column title label': string;
25
- 'column title placeholder': string;
26
- 'item title label': string;
27
- 'item title placeholder': string;
28
- 'add column label': string;
29
- 'add item label': string;
30
- 'delete column label': string;
31
- 'delete item label': string;
32
- 'card field deleted label': string;
33
- 'card deleted label': string;
34
- 'typename label'?: undefined;
35
- 'typename label_zero'?: undefined;
36
- 'typename label_one'?: undefined;
37
- 'typename label_other'?: undefined;
38
- 'object name placeholder'?: undefined;
1
+ import { KanbanView } from '@dxos/react-ui-kanban';
2
+ import { meta } from './meta';
3
+ export declare const translations: [{
4
+ readonly 'en-US': {
5
+ readonly [KanbanView.typename]: {
6
+ readonly 'typename label': "Kanban";
7
+ readonly 'typename label_zero': "Kanbans";
8
+ readonly 'typename label_one': "Kanban";
9
+ readonly 'typename label_other': "Kanbans";
10
+ readonly 'object name placeholder': "New kanban";
39
11
  };
40
- "dxos.org/plugin/kanban": {
41
- 'plugin name': string;
42
- 'kanban title label': string;
43
- 'column title label': string;
44
- 'column title placeholder': string;
45
- 'item title label': string;
46
- 'item title placeholder': string;
47
- 'add column label': string;
48
- 'add item label': string;
49
- 'delete column label': string;
50
- 'delete item label': string;
51
- 'card field deleted label': string;
52
- 'card deleted label': string;
12
+ readonly [meta.id]: {
13
+ readonly 'plugin name': "Kanban";
14
+ readonly 'kanban title label': "Title";
15
+ readonly 'column title label': "Column title";
16
+ readonly 'column title placeholder': "New column";
17
+ readonly 'item title label': "Item title";
18
+ readonly 'item title placeholder': "New item";
19
+ readonly 'add column label': "Add column";
20
+ readonly 'add item label': "Add card";
21
+ readonly 'delete column label': "Delete column";
22
+ readonly 'delete item label': "Delete card";
23
+ readonly 'card field deleted label': "Card field deleted";
24
+ readonly 'card deleted label': "Card deleted";
53
25
  };
54
26
  };
55
- }[];
56
- export default _default;
27
+ }];
57
28
  //# sourceMappingURL=translations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wBA0BE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,UAAU,CAAC,QAAQ,CAAC;;;;;;UAMpB;QACD,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;UAaR;;EAGwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './kanban';
2
+ export * from './schema';
3
+ export type * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type JsonSchemaType } from '@dxos/echo-schema';
2
+ import { type DataType, type CreateViewFromSpaceProps } from '@dxos/schema';
3
+ type InitializeKanbanProps = Omit<CreateViewFromSpaceProps, 'presentation'> & {
4
+ initialPivotColumn?: string;
5
+ };
6
+ export declare const createKanban: ({ initialPivotColumn, ...props }: InitializeKanbanProps) => Promise<{
7
+ jsonSchema: JsonSchemaType;
8
+ view: DataType.View;
9
+ }>;
10
+ export {};
11
+ //# sourceMappingURL=kanban.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../../../src/types/kanban.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,wBAAwB,EAAwC,MAAM,cAAc,CAAC;AAElH,KAAK,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,GAAG;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,kCAGhC,qBAAqB,KAAG,OAAO,CAAC;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAA;CAAE,CAYrF,CAAC"}