@dxos/plugin-stack 0.6.12-staging.e11e696 → 0.6.12

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 (45) hide show
  1. package/dist/lib/browser/{StackMain-6GEK3XZ3.mjs → StackMain-XRQRNZ4I.mjs} +7 -9
  2. package/dist/lib/browser/StackMain-XRQRNZ4I.mjs.map +7 -0
  3. package/dist/lib/{node-esm/chunk-T42IEBEL.mjs → browser/chunk-AYDYMPJK.mjs} +5 -4
  4. package/dist/lib/browser/chunk-AYDYMPJK.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +5 -7
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/meta.mjs +1 -1
  9. package/dist/lib/node/{StackMain-AMKQAQJ6.cjs → StackMain-XJGYFDDN.cjs} +15 -17
  10. package/dist/lib/node/StackMain-XJGYFDDN.cjs.map +7 -0
  11. package/dist/lib/node/{chunk-PGL7XDNJ.cjs → chunk-I42JKRXR.cjs} +18 -5
  12. package/dist/lib/node/chunk-I42JKRXR.cjs.map +7 -0
  13. package/dist/lib/node/index.cjs +43 -45
  14. package/dist/lib/node/index.cjs.map +3 -3
  15. package/dist/lib/node/meta.cjs +4 -4
  16. package/dist/lib/node/meta.cjs.map +1 -1
  17. package/dist/lib/node/meta.json +1 -1
  18. package/dist/types/src/StackPlugin.d.ts.map +1 -1
  19. package/dist/types/src/components/StackMain.d.ts +1 -2
  20. package/dist/types/src/components/StackMain.d.ts.map +1 -1
  21. package/dist/types/src/components/index.d.ts +1 -2
  22. package/dist/types/src/components/index.d.ts.map +1 -1
  23. package/dist/types/src/meta.d.ts +4 -1
  24. package/dist/types/src/meta.d.ts.map +1 -1
  25. package/package.json +29 -33
  26. package/src/StackPlugin.tsx +7 -16
  27. package/src/components/StackMain.tsx +44 -48
  28. package/src/meta.tsx +5 -1
  29. package/dist/lib/browser/StackMain-6GEK3XZ3.mjs.map +0 -7
  30. package/dist/lib/browser/chunk-H4O4KKLZ.mjs +0 -16
  31. package/dist/lib/browser/chunk-H4O4KKLZ.mjs.map +0 -7
  32. package/dist/lib/node/StackMain-AMKQAQJ6.cjs.map +0 -7
  33. package/dist/lib/node/chunk-PGL7XDNJ.cjs.map +0 -7
  34. package/dist/lib/node-esm/StackMain-BQ5KK6F4.mjs +0 -279
  35. package/dist/lib/node-esm/StackMain-BQ5KK6F4.mjs.map +0 -7
  36. package/dist/lib/node-esm/chunk-4ULAI3BI.mjs +0 -23
  37. package/dist/lib/node-esm/chunk-4ULAI3BI.mjs.map +0 -7
  38. package/dist/lib/node-esm/chunk-T42IEBEL.mjs.map +0 -7
  39. package/dist/lib/node-esm/index.mjs +0 -288
  40. package/dist/lib/node-esm/index.mjs.map +0 -7
  41. package/dist/lib/node-esm/meta.json +0 -1
  42. package/dist/lib/node-esm/meta.mjs +0 -12
  43. package/dist/lib/node-esm/meta.mjs.map +0 -7
  44. package/dist/lib/node-esm/types/index.mjs +0 -10
  45. package/dist/lib/node-esm/types/index.mjs.map +0 -7
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,21 +17,32 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_PGL7XDNJ_exports = {};
20
- __export(chunk_PGL7XDNJ_exports, {
29
+ var chunk_I42JKRXR_exports = {};
30
+ __export(chunk_I42JKRXR_exports, {
21
31
  SECTION_IDENTIFIER: () => SECTION_IDENTIFIER,
22
32
  STACK_PLUGIN: () => STACK_PLUGIN,
23
33
  meta_default: () => meta_default
24
34
  });
25
- module.exports = __toCommonJS(chunk_PGL7XDNJ_exports);
35
+ module.exports = __toCommonJS(chunk_I42JKRXR_exports);
36
+ var import_react = require("@phosphor-icons/react");
37
+ var import_react2 = __toESM(require("react"));
26
38
  var STACK_PLUGIN = "dxos.org/plugin/stack";
27
39
  var SECTION_IDENTIFIER = "dxos.org/type/StackSection";
28
40
  var meta_default = {
29
41
  id: STACK_PLUGIN,
30
42
  // TODO(wittjosiah): Prevents "stacks" language from being exposed to users in settings panel.
31
43
  name: "Collections",
32
- icon: "ph--stack-simple--regular"
44
+ iconComponent: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.StackSimple, props),
45
+ iconSymbol: "ph--stack-simple--regular"
33
46
  };
34
47
  // Annotate the CommonJS export names for ESM import in node:
35
48
  0 && (module.exports = {
@@ -37,4 +50,4 @@ var meta_default = {
37
50
  STACK_PLUGIN,
38
51
  meta_default
39
52
  });
40
- //# sourceMappingURL=chunk-PGL7XDNJ.cjs.map
53
+ //# sourceMappingURL=chunk-I42JKRXR.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type IconProps, StackSimple } from '@phosphor-icons/react';\nimport React from 'react';\n\nexport const STACK_PLUGIN = 'dxos.org/plugin/stack';\nexport const SECTION_IDENTIFIER = 'dxos.org/type/StackSection';\n\nexport default {\n id: STACK_PLUGIN,\n // TODO(wittjosiah): Prevents \"stacks\" language from being exposed to users in settings panel.\n name: 'Collections',\n iconComponent: (props: IconProps) => <StackSimple {...props} />,\n iconSymbol: 'ph--stack-simple--regular',\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAA4C;AAC5C,IAAAA,gBAAkB;AAEX,IAAMC,eAAe;AACrB,IAAMC,qBAAqB;AAElC,IAAA,eAAe;EACbC,IAAIF;;EAEJG,MAAM;EACNC,eAAe,CAACC,UAAqB,8BAAAC,QAAA,cAACC,0BAAgBF,KAAAA;EACtDG,YAAY;AACd;",
6
+ "names": ["import_react", "STACK_PLUGIN", "SECTION_IDENTIFIER", "id", "name", "iconComponent", "props", "React", "StackSimple", "iconSymbol"]
7
+ }
@@ -34,25 +34,25 @@ __export(node_exports, {
34
34
  default: () => src_default
35
35
  });
36
36
  module.exports = __toCommonJS(node_exports);
37
- var import_chunk_PGL7XDNJ = require("./chunk-PGL7XDNJ.cjs");
37
+ var import_chunk_I42JKRXR = require("./chunk-I42JKRXR.cjs");
38
38
  var import_chunk_EMD6A66G = require("./chunk-EMD6A66G.cjs");
39
- var import_react = __toESM(require("react"));
39
+ var import_react = require("@phosphor-icons/react");
40
+ var import_react2 = __toESM(require("react"));
40
41
  var import_echo_schema = require("@dxos/echo-schema");
41
42
  var import_local_storage = require("@dxos/local-storage");
42
43
  var import_types = require("@dxos/plugin-space/types");
43
- var import_echo = require("@dxos/react-client/echo");
44
44
  var import_react_ui = require("@dxos/react-ui");
45
45
  var import_react_ui_theme = require("@dxos/react-ui-theme");
46
- var import_react2 = __toESM(require("react"));
47
46
  var import_react3 = __toESM(require("react"));
47
+ var import_react4 = __toESM(require("react"));
48
48
  var import_plugin_settings = require("@dxos/plugin-settings");
49
49
  var import_react_ui2 = require("@dxos/react-ui");
50
- var import_react4 = require("@phosphor-icons/react");
51
- var import_react5 = __toESM(require("react"));
50
+ var import_react5 = require("@phosphor-icons/react");
51
+ var import_react6 = __toESM(require("react"));
52
52
  var import_app_framework = require("@dxos/app-framework");
53
53
  var import_echo_schema2 = require("@dxos/echo-schema");
54
54
  var import_types2 = require("@dxos/plugin-ipfs/types");
55
- var import_echo2 = require("@dxos/react-client/echo");
55
+ var import_echo = require("@dxos/react-client/echo");
56
56
  var import_react_ui3 = require("@dxos/react-ui");
57
57
  var import_react_ui_mosaic = require("@dxos/react-ui-mosaic");
58
58
  var import_react_ui_searchlist = require("@dxos/react-ui-searchlist");
@@ -60,10 +60,10 @@ var import_react_ui_theme2 = require("@dxos/react-ui-theme");
60
60
  var import_util = require("@dxos/util");
61
61
  var import_react_ui_stack = require("@dxos/react-ui-stack");
62
62
  var StackSettings = ({ settings }) => {
63
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_PGL7XDNJ.STACK_PLUGIN);
64
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_plugin_settings.SettingsValue, {
63
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_I42JKRXR.STACK_PLUGIN);
64
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
65
65
  label: t("settings separation label")
66
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.Switch, {
66
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Switch, {
67
67
  checked: settings.separation,
68
68
  onCheckedChange: (checked) => settings.separation = !!checked
69
69
  })));
