@dxos/plugin-kanban 0.7.4 → 0.7.5-labs.071a3e2

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 (122) hide show
  1. package/dist/lib/browser/chunk-7PFZLUDZ.mjs +72 -0
  2. package/dist/lib/browser/chunk-7PFZLUDZ.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +66 -145
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/intent-resolver-4SJJSDOD.mjs +76 -0
  6. package/dist/lib/browser/intent-resolver-4SJJSDOD.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/react-surface-5WOH5E2K.mjs +240 -0
  9. package/dist/lib/browser/react-surface-5WOH5E2K.mjs.map +7 -0
  10. package/dist/lib/browser/types.mjs +11 -0
  11. package/dist/lib/node/chunk-IR3NCB4Y.cjs +94 -0
  12. package/dist/lib/node/chunk-IR3NCB4Y.cjs.map +7 -0
  13. package/dist/lib/node/index.cjs +62 -133
  14. package/dist/lib/node/index.cjs.map +4 -4
  15. package/dist/lib/node/intent-resolver-X3NB4IA6.cjs +90 -0
  16. package/dist/lib/node/intent-resolver-X3NB4IA6.cjs.map +7 -0
  17. package/dist/lib/node/meta.json +1 -1
  18. package/dist/lib/node/react-surface-A5TP26JG.cjs +258 -0
  19. package/dist/lib/node/react-surface-A5TP26JG.cjs.map +7 -0
  20. package/dist/lib/node/{types/index.cjs → types.cjs} +7 -10
  21. package/dist/lib/node/types.cjs.map +7 -0
  22. package/dist/lib/node-esm/chunk-LUAZTJHF.mjs +74 -0
  23. package/dist/lib/node-esm/chunk-LUAZTJHF.mjs.map +7 -0
  24. package/dist/lib/node-esm/index.mjs +66 -145
  25. package/dist/lib/node-esm/index.mjs.map +4 -4
  26. package/dist/lib/node-esm/intent-resolver-KFSXWDSV.mjs +77 -0
  27. package/dist/lib/node-esm/intent-resolver-KFSXWDSV.mjs.map +7 -0
  28. package/dist/lib/node-esm/meta.json +1 -1
  29. package/dist/lib/node-esm/react-surface-W4HLVD2O.mjs +241 -0
  30. package/dist/lib/node-esm/react-surface-W4HLVD2O.mjs.map +7 -0
  31. package/dist/lib/node-esm/types.mjs +12 -0
  32. package/dist/types/src/KanbanPlugin.d.ts +1 -3
  33. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/index.d.ts +3 -0
  35. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  37. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  40. package/dist/types/src/components/KanbanContainer.d.ts +7 -0
  41. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -0
  42. package/dist/types/src/components/KanbanViewEditor.d.ts +8 -0
  43. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -0
  44. package/dist/types/src/components/index.d.ts +2 -3
  45. package/dist/types/src/components/index.d.ts.map +1 -1
  46. package/dist/types/src/index.d.ts +1 -2
  47. package/dist/types/src/index.d.ts.map +1 -1
  48. package/dist/types/src/meta.d.ts +2 -2
  49. package/dist/types/src/meta.d.ts.map +1 -1
  50. package/dist/types/src/translations.d.ts +32 -0
  51. package/dist/types/src/translations.d.ts.map +1 -1
  52. package/dist/types/src/types.d.ts +67 -0
  53. package/dist/types/src/types.d.ts.map +1 -0
  54. package/dist/types/tsconfig.tsbuildinfo +1 -0
  55. package/package.json +21 -31
  56. package/src/KanbanPlugin.tsx +41 -101
  57. package/src/capabilities/index.ts +8 -0
  58. package/src/capabilities/intent-resolver.ts +45 -0
  59. package/src/capabilities/react-surface.tsx +28 -0
  60. package/src/components/KanbanContainer.tsx +80 -0
  61. package/src/components/KanbanViewEditor.tsx +106 -0
  62. package/src/components/index.ts +3 -4
  63. package/src/index.ts +1 -4
  64. package/src/meta.ts +4 -2
  65. package/src/translations.ts +8 -2
  66. package/src/types.ts +75 -0
  67. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs +0 -444
  68. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs.map +0 -7
  69. package/dist/lib/browser/chunk-4Y4TZ47E.mjs +0 -47
  70. package/dist/lib/browser/chunk-4Y4TZ47E.mjs.map +0 -7
  71. package/dist/lib/browser/chunk-LG4OMN5S.mjs +0 -18
  72. package/dist/lib/browser/chunk-LG4OMN5S.mjs.map +0 -7
  73. package/dist/lib/browser/meta.mjs +0 -9
  74. package/dist/lib/browser/types/index.mjs +0 -14
  75. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs +0 -453
  76. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs.map +0 -7
  77. package/dist/lib/node/chunk-LTR4WYI2.cjs +0 -67
  78. package/dist/lib/node/chunk-LTR4WYI2.cjs.map +0 -7
  79. package/dist/lib/node/chunk-MBAGHRFM.cjs +0 -41
  80. package/dist/lib/node/chunk-MBAGHRFM.cjs.map +0 -7
  81. package/dist/lib/node/meta.cjs +0 -30
  82. package/dist/lib/node/meta.cjs.map +0 -7
  83. package/dist/lib/node/types/index.cjs.map +0 -7
  84. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs +0 -445
  85. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs.map +0 -7
  86. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs +0 -48
  87. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs.map +0 -7
  88. package/dist/lib/node-esm/chunk-OTZHYV3S.mjs +0 -20
  89. package/dist/lib/node-esm/chunk-OTZHYV3S.mjs.map +0 -7
  90. package/dist/lib/node-esm/meta.mjs +0 -10
  91. package/dist/lib/node-esm/meta.mjs.map +0 -7
  92. package/dist/lib/node-esm/types/index.mjs +0 -15
  93. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  94. package/dist/types/src/components/KanbanBoard.d.ts +0 -6
  95. package/dist/types/src/components/KanbanBoard.d.ts.map +0 -1
  96. package/dist/types/src/components/KanbanCard.d.ts +0 -9
  97. package/dist/types/src/components/KanbanCard.d.ts.map +0 -1
  98. package/dist/types/src/components/KanbanColumn.d.ts +0 -14
  99. package/dist/types/src/components/KanbanColumn.d.ts.map +0 -1
  100. package/dist/types/src/components/KanbanMain.d.ts +0 -7
  101. package/dist/types/src/components/KanbanMain.d.ts.map +0 -1
  102. package/dist/types/src/components/util.d.ts +0 -7
  103. package/dist/types/src/components/util.d.ts.map +0 -1
  104. package/dist/types/src/stories/testing.d.ts +0 -19
  105. package/dist/types/src/stories/testing.d.ts.map +0 -1
  106. package/dist/types/src/types/index.d.ts +0 -3
  107. package/dist/types/src/types/index.d.ts.map +0 -1
  108. package/dist/types/src/types/kanban.d.ts +0 -76
  109. package/dist/types/src/types/kanban.d.ts.map +0 -1
  110. package/dist/types/src/types/types.d.ts +0 -18
  111. package/dist/types/src/types/types.d.ts.map +0 -1
  112. package/src/components/KanbanBoard.tsx +0 -195
  113. package/src/components/KanbanCard.tsx +0 -82
  114. package/src/components/KanbanColumn.tsx +0 -143
  115. package/src/components/KanbanMain.tsx +0 -37
  116. package/src/components/util.ts +0 -38
  117. package/src/stories/testing.ts +0 -29
  118. package/src/types/index.ts +0 -6
  119. package/src/types/kanban.ts +0 -22
  120. package/src/types/types.ts +0 -57
  121. /package/dist/lib/browser/{meta.mjs.map → types.mjs.map} +0 -0
  122. /package/dist/lib/{browser/types/index.mjs.map → node-esm/types.mjs.map} +0 -0
