@dxos/plugin-kanban 0.8.4-main.2e9d522 → 0.8.4-main.3c1ae3b

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 (78) hide show
  1. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs +28 -0
  2. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-X44RHBZK.mjs → chunk-PEQVHFOX.mjs} +35 -42
  4. package/dist/lib/browser/chunk-PEQVHFOX.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +31 -33
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/{intent-resolver-E6O3LBAB.mjs → intent-resolver-NHCWHMPW.mjs} +20 -20
  8. package/dist/lib/browser/intent-resolver-NHCWHMPW.mjs.map +7 -0
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-MWNNZYMN.mjs → react-surface-NSCKM4QW.mjs} +81 -98
  11. package/dist/lib/browser/react-surface-NSCKM4QW.mjs.map +7 -0
  12. package/dist/lib/browser/types/index.mjs +3 -3
  13. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs +30 -0
  14. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map +7 -0
  15. package/dist/lib/node-esm/{chunk-6WK5CGYY.mjs → chunk-LTCOYU73.mjs} +35 -42
  16. package/dist/lib/node-esm/chunk-LTCOYU73.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +31 -33
  18. package/dist/lib/node-esm/index.mjs.map +3 -3
  19. package/dist/lib/node-esm/{intent-resolver-LPASDELU.mjs → intent-resolver-L2OEBOJW.mjs} +20 -20
  20. package/dist/lib/node-esm/intent-resolver-L2OEBOJW.mjs.map +7 -0
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/{react-surface-T52BBG45.mjs → react-surface-WXYTWOY2.mjs} +81 -98
  23. package/dist/lib/node-esm/react-surface-WXYTWOY2.mjs.map +7 -0
  24. package/dist/lib/node-esm/types/index.mjs +3 -3
  25. package/dist/types/src/KanbanPlugin.d.ts +1 -1
  26. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  27. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  28. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  29. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  30. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  31. package/dist/types/src/capabilities/index.d.ts +3 -3
  32. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  33. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  34. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  35. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  36. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  37. package/dist/types/src/components/KanbanContainer.d.ts +3 -3
  38. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  39. package/dist/types/src/components/KanbanContainer.stories.d.ts +50 -6
  40. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  41. package/dist/types/src/components/KanbanViewEditor.d.ts +3 -3
  42. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  43. package/dist/types/src/meta.d.ts +0 -1
  44. package/dist/types/src/meta.d.ts.map +1 -1
  45. package/dist/types/src/translations.d.ts +21 -9
  46. package/dist/types/src/translations.d.ts.map +1 -1
  47. package/dist/types/src/types/index.d.ts +0 -1
  48. package/dist/types/src/types/index.d.ts.map +1 -1
  49. package/dist/types/src/types/schema.d.ts +15 -54
  50. package/dist/types/src/types/schema.d.ts.map +1 -1
  51. package/dist/types/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +43 -40
  53. package/src/KanbanPlugin.tsx +49 -54
  54. package/src/capabilities/artifact-definition.ts +15 -11
  55. package/src/capabilities/blueprint-definition.ts +30 -0
  56. package/src/capabilities/index.ts +1 -1
  57. package/src/capabilities/intent-resolver.ts +11 -17
  58. package/src/capabilities/react-surface.tsx +24 -25
  59. package/src/components/KanbanContainer.stories.tsx +52 -73
  60. package/src/components/KanbanContainer.tsx +18 -31
  61. package/src/components/KanbanViewEditor.tsx +31 -37
  62. package/src/meta.ts +7 -5
  63. package/src/translations.ts +6 -6
  64. package/src/types/index.ts +0 -1
  65. package/src/types/schema.ts +22 -10
  66. package/dist/lib/browser/artifact-definition-WMSZK3RW.mjs +0 -174
  67. package/dist/lib/browser/artifact-definition-WMSZK3RW.mjs.map +0 -7
  68. package/dist/lib/browser/chunk-X44RHBZK.mjs.map +0 -7
  69. package/dist/lib/browser/intent-resolver-E6O3LBAB.mjs.map +0 -7
  70. package/dist/lib/browser/react-surface-MWNNZYMN.mjs.map +0 -7
  71. package/dist/lib/node-esm/artifact-definition-QVZXPDXK.mjs +0 -175
  72. package/dist/lib/node-esm/artifact-definition-QVZXPDXK.mjs.map +0 -7
  73. package/dist/lib/node-esm/chunk-6WK5CGYY.mjs.map +0 -7
  74. package/dist/lib/node-esm/intent-resolver-LPASDELU.mjs.map +0 -7
  75. package/dist/lib/node-esm/react-surface-T52BBG45.mjs.map +0 -7
  76. package/dist/types/src/types/kanban.d.ts +0 -11
  77. package/dist/types/src/types/kanban.d.ts.map +0 -1
  78. package/src/types/kanban.ts +0 -29