@@ -72,15 +72,15 @@ var dataHasAddSectionDialogProps = (data) => {
72
72
  return "subject" in data && typeof data.subject === "object" && !!data.subject && "position" in data.subject && typeof data.subject.position === "string" && "collection" in data.subject;
73
73
  };
74
74
  var AddSectionDialog = ({ path, position, collection }) => {
75
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_PGL7XDNJ.STACK_PLUGIN);
76
- const stackPlugin = (0, import_app_framework.usePlugin)(import_chunk_PGL7XDNJ.STACK_PLUGIN);
75
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_I42JKRXR.STACK_PLUGIN);
76
+ const stackPlugin = (0, import_app_framework.usePlugin)(import_chunk_I42JKRXR.STACK_PLUGIN);
77
77
  const fileManagerPlugin = (0, import_app_framework.useResolvePlugin)(import_app_framework.parseFileManagerPlugin);
78
- const fileRef = (0, import_react5.useRef)(null);
78
+ const fileRef = (0, import_react6.useRef)(null);
79
79
  const { dispatch } = (0, import_app_framework.useIntent)();
80
- const space = (0, import_echo2.getSpace)(collection);
81
- const [pending, setPending] = (0, import_react5.useState)(false);
82
- const [uploadError, setUploadError] = (0, import_react5.useState)();
83
- const handleAdd = (0, import_react5.useCallback)((sectionObject) => {
80
+ const space = (0, import_echo.getSpace)(collection);
81
+ const [pending, setPending] = (0, import_react6.useState)(false);
82
+ const [uploadError, setUploadError] = (0, import_react6.useState)();
83
+ const handleAdd = (0, import_react6.useCallback)((sectionObject) => {
84
84
  const index = position === "beforeAll" ? 0 : position === "afterAll" ? collection.objects.length : collection.objects.filter(import_util.nonNullable).findIndex((section) => section.id === import_react_ui_mosaic.Path.last(path));
85
85
  collection.objects.splice(index + (position === "after" ? 1 : 0), 0, sectionObject);
86
86
  const stack = collection.views[import_chunk_EMD6A66G.StackViewType.typename];
@@ -118,20 +118,20 @@ var AddSectionDialog = ({ path, position, collection }) => {
118
118
  setUploadError(err);
119
119
  }
120
120
  } : void 0;
121
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui3.Dialog.Content, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui3.Dialog.Title, null, t(`add section ${position} dialog title`)), /* @__PURE__ */ import_react5.default.createElement(import_react_ui_searchlist.SearchList.Root, {
121
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Dialog.Content, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Dialog.Title, null, t(`add section ${position} dialog title`)), /* @__PURE__ */ import_react6.default.createElement(import_react_ui_searchlist.SearchList.Root, {
122
122
  label: t("add section input placeholder")
123
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui_searchlist.SearchList.Input, {
123
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui_searchlist.SearchList.Input, {
124
124
  placeholder: t("add section input placeholder"),
125
125
  classNames: "pli-3",
126
126
  disabled: pending
127
- }), /* @__PURE__ */ import_react5.default.createElement(import_react_ui_searchlist.SearchList.Content, {
127
+ }), /* @__PURE__ */ import_react6.default.createElement(import_react_ui_searchlist.SearchList.Content, {
128
128
  classNames: "min-bs-24 bs-fit max-bs-64 overflow-auto",
129
129
  ...pending && {
130
130
  inert: "true"
131
131
  }
132
132
  }, stackPlugin?.provides?.stack.creators?.map(({ id, icon: Icon, label: propsLabel, testId, intent }) => {
133
133
  const label = (0, import_react_ui3.toLocalizedString)(propsLabel, t);
134
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui_searchlist.SearchList.Item, {
134
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_searchlist.SearchList.Item, {
135
135
  value: label,
136
136
  key: id,
137
137
  onSelect: async () => {
@@ -146,31 +146,31 @@ var AddSectionDialog = ({ path, position, collection }) => {
146
146
  },
147
147
  classNames: "flex items-center gap-2 pli-2",
148
148
  "data-testid": testId
149
- }, Icon && /* @__PURE__ */ import_react5.default.createElement(Icon, {
149
+ }, Icon && /* @__PURE__ */ import_react6.default.createElement(Icon, {
150
150
  className: (0, import_react_ui_theme2.mx)((0, import_react_ui_theme2.getSize)(4), "shrink-0")
151
- }), /* @__PURE__ */ import_react5.default.createElement("span", {
151
+ }), /* @__PURE__ */ import_react6.default.createElement("span", {
152
152
  className: "grow truncate"
153
153
  }, label));
154
- }), handleFileUpload && /* @__PURE__ */ import_react5.default.createElement(import_react_ui_searchlist.SearchList.Item, {
154
+ }), handleFileUpload && /* @__PURE__ */ import_react6.default.createElement(import_react_ui_searchlist.SearchList.Item, {
155
155
  value: t("upload file label"),
156
156
  classNames: "flex items-center gap-2 pli-2",
157
157
  onSelect: () => fileRef.current?.click()
158
- }, /* @__PURE__ */ import_react5.default.createElement(import_react4.FilePlus, null), /* @__PURE__ */ import_react5.default.createElement("span", {
158
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react5.FilePlus, null), /* @__PURE__ */ import_react6.default.createElement("span", {
159
159
  className: "grow truncate"
160
- }, t("upload file label"))), uploadError && /* @__PURE__ */ import_react5.default.createElement("div", {
160
+ }, t("upload file label"))), uploadError && /* @__PURE__ */ import_react6.default.createElement("div", {
161
161
  className: "text-error-500"
162
- }, uploadError.message))), handleFileUpload && /* @__PURE__ */ import_react5.default.createElement("input", {
162
+ }, uploadError.message))), handleFileUpload && /* @__PURE__ */ import_react6.default.createElement("input", {
163
163
  type: "file",
164
164
  className: "sr-only",
165
165
  ref: fileRef,
166
166
  onChange: ({ target: { files } }) => files && handleFileUpload(files[0])
167
167
  }));
168
168
  };
169
- var StackMain = import_react2.default.lazy(() => import("./StackMain-AMKQAQJ6.cjs"));
169
+ var StackMain = import_react3.default.lazy(() => import("./StackMain-XJGYFDDN.cjs"));
170
170
  var translations_default = [
171
171
  {
172
172
  "en-US": {
173
- [import_chunk_PGL7XDNJ.STACK_PLUGIN]: {
173
+ [import_chunk_I42JKRXR.STACK_PLUGIN]: {
174
174
  "plugin name": "Stacks",
175
175
  "settings separation label": "Separate sections",
176
176
  "add section beforeAll dialog title": "Add a section to the start",
@@ -186,21 +186,21 @@ var translations_default = [
186
186
  ...import_react_ui_stack.translations
187
187
  ];
188
188
  var StackPlugin = () => {
189
- const settings = new import_local_storage.LocalStorageStore(import_chunk_PGL7XDNJ.STACK_PLUGIN, {
189
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_I42JKRXR.STACK_PLUGIN, {
190
190
  separation: true
191
191
  });
192
192
  const stackState = (0, import_echo_schema.create)({
193
193
  creators: []
194
194
  });
195
195
  return {
196
- meta: import_chunk_PGL7XDNJ.meta_default,
196
+ meta: import_chunk_I42JKRXR.meta_default,
197
197
  ready: async (plugins) => {
198
198
  settings.prop({
199
199
  key: "separation",
200
200
  type: import_local_storage.LocalStorageStore.bool()
201
201
  });
202
202
  for (const plugin of plugins) {
203
- if (plugin.meta.id === import_chunk_PGL7XDNJ.STACK_PLUGIN) {
203
+ if (plugin.meta.id === import_chunk_I42JKRXR.STACK_PLUGIN) {
204
204
  continue;
205
205
  }
206
206
  if (Array.isArray(plugin.provides?.stack?.creators)) {
@@ -216,12 +216,13 @@ var StackPlugin = () => {
216
216
  placeholder: [
217
217
  "stack title placeholder",
218
218
  {
219
- ns: import_chunk_PGL7XDNJ.STACK_PLUGIN
219
+ ns: import_chunk_I42JKRXR.STACK_PLUGIN
220
220
  }
221
221
  ],
222
- icon: "ph--stack-simple--regular"
222
+ icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.StackSimple, props),
223
+ iconSymbol: "ph--stack-simple--regular"
223
224
  },
224
- [import_chunk_PGL7XDNJ.SECTION_IDENTIFIER]: {
225
+ [import_chunk_I42JKRXR.SECTION_IDENTIFIER]: {
225
226
  parse: (section, type) => {
226
227
  switch (type) {
227
228
  case "node":
@@ -248,36 +249,33 @@ var StackPlugin = () => {
248
249
  surface: {
249
250
  component: ({ data, role }) => {
250
251
  switch (data.component) {
251
- case `${import_chunk_PGL7XDNJ.STACK_PLUGIN}/AddSectionDialog`:
252
- return dataHasAddSectionDialogProps(data) ? /* @__PURE__ */ import_react.default.createElement(AddSectionDialog, data.subject) : null;
252
+ case `${import_chunk_I42JKRXR.STACK_PLUGIN}/AddSectionDialog`:
253
+ return dataHasAddSectionDialogProps(data) ? /* @__PURE__ */ import_react2.default.createElement(AddSectionDialog, data.subject) : null;
253
254
  }
254
255
  const primary = data.active ?? data.object;
255
- const id = typeof data.id === "string" ? data.id : void 0;
256
256
  switch (role) {
257
257
  case "main":
258
- return primary instanceof import_types.CollectionType ? /* @__PURE__ */ import_react.default.createElement(import_react_ui.Main.Content, {
258
+ return primary instanceof import_types.CollectionType ? /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Main.Content, {
259
259
  bounce: true,
260
260
  classNames: [
261
261
  import_react_ui_theme.baseSurface,
262
262
  import_react_ui_theme.topbarBlockPaddingStart,
263
263
  import_react_ui_theme.bottombarBlockPaddingEnd
264
264
  ]
265
- }, /* @__PURE__ */ import_react.default.createElement(StackMain, {
266
- id: id ?? (0, import_echo.fullyQualifiedId)(primary),
265
+ }, /* @__PURE__ */ import_react2.default.createElement(StackMain, {
267
266
  collection: primary,
268
267
  separation: settings.values.separation
269
268
  })) : null;
270
269
  case "article":
271
- return primary instanceof import_types.CollectionType ? /* @__PURE__ */ import_react.default.createElement("div", {
270
+ return primary instanceof import_types.CollectionType ? /* @__PURE__ */ import_react2.default.createElement("div", {
272
271
  role: "none",
273
272
  className: "row-span-2 overflow-auto"
274
- }, /* @__PURE__ */ import_react.default.createElement(StackMain, {
275
- id: id ?? (0, import_echo.fullyQualifiedId)(primary),
273
+ }, /* @__PURE__ */ import_react2.default.createElement(StackMain, {
276
274
  collection: primary,
277
275
  separation: settings.values.separation
278
276
  })) : null;
279
277
  case "settings": {
280
- return data.plugin === import_chunk_PGL7XDNJ.meta_default.id ? /* @__PURE__ */ import_react.default.createElement(StackSettings, {
278
+ return data.plugin === import_chunk_I42JKRXR.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(StackSettings, {
281
279
  settings: settings.values
282
280
  }) : null;
283
281
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/StackPlugin.tsx", "../../../src/components/index.ts", "../../../src/components/StackSettings.tsx", "../../../src/components/AddSectionDialog.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin, type PluginDefinition } from '@dxos/app-framework';\nimport { create, type EchoReactiveObject } from '@dxos/echo-schema';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { Main } from '@dxos/react-ui';\nimport { baseSurface, topbarBlockPaddingStart, bottombarBlockPaddingEnd } from '@dxos/react-ui-theme';\n\nimport { StackMain, StackSettings, AddSectionDialog, dataHasAddSectionDialogProps } from './components';\nimport meta, { SECTION_IDENTIFIER, STACK_PLUGIN } from './meta';\nimport translations from './translations';\nimport { StackViewType } from './types';\nimport { type StackPluginProvides, type StackProvides, type StackState, type StackSettingsProps } from './types';\n\nexport const StackPlugin = (): PluginDefinition<StackPluginProvides> => {\n const settings = new LocalStorageStore<StackSettingsProps>(STACK_PLUGIN, { separation: true });\n const stackState = create<StackState>({ creators: [] });\n\n return {\n meta,\n ready: async (plugins) => {\n settings.prop({ key: 'separation', type: LocalStorageStore.bool() });\n\n for (const plugin of plugins) {\n if (plugin.meta.id === STACK_PLUGIN) {\n continue;\n }\n\n if (Array.isArray((plugin as Plugin<StackProvides>).provides?.stack?.creators)) {\n stackState.creators.push(...((plugin as Plugin<StackProvides>).provides.stack.creators ?? []));\n }\n }\n },\n provides: {\n settings: settings.values,\n metadata: {\n records: {\n [StackViewType.typename]: {\n placeholder: ['stack title placeholder', { ns: STACK_PLUGIN }],\n icon: 'ph--stack-simple--regular',\n },\n [SECTION_IDENTIFIER]: {\n parse: (section: { object: EchoReactiveObject<any> }, type: string) => {\n switch (type) {\n case 'node':\n // TODO(wittjosiah): Remove cast.\n return { id: section.object.id, label: section.object.title, data: section.object };\n case 'object':\n return section.object;\n case 'view-object':\n return section;\n }\n },\n },\n },\n },\n translations,\n echo: {\n schema: [StackViewType],\n },\n surface: {\n component: ({ data, role }) => {\n switch (data.component) {\n case `${STACK_PLUGIN}/AddSectionDialog`:\n return dataHasAddSectionDialogProps(data) ? <AddSectionDialog {...data.subject} /> : null;\n }\n\n const primary = data.active ?? data.object;\n // This allows the id to be overridden by the surface for situations where the id of the collection\n // is not the same as the id of what is being represented (e.g. a space with a root collection).\n const id = typeof data.id === 'string' ? data.id : undefined;\n switch (role) {\n case 'main':\n return primary instanceof CollectionType ? (\n <Main.Content bounce classNames={[baseSurface, topbarBlockPaddingStart, bottombarBlockPaddingEnd]}>\n <StackMain\n id={id ?? fullyQualifiedId(primary)}\n collection={primary}\n separation={settings.values.separation}\n />\n </Main.Content>\n ) : null;\n case 'article':\n return primary instanceof CollectionType ? (\n <div role='none' className='row-span-2 overflow-auto'>\n <StackMain\n id={id ?? fullyQualifiedId(primary)}\n collection={primary}\n separation={settings.values.separation}\n />\n </div>\n ) : null;\n case 'settings': {\n return data.plugin === meta.id ? <StackSettings settings={settings.values} /> : null;\n }\n default:\n return null;\n }\n },\n },\n stack: stackState,\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\n// Lazily load components for content surfaces.\nexport const StackMain = React.lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { SettingsValue } from '@dxos/plugin-settings';\nimport { Input, useTranslation } from '@dxos/react-ui';\n\nimport { STACK_PLUGIN } from '../meta';\nimport { type StackSettingsProps } from '../types';\n\nexport const StackSettings = ({ settings }: { settings: StackSettingsProps }) => {\n const { t } = useTranslation(STACK_PLUGIN);\n\n return (\n <>\n <SettingsValue label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </SettingsValue>\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { FilePlus } from '@phosphor-icons/react';\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { usePlugin, useIntent, LayoutAction, useResolvePlugin, parseFileManagerPlugin } from '@dxos/app-framework';\nimport { type EchoReactiveObject, create } from '@dxos/echo-schema';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Dialog, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Path } from '@dxos/react-ui-mosaic';\nimport { SearchList } from '@dxos/react-ui-searchlist';\nimport { type AddSectionPosition } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { nonNullable } from '@dxos/util';\n\nimport { STACK_PLUGIN } from '../meta';\nimport { StackViewType, type StackPluginProvides } from '../types';\n\ntype AddSectionDialogProps = { path?: string; position: AddSectionPosition; collection: CollectionType };\n\nexport const dataHasAddSectionDialogProps = (data: any): data is { subject: AddSectionDialogProps } => {\n return (\n 'subject' in data &&\n typeof data.subject === 'object' &&\n !!data.subject &&\n 'position' in data.subject &&\n typeof data.subject.position === 'string' &&\n 'collection' in data.subject\n );\n};\n\nexport const AddSectionDialog = ({ path, position, collection }: AddSectionDialogProps) => {\n const { t } = useTranslation(STACK_PLUGIN);\n const stackPlugin = usePlugin<StackPluginProvides>(STACK_PLUGIN);\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n const fileRef = useRef<HTMLInputElement | null>(null);\n const { dispatch } = useIntent();\n const space = getSpace(collection);\n const [pending, setPending] = useState<boolean>(false);\n const [uploadError, setUploadError] = useState<Error | undefined>();\n\n const handleAdd = useCallback(\n (sectionObject: EchoReactiveObject<any>) => {\n const index =\n position === 'beforeAll'\n ? 0\n : position === 'afterAll'\n ? collection.objects.length\n : collection.objects.filter(nonNullable).findIndex((section) => section.id === Path.last(path!));\n\n collection.objects.splice(index + (position === 'after' ? 1 : 0), 0, sectionObject);\n const stack = collection.views[StackViewType.typename];\n if (stack) {\n stack.sections[sectionObject.id] = {};\n }\n setPending(false);\n void dispatch?.({ action: LayoutAction.SET_LAYOUT, data: { element: 'dialog', state: false } });\n },\n [collection, path, position, dispatch],\n );\n\n const handleFileUpload =\n fileManagerPlugin?.provides.file.upload && space\n ? async (file: File) => {\n const filename = file.name.split('.')[0];\n try {\n const info = await fileManagerPlugin.provides.file.upload?.(file, space);\n if (info) {\n const obj = create(FileType, { type: file.type, name: filename, filename, cid: info.cid });\n handleAdd(obj);\n }\n } catch (err: any) {\n setUploadError(err);\n }\n }\n : undefined;\n\n return (\n <Dialog.Content>\n <Dialog.Title>{t(`add section ${position} dialog title`)}</Dialog.Title>\n <SearchList.Root label={t('add section input placeholder')}>\n <SearchList.Input placeholder={t('add section input placeholder')} classNames='pli-3' disabled={pending} />\n <SearchList.Content classNames='min-bs-24 bs-fit max-bs-64 overflow-auto' {...(pending && { inert: 'true' })}>\n {stackPlugin?.provides?.stack.creators?.map(({ id, icon: Icon, label: propsLabel, testId, intent }) => {\n const label = toLocalizedString(propsLabel, t);\n return (\n <SearchList.Item\n value={label}\n key={id}\n onSelect={async () => {\n setPending(true);\n const { data: nextSection } = (await dispatch({ ...intent, data: { space } })) ?? {};\n handleAdd(nextSection);\n }}\n classNames='flex items-center gap-2 pli-2'\n data-testid={testId}\n >\n {Icon && <Icon className={mx(getSize(4), 'shrink-0')} />}\n <span className='grow truncate'>{label}</span>\n </SearchList.Item>\n );\n })}\n {handleFileUpload && (\n <SearchList.Item\n value={t('upload file label')}\n classNames='flex items-center gap-2 pli-2'\n onSelect={() => fileRef.current?.click()}\n >\n <FilePlus />\n <span className='grow truncate'>{t('upload file label')}</span>\n </SearchList.Item>\n )}\n {uploadError && <div className='text-error-500'>{uploadError.message}</div>}\n </SearchList.Content>\n </SearchList.Root>\n {handleFileUpload && (\n <input\n type='file'\n className='sr-only'\n ref={fileRef}\n onChange={({ target: { files } }) => files && handleFileUpload(files[0])}\n />\n )}\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { translations as stackTranslations } from '@dxos/react-ui-stack';\n\nimport { STACK_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [STACK_PLUGIN]: {\n 'plugin name': 'Stacks',\n 'settings separation label': 'Separate sections',\n 'add section beforeAll dialog title': 'Add a section to the start',\n 'add section afterAll dialog title': 'Add a section to the end',\n 'add section before dialog title': 'Add a section',\n 'add section after dialog title': 'Add a section',\n 'add section input placeholder': 'Find the type of section to add',\n 'upload file label': 'Add file',\n 'add section label': 'Add section',\n },\n },\n },\n ...stackTranslations,\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { StackPlugin } from './StackPlugin';\n\nexport default StackPlugin;\n\nexport * from './types';\n\nexport * from './StackPlugin';\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_react_ui", "import_echo_schema", "import_types", "import_echo", "import_react_ui_theme", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "React", "SettingsValue", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "stackPlugin", "usePlugin", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "fileRef", "useRef", "dispatch", "useIntent", "space", "getSpace", "pending", "setPending", "useState", "uploadError", "setUploadError", "handleAdd", "useCallback", "sectionObject", "index", "objects", "length", "filter", "nonNullable", "findIndex", "section", "id", "Path", "last", "splice", "stack", "views", "StackViewType", "typename", "sections", "action", "LayoutAction", "SET_LAYOUT", "element", "state", "handleFileUpload", "provides", "file", "upload", "filename", "name", "split", "info", "obj", "create", "FileType", "type", "cid", "err", "undefined", "Dialog", "Content", "Title", "SearchList", "Root", "placeholder", "classNames", "disabled", "inert", "creators", "map", "icon", "Icon", "propsLabel", "testId", "intent", "toLocalizedString", "Item", "value", "key", "onSelect", "nextSection", "data-testid", "className", "mx", "getSize", "span", "current", "click", "FilePlus", "div", "message", "input", "ref", "onChange", "target", "files", "StackMain", "lazy", "stackTranslations", "StackPlugin", "LocalStorageStore", "stackState", "meta", "ready", "plugins", "prop", "bool", "plugin", "Array", "isArray", "push", "values", "metadata", "records", "ns", "SECTION_IDENTIFIER", "parse", "object", "title", "translations", "echo", "schema", "surface", "component", "role", "primary", "active", "CollectionType", "Main", "bounce", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "fullyQualifiedId"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { StackSimple, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { type Plugin, type PluginDefinition } from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { type EchoReactiveObject } from '@dxos/echo-schema';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { CollectionType } from '@dxos/plugin-space/types';\nimport { Main } from '@dxos/react-ui';\nimport { baseSurface, topbarBlockPaddingStart, bottombarBlockPaddingEnd } from '@dxos/react-ui-theme';\n\nimport { StackMain, StackSettings, AddSectionDialog, dataHasAddSectionDialogProps } from './components';\nimport meta, { SECTION_IDENTIFIER, STACK_PLUGIN } from './meta';\nimport translations from './translations';\nimport { StackViewType } from './types';\nimport { type StackPluginProvides, type StackProvides, type StackState, type StackSettingsProps } from './types';\n\nexport const StackPlugin = (): PluginDefinition<StackPluginProvides> => {\n const settings = new LocalStorageStore<StackSettingsProps>(STACK_PLUGIN, { separation: true });\n const stackState = create<StackState>({ creators: [] });\n\n return {\n meta,\n ready: async (plugins) => {\n settings.prop({ key: 'separation', type: LocalStorageStore.bool() });\n\n for (const plugin of plugins) {\n if (plugin.meta.id === STACK_PLUGIN) {\n continue;\n }\n\n if (Array.isArray((plugin as Plugin<StackProvides>).provides?.stack?.creators)) {\n stackState.creators.push(...((plugin as Plugin<StackProvides>).provides.stack.creators ?? []));\n }\n }\n },\n provides: {\n settings: settings.values,\n metadata: {\n records: {\n [StackViewType.typename]: {\n placeholder: ['stack title placeholder', { ns: STACK_PLUGIN }],\n icon: (props: IconProps) => <StackSimple {...props} />,\n iconSymbol: 'ph--stack-simple--regular',\n },\n [SECTION_IDENTIFIER]: {\n parse: (section: { object: EchoReactiveObject<any> }, type: string) => {\n switch (type) {\n case 'node':\n // TODO(wittjosiah): Remove cast.\n return { id: section.object.id, label: section.object.title, data: section.object };\n case 'object':\n return section.object;\n case 'view-object':\n return section;\n }\n },\n },\n },\n },\n translations,\n echo: {\n schema: [StackViewType],\n },\n surface: {\n component: ({ data, role }) => {\n switch (data.component) {\n case `${STACK_PLUGIN}/AddSectionDialog`:\n return dataHasAddSectionDialogProps(data) ? <AddSectionDialog {...data.subject} /> : null;\n }\n\n const primary = data.active ?? data.object;\n switch (role) {\n case 'main':\n return primary instanceof CollectionType ? (\n <Main.Content bounce classNames={[baseSurface, topbarBlockPaddingStart, bottombarBlockPaddingEnd]}>\n <StackMain collection={primary} separation={settings.values.separation} />\n </Main.Content>\n ) : null;\n case 'article':\n return primary instanceof CollectionType ? (\n <div role='none' className='row-span-2 overflow-auto'>\n <StackMain collection={primary} separation={settings.values.separation} />\n </div>\n ) : null;\n case 'settings': {\n return data.plugin === meta.id ? <StackSettings settings={settings.values} /> : null;\n }\n default:\n return null;\n }\n },\n },\n stack: stackState,\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\n// Lazily load components for content surfaces.\nexport const StackMain = React.lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { SettingsValue } from '@dxos/plugin-settings';\nimport { Input, useTranslation } from '@dxos/react-ui';\n\nimport { STACK_PLUGIN } from '../meta';\nimport { type StackSettingsProps } from '../types';\n\nexport const StackSettings = ({ settings }: { settings: StackSettingsProps }) => {\n const { t } = useTranslation(STACK_PLUGIN);\n\n return (\n <>\n <SettingsValue label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </SettingsValue>\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { FilePlus } from '@phosphor-icons/react';\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { usePlugin, useIntent, LayoutAction, useResolvePlugin, parseFileManagerPlugin } from '@dxos/app-framework';\nimport { type EchoReactiveObject, create } from '@dxos/echo-schema';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Dialog, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Path } from '@dxos/react-ui-mosaic';\nimport { SearchList } from '@dxos/react-ui-searchlist';\nimport { type AddSectionPosition } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { nonNullable } from '@dxos/util';\n\nimport { STACK_PLUGIN } from '../meta';\nimport { StackViewType, type StackPluginProvides } from '../types';\n\ntype AddSectionDialogProps = { path?: string; position: AddSectionPosition; collection: CollectionType };\n\nexport const dataHasAddSectionDialogProps = (data: any): data is { subject: AddSectionDialogProps } => {\n return (\n 'subject' in data &&\n typeof data.subject === 'object' &&\n !!data.subject &&\n 'position' in data.subject &&\n typeof data.subject.position === 'string' &&\n 'collection' in data.subject\n );\n};\n\nexport const AddSectionDialog = ({ path, position, collection }: AddSectionDialogProps) => {\n const { t } = useTranslation(STACK_PLUGIN);\n const stackPlugin = usePlugin<StackPluginProvides>(STACK_PLUGIN);\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n const fileRef = useRef<HTMLInputElement | null>(null);\n const { dispatch } = useIntent();\n const space = getSpace(collection);\n const [pending, setPending] = useState<boolean>(false);\n const [uploadError, setUploadError] = useState<Error | undefined>();\n\n const handleAdd = useCallback(\n (sectionObject: EchoReactiveObject<any>) => {\n const index =\n position === 'beforeAll'\n ? 0\n : position === 'afterAll'\n ? collection.objects.length\n : collection.objects.filter(nonNullable).findIndex((section) => section.id === Path.last(path!));\n\n collection.objects.splice(index + (position === 'after' ? 1 : 0), 0, sectionObject);\n const stack = collection.views[StackViewType.typename];\n if (stack) {\n stack.sections[sectionObject.id] = {};\n }\n setPending(false);\n void dispatch?.({ action: LayoutAction.SET_LAYOUT, data: { element: 'dialog', state: false } });\n },\n [collection, path, position, dispatch],\n );\n\n const handleFileUpload =\n fileManagerPlugin?.provides.file.upload && space\n ? async (file: File) => {\n const filename = file.name.split('.')[0];\n try {\n const info = await fileManagerPlugin.provides.file.upload?.(file, space);\n if (info) {\n const obj = create(FileType, { type: file.type, name: filename, filename, cid: info.cid });\n handleAdd(obj);\n }\n } catch (err: any) {\n setUploadError(err);\n }\n }\n : undefined;\n\n return (\n <Dialog.Content>\n <Dialog.Title>{t(`add section ${position} dialog title`)}</Dialog.Title>\n <SearchList.Root label={t('add section input placeholder')}>\n <SearchList.Input placeholder={t('add section input placeholder')} classNames='pli-3' disabled={pending} />\n <SearchList.Content classNames='min-bs-24 bs-fit max-bs-64 overflow-auto' {...(pending && { inert: 'true' })}>\n {stackPlugin?.provides?.stack.creators?.map(({ id, icon: Icon, label: propsLabel, testId, intent }) => {\n const label = toLocalizedString(propsLabel, t);\n return (\n <SearchList.Item\n value={label}\n key={id}\n onSelect={async () => {\n setPending(true);\n const { data: nextSection } = (await dispatch({ ...intent, data: { space } })) ?? {};\n handleAdd(nextSection);\n }}\n classNames='flex items-center gap-2 pli-2'\n data-testid={testId}\n >\n {Icon && <Icon className={mx(getSize(4), 'shrink-0')} />}\n <span className='grow truncate'>{label}</span>\n </SearchList.Item>\n );\n })}\n {handleFileUpload && (\n <SearchList.Item\n value={t('upload file label')}\n classNames='flex items-center gap-2 pli-2'\n onSelect={() => fileRef.current?.click()}\n >\n <FilePlus />\n <span className='grow truncate'>{t('upload file label')}</span>\n </SearchList.Item>\n )}\n {uploadError && <div className='text-error-500'>{uploadError.message}</div>}\n </SearchList.Content>\n </SearchList.Root>\n {handleFileUpload && (\n <input\n type='file'\n className='sr-only'\n ref={fileRef}\n onChange={({ target: { files } }) => files && handleFileUpload(files[0])}\n />\n )}\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { translations as stackTranslations } from '@dxos/react-ui-stack';\n\nimport { STACK_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [STACK_PLUGIN]: {\n 'plugin name': 'Stacks',\n 'settings separation label': 'Separate sections',\n 'add section beforeAll dialog title': 'Add a section to the start',\n 'add section afterAll dialog title': 'Add a section to the end',\n 'add section before dialog title': 'Add a section',\n 'add section after dialog title': 'Add a section',\n 'add section input placeholder': 'Find the type of section to add',\n 'upload file label': 'Add file',\n 'add section label': 'Add section',\n },\n },\n },\n ...stackTranslations,\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { StackPlugin } from './StackPlugin';\n\nexport default StackPlugin;\n\nexport * from './types';\n\nexport * from './StackPlugin';\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_ui", "import_echo_schema", "import_types", "import_react_ui_theme", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "React", "SettingsValue", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "stackPlugin", "usePlugin", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "fileRef", "useRef", "dispatch", "useIntent", "space", "getSpace", "pending", "setPending", "useState", "uploadError", "setUploadError", "handleAdd", "useCallback", "sectionObject", "index", "objects", "length", "filter", "nonNullable", "findIndex", "section", "id", "Path", "last", "splice", "stack", "views", "StackViewType", "typename", "sections", "action", "LayoutAction", "SET_LAYOUT", "element", "state", "handleFileUpload", "provides", "file", "upload", "filename", "name", "split", "info", "obj", "create", "FileType", "type", "cid", "err", "undefined", "Dialog", "Content", "Title", "SearchList", "Root", "placeholder", "classNames", "disabled", "inert", "creators", "map", "icon", "Icon", "propsLabel", "testId", "intent", "toLocalizedString", "Item", "value", "key", "onSelect", "nextSection", "data-testid", "className", "mx", "getSize", "span", "current", "click", "FilePlus", "div", "message", "input", "ref", "onChange", "target", "files", "StackMain", "lazy", "stackTranslations", "StackPlugin", "LocalStorageStore", "stackState", "meta", "ready", "plugins", "prop", "bool", "plugin", "Array", "isArray", "push", "values", "metadata", "records", "ns", "props", "StackSimple", "iconSymbol", "SECTION_IDENTIFIER", "parse", "object", "title", "translations", "echo", "schema", "surface", "component", "role", "primary", "active", "CollectionType", "Main", "bounce", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd"]
7
7
  }
@@ -18,12 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var meta_exports = {};
20
20
  __export(meta_exports, {
21
- SECTION_IDENTIFIER: () => import_chunk_PGL7XDNJ.SECTION_IDENTIFIER,
22
- STACK_PLUGIN: () => import_chunk_PGL7XDNJ.STACK_PLUGIN,
23
- default: () => import_chunk_PGL7XDNJ.meta_default
21
+ SECTION_IDENTIFIER: () => import_chunk_I42JKRXR.SECTION_IDENTIFIER,
22
+ STACK_PLUGIN: () => import_chunk_I42JKRXR.STACK_PLUGIN,
23
+ default: () => import_chunk_I42JKRXR.meta_default
24
24
  });
25
25
  module.exports = __toCommonJS(meta_exports);
26
- var import_chunk_PGL7XDNJ = require("./chunk-PGL7XDNJ.cjs");
26
+ var import_chunk_I42JKRXR = require("./chunk-I42JKRXR.cjs");
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
29
29
  SECTION_IDENTIFIER,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["meta.cjs"],
4
- "sourcesContent": ["import {\n SECTION_IDENTIFIER,\n STACK_PLUGIN,\n meta_default\n} from \"./chunk-PGL7XDNJ.cjs\";\nexport {\n SECTION_IDENTIFIER,\n STACK_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
4
+ "sourcesContent": ["import {\n SECTION_IDENTIFIER,\n STACK_PLUGIN,\n meta_default\n} from \"./chunk-I42JKRXR.cjs\";\nexport {\n SECTION_IDENTIFIER,\n STACK_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAIO;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-stack/src/meta.tsx":{"bytes":1422,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2578,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3077,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-stack/src/types/types.ts":{"bytes":2031,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/types/index.ts":{"bytes":581,"imports":[{"path":"packages/plugins/plugin-stack/src/types/stack.ts","kind":"import-statement","original":"./stack"},{"path":"packages/plugins/plugin-stack/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytes":18438,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytes":10461,"imports":[{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackMain.tsx":{"bytes":27132,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/AddSection.tsx","kind":"import-statement","original":"./AddSection"},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/index.ts":{"bytes":1140,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/StackSettings.tsx","kind":"import-statement","original":"./StackSettings"},{"path":"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx","kind":"import-statement","original":"./AddSectionDialog"},{"path":"packages/plugins/plugin-stack/src/components/StackMain.tsx","kind":"dynamic-import","original":"./StackMain"}],"format":"esm"},"packages/plugins/plugin-stack/src/translations.ts":{"bytes":2731,"imports":[{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15800,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-stack/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-stack/src/index.ts":{"bytes":854,"imports":[{"path":"packages/plugins/plugin-stack/src/StackPlugin.tsx","kind":"import-statement","original":"./StackPlugin"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-stack/src/StackPlugin.tsx","kind":"import-statement","original":"./StackPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-stack/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20309},"packages/plugins/plugin-stack/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-PGL7XDNJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/dist/lib/node/StackMain-AMKQAQJ6.cjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["SectionSchema","StackPlugin","StackViewType","default"],"entryPoint":"packages/plugins/plugin-stack/src/index.ts","inputs":{"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytesInOutput":3777},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":99},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":554},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4643},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10563},"packages/plugins/plugin-stack/dist/lib/node/meta.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node/meta.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-PGL7XDNJ.cjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.tsx","inputs":{},"bytes":203},"packages/plugins/plugin-stack/dist/lib/node/types/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node/types/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":154},"packages/plugins/plugin-stack/dist/lib/node/StackMain-AMKQAQJ6.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19553},"packages/plugins/plugin-stack/dist/lib/node/StackMain-AMKQAQJ6.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-PGL7XDNJ.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-stack/src/components/StackMain.tsx","inputs":{"packages/plugins/plugin-stack/src/components/StackMain.tsx":{"bytesInOutput":6372},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9332},"packages/plugins/plugin-stack/dist/lib/node/chunk-PGL7XDNJ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":632},"packages/plugins/plugin-stack/dist/lib/node/chunk-PGL7XDNJ.cjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.tsx":{"bytesInOutput":299}},"bytes":455},"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1475},"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":463},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":605}}}
1
+ {"inputs":{"packages/plugins/plugin-stack/src/meta.tsx":{"bytes":2015,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2578,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3077,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-stack/src/types/types.ts":{"bytes":2031,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/types/index.ts":{"bytes":581,"imports":[{"path":"packages/plugins/plugin-stack/src/types/stack.ts","kind":"import-statement","original":"./stack"},{"path":"packages/plugins/plugin-stack/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytes":18438,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytes":10461,"imports":[{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackMain.tsx":{"bytes":26459,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/AddSection.tsx","kind":"import-statement","original":"./AddSection"},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-stack/src/components/index.ts":{"bytes":1140,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/StackSettings.tsx","kind":"import-statement","original":"./StackSettings"},{"path":"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx","kind":"import-statement","original":"./AddSectionDialog"},{"path":"packages/plugins/plugin-stack/src/components/StackMain.tsx","kind":"dynamic-import","original":"./StackMain"}],"format":"esm"},"packages/plugins/plugin-stack/src/translations.ts":{"bytes":2731,"imports":[{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":14740,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-stack/src/meta.tsx","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-stack/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-stack/src/index.ts":{"bytes":854,"imports":[{"path":"packages/plugins/plugin-stack/src/StackPlugin.tsx","kind":"import-statement","original":"./StackPlugin"},{"path":"packages/plugins/plugin-stack/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-stack/src/StackPlugin.tsx","kind":"import-statement","original":"./StackPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-stack/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19831},"packages/plugins/plugin-stack/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-I42JKRXR.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/dist/lib/node/StackMain-XJGYFDDN.cjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["SectionSchema","StackPlugin","StackViewType","default"],"entryPoint":"packages/plugins/plugin-stack/src/index.ts","inputs":{"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytesInOutput":3688},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":99},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":554},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4643},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10474},"packages/plugins/plugin-stack/dist/lib/node/meta.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node/meta.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-I42JKRXR.cjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.tsx","inputs":{},"bytes":203},"packages/plugins/plugin-stack/dist/lib/node/types/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node/types/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":154},"packages/plugins/plugin-stack/dist/lib/node/StackMain-XJGYFDDN.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19143},"packages/plugins/plugin-stack/dist/lib/node/StackMain-XJGYFDDN.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-I42JKRXR.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@fluentui/react-tabster","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-stack/src/components/StackMain.tsx","inputs":{"packages/plugins/plugin-stack/src/components/StackMain.tsx":{"bytesInOutput":6206},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9166},"packages/plugins/plugin-stack/dist/lib/node/chunk-I42JKRXR.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":962},"packages/plugins/plugin-stack/dist/lib/node/chunk-I42JKRXR.cjs":{"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.tsx":{"bytesInOutput":470}},"bytes":626},"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1475},"packages/plugins/plugin-stack/dist/lib/node/chunk-EMD6A66G.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":463},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":605}}}
@@ -1 +1 @@
1
- {"version":3,"file":"StackPlugin.d.ts","sourceRoot":"","sources":["../../../src/StackPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYzE,OAAO,EAAE,KAAK,mBAAmB,EAAgE,MAAM,SAAS,CAAC;AAEjH,eAAO,MAAM,WAAW,QAAO,gBAAgB,CAAC,mBAAmB,CAyFlE,CAAC"}
1
+ {"version":3,"file":"StackPlugin.d.ts","sourceRoot":"","sources":["../../../src/StackPlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYzE,OAAO,EAAE,KAAK,mBAAmB,EAAgE,MAAM,SAAS,CAAC;AAEjH,eAAO,MAAM,WAAW,QAAO,gBAAgB,CAAC,mBAAmB,CA+ElE,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import { type CollectionType } from '@dxos/plugin-space/types';
3
3
  type StackMainProps = {
4
- id: string;
5
4
  collection: CollectionType;
6
5
  separation?: boolean;
7
6
  };
8
- declare const StackMain: ({ id, collection, separation }: StackMainProps) => React.JSX.Element;
7
+ declare const StackMain: ({ collection, separation }: StackMainProps) => React.JSX.Element;
9
8
  export default StackMain;
10
9
  //# sourceMappingURL=StackMain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StackMain.d.ts","sourceRoot":"","sources":["../../../../src/components/StackMain.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAa5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuB/D,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,SAAS,mCAAoC,cAAc,sBA6KhE,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"StackMain.d.ts","sourceRoot":"","sources":["../../../../src/components/StackMain.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAa5D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB/D,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,SAAS,+BAAgC,cAAc,sBA2K5D,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- export declare const StackMain: React.LazyExoticComponent<({ id, collection, separation }: {
3
- id: string;
2
+ export declare const StackMain: React.LazyExoticComponent<({ collection, separation }: {
4
3
  collection: import("packages/plugins/plugin-space/dist/types/src").CollectionType;
5
4
  separation?: boolean;
6
5
  }) => React.JSX.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,SAAS;;;;wBAA0C,CAAC;AAEjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,SAAS;;;wBAA0C,CAAC;AAEjE,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -1,9 +1,12 @@
1
+ import { type IconProps } from '@phosphor-icons/react';
2
+ import React from 'react';
1
3
  export declare const STACK_PLUGIN = "dxos.org/plugin/stack";
2
4
  export declare const SECTION_IDENTIFIER = "dxos.org/type/StackSection";
3
5
  declare const _default: {
4
6
  id: string;
5
7
  name: string;
6
- icon: string;
8
+ iconComponent: (props: IconProps) => React.JSX.Element;
9
+ iconSymbol: string;
7
10
  };
8
11
  export default _default;
9
12
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;;;;;;AAE/D,wBAKE"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;;;;2BAMtC,SAAS;;;AAJlC,wBAME"}