@@ -0,0 +1,241 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ KANBAN_PLUGIN,
4
+ KanbanAction,
5
+ isKanban
6
+ } from "./chunk-LUAZTJHF.mjs";
7
+
8
+ // packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx
9
+ import React3 from "react";
10
+ import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
11
+
12
+ // packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx
13
+ import React, { useCallback, useEffect, useState } from "react";
14
+ import { invariant } from "@dxos/invariant";
15
+ import { useGlobalFilteredObjects } from "@dxos/plugin-search";
16
+ import { Filter, useQuery, getSpace, create } from "@dxos/react-client/echo";
17
+ import { useKanbanModel, Kanban } from "@dxos/react-ui-kanban";
18
+ import { StackItem } from "@dxos/react-ui-stack";
19
+ import { ViewProjection } from "@dxos/schema";
20
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx";
21
+ var KanbanContainer = ({ kanban }) => {
22
+ const [cardSchema, setCardSchema] = useState();
23
+ const [projection, setProjection] = useState();
24
+ const space = getSpace(kanban);
25
+ useEffect(() => {
26
+ if (kanban.cardView?.target?.query?.type && space) {
27
+ const query = space.db.schemaRegistry.query({
28
+ typename: kanban.cardView.target.query.type
29
+ });
30
+ const unsubscribe = query.subscribe(() => {
31
+ const [schema] = query.results;
32
+ if (schema) {
33
+ setCardSchema(schema);
34
+ }
35
+ }, {
36
+ fire: true
37
+ });
38
+ return unsubscribe;
39
+ }
40
+ }, [
41
+ kanban.cardView?.target?.query,
42
+ space
43
+ ]);
44
+ useEffect(() => {
45
+ if (kanban.cardView?.target && cardSchema) {
46
+ setProjection(new ViewProjection(cardSchema, kanban.cardView.target));
47
+ }
48
+ }, [
49
+ kanban.cardView?.target,
50
+ cardSchema,
51
+ JSON.stringify(cardSchema?.jsonSchema)
52
+ ]);
53
+ const objects = useQuery(space, cardSchema ? Filter.schema(cardSchema) : Filter.nothing());
54
+ const filteredObjects = useGlobalFilteredObjects(objects);
55
+ const model = useKanbanModel({
56
+ kanban,
57
+ cardSchema,
58
+ projection,
59
+ items: filteredObjects
60
+ });
61
+ const handleAddCard = useCallback((columnValue) => {
62
+ const path = model?.columnFieldPath;
63
+ if (space && cardSchema && path) {
64
+ space.db.add(create(cardSchema, {
65
+ [path]: columnValue
66
+ }));
67
+ }
68
+ }, [
69
+ space,
70
+ cardSchema,
71
+ model
72
+ ]);
73
+ const handleRemoveCard = useCallback((card) => {
74
+ invariant(space, void 0, {
75
+ F: __dxlog_file,
76
+ L: 65,
77
+ S: void 0,
78
+ A: [
79
+ "space",
80
+ ""
81
+ ]
82
+ });
83
+ space.db.remove(card);
84
+ }, [
85
+ space
86
+ ]);
87
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
88
+ toolbar: false
89
+ }, model ? /* @__PURE__ */ React.createElement(Kanban, {
90
+ model,
91
+ onAddCard: handleAddCard,
92
+ onRemoveCard: handleRemoveCard
93
+ }) : /* @__PURE__ */ React.createElement("span", null, "Loading"));
94
+ };
95
+
96
+ // packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx
97
+ import React2, { useCallback as useCallback2, useEffect as useEffect2, useMemo, useState as useState2 } from "react";
98
+ import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
99
+ import { FormatEnum } from "@dxos/echo-schema";
100
+ import { invariant as invariant2 } from "@dxos/invariant";
101
+ import { Filter as Filter2, getSpace as getSpace2, useQuery as useQuery2 } from "@dxos/react-client/echo";
102
+ import { ViewEditor, Form, SelectInput } from "@dxos/react-ui-form";
103
+ import { KanbanSettingsSchema } from "@dxos/react-ui-kanban";
104
+ import { ViewType, ViewProjection as ViewProjection2 } from "@dxos/schema";
105
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
106
+ var KanbanViewEditor = ({ kanban }) => {
107
+ const { dispatchPromise: dispatch } = useIntentDispatcher();
108
+ const space = getSpace2(kanban);
109
+ const [schema, setSchema] = useState2();
110
+ useEffect2(() => {
111
+ if (space && kanban?.cardView?.target?.query?.type) {
112
+ const query = space.db.schemaRegistry.query({
113
+ typename: kanban.cardView.target.query.type
114
+ });
115
+ const unsubscribe = query.subscribe(() => {
116
+ const [schema2] = query.results;
117
+ if (schema2) {
118
+ setSchema(schema2);
119
+ }
120
+ }, {
121
+ fire: true
122
+ });
123
+ return unsubscribe;
124
+ }
125
+ }, [
126
+ space,
127
+ kanban?.cardView?.target?.query?.type
128
+ ]);
129
+ const views = useQuery2(space, Filter2.schema(ViewType));
130
+ const currentTypename = useMemo(() => kanban?.cardView?.target?.query?.type, [
131
+ kanban?.cardView?.target?.query?.type
132
+ ]);
133
+ const updateViewTypename = useCallback2((newTypename) => {
134
+ invariant2(schema, void 0, {
135
+ F: __dxlog_file2,
136
+ L: 45,
137
+ S: void 0,
138
+ A: [
139
+ "schema",
140
+ ""
141
+ ]
142
+ });
143
+ const matchingViews = views.filter((view) => view.query.type === currentTypename);
144
+ for (const view of matchingViews) {
145
+ view.query.type = newTypename;
146
+ }
147
+ schema.updateTypename(newTypename);
148
+ }, [
149
+ views,
150
+ schema
151
+ ]);
152
+ const handleDelete = useCallback2((fieldId) => dispatch?.(createIntent(KanbanAction.DeleteCardField, {
153
+ kanban,
154
+ fieldId
155
+ })), [
156
+ dispatch,
157
+ kanban
158
+ ]);
159
+ const projection = useMemo(() => {
160
+ if (kanban?.cardView?.target && schema) {
161
+ return new ViewProjection2(schema, kanban.cardView.target);
162
+ }
163
+ }, [
164
+ kanban?.cardView?.target,
165
+ schema,
166
+ JSON.stringify(schema)
167
+ ]);
168
+ const selectFields = useMemo(() => {
169
+ if (!projection) {
170
+ return [];
171
+ }
172
+ return projection.getFieldProjections().filter((field) => field.props.format === FormatEnum.SingleSelect).map(({ field }) => ({
173
+ value: field.id,
174
+ label: field.path
175
+ }));
176
+ }, [
177
+ projection
178
+ ]);
179
+ const onSave = useCallback2((values) => {
180
+ kanban.columnFieldId = values.columnFieldId;
181
+ }, [
182
+ kanban
183
+ ]);
184
+ const initialValues = useMemo(() => ({
185
+ columnFieldId: kanban.columnFieldId
186
+ }), [
187
+ kanban
188
+ ]);
189
+ const custom = useMemo(() => ({
190
+ columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectInput, {
191
+ ...props,
192
+ options: selectFields
193
+ })
194
+ }), [
195
+ selectFields
196
+ ]);
197
+ if (!space || !schema || !kanban.cardView?.target) {
198
+ return null;
199
+ }
200
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(Form, {
201
+ schema: KanbanSettingsSchema,
202
+ values: initialValues,
203
+ onSave,
204
+ autoSave: true,
205
+ Custom: custom
206
+ }), /* @__PURE__ */ React2.createElement(ViewEditor, {
207
+ registry: space.db.schemaRegistry,
208
+ schema,
209
+ view: kanban.cardView.target,
210
+ onTypenameChanged: updateViewTypename,
211
+ onDelete: handleDelete
212
+ }));
213
+ };
214
+
215
+ // packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx
216
+ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
217
+ createSurface({
218
+ id: `${KANBAN_PLUGIN}/kanban`,
219
+ role: [
220
+ "article",
221
+ "section"
222
+ ],
223
+ filter: (data) => isKanban(data.subject),
224
+ component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
225
+ kanban: data.subject,
226
+ role
227
+ })
228
+ }),
229
+ createSurface({
230
+ id: `${KANBAN_PLUGIN}/settings`,
231
+ role: "complementary--settings",
232
+ filter: (data) => isKanban(data.subject),
233
+ component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor, {
234
+ kanban: data.subject
235
+ })
236
+ })
237
+ ]);
238
+ export {
239
+ react_surface_default as default
240
+ };
241
+ //# sourceMappingURL=react-surface-W4HLVD2O.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 React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { KANBAN_PLUGIN } from '../meta';\nimport { isKanban } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${KANBAN_PLUGIN}/kanban`,\n role: ['article', 'section'],\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data, role }) => <KanbanContainer kanban={data.subject} role={role} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/settings`,\n role: 'complementary--settings',\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data }) => <KanbanViewEditor kanban={data.subject} />,\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { type EchoSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { Filter, useQuery, getSpace, create } from '@dxos/react-client/echo';\nimport { type KanbanType, useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { ViewProjection } from '@dxos/schema';\n\nexport const KanbanContainer = ({ kanban }: { kanban: KanbanType; role: string }) => {\n const [cardSchema, setCardSchema] = useState<EchoSchema>();\n const [projection, setProjection] = useState<ViewProjection>();\n const space = getSpace(kanban);\n\n useEffect(() => {\n if (kanban.cardView?.target?.query?.type && space) {\n const query = space.db.schemaRegistry.query({ typename: kanban.cardView.target.query.type });\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 }, [kanban.cardView?.target?.query, space]);\n\n useEffect(() => {\n if (kanban.cardView?.target && cardSchema) {\n setProjection(new ViewProjection(cardSchema, kanban.cardView.target));\n }\n // TODO(ZaymonFC): Is there a better way to get notified about deep changes in the json schema?\n }, [kanban.cardView?.target, cardSchema, JSON.stringify(cardSchema?.jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.schema(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n kanban,\n 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 space.db.add(create(cardSchema, { [path]: columnValue }));\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n invariant(space);\n space.db.remove(card);\n },\n [space],\n );\n\n return (\n <StackItem.Content toolbar={false}>\n {model ? (\n <Kanban model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />\n ) : (\n <span>Loading</span>\n )}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type EchoSchema, FormatEnum } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Filter, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { ViewEditor, Form, SelectInput, type CustomInputMap } from '@dxos/react-ui-form';\nimport { type KanbanType, KanbanSettingsSchema } from '@dxos/react-ui-kanban';\nimport { ViewType, ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\ntype KanbanViewEditorProps = { kanban: KanbanType };\n\nexport const KanbanViewEditor = ({ kanban }: KanbanViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(kanban);\n\n const [schema, setSchema] = useState<EchoSchema | undefined>();\n\n useEffect(() => {\n if (space && kanban?.cardView?.target?.query?.type) {\n const query = space.db.schemaRegistry.query({ typename: kanban.cardView.target.query.type });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [space, kanban?.cardView?.target?.query?.type]);\n\n const views = useQuery(space, Filter.schema(ViewType));\n const currentTypename = useMemo(() => kanban?.cardView?.target?.query?.type, [kanban?.cardView?.target?.query?.type]);\n const updateViewTypename = useCallback(\n (newTypename: string) => {\n invariant(schema);\n const matchingViews = views.filter((view) => view.query.type === currentTypename);\n for (const view of matchingViews) {\n view.query.type = newTypename;\n }\n schema.updateTypename(newTypename);\n },\n [views, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => dispatch?.(createIntent(KanbanAction.DeleteCardField, { kanban, fieldId })),\n [dispatch, kanban],\n );\n\n const projection = useMemo(() => {\n if (kanban?.cardView?.target && schema) {\n return new ViewProjection(schema, kanban.cardView.target);\n }\n }, [kanban?.cardView?.target, schema, JSON.stringify(schema)]);\n\n const selectFields = useMemo(() => {\n if (!projection) {\n return [];\n }\n\n return projection\n .getFieldProjections()\n .filter((field) => field.props.format === FormatEnum.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n }, [projection]);\n\n const onSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n kanban.columnFieldId = values.columnFieldId;\n },\n [kanban],\n );\n\n const initialValues = useMemo(() => ({ columnFieldId: kanban.columnFieldId }), [kanban]);\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n if (!space || !schema || !kanban.cardView?.target) {\n return null;\n }\n\n return (\n <>\n <Form schema={KanbanSettingsSchema} values={initialValues} onSave={onSave} autoSave Custom={custom} />\n <ViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={kanban.cardView.target}\n onTypenameChanged={updateViewTypename}\n onDelete={handleDelete}\n />\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "React", "useCallback", "useEffect", "useState", "invariant", "useGlobalFilteredObjects", "Filter", "useQuery", "getSpace", "create", "useKanbanModel", "Kanban", "StackItem", "ViewProjection", "KanbanContainer", "kanban", "cardSchema", "setCardSchema", "projection", "setProjection", "space", "cardView", "target", "query", "type", "db", "schemaRegistry", "typename", "unsubscribe", "subscribe", "schema", "results", "fire", "JSON", "stringify", "jsonSchema", "objects", "nothing", "filteredObjects", "model", "items", "handleAddCard", "columnValue", "path", "columnFieldPath", "add", "handleRemoveCard", "card", "remove", "Content", "toolbar", "onAddCard", "onRemoveCard", "span", "React", "useCallback", "useEffect", "useMemo", "useState", "createIntent", "useIntentDispatcher", "FormatEnum", "invariant", "Filter", "getSpace", "useQuery", "ViewEditor", "Form", "SelectInput", "KanbanSettingsSchema", "ViewType", "ViewProjection", "KanbanViewEditor", "kanban", "dispatchPromise", "dispatch", "useIntentDispatcher", "space", "getSpace", "schema", "setSchema", "useState", "useEffect", "cardView", "target", "query", "type", "db", "schemaRegistry", "typename", "unsubscribe", "subscribe", "results", "fire", "views", "useQuery", "Filter", "ViewType", "currentTypename", "useMemo", "updateViewTypename", "useCallback", "newTypename", "invariant", "matchingViews", "filter", "view", "updateTypename", "handleDelete", "fieldId", "createIntent", "KanbanAction", "DeleteCardField", "projection", "ViewProjection", "JSON", "stringify", "selectFields", "getFieldProjections", "field", "props", "format", "FormatEnum", "SingleSelect", "map", "value", "id", "label", "path", "onSave", "values", "columnFieldId", "initialValues", "custom", "React", "SelectInput", "options", "Form", "KanbanSettingsSchema", "autoSave", "Custom", "ViewEditor", "registry", "onTypenameChanged", "onDelete", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "KANBAN_PLUGIN", "role", "filter", "data", "isKanban", "subject", "component", "React", "KanbanContainer", "kanban", "KanbanViewEditor"]
7
+ }
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ KanbanAction,
4
+ createKanban,
5
+ isKanban
6
+ } from "./chunk-LUAZTJHF.mjs";
7
+ export {
8
+ KanbanAction,
9
+ createKanban,
10
+ isKanban
11
+ };
12
+ //# sourceMappingURL=types.mjs.map
@@ -1,4 +1,2 @@
1
- import { type PluginDefinition } from '@dxos/app-framework';
2
- import { type KanbanPluginProvides } from './types';
3
- export declare const KanbanPlugin: () => PluginDefinition<KanbanPluginProvides>;
1
+ export declare const KanbanPlugin: () => import("@dxos/app-framework").Plugin;
4
2
  //# sourceMappingURL=KanbanPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,gBAAgB,EAAuC,MAAM,qBAAqB,CAAC;AAWhH,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,YAAY,QAAO,gBAAgB,CAAC,oBAAoB,CA2FpE,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,4CAoCrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