@@ -2,51 +2,41 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  KanbanAction,
4
4
  PivotColumnAnnotationId,
5
+ SettingsSchema,
5
6
  meta
6
- } from "./chunk-6WK5CGYY.mjs";
7
+ } from "./chunk-LTCOYU73.mjs";
7
8
 
8
9
  // src/capabilities/react-surface.tsx
9
- import React3, { useMemo as useMemo3 } from "react";
10
- import { Capabilities, contributes, createSurface, useCapabilities } from "@dxos/app-framework";
11
- import { Obj as Obj2, Type as Type3 } from "@dxos/echo";
10
+ import React3, { useMemo as useMemo2 } from "react";
11
+ import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
12
+ import { Obj as Obj2, Type as Type2 } from "@dxos/echo";
12
13
  import { findAnnotation } from "@dxos/effect";
13
- import { ClientCapabilities } from "@dxos/plugin-client";
14
14
  import { getSpace as getSpace3, isSpace } from "@dxos/react-client/echo";
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";
15
+ import { SelectField as SelectField2, useFormValues } from "@dxos/react-ui-form";
16
+ import { Kanban } from "@dxos/react-ui-kanban/types";
18
17
 
19
18
  // src/components/KanbanContainer.tsx
20
19
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
21
- import React, { useCallback, useEffect, useMemo, useState } from "react";
22
- import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
20
+ import React, { useCallback, useEffect, useState } from "react";
21
+ import { createIntent } from "@dxos/app-framework";
22
+ import { useCapabilities, useIntentDispatcher } from "@dxos/app-framework/react";
23
23
  import { Filter, Obj, Type } from "@dxos/echo";
24
- import { EchoSchema } from "@dxos/echo-schema";
24
+ import { ClientCapabilities } from "@dxos/plugin-client";
25
25
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
26
- import { useClient } from "@dxos/react-client";
27
- import { useQuery, getSpace } from "@dxos/react-client/echo";
28
- import { useKanbanModel, Kanban } from "@dxos/react-ui-kanban";
26
+ import { getSpace, useQuery } from "@dxos/react-client/echo";
27
+ import { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from "@dxos/react-ui-kanban";
29
28
  import { StackItem } from "@dxos/react-ui-stack";
30
- import { ProjectionModel } from "@dxos/schema";
31
- var KanbanContainer = ({ view }) => {
29
+ import { getTypenameFromQuery } from "@dxos/schema";
30
+ var KanbanContainer = ({ object }) => {
32
31
  var _effect = _useSignals();
33
32
  try {
34
- const client = useClient();
33
+ const schemas = useCapabilities(ClientCapabilities.Schema);
35
34
  const [cardSchema, setCardSchema] = useState();
36
- const [projection, setProjection] = useState();
37
- const space = getSpace(view);
35
+ const space = getSpace(object);
38
36
  const { dispatchPromise: dispatch } = useIntentDispatcher();
39
- const jsonSchema = useMemo(() => {
40
- if (!cardSchema) {
41
- return void 0;
42
- }
43
- return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);
44
- }, [
45
- cardSchema
46
- ]);
37
+ const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : void 0;
47
38
  useEffect(() => {
48
- const typename = view.query.typename;
49
- const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);
39
+ const staticSchema = schemas.flat().find((schema) => Type.getTypename(schema) === typename);
50
40
  if (staticSchema) {
51
41
  setCardSchema(() => staticSchema);
52
42
  }
@@ -65,22 +55,15 @@ var KanbanContainer = ({ view }) => {
65
55
  return unsubscribe;
66
56
  }
67
57
  }, [
68
- view.query.typename,
69
- space
70
- ]);
71
- useEffect(() => {
72
- if (jsonSchema) {
73
- setProjection(new ProjectionModel(jsonSchema, view.projection));
74
- }
75
- }, [
76
- view.projection,
77
- JSON.stringify(jsonSchema)
58
+ schemas,
59
+ space,
60
+ typename
78
61
  ]);
79
62
  const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());
80
63
  const filteredObjects = useGlobalFilteredObjects(objects);
64
+ const projection = useProjectionModel(cardSchema, object);
81
65
  const model = useKanbanModel({
82
- view,
83
- schema: cardSchema,
66
+ object,
84
67
  projection,
85
68
  items: filteredObjects
86
69
  });
@@ -105,7 +88,7 @@ var KanbanContainer = ({ view }) => {
105
88
  }, [
106
89
  dispatch
107
90
  ]);