2
+ export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Capabilities } from '@dxos/app-framework';
2
+ declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
3
+ export default _default;
4
+ //# sourceMappingURL=intent-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,YAAY,EAAkB,MAAM,qBAAqB,CAAC;;AAQhF,wBAgCK"}
@@ -0,0 +1,4 @@
1
+ import { Capabilities } from '@dxos/app-framework';
2
+ declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.ReactSurface>;
3
+ export default _default;
4
+ //# sourceMappingURL=react-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAO/E,wBAcK"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type KanbanType } from '@dxos/react-ui-kanban';
3
+ export declare const KanbanContainer: ({ kanban }: {
4
+ kanban: KanbanType;
5
+ role: string;
6
+ }) => React.JSX.Element;
7
+ //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAIhF,eAAO,MAAM,eAAe,eAAgB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAiE/E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type KanbanType } from '@dxos/react-ui-kanban';
3
+ type KanbanViewEditorProps = {
4
+ kanban: KanbanType;
5
+ };
6
+ export declare const KanbanViewEditor: ({ kanban }: KanbanViewEditorProps) => React.JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=KanbanViewEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAK9E,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,eAAO,MAAM,gBAAgB,eAAgB,qBAAqB,6BAuFjE,CAAC"}
@@ -1,4 +1,3 @@
1
- export declare const KanbanMain: import("react").LazyExoticComponent<import("react").FC<{
2
- kanban: import("../types").KanbanType;
3
- }>>;
1
+ export * from './KanbanContainer';
2
+ export * from './KanbanViewEditor';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;GAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { KanbanPlugin } from './KanbanPlugin';
2
- export default KanbanPlugin;
3
1
  export * from './KanbanPlugin';
2
+ export * from './meta';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAe,YAAY,CAAC;AAE5B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export declare const KANBAN_PLUGIN = "dxos.org/plugin/kanban";
2
- declare const _default: {
2
+ export declare const meta: {
3
3
  id: string;
4
4
  name: string;
5
5
  description: string;
6
6
  icon: string;
7
7
  source: string;
8
8
  tags: string[];
9
+ screenshots: string[];
9
10
  };
10
- export default _default;
11
11
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,2BAA2B,CAAC;;;;;;;;;AAEtD,wBAOuB"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,IAAI;;;;;;;;CASK,CAAC"}
@@ -1,5 +1,36 @@
1
1
  declare const _default: {
2
2
  'en-US': {
3
+ [x: string]: {
4
+ 'typename label': string;
5
+ 'plugin name'?: undefined;
6
+ 'kanban title label'?: undefined;
7
+ 'kanban title placeholder'?: undefined;
8
+ 'column title label'?: undefined;
9
+ 'column title placeholder'?: undefined;
10
+ 'item title label'?: undefined;
11
+ 'item title placeholder'?: undefined;
12
+ 'add column label'?: undefined;
13
+ 'add item label'?: undefined;
14
+ 'delete column label'?: undefined;
15
+ 'delete item label'?: undefined;
16
+ 'create kanban label'?: undefined;
17
+ 'card field deleted label'?: undefined;
18
+ } | {
19
+ 'plugin name': string;
20
+ 'kanban title label': string;
21
+ 'kanban title placeholder': string;
22
+ 'column title label': string;
23
+ 'column title placeholder': string;
24
+ 'item title label': string;
25
+ 'item title placeholder': string;
26
+ 'add column label': string;
27
+ 'add item label': string;
28
+ 'delete column label': string;
29
+ 'delete item label': string;
30
+ 'create kanban label': string;
31
+ 'card field deleted label': string;
32
+ 'typename label'?: undefined;
33
+ };
3
34
  "dxos.org/plugin/kanban": {
4
35
  'plugin name': string;
5
36
  'kanban title label': string;
@@ -13,6 +44,7 @@ declare const _default: {
13
44
  'delete column label': string;
14
45
  'delete item label': string;
15
46
  'create kanban label': string;
47
+ 'card field deleted label': string;
16
48
  };
17
49
  };
18
50
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAMA,wBAmBE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,wBAuBE"}
@@ -0,0 +1,67 @@
1
+ import { S } from '@dxos/echo-schema';
2
+ import { type Space } from '@dxos/react-client/echo';
3
+ import { KanbanType } from '@dxos/react-ui-kanban';
4
+ /**
5
+ * Kanban data model.
6
+ * A Kanban board is a collection of columns, each of which contains a collection of items.
7
+ * The layout of columns and items is controlled by models.
8
+ * The underlying data model may be represented by direct object relationships
9
+ * (e.g., a column object containing an array of ordered items) or projections constructed
10
+ * by the model (e.g., a query of items based on metadata within a column object).
11
+ */
12
+ export declare namespace KanbanAction {
13
+ const Create_base: S.TaggedClass<Create, "dxos.org/plugin/kanban/action/create", {
14
+ readonly _tag: S.tag<"dxos.org/plugin/kanban/action/create">;
15
+ } & {
16
+ input: S.Struct<{
17
+ name: S.optional<typeof S.String>;
18
+ space: S.Schema<Space, Space, never>;
19
+ }>;
20
+ output: S.Struct<{
21
+ object: typeof KanbanType;
22
+ }>;
23
+ }>;
24
+ export class Create extends Create_base {
25
+ }
26
+ const DeleteCardField_base: S.TaggedClass<DeleteCardField, "dxos.org/plugin/kanban/action/delete-card-field", {
27
+ readonly _tag: S.tag<"dxos.org/plugin/kanban/action/delete-card-field">;
28
+ } & {
29
+ input: S.Struct<{
30
+ kanban: typeof KanbanType;
31
+ fieldId: typeof S.String;
32
+ deletionData: S.optional<S.Struct<{
33
+ field: S.mutable<S.Struct<{
34
+ id: typeof S.String;
35
+ path: S.Schema<import("@dxos/echo-schema").JsonPath, import("@dxos/echo-schema").JsonPath, never>;
36
+ visible: S.optional<typeof S.
37
+ /**
38
+ * Kanban data model.
39
+ * A Kanban board is a collection of columns, each of which contains a collection of items.
40
+ * The layout of columns and items is controlled by models.
41
+ * The underlying data model may be represented by direct object relationships
42
+ * (e.g., a column object containing an array of ordered items) or projections constructed
43
+ * by the model (e.g., a query of items based on metadata within a column object).
44
+ */
45
+ Boolean>;
46
+ size: S.optional<typeof S.Number>;
47
+ referencePath: S.optional<S.Schema<import("@dxos/echo-schema").JsonPath, import("@dxos/echo-schema").JsonPath, never>>;
48
+ }>>;
49
+ props: typeof S.Any;
50
+ index: typeof S.Number;
51
+ }>>;
52
+ }>;
53
+ output: typeof S.Void;
54
+ }>;
55
+ export class DeleteCardField extends DeleteCardField_base {
56
+ }
57
+ export {};
58
+ }
59
+ export interface KanbanModel {
60
+ root: KanbanType;
61
+ }
62
+ export type Location = {
63
+ idx?: number;
64
+ };
65
+ export declare const isKanban: (object: unknown) => object is KanbanType;
66
+ export declare const createKanban: (space: Space) => Promise<KanbanType>;
67
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD;;;;;;;GAOG;AAEH,yBAAiB,YAAY,CAAC;;;;;;;;;;;;IAG5B,MAAM,OAAO,MAAO,SAAQ,WAQ1B;KAAG;;;;;;;;;+BAzBoD,EAAG,MAC5D;0BAAW,EAAG,MAAM;6BAEJ,EAAG,QAAQ,QAAO;oBAEpC;;;;;;;uBAOG;oBAEH,OARC;0BAAY,EAAG,QACd,QAAO,EAAG,MAAM;mCAAqB,EAAG,QAAQ,CAAC,EAAG,MAAK;;;;;;;;IAoBzD,MAAM,OAAO,eAAgB,SAAQ,oBAgBnC;KAAG;;CACN;AAUD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,OAAO,KAAG,MAAM,IAAI,UAA4D,CAAC;AAElH,eAAO,MAAM,YAAY,UAAiB,KAAK,wBAG9C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":"5.7.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-kanban",
3
- "version": "0.7.4",
3
+ "version": "0.7.5-labs.071a3e2",
4
4
  "description": "Kanban DXOS Surface plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -13,11 +13,6 @@
13
13
  "browser": "./dist/lib/browser/index.mjs",
14
14
  "node": "./dist/lib/node-esm/index.mjs"
15
15
  },
16
- "./meta": {
17
- "types": "./dist/types/src/meta.d.ts",
18
- "browser": "./dist/lib/browser/meta.mjs",
19
- "node": "./dist/lib/node-esm/meta.mjs"
20
- },
21
16
  "./types": {
22
17
  "types": "./dist/types/src/types/index.d.ts",
23
18
  "browser": "./dist/lib/browser/types/index.mjs",
@@ -27,9 +22,6 @@
27
22
  "types": "dist/types/src/index.d.ts",
28
23
  "typesVersions": {
29
24
  "*": {
30
- "meta": [
31
- "dist/types/src/meta.d.ts"
32
- ],
33
25
  "types": [
34
26
  "dist/types/src/types/index.d.ts"
35
27
  ]
@@ -40,41 +32,39 @@
40
32
  "src"
41
33
  ],
42
34
  "dependencies": {
43
- "@dnd-kit/core": "^6.0.5",
44
- "@dnd-kit/modifiers": "^6.0.0",
45
- "@dnd-kit/sortable": "^7.0.1",
46
- "@dnd-kit/utilities": "^3.2.0",
47
35
  "@effect/schema": "^0.75.5",
48
36
  "@preact/signals-core": "^1.6.0",
49
- "@dxos/app-framework": "0.7.4",
50
- "@dxos/async": "0.7.4",
51
- "@dxos/echo-schema": "0.7.4",
52
- "@dxos/plugin-client": "0.7.4",
53
- "@dxos/plugin-graph": "0.7.4",
54
- "@dxos/live-object": "0.7.4",
55
- "@dxos/plugin-space": "0.7.4",
56
- "@dxos/react-client": "0.7.4",
57
- "@dxos/react-ui-editor": "0.7.4",
58
- "@dxos/util": "0.7.4"
37
+ "@dxos/app-framework": "0.7.5-labs.071a3e2",
38
+ "@dxos/echo-schema": "0.7.5-labs.071a3e2",
39
+ "@dxos/async": "0.7.5-labs.071a3e2",
40
+ "@dxos/plugin-client": "0.7.5-labs.071a3e2",
41
+ "@dxos/plugin-search": "0.7.5-labs.071a3e2",
42
+ "@dxos/plugin-space": "0.7.5-labs.071a3e2",
43
+ "@dxos/invariant": "0.7.5-labs.071a3e2",
44
+ "@dxos/plugin-graph": "0.7.5-labs.071a3e2",
45
+ "@dxos/random": "0.7.5-labs.071a3e2",
46
+ "@dxos/react-client": "0.7.5-labs.071a3e2",
47
+ "@dxos/react-ui-form": "0.7.5-labs.071a3e2",
48
+ "@dxos/react-ui-kanban": "0.7.5-labs.071a3e2",
49
+ "@dxos/react-ui-stack": "0.7.5-labs.071a3e2",
50
+ "@dxos/schema": "0.7.5-labs.071a3e2",
51
+ "@dxos/util": "0.7.5-labs.071a3e2"
59
52
  },
60
53
  "devDependencies": {
61
- "@phosphor-icons/react": "^2.1.5",
62
54
  "@types/react": "~18.2.0",
63
55
  "@types/react-dom": "~18.2.0",
64
56
  "react": "~18.2.0",
65
57
  "react-dom": "~18.2.0",
66
58
  "vite": "5.4.7",
67
- "@dxos/random": "0.7.4",
68
- "@dxos/react-ui": "0.7.4",
69
- "@dxos/react-ui-theme": "0.7.4",
70
- "@dxos/storybook-utils": "0.7.4"
59
+ "@dxos/react-ui": "0.7.5-labs.071a3e2",
60
+ "@dxos/storybook-utils": "0.7.5-labs.071a3e2",
61
+ "@dxos/react-ui-theme": "0.7.5-labs.071a3e2"
71
62
  },
72
63
  "peerDependencies": {
73
- "@phosphor-icons/react": "^2.1.5",
74
64
  "react": "~18.2.0",
75
65
  "react-dom": "~18.2.0",
76
- "@dxos/react-ui": "0.7.4",
77
- "@dxos/react-ui-theme": "0.7.4"
66
+ "@dxos/react-ui": "0.7.5-labs.071a3e2",
67
+ "@dxos/react-ui-theme": "0.7.5-labs.071a3e2"
78
68
  },
79
69
  "publishConfig": {
80
70
  "access": "public"