108
- return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(Kanban, {
91
+ return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(KanbanComponent, {
109
92
  model,
110
93
  onAddCard: handleAddCard,
111
94
  onRemoveCard: handleRemoveCard
@@ -117,81 +100,77 @@ var KanbanContainer = ({ view }) => {
117
100
 
118
101
  // src/components/KanbanViewEditor.tsx
119
102
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
120
- import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
121
- import { Type as Type2 } from "@dxos/echo";
122
- import { EchoSchema as EchoSchema2, FormatEnum } from "@dxos/echo-schema";
123
- import { useClient as useClient2 } from "@dxos/react-client";
103
+ import React2, { useCallback as useCallback2, useMemo } from "react";
104
+ import { Format } from "@dxos/echo/internal";
105
+ import { invariant } from "@dxos/invariant";
124
106
  import { getSpace as getSpace2, useSchema } from "@dxos/react-client/echo";
125
- import { Form, SelectInput } from "@dxos/react-ui-form";
126
- import { KanbanSettingsSchema } from "@dxos/react-ui-kanban";
127
- import { ProjectionModel as ProjectionModel2 } from "@dxos/schema";
128
- var KanbanViewEditor = ({ view }) => {
107
+ import { Form, SelectField } from "@dxos/react-ui-form";
108
+ import { useProjectionModel as useProjectionModel2 } from "@dxos/react-ui-kanban";
109
+ import { getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
110
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
111
+ var KanbanViewEditor = ({ object }) => {
129
112
  var _effect = _useSignals2();
130
113
  try {
131
- const client = useClient2();
132
- const space = getSpace2(view);
133
- const kanban = view.presentation.target;
134
- const currentTypename = useMemo2(() => view.query.typename, [
135
- view.query.typename
136
- ]);
137
- const schema = useSchema(client, space, currentTypename);
138
- const projection = useMemo2(() => {
139
- if (schema) {
140
- const jsonSchema = schema instanceof EchoSchema2 ? schema.jsonSchema : Type2.toJsonSchema(schema);
141
- return new ProjectionModel2(jsonSchema, view.projection);
142
- }
143
- }, [
144
- view.projection,
145
- JSON.stringify(schema)
146
- ]);
114
+ const space = getSpace2(object);
115
+ const view = object.view.target;
116
+ const currentTypename = view?.query ? getTypenameFromQuery2(view.query.ast) : void 0;
117
+ const schema = useSchema(space, currentTypename);
118
+ const projection = useProjectionModel2(schema, object);
147
119
  const fieldProjections = projection?.getFieldProjections() || [];
148
- const selectFields = fieldProjections.filter((field) => field.props.format === FormatEnum.SingleSelect).map(({ field }) => ({
120
+ const selectFields = fieldProjections.filter((field) => field.props.format === Format.TypeFormat.SingleSelect).map(({ field }) => ({
149
121
  value: field.id,
150
122
  label: field.path
151
123
  }));
152
124
  const handleSave = useCallback2((values) => {
153
- kanban.columnFieldId = values.columnFieldId;
125
+ invariant(view, void 0, {
126
+ F: __dxlog_file,
127
+ L: 33,
128
+ S: void 0,
129
+ A: [
130
+ "view",
131
+ ""
132
+ ]
133
+ });
134
+ view.projection.pivotFieldId = values.columnFieldId;
154
135
  }, [
155
- kanban
136
+ view
156
137
  ]);
157
- const initialValues = useMemo2(() => ({
158
- columnFieldId: kanban.columnFieldId
138
+ const initialValues = useMemo(() => ({
139
+ columnFieldId: view?.projection.pivotFieldId
159
140
  }), [
160
- kanban.columnFieldId
141
+ view?.projection.pivotFieldId
161
142
  ]);
162
- const custom = useMemo2(() => ({
163
- columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectInput, {
143
+ const fieldMap = useMemo(() => ({
144
+ columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectField, {
164
145
  ...props,
165
146
  options: selectFields
166
147
  })
167
148
  }), [
168
149
  selectFields
169
150
  ]);
170
- return /* @__PURE__ */ React2.createElement(Form, {
171
- Custom: custom,
172
- schema: KanbanSettingsSchema,
151
+ return /* @__PURE__ */ React2.createElement(Form.Root, {
152
+ schema: SettingsSchema,
173
153
  values: initialValues,
174
- onSave: handleSave,
154
+ fieldMap,
175
155
  autoSave: true,
176
- outerSpacing: false,
177
- classNames: "pbs-inputSpacingBlock"
178
- });
156
+ onSave: handleSave
157
+ }, /* @__PURE__ */ React2.createElement(Form.FieldSet, null));
179
158
  } finally {
180
159
  _effect.f();
181
160
  }
182
161
  };
183
162
 
184
163
  // src/capabilities/react-surface.tsx
185
- var react_surface_default = () => contributes(Capabilities.ReactSurface, [
164
+ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
186
165
  createSurface({
187
166
  id: meta.id,
188
167
  role: [
189
168
  "article",
190
169
  "section"
191
170
  ],
192
- filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(KanbanView, data.subject.presentation.target),
171
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
193
172
  component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
194
- view: data.subject,
173
+ object: data.subject,
195
174
  role
196
175
  })
197
176
  }),
@@ -199,9 +178,9 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
199
178
  id: `${meta.id}/object-settings`,
200
179
  role: "object-settings",
201
180
  position: "hoist",
202
- filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(KanbanView, data.subject.presentation.target),
181
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
203
182
  component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor, {
204
- view: data.subject
183
+ object: data.subject
205
184
  })
206
185
  }),
207
186
  createSurface({
@@ -217,14 +196,19 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
217
196
  if (!space) {
218
197
  return null;
219
198
  }
220
- const { typename } = useFormValues();
221
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
222
- const staticSchema = schemaWhitelists.flat().find((schema) => Type3.getTypename(schema) === typename);
223
- const [selectedSchema] = space?.db.schemaRegistry.query({
199
+ const { typename } = useFormValues("KanbanForm");
200
+ const [selectedSchema] = useMemo2(() => space?.db.schemaRegistry.query({
201
+ location: [
202
+ "database",
203
+ "runtime"
204
+ ],
224
205
  typename
225
- }).runSync();
226
- const singleSelectColumns = useMemo3(() => {
227
- const properties = staticSchema ? Type3.toJsonSchema(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
206
+ }).runSync(), [
207
+ space,
208
+ typename
209
+ ]);
210
+ const singleSelectColumns = useMemo2(() => {
211
+ const properties = Type2.toJsonSchema(selectedSchema).properties;
228
212
  if (!properties) {
229
213
  return [];
230
214
  }
@@ -236,13 +220,12 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
236
220
  }, []);
237
221
  return columns;
238
222
  }, [
239
- selectedSchema?.jsonSchema,
240
- staticSchema
223
+ selectedSchema
241
224
  ]);
242
225
  if (!typename) {
243
226
  return null;
244
227
  }
245
- return /* @__PURE__ */ React3.createElement(SelectInput2, {
228
+ return /* @__PURE__ */ React3.createElement(SelectField2, {
246
229
  ...props,
247
230
  options: singleSelectColumns.map((column) => ({
248
231
  value: column
@@ -250,8 +233,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
250
233
  });
251
234
  }
252
235
  })
253
- ]);
236
+ ]));
254
237
  export {
255
238
  react_surface_default as default
256
239
  };
257
- //# sourceMappingURL=react-surface-T52BBG45.mjs.map
240
+ //# sourceMappingURL=react-surface-WXYTWOY2.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 * as Schema from 'effect/Schema';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type Space, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { type FormFieldComponentProps, SelectField, useFormValues } from '@dxos/react-ui-form';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\nimport { type Collection } 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: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data, role }) => <KanbanContainer object={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: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data }) => <KanbanViewEditor object={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 {\n prop: string;\n schema: Schema.Schema<any>;\n target: Space | Collection.Collection | undefined;\n } => {\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 FormFieldComponentProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const { typename } = useFormValues('KanbanForm');\n const [selectedSchema] = useMemo(\n () => space?.db.schemaRegistry.query({ location: ['database', 'runtime'], typename }).runSync(),\n [space, typename],\n );\n const singleSelectColumns = useMemo(() => {\n const properties = Type.toJsonSchema(selectedSchema).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]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectField {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { createIntent } from '@dxos/app-framework';\nimport { useCapabilities, useIntentDispatcher } from '@dxos/app-framework/react';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo/internal';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ object }: { object: Kanban.Kanban; role: string }) => {\n const schemas = useCapabilities(ClientCapabilities.Schema);\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const space = getSpace(object);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : undefined;\n\n useEffect(() => {\n const staticSchema = schemas.flat().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 }, [schemas, space, typename]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const projection = useProjectionModel(cardSchema, object);\n const model = useKanbanModel({\n object,\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 && <KanbanComponent 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 { Format } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace, useSchema } from '@dxos/react-client/echo';\nimport { Form, type FormFieldMap, SelectField } from '@dxos/react-ui-form';\nimport { useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { SettingsSchema } from '../types';\n\ntype KanbanViewEditorProps = { object: Kanban.Kanban };\n\nexport const KanbanViewEditor = ({ object }: KanbanViewEditorProps) => {\n const space = getSpace(object);\n const view = object.view.target;\n const currentTypename = view?.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(space, currentTypename);\n const projection = useProjectionModel(schema, object);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === Format.TypeFormat.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const handleSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n invariant(view);\n view.projection.pivotFieldId = values.columnFieldId;\n },\n [view],\n );\n\n const initialValues = useMemo(\n () => ({ columnFieldId: view?.projection.pivotFieldId }),\n [view?.projection.pivotFieldId],\n );\n\n const fieldMap: FormFieldMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectField {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n return (\n <Form.Root schema={SettingsSchema} values={initialValues} fieldMap={fieldMap} autoSave onSave={handleSave}>\n <Form.FieldSet />\n </Form.Root>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Capabilities", "contributes", "createSurface", "Obj", "Type", "findAnnotation", "getSpace", "isSpace", "SelectField", "useFormValues", "Kanban", "React", "useCallback", "useEffect", "useState", "createIntent", "useCapabilities", "useIntentDispatcher", "Filter", "Obj", "Type", "ClientCapabilities", "useGlobalFilteredObjects", "getSpace", "useQuery", "Kanban", "KanbanComponent", "useKanbanModel", "useProjectionModel", "StackItem", "getTypenameFromQuery", "KanbanContainer", "object", "schemas", "useCapabilities", "ClientCapabilities", "Schema", "cardSchema", "setCardSchema", "useState", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "typename", "view", "target", "query", "getTypenameFromQuery", "ast", "undefined", "useEffect", "staticSchema", "flat", "find", "schema", "Type", "getTypename", "db", "schemaRegistry", "unsubscribe", "subscribe", "results", "fire", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "projection", "useProjectionModel", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "Obj", "make", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "StackItem", "Content", "KanbanComponent", "onAddCard", "onRemoveCard", "React", "useCallback", "useMemo", "Format", "invariant", "getSpace", "useSchema", "Form", "SelectField", "useProjectionModel", "getTypenameFromQuery", "KanbanViewEditor", "object", "space", "getSpace", "view", "target", "currentTypename", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "projection", "useProjectionModel", "fieldProjections", "getFieldProjections", "selectFields", "filter", "field", "props", "format", "Format", "TypeFormat", "SingleSelect", "map", "value", "id", "label", "path", "handleSave", "useCallback", "values", "invariant", "pivotFieldId", "columnFieldId", "initialValues", "useMemo", "fieldMap", "React", "SelectField", "options", "Form", "Root", "SettingsSchema", "autoSave", "onSave", "FieldSet", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Kanban", "subject", "component", "React", "KanbanContainer", "object", "position", "KanbanViewEditor", "annotation", "findAnnotation", "schema", "ast", "PivotColumnAnnotationId", "target", "inputProps", "props", "space", "isSpace", "getSpace", "typename", "useFormValues", "selectedSchema", "useMemo", "db", "schemaRegistry", "query", "location", "runSync", "singleSelectColumns", "properties", "Type", "toJsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "value", "format", "push", "SelectField", "options", "map", "column"]
7
+ }
@@ -3,12 +3,12 @@ import {
3
3
  CreateKanbanSchema,
4
4
  KanbanAction,
5
5
  PivotColumnAnnotationId,
6
- createKanban
7
- } from "../chunk-6WK5CGYY.mjs";
6
+ SettingsSchema
7
+ } from "../chunk-LTCOYU73.mjs";
8
8
  export {
9
9
  CreateKanbanSchema,
10
10
  KanbanAction,
11
11
  PivotColumnAnnotationId,
12
- createKanban
12
+ SettingsSchema
13
13
  };
14
14
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- export declare const KanbanPlugin: () => import("@dxos/app-framework").Plugin;
1
+ export declare const KanbanPlugin: import("@dxos/app-framework").PluginFactory<void>;
2
2
  //# sourceMappingURL=KanbanPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY,4CA+CrB,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,mDAyCvB,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/blueprints").ArtifactDefinition>;
9
+ declare const _default: () => import("@dxos/app-framework").Capability<any>;
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;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
+ {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgB,KAAK,uBAAuB,EAAoC,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAY7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBA+GE"}
@@ -0,0 +1,5 @@
1
+ import { Blueprint } from '@dxos/blueprints';
2
+ import { type FunctionDefinition } from '@dxos/functions';
3
+ declare const _default: () => (import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<FunctionDefinition.Any[]>> | import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Blueprint.Blueprint>>)[];
4
+ export default _default;
5
+ //# sourceMappingURL=blueprint-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/blueprint-definition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAY,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAM1D,wBAiBE"}
@@ -1,4 +1,4 @@
1
- export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/blueprints").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
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
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const BlueprintDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").AnyCapability[] | import("@dxos/app-framework").Capability<unknown>>>;
2
+ export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.IntentResolver>> | import("@dxos/app-framework").AnyCapability[]>>;
3
+ export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<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,sLAA8C,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,mBAAmB,gJAA+C,CAAC;AAChF,eAAO,MAAM,cAAc,8RAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,4OAAwC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Capabilities, type PluginContext } from '@dxos/app-framework';
2
- declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
2
+ declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.IntentResolver>>;
3
3
  export default _default;
4
4
  //# sourceMappingURL=intent-resolver.d.ts.map
@@ -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;yBASpF,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,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBASpF,SAAS,aAAa;AAAtC,wBAkDK"}
@@ -1,4 +1,4 @@
1
1
  import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.ReactSurface>;
2
+ declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.ReactSurface>>;
3
3
  export default _default;
4
4
  //# sourceMappingURL=react-surface.d.ts.map
@@ -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,wBA+DK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAY/E,wBA+DK"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type DataType } from '@dxos/schema';
3
- export declare const KanbanContainer: ({ view }: {
4
- view: DataType.View;
2
+ import { type Kanban } from '@dxos/react-ui-kanban/types';
3
+ export declare const KanbanContainer: ({ object }: {
4
+ object: Kanban.Kanban;
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;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
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAUhE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAM1D,eAAO,MAAM,eAAe,GAAI,YAAY;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA6DlF,CAAC"}
@@ -1,10 +1,54 @@
1
- import '@dxos-theme';
2
- import { type StoryObj, type Meta } from '@storybook/react-vite';
3
- type StoryProps = {
4
- rows?: number;
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: () => React.JSX.Element | null;
6
+ render: () => React.JSX.Element;
7
+ decorators: import("@storybook/react").Decorator[];
8
+ parameters: {
9
+ layout: string;
10
+ translations: [{
11
+ readonly 'en-US': {
12
+ readonly [x: string]: {
13
+ readonly 'typename label': "Kanban";
14
+ readonly 'typename label_zero': "Kanbans";
15
+ readonly 'typename label_one': "Kanban";
16
+ readonly 'typename label_other': "Kanbans";
17
+ readonly 'object name placeholder': "New kanban";
18
+ readonly 'rename object label': "Rename kanban";
19
+ readonly 'delete object label': "Delete kanban";
20
+ readonly 'object deleted label': "Kanban deleted";
21
+ readonly 'plugin name'?: undefined;
22
+ readonly 'kanban title label'?: undefined;
23
+ readonly 'column title label'?: undefined;
24
+ readonly 'column title placeholder'?: undefined;
25
+ readonly 'add column label'?: undefined;
26
+ readonly 'delete column label'?: undefined;
27
+ readonly 'card field deleted label'?: undefined;
28
+ readonly 'card deleted label'?: undefined;
29
+ } | {
30
+ readonly 'plugin name': "Kanban";
31
+ readonly 'kanban title label': "Title";
32
+ readonly 'column title label': "Column title";
33
+ readonly 'column title placeholder': "New column";
34
+ readonly 'add column label': "Add column";
35
+ readonly 'delete column label': "Delete column";
36
+ readonly 'card field deleted label': "Card field deleted";
37
+ readonly 'card deleted label': "Card deleted";
38
+ readonly 'typename label'?: undefined;
39
+ readonly 'typename label_zero'?: undefined;
40
+ readonly 'typename label_one'?: undefined;
41
+ readonly 'typename label_other'?: undefined;
42
+ readonly 'object name placeholder'?: undefined;
43
+ readonly 'rename object label'?: undefined;
44
+ readonly 'delete object label'?: undefined;
45
+ readonly 'object deleted label'?: undefined;
46
+ };
47
+ };
48
+ }];
49
+ };
5
50
  };
6
- declare const meta: Meta<StoryProps>;
7
51
  export default meta;
8
- type Story = StoryObj<StoryProps>;
52
+ type Story = StoryObj<typeof meta>;
9
53
  export declare const Default: Story;
10
54
  //# sourceMappingURL=KanbanContainer.stories.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AAiH3C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C8B,CAAC;AAEzC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { type DataType } from '@dxos/schema';
2
+ import { type Kanban } from '@dxos/react-ui-kanban/types';
3
3
  type KanbanViewEditorProps = {
4
- view: DataType.View;
4
+ object: Kanban.Kanban;
5
5
  };
6
- export declare const KanbanViewEditor: ({ view }: KanbanViewEditorProps) => React.JSX.Element;
6
+ export declare const KanbanViewEditor: ({ object }: 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;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
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAK1D,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,sBAmCjE,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { type PluginMeta } from '@dxos/app-framework';
2
- export declare const KANBAN_PLUGIN = "dxos.org/plugin/kanban";
3
2
  export declare const meta: PluginMeta;
4
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,IAAI,EAAE,UAQlB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,eAAO,MAAM,IAAI,EAAE,UAWlB,CAAC"}
@@ -1,27 +1,39 @@
1
- import { KanbanView } from '@dxos/react-ui-kanban';
2
- import { meta } from './meta';
3
1
  export declare const translations: [{
4
2
  readonly 'en-US': {
5
- readonly [KanbanView.typename]: {
3
+ readonly [x: string]: {
6
4
  readonly 'typename label': "Kanban";
7
5
  readonly 'typename label_zero': "Kanbans";
8
6
  readonly 'typename label_one': "Kanban";
9
7
  readonly 'typename label_other': "Kanbans";
10
8
  readonly 'object name placeholder': "New kanban";
11
- };
12
- readonly [meta.id]: {
9
+ readonly 'rename object label': "Rename kanban";
10
+ readonly 'delete object label': "Delete kanban";
11
+ readonly 'object deleted label': "Kanban deleted";
12
+ readonly 'plugin name'?: undefined;
13
+ readonly 'kanban title label'?: undefined;
14
+ readonly 'column title label'?: undefined;
15
+ readonly 'column title placeholder'?: undefined;
16
+ readonly 'add column label'?: undefined;
17
+ readonly 'delete column label'?: undefined;
18
+ readonly 'card field deleted label'?: undefined;
19
+ readonly 'card deleted label'?: undefined;
20
+ } | {
13
21
  readonly 'plugin name': "Kanban";
14
22
  readonly 'kanban title label': "Title";
15
23
  readonly 'column title label': "Column title";
16
24
  readonly 'column title placeholder': "New column";
17
- readonly 'item title label': "Item title";
18
- readonly 'item title placeholder': "New item";
19
25
  readonly 'add column label': "Add column";
20
- readonly 'add item label': "Add card";
21
26
  readonly 'delete column label': "Delete column";
22
- readonly 'delete item label': "Delete card";
23
27
  readonly 'card field deleted label': "Card field deleted";
24
28
  readonly 'card deleted label': "Card deleted";
29
+ readonly 'typename label'?: undefined;
30
+ readonly 'typename label_zero'?: undefined;
31
+ readonly 'typename label_one'?: undefined;
32
+ readonly 'typename label_other'?: undefined;
33
+ readonly 'object name placeholder'?: undefined;
34
+ readonly 'rename object label'?: undefined;
35
+ readonly 'delete object label'?: undefined;
36
+ readonly 'object deleted label'?: undefined;
25
37
  };
26
38
  };
27
39
  }];
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBM,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './kanban';
2
1
  export * from './schema';
3
2
  export type * from './types';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC"}