@dxos/plugin-stack 0.6.14-main.f49f251 → 0.6.14-staging.77003c1

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 (29) hide show
  1. package/dist/lib/browser/{StackMain-ILYVK656.mjs → StackMain-KKC3XIAY.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-6PHTGCQZ.mjs → chunk-L34RFJ2L.mjs} +1 -1
  3. package/dist/lib/browser/{chunk-6PHTGCQZ.mjs.map → chunk-L34RFJ2L.mjs.map} +2 -2
  4. package/dist/lib/browser/index.mjs +4 -4
  5. package/dist/lib/browser/index.mjs.map +3 -3
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/types/index.mjs +1 -1
  8. package/dist/lib/node/{StackMain-LAYSQV2S.cjs → StackMain-ME6LYFGI.cjs} +10 -10
  9. package/dist/lib/node/{chunk-3D3FPZWK.cjs → chunk-6IPBX635.cjs} +4 -4
  10. package/dist/lib/node/{chunk-3D3FPZWK.cjs.map → chunk-6IPBX635.cjs.map} +2 -2
  11. package/dist/lib/node/index.cjs +8 -8
  12. package/dist/lib/node/index.cjs.map +3 -3
  13. package/dist/lib/node/meta.json +1 -1
  14. package/dist/lib/node/types/index.cjs +3 -3
  15. package/dist/lib/node/types/index.cjs.map +1 -1
  16. package/dist/lib/node-esm/{StackMain-KH6IEQQ6.mjs → StackMain-D3P3PIMI.mjs} +2 -2
  17. package/dist/lib/node-esm/{chunk-HRY4R5UU.mjs → chunk-3ZYHKSIS.mjs} +1 -1
  18. package/dist/lib/node-esm/{chunk-HRY4R5UU.mjs.map → chunk-3ZYHKSIS.mjs.map} +2 -2
  19. package/dist/lib/node-esm/index.mjs +4 -4
  20. package/dist/lib/node-esm/index.mjs.map +3 -3
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/types/index.mjs +1 -1
  23. package/dist/types/src/types/stack.d.ts.map +1 -1
  24. package/package.json +23 -23
  25. package/src/components/StackSettings.tsx +3 -3
  26. package/src/types/stack.ts +1 -0
  27. /package/dist/lib/browser/{StackMain-ILYVK656.mjs.map → StackMain-KKC3XIAY.mjs.map} +0 -0
  28. /package/dist/lib/node/{StackMain-LAYSQV2S.cjs.map → StackMain-ME6LYFGI.cjs.map} +0 -0
  29. /package/dist/lib/node-esm/{StackMain-KH6IEQQ6.mjs.map → StackMain-D3P3PIMI.mjs.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ONAKM24Z.mjs";
5
5
  import {
6
6
  StackViewType
7
- } from "./chunk-6PHTGCQZ.mjs";
7
+ } from "./chunk-L34RFJ2L.mjs";
8
8
 
9
9
  // packages/plugins/plugin-stack/src/components/StackMain.tsx
10
10
  import { Plus } from "@phosphor-icons/react";
@@ -274,4 +274,4 @@ var StackMain_default = StackMain;
274
274
  export {
275
275
  StackMain_default as default
276
276
  };
277
- //# sourceMappingURL=StackMain-ILYVK656.mjs.map
277
+ //# sourceMappingURL=StackMain-KKC3XIAY.mjs.map
@@ -24,4 +24,4 @@ export {
24
24
  SectionSchema,
25
25
  StackViewType
26
26
  };
27
- //# sourceMappingURL=chunk-6PHTGCQZ.mjs.map
27
+ //# sourceMappingURL=chunk-L34RFJ2L.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/stack.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
- "mappings": ";AAIA,SAASA,GAAGC,mBAAmB;AAOxB,IAAMC,gBAAgBC,EAAEC,OAAO;EACpCC,QAAQF,EAAEG,SAASH,EAAEI,MAAM;;;EAG3BC,QAAQL,EAAEG,SAASH,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOT,EAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAEO,IAAMC,gBAAN,cAA4BC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,EAAEgB,QAAQhB,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\n// TODO(burdon): Should be just type/Stack?\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
+ "mappings": ";AAIA,SAASA,GAAGC,mBAAmB;AAOxB,IAAMC,gBAAgBC,EAAEC,OAAO;EACpCC,QAAQF,EAAEG,SAASH,EAAEI,MAAM;;;EAG3BC,QAAQL,EAAEG,SAASH,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOT,EAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAGO,IAAMC,gBAAN,cAA4BC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,EAAEgB,QAAQhB,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
6
6
  "names": ["S", "TypedObject", "SectionSchema", "S", "Struct", "height", "optional", "Number", "custom", "Record", "key", "String", "value", "Any", "StackViewType", "TypedObject", "typename", "version", "sections", "mutable"]
7
7
  }
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  SectionSchema,
8
8
  StackViewType
9
- } from "./chunk-6PHTGCQZ.mjs";
9
+ } from "./chunk-L34RFJ2L.mjs";
10
10
 
11
11
  // packages/plugins/plugin-stack/src/StackPlugin.tsx
12
12
  import React3 from "react";
@@ -22,10 +22,10 @@ import { lazy } from "react";
22
22
  // packages/plugins/plugin-stack/src/components/StackSettings.tsx
23
23
  import React from "react";
24
24
  import { Input, useTranslation } from "@dxos/react-ui";
25
- import { FormInput } from "@dxos/react-ui-data";
25
+ import { DeprecatedFormInput } from "@dxos/react-ui-data";
26
26
  var StackSettings = ({ settings }) => {
27
27
  const { t } = useTranslation(STACK_PLUGIN);
28
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(FormInput, {
28
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
29
29
  label: t("settings separation label")
30
30
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
31
31
  checked: settings.separation,
@@ -144,7 +144,7 @@ var AddSectionDialog = ({ path, position, collection }) => {
144
144
  };
145
145
 
146
146
  // packages/plugins/plugin-stack/src/components/index.ts
147
- var StackMain = lazy(() => import("./StackMain-ILYVK656.mjs"));
147
+ var StackMain = lazy(() => import("./StackMain-KKC3XIAY.mjs"));
148
148
 
149
149
  // packages/plugins/plugin-stack/src/translations.ts
150
150
  import { translations as stackTranslations } from "@dxos/react-ui-stack";
@@ -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, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { FormInput } from '@dxos/react-ui-data';\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 <FormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </FormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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": ["React", "create", "fullyQualifiedId", "LocalStorageStore", "CollectionType", "Main", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "lazy", "React", "Input", "useTranslation", "FormInput", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "FormInput", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "FilePlus", "React", "useCallback", "useRef", "useState", "usePlugin", "useIntent", "LayoutAction", "useResolvePlugin", "parseFileManagerPlugin", "create", "getSpace", "FileType", "Dialog", "toLocalizedString", "useTranslation", "Path", "SearchList", "getSize", "mx", "nonNullable", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "t", "useTranslation", "STACK_PLUGIN", "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", "React", "Dialog", "Content", "Title", "SearchList", "Root", "label", "Input", "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", "translations", "stackTranslations", "STACK_PLUGIN", "stackTranslations", "StackPlugin", "settings", "LocalStorageStore", "STACK_PLUGIN", "separation", "stackState", "create", "creators", "meta", "ready", "plugins", "prop", "key", "type", "bool", "plugin", "id", "Array", "isArray", "provides", "stack", "push", "values", "metadata", "records", "StackViewType", "typename", "placeholder", "ns", "icon", "SECTION_IDENTIFIER", "parse", "section", "object", "label", "title", "data", "translations", "echo", "schema", "surface", "component", "role", "dataHasAddSectionDialogProps", "React", "AddSectionDialog", "subject", "primary", "active", "undefined", "CollectionType", "Main", "Content", "bounce", "classNames", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "StackMain", "fullyQualifiedId", "collection", "div", "className", "StackSettings", "StackPlugin"]
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, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-data';\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 <DeprecatedFormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </DeprecatedFormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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": ["React", "create", "fullyQualifiedId", "LocalStorageStore", "CollectionType", "Main", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "lazy", "React", "Input", "useTranslation", "DeprecatedFormInput", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "FilePlus", "React", "useCallback", "useRef", "useState", "usePlugin", "useIntent", "LayoutAction", "useResolvePlugin", "parseFileManagerPlugin", "create", "getSpace", "FileType", "Dialog", "toLocalizedString", "useTranslation", "Path", "SearchList", "getSize", "mx", "nonNullable", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "t", "useTranslation", "STACK_PLUGIN", "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", "React", "Dialog", "Content", "Title", "SearchList", "Root", "label", "Input", "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", "translations", "stackTranslations", "STACK_PLUGIN", "stackTranslations", "StackPlugin", "settings", "LocalStorageStore", "STACK_PLUGIN", "separation", "stackState", "create", "creators", "meta", "ready", "plugins", "prop", "key", "type", "bool", "plugin", "id", "Array", "isArray", "provides", "stack", "push", "values", "metadata", "records", "StackViewType", "typename", "placeholder", "ns", "icon", "SECTION_IDENTIFIER", "parse", "section", "object", "label", "title", "data", "translations", "echo", "schema", "surface", "component", "role", "dataHasAddSectionDialogProps", "React", "AddSectionDialog", "subject", "primary", "active", "undefined", "CollectionType", "Main", "Content", "bounce", "classNames", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "StackMain", "fullyQualifiedId", "collection", "div", "className", "StackSettings", "StackPlugin"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2544,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3287,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20112},"packages/plugins/plugin-stack/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-6PHTGCQZ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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/browser/StackMain-ILYVK656.mjs","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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":544},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10464},"packages/plugins/plugin-stack/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","inputs":{},"bytes":203},"packages/plugins/plugin-stack/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-6PHTGCQZ.mjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":154},"packages/plugins/plugin-stack/dist/lib/browser/StackMain-ILYVK656.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19499},"packages/plugins/plugin-stack/dist/lib/browser/StackMain-ILYVK656.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-6PHTGCQZ.mjs","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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9290},"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":710},"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":454},"packages/plugins/plugin-stack/dist/lib/browser/chunk-6PHTGCQZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1569},"packages/plugins/plugin-stack/dist/lib/browser/chunk-6PHTGCQZ.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":657}}}
1
+ {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2624,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3411,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20164},"packages/plugins/plugin-stack/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-L34RFJ2L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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/browser/StackMain-KKC3XIAY.mjs","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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":564},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10484},"packages/plugins/plugin-stack/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","inputs":{},"bytes":203},"packages/plugins/plugin-stack/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-L34RFJ2L.mjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":154},"packages/plugins/plugin-stack/dist/lib/browser/StackMain-KKC3XIAY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19499},"packages/plugins/plugin-stack/dist/lib/browser/StackMain-KKC3XIAY.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/browser/chunk-L34RFJ2L.mjs","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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9290},"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":710},"packages/plugins/plugin-stack/dist/lib/browser/chunk-ONAKM24Z.mjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":454},"packages/plugins/plugin-stack/dist/lib/browser/chunk-L34RFJ2L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"packages/plugins/plugin-stack/dist/lib/browser/chunk-L34RFJ2L.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":657}}}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SectionSchema,
3
3
  StackViewType
4
- } from "../chunk-6PHTGCQZ.mjs";
4
+ } from "../chunk-L34RFJ2L.mjs";
5
5
  export {
6
6
  SectionSchema,
7
7
  StackViewType
@@ -26,13 +26,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var StackMain_LAYSQV2S_exports = {};
30
- __export(StackMain_LAYSQV2S_exports, {
29
+ var StackMain_ME6LYFGI_exports = {};
30
+ __export(StackMain_ME6LYFGI_exports, {
31
31
  default: () => StackMain_default
32
32
  });
33
- module.exports = __toCommonJS(StackMain_LAYSQV2S_exports);
33
+ module.exports = __toCommonJS(StackMain_ME6LYFGI_exports);
34
34
  var import_chunk_O5SQVKNW = require("./chunk-O5SQVKNW.cjs");
35
- var import_chunk_3D3FPZWK = require("./chunk-3D3FPZWK.cjs");
35
+ var import_chunk_6IPBX635 = require("./chunk-6IPBX635.cjs");
36
36
  var import_react = require("@phosphor-icons/react");
37
37
  var import_react2 = __toESM(require("react"));
38
38
  var import_app_framework = require("@dxos/app-framework");
@@ -93,7 +93,7 @@ var AddSection = ({ collection }) => {
93
93
  collection.objects = [
94
94
  section
95
95
  ];
96
- const stack = collection.views[import_chunk_3D3FPZWK.StackViewType.typename];
96
+ const stack = collection.views[import_chunk_6IPBX635.StackViewType.typename];
97
97
  if (stack) {
98
98
  stack.sections[section.id] = {};
99
99
  }
@@ -134,16 +134,16 @@ var StackMain = ({ id, collection, separation }) => {
134
134
  const { graph } = (0, import_plugin_graph.useGraph)();
135
135
  const { t } = (0, import_react_ui.useTranslation)(import_chunk_O5SQVKNW.STACK_PLUGIN);
136
136
  const metadataPlugin = (0, import_app_framework.useResolvePlugin)(import_app_framework.parseMetadataResolverPlugin);
137
- const defaultStack = (0, import_react2.useMemo)(() => (0, import_echo.create)(import_chunk_3D3FPZWK.StackViewType, {
137
+ const defaultStack = (0, import_react2.useMemo)(() => (0, import_echo.create)(import_chunk_6IPBX635.StackViewType, {
138
138
  sections: {}
139
139
  }), [
140
140
  collection
141
141
  ]);
142
- const stack = collection.views[import_chunk_3D3FPZWK.StackViewType.typename] ?? defaultStack;
142
+ const stack = collection.views[import_chunk_6IPBX635.StackViewType.typename] ?? defaultStack;
143
143
  const [collapsedSections, setCollapsedSections] = (0, import_react2.useState)({});
144
144
  (0, import_react2.useEffect)(() => {
145
- if (!collection.views[import_chunk_3D3FPZWK.StackViewType.typename]) {
146
- collection.views[import_chunk_3D3FPZWK.StackViewType.typename] = stack;
145
+ if (!collection.views[import_chunk_6IPBX635.StackViewType.typename]) {
146
+ collection.views[import_chunk_6IPBX635.StackViewType.typename] = stack;
147
147
  }
148
148
  }, [
149
149
  collection,
@@ -293,4 +293,4 @@ var StackMain = ({ id, collection, separation }) => {
293
293
  }, t("add section label"))))));
294
294
  };
295
295
  var StackMain_default = StackMain;
296
- //# sourceMappingURL=StackMain-LAYSQV2S.cjs.map
296
+ //# sourceMappingURL=StackMain-ME6LYFGI.cjs.map
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_3D3FPZWK_exports = {};
20
- __export(chunk_3D3FPZWK_exports, {
19
+ var chunk_6IPBX635_exports = {};
20
+ __export(chunk_6IPBX635_exports, {
21
21
  SectionSchema: () => SectionSchema,
22
22
  StackViewType: () => StackViewType
23
23
  });
24
- module.exports = __toCommonJS(chunk_3D3FPZWK_exports);
24
+ module.exports = __toCommonJS(chunk_6IPBX635_exports);
25
25
  var import_echo_schema = require("@dxos/echo-schema");
26
26
  var SectionSchema = import_echo_schema.S.Struct({
27
27
  height: import_echo_schema.S.optional(import_echo_schema.S.Number),
@@ -47,4 +47,4 @@ var StackViewType = class extends (0, import_echo_schema.TypedObject)({
47
47
  SectionSchema,
48
48
  StackViewType
49
49
  });
50
- //# sourceMappingURL=chunk-3D3FPZWK.cjs.map
50
+ //# sourceMappingURL=chunk-6IPBX635.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/stack.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAA+B;AAOxB,IAAMA,gBAAgBC,qBAAEC,OAAO;EACpCC,QAAQF,qBAAEG,SAASH,qBAAEI,MAAM;;;EAG3BC,QAAQL,qBAAEG,SAASH,qBAAEM,OAAO;IAAEC,KAAKP,qBAAEQ;IAAQC,OAAOT,qBAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAEO,IAAMC,gBAAN,kBAA4BC,gCAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,qBAAEgB,QAAQhB,qBAAEM,OAAO;IAAEC,KAAKP,qBAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\n// TODO(burdon): Should be just type/Stack?\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAA+B;AAOxB,IAAMA,gBAAgBC,qBAAEC,OAAO;EACpCC,QAAQF,qBAAEG,SAASH,qBAAEI,MAAM;;;EAG3BC,QAAQL,qBAAEG,SAASH,qBAAEM,OAAO;IAAEC,KAAKP,qBAAEQ;IAAQC,OAAOT,qBAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAGO,IAAMC,gBAAN,kBAA4BC,gCAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,qBAAEgB,QAAQhB,qBAAEM,OAAO;IAAEC,KAAKP,qBAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
6
6
  "names": ["SectionSchema", "S", "Struct", "height", "optional", "Number", "custom", "Record", "key", "String", "value", "Any", "StackViewType", "TypedObject", "typename", "version", "sections", "mutable"]
7
7
  }
@@ -28,14 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- SectionSchema: () => import_chunk_3D3FPZWK.SectionSchema,
31
+ SectionSchema: () => import_chunk_6IPBX635.SectionSchema,
32
32
  StackPlugin: () => StackPlugin,
33
- StackViewType: () => import_chunk_3D3FPZWK.StackViewType,
33
+ StackViewType: () => import_chunk_6IPBX635.StackViewType,
34
34
  default: () => src_default
35
35
  });
36
36
  module.exports = __toCommonJS(node_exports);
37
37
  var import_chunk_O5SQVKNW = require("./chunk-O5SQVKNW.cjs");
38
- var import_chunk_3D3FPZWK = require("./chunk-3D3FPZWK.cjs");
38
+ var import_chunk_6IPBX635 = require("./chunk-6IPBX635.cjs");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_echo = require("@dxos/client/echo");
41
41
  var import_local_storage = require("@dxos/local-storage");
@@ -59,7 +59,7 @@ var import_util = require("@dxos/util");
59
59
  var import_react_ui_stack = require("@dxos/react-ui-stack");
60
60
  var StackSettings = ({ settings }) => {
61
61
  const { t } = (0, import_react_ui2.useTranslation)(import_chunk_O5SQVKNW.STACK_PLUGIN);
62
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_data.FormInput, {
62
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_data.DeprecatedFormInput, {
63
63
  label: t("settings separation label")
64
64
  }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.Switch, {
65
65
  checked: settings.separation,
@@ -81,7 +81,7 @@ var AddSectionDialog = ({ path, position, collection }) => {
81
81
  const handleAdd = (0, import_react5.useCallback)((sectionObject) => {
82
82
  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));
83
83
  collection.objects.splice(index + (position === "after" ? 1 : 0), 0, sectionObject);
84
- const stack = collection.views[import_chunk_3D3FPZWK.StackViewType.typename];
84
+ const stack = collection.views[import_chunk_6IPBX635.StackViewType.typename];
85
85
  if (stack) {
86
86
  stack.sections[sectionObject.id] = {};
87
87
  }
@@ -164,7 +164,7 @@ var AddSectionDialog = ({ path, position, collection }) => {
164
164
  onChange: ({ target: { files } }) => files && handleFileUpload(files[0])
165
165
  }));
166
166
  };
167
- var StackMain = (0, import_react2.lazy)(() => import("./StackMain-LAYSQV2S.cjs"));
167
+ var StackMain = (0, import_react2.lazy)(() => import("./StackMain-ME6LYFGI.cjs"));
168
168
  var translations_default = [
169
169
  {
170
170
  "en-US": {
@@ -210,7 +210,7 @@ var StackPlugin = () => {
210
210
  settings: settings.values,
211
211
  metadata: {
212
212
  records: {
213
- [import_chunk_3D3FPZWK.StackViewType.typename]: {
213
+ [import_chunk_6IPBX635.StackViewType.typename]: {
214
214
  placeholder: [
215
215
  "stack title placeholder",
216
216
  {
@@ -240,7 +240,7 @@ var StackPlugin = () => {
240
240
  translations: translations_default,
241
241
  echo: {
242
242
  schema: [
243
- import_chunk_3D3FPZWK.StackViewType
243
+ import_chunk_6IPBX635.StackViewType
244
244
  ]
245
245
  },
246
246
  surface: {
@@ -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, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { FormInput } from '@dxos/react-ui-data';\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 <FormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </FormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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", "import_types", "import_react_ui_theme", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "React", "FormInput", "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 React from 'react';\n\nimport { type Plugin, type PluginDefinition } from '@dxos/app-framework';\nimport { create, type EchoReactiveObject, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-data';\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 <DeprecatedFormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </DeprecatedFormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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", "import_types", "import_react_ui_theme", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "React", "DeprecatedFormInput", "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"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2544,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3287,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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":20112},"packages/plugins/plugin-stack/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-3D3FPZWK.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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-LAYSQV2S.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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":544},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10464},"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-O5SQVKNW.cjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","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-3D3FPZWK.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-LAYSQV2S.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19499},"packages/plugins/plugin-stack/dist/lib/node/StackMain-LAYSQV2S.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-3D3FPZWK.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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9290},"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":710},"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":454},"packages/plugins/plugin-stack/dist/lib/node/chunk-3D3FPZWK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1569},"packages/plugins/plugin-stack/dist/lib/node/chunk-3D3FPZWK.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":657}}}
1
+ {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2624,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3411,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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":20164},"packages/plugins/plugin-stack/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-6IPBX635.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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-ME6LYFGI.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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":564},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10484},"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-O5SQVKNW.cjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","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-6IPBX635.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-ME6LYFGI.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19499},"packages/plugins/plugin-stack/dist/lib/node/StackMain-ME6LYFGI.cjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node/chunk-6IPBX635.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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9290},"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":710},"packages/plugins/plugin-stack/dist/lib/node/chunk-O5SQVKNW.cjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":454},"packages/plugins/plugin-stack/dist/lib/node/chunk-6IPBX635.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"packages/plugins/plugin-stack/dist/lib/node/chunk-6IPBX635.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":657}}}
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- SectionSchema: () => import_chunk_3D3FPZWK.SectionSchema,
22
- StackViewType: () => import_chunk_3D3FPZWK.StackViewType
21
+ SectionSchema: () => import_chunk_6IPBX635.SectionSchema,
22
+ StackViewType: () => import_chunk_6IPBX635.StackViewType
23
23
  });
24
24
  module.exports = __toCommonJS(types_exports);
25
- var import_chunk_3D3FPZWK = require("../chunk-3D3FPZWK.cjs");
25
+ var import_chunk_6IPBX635 = require("../chunk-6IPBX635.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
28
28
  SectionSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n SectionSchema,\n StackViewType\n} from \"../chunk-3D3FPZWK.cjs\";\nexport {\n SectionSchema,\n StackViewType\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n SectionSchema,\n StackViewType\n} from \"../chunk-6IPBX635.cjs\";\nexport {\n SectionSchema,\n StackViewType\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
6
  "names": []
7
7
  }
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-J57BXQJY.mjs";
6
6
  import {
7
7
  StackViewType
8
- } from "./chunk-HRY4R5UU.mjs";
8
+ } from "./chunk-3ZYHKSIS.mjs";
9
9
 
10
10
  // packages/plugins/plugin-stack/src/components/StackMain.tsx
11
11
  import { Plus } from "@phosphor-icons/react";
@@ -275,4 +275,4 @@ var StackMain_default = StackMain;
275
275
  export {
276
276
  StackMain_default as default
277
277
  };
278
- //# sourceMappingURL=StackMain-KH6IEQQ6.mjs.map
278
+ //# sourceMappingURL=StackMain-D3P3PIMI.mjs.map
@@ -26,4 +26,4 @@ export {
26
26
  SectionSchema,
27
27
  StackViewType
28
28
  };
29
- //# sourceMappingURL=chunk-HRY4R5UU.mjs.map
29
+ //# sourceMappingURL=chunk-3ZYHKSIS.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/stack.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
- "mappings": ";;;AAIA,SAASA,GAAGC,mBAAmB;AAOxB,IAAMC,gBAAgBC,EAAEC,OAAO;EACpCC,QAAQF,EAAEG,SAASH,EAAEI,MAAM;;;EAG3BC,QAAQL,EAAEG,SAASH,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOT,EAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAEO,IAAMC,gBAAN,cAA4BC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,EAAEgB,QAAQhB,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { S, TypedObject } from '@dxos/echo-schema';\n\n// All section metadata needs to be optional/have defaults.\n// Any objects added to the collection will start with the section defaults.\n// If an object is removed from the collection without removing the section metadata this is fine.\n// Stack components should clean-up the superfluous data on future edits.\n\nexport const SectionSchema = S.Struct({\n height: S.optional(S.Number),\n // Space for data that isn't stack-specific but is specific to this view instance.\n // e.g. cover/fill for an image\n custom: S.optional(S.Record({ key: S.String, value: S.Any })),\n});\n\n// TODO(burdon): Should be just type/Stack?\nexport class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({\n sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),\n}) {}\n"],
5
+ "mappings": ";;;AAIA,SAASA,GAAGC,mBAAmB;AAOxB,IAAMC,gBAAgBC,EAAEC,OAAO;EACpCC,QAAQF,EAAEG,SAASH,EAAEI,MAAM;;;EAG3BC,QAAQL,EAAEG,SAASH,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOT,EAAEU;EAAI,CAAA,CAAA;AAC5D,CAAA;AAGO,IAAMC,gBAAN,cAA4BC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACxGC,UAAUf,EAAEgB,QAAQhB,EAAEM,OAAO;IAAEC,KAAKP,EAAEQ;IAAQC,OAAOV;EAAc,CAAA,CAAA;AACrE,CAAA,EAAA;AAAI;",
6
6
  "names": ["S", "TypedObject", "SectionSchema", "S", "Struct", "height", "optional", "Number", "custom", "Record", "key", "String", "value", "Any", "StackViewType", "TypedObject", "typename", "version", "sections", "mutable"]
7
7
  }
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  SectionSchema,
9
9
  StackViewType
10
- } from "./chunk-HRY4R5UU.mjs";
10
+ } from "./chunk-3ZYHKSIS.mjs";
11
11
 
12
12
  // packages/plugins/plugin-stack/src/StackPlugin.tsx
13
13
  import React3 from "react";
@@ -23,10 +23,10 @@ import { lazy } from "react";
23
23
  // packages/plugins/plugin-stack/src/components/StackSettings.tsx
24
24
  import React from "react";
25
25
  import { Input, useTranslation } from "@dxos/react-ui";
26
- import { FormInput } from "@dxos/react-ui-data";
26
+ import { DeprecatedFormInput } from "@dxos/react-ui-data";
27
27
  var StackSettings = ({ settings }) => {
28
28
  const { t } = useTranslation(STACK_PLUGIN);
29
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(FormInput, {
29
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
30
30
  label: t("settings separation label")
31
31
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
32
32
  checked: settings.separation,
@@ -145,7 +145,7 @@ var AddSectionDialog = ({ path, position, collection }) => {
145
145
  };
146
146
 
147
147
  // packages/plugins/plugin-stack/src/components/index.ts
148
- var StackMain = lazy(() => import("./StackMain-KH6IEQQ6.mjs"));
148
+ var StackMain = lazy(() => import("./StackMain-D3P3PIMI.mjs"));
149
149
 
150
150
  // packages/plugins/plugin-stack/src/translations.ts
151
151
  import { translations as stackTranslations } from "@dxos/react-ui-stack";
@@ -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, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { FormInput } from '@dxos/react-ui-data';\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 <FormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </FormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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": ["React", "create", "fullyQualifiedId", "LocalStorageStore", "CollectionType", "Main", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "lazy", "React", "Input", "useTranslation", "FormInput", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "FormInput", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "FilePlus", "React", "useCallback", "useRef", "useState", "usePlugin", "useIntent", "LayoutAction", "useResolvePlugin", "parseFileManagerPlugin", "create", "getSpace", "FileType", "Dialog", "toLocalizedString", "useTranslation", "Path", "SearchList", "getSize", "mx", "nonNullable", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "t", "useTranslation", "STACK_PLUGIN", "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", "React", "Dialog", "Content", "Title", "SearchList", "Root", "label", "Input", "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", "translations", "stackTranslations", "STACK_PLUGIN", "stackTranslations", "StackPlugin", "settings", "LocalStorageStore", "STACK_PLUGIN", "separation", "stackState", "create", "creators", "meta", "ready", "plugins", "prop", "key", "type", "bool", "plugin", "id", "Array", "isArray", "provides", "stack", "push", "values", "metadata", "records", "StackViewType", "typename", "placeholder", "ns", "icon", "SECTION_IDENTIFIER", "parse", "section", "object", "label", "title", "data", "translations", "echo", "schema", "surface", "component", "role", "dataHasAddSectionDialogProps", "React", "AddSectionDialog", "subject", "primary", "active", "undefined", "CollectionType", "Main", "Content", "bounce", "classNames", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "StackMain", "fullyQualifiedId", "collection", "div", "className", "StackSettings", "StackPlugin"]
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, fullyQualifiedId } from '@dxos/client/echo';\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: '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 { lazy } from 'react';\n\nexport const StackMain = lazy(() => import('./StackMain'));\n\nexport * from './StackSettings';\nexport * from './AddSectionDialog';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-data';\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 <DeprecatedFormInput label={t('settings separation label')}>\n <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />\n </DeprecatedFormInput>\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, getSpace } from '@dxos/client/echo';\nimport { FileType } from '@dxos/plugin-ipfs/types';\nimport { type CollectionType } from '@dxos/plugin-space/types';\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": ["React", "create", "fullyQualifiedId", "LocalStorageStore", "CollectionType", "Main", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "lazy", "React", "Input", "useTranslation", "DeprecatedFormInput", "StackSettings", "settings", "t", "useTranslation", "STACK_PLUGIN", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "separation", "onCheckedChange", "FilePlus", "React", "useCallback", "useRef", "useState", "usePlugin", "useIntent", "LayoutAction", "useResolvePlugin", "parseFileManagerPlugin", "create", "getSpace", "FileType", "Dialog", "toLocalizedString", "useTranslation", "Path", "SearchList", "getSize", "mx", "nonNullable", "dataHasAddSectionDialogProps", "data", "subject", "position", "AddSectionDialog", "path", "collection", "t", "useTranslation", "STACK_PLUGIN", "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", "React", "Dialog", "Content", "Title", "SearchList", "Root", "label", "Input", "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", "translations", "stackTranslations", "STACK_PLUGIN", "stackTranslations", "StackPlugin", "settings", "LocalStorageStore", "STACK_PLUGIN", "separation", "stackState", "create", "creators", "meta", "ready", "plugins", "prop", "key", "type", "bool", "plugin", "id", "Array", "isArray", "provides", "stack", "push", "values", "metadata", "records", "StackViewType", "typename", "placeholder", "ns", "icon", "SECTION_IDENTIFIER", "parse", "section", "object", "label", "title", "data", "translations", "echo", "schema", "surface", "component", "role", "dataHasAddSectionDialogProps", "React", "AddSectionDialog", "subject", "primary", "active", "undefined", "CollectionType", "Main", "Content", "bounce", "classNames", "baseSurface", "topbarBlockPaddingStart", "bottombarBlockPaddingEnd", "StackMain", "fullyQualifiedId", "collection", "div", "className", "StackSettings", "StackPlugin"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2544,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3287,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20113},"packages/plugins/plugin-stack/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-HRY4R5UU.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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-esm/StackMain-KH6IEQQ6.mjs","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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":544},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10556},"packages/plugins/plugin-stack/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","inputs":{},"bytes":295},"packages/plugins/plugin-stack/dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-HRY4R5UU.mjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":246},"packages/plugins/plugin-stack/dist/lib/node-esm/StackMain-KH6IEQQ6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19500},"packages/plugins/plugin-stack/dist/lib/node-esm/StackMain-KH6IEQQ6.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-HRY4R5UU.mjs","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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9382},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":547},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-HRY4R5UU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1571},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-HRY4R5UU.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":750}}}
1
+ {"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytes":1525,"imports":[],"format":"esm"},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytes":2624,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-stack/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/types/stack.ts":{"bytes":3411,"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":18312,"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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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.ts","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.ts","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":27006,"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/client/echo","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-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.ts","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":981,"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.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-stack/src/StackPlugin.tsx":{"bytes":15679,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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.ts","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-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20165},"packages/plugins/plugin-stack/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-3ZYHKSIS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","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/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-ipfs/types","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-esm/StackMain-D3P3PIMI.mjs","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":3735},"packages/plugins/plugin-stack/src/components/index.ts":{"bytesInOutput":94},"packages/plugins/plugin-stack/src/components/StackSettings.tsx":{"bytesInOutput":564},"packages/plugins/plugin-stack/src/components/AddSectionDialog.tsx":{"bytesInOutput":4601},"packages/plugins/plugin-stack/src/translations.ts":{"bytesInOutput":710},"packages/plugins/plugin-stack/src/index.ts":{"bytesInOutput":31}},"bytes":10576},"packages/plugins/plugin-stack/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"}],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-stack/src/meta.ts","inputs":{},"bytes":295},"packages/plugins/plugin-stack/dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-stack/dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-3ZYHKSIS.mjs","kind":"import-statement"}],"exports":["SectionSchema","StackViewType"],"entryPoint":"packages/plugins/plugin-stack/src/types/index.ts","inputs":{},"bytes":246},"packages/plugins/plugin-stack/dist/lib/node-esm/StackMain-D3P3PIMI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19500},"packages/plugins/plugin-stack/dist/lib/node-esm/StackMain-D3P3PIMI.mjs":{"imports":[{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-3ZYHKSIS.mjs","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/client/echo","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-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":6330},"packages/plugins/plugin-stack/src/components/AddSection.tsx":{"bytesInOutput":2546}},"bytes":9382},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":712},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-J57BXQJY.mjs":{"imports":[],"exports":["SECTION_IDENTIFIER","STACK_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-stack/src/meta.ts":{"bytesInOutput":299}},"bytes":547},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-3ZYHKSIS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1616},"packages/plugins/plugin-stack/dist/lib/node-esm/chunk-3ZYHKSIS.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SectionSchema","StackViewType"],"inputs":{"packages/plugins/plugin-stack/src/types/stack.ts":{"bytesInOutput":515},"packages/plugins/plugin-stack/src/types/index.ts":{"bytesInOutput":0}},"bytes":750}}}
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  SectionSchema,
4
4
  StackViewType
5
- } from "../chunk-HRY4R5UU.mjs";
5
+ } from "../chunk-3ZYHKSIS.mjs";
6
6
  export {
7
7
  SectionSchema,
8
8
  StackViewType
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/types/stack.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAOnD,eAAO,MAAM,aAAa;;;EAKxB,CAAC;;;;;;;;;;;;;;;;;;AAEH,qBAAa,aAAc,SAAQ,kBAEjC;CAAG"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/types/stack.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAOnD,eAAO,MAAM,aAAa;;;EAKxB,CAAC;;;;;;;;;;;;;;;;;;AAGH,qBAAa,aAAc,SAAQ,kBAEjC;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-stack",
3
- "version": "0.6.14-main.f49f251",
3
+ "version": "0.6.14-staging.77003c1",
4
4
  "description": "DXOS Surface plugin for Stack entities",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -45,23 +45,23 @@
45
45
  "@preact/signals-core": "^1.6.0",
46
46
  "node-fetch": "^2.6.0",
47
47
  "react-is": "~18.2.0",
48
- "@dxos/app-framework": "0.6.14-main.f49f251",
49
- "@dxos/async": "0.6.14-main.f49f251",
50
- "@dxos/client": "0.6.14-main.f49f251",
51
- "@dxos/echo-schema": "0.6.14-main.f49f251",
52
- "@dxos/invariant": "0.6.14-main.f49f251",
53
- "@dxos/local-storage": "0.6.14-main.f49f251",
54
- "@dxos/plugin-client": "0.6.14-main.f49f251",
55
- "@dxos/plugin-graph": "0.6.14-main.f49f251",
56
- "@dxos/plugin-ipfs": "0.6.14-main.f49f251",
57
- "@dxos/plugin-space": "0.6.14-main.f49f251",
58
- "@dxos/react-client": "0.6.14-main.f49f251",
59
- "@dxos/react-ui-data": "0.6.14-main.f49f251",
60
- "@dxos/react-ui-mosaic": "0.6.14-main.f49f251",
61
- "@dxos/react-ui-searchlist": "0.6.14-main.f49f251",
62
- "@dxos/react-ui-stack": "0.6.14-main.f49f251",
63
- "@dxos/react-ui-attention": "0.6.14-main.f49f251",
64
- "@dxos/util": "0.6.14-main.f49f251"
48
+ "@dxos/app-framework": "0.6.14-staging.77003c1",
49
+ "@dxos/echo-schema": "0.6.14-staging.77003c1",
50
+ "@dxos/async": "0.6.14-staging.77003c1",
51
+ "@dxos/client": "0.6.14-staging.77003c1",
52
+ "@dxos/local-storage": "0.6.14-staging.77003c1",
53
+ "@dxos/plugin-client": "0.6.14-staging.77003c1",
54
+ "@dxos/invariant": "0.6.14-staging.77003c1",
55
+ "@dxos/plugin-graph": "0.6.14-staging.77003c1",
56
+ "@dxos/plugin-ipfs": "0.6.14-staging.77003c1",
57
+ "@dxos/react-client": "0.6.14-staging.77003c1",
58
+ "@dxos/react-ui-data": "0.6.14-staging.77003c1",
59
+ "@dxos/plugin-space": "0.6.14-staging.77003c1",
60
+ "@dxos/react-ui-searchlist": "0.6.14-staging.77003c1",
61
+ "@dxos/react-ui-attention": "0.6.14-staging.77003c1",
62
+ "@dxos/react-ui-stack": "0.6.14-staging.77003c1",
63
+ "@dxos/react-ui-mosaic": "0.6.14-staging.77003c1",
64
+ "@dxos/util": "0.6.14-staging.77003c1"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@babel/core": "^7.18.13",
@@ -71,16 +71,16 @@
71
71
  "react": "~18.2.0",
72
72
  "react-dom": "~18.2.0",
73
73
  "vite": "5.4.7",
74
- "@dxos/react-ui": "0.6.14-main.f49f251",
75
- "@dxos/storybook-utils": "0.6.14-main.f49f251",
76
- "@dxos/react-ui-theme": "0.6.14-main.f49f251"
74
+ "@dxos/react-ui": "0.6.14-staging.77003c1",
75
+ "@dxos/react-ui-theme": "0.6.14-staging.77003c1",
76
+ "@dxos/storybook-utils": "0.6.14-staging.77003c1"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "@phosphor-icons/react": "^2.1.5",
80
80
  "react": "~18.2.0",
81
81
  "react-dom": "~18.2.0",
82
- "@dxos/react-ui": "0.6.14-main.f49f251",
83
- "@dxos/react-ui-theme": "0.6.14-main.f49f251"
82
+ "@dxos/react-ui": "0.6.14-staging.77003c1",
83
+ "@dxos/react-ui-theme": "0.6.14-staging.77003c1"
84
84
  },
85
85
  "publishConfig": {
86
86
  "access": "public"
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { Input, useTranslation } from '@dxos/react-ui';
8
- import { FormInput } from '@dxos/react-ui-data';
8
+ import { DeprecatedFormInput } from '@dxos/react-ui-data';
9
9
 
10
10
  import { STACK_PLUGIN } from '../meta';
11
11
  import { type StackSettingsProps } from '../types';
@@ -15,9 +15,9 @@ export const StackSettings = ({ settings }: { settings: StackSettingsProps }) =>
15
15
 
16
16
  return (
17
17
  <>
18
- <FormInput label={t('settings separation label')}>
18
+ <DeprecatedFormInput label={t('settings separation label')}>
19
19
  <Input.Switch checked={settings.separation} onCheckedChange={(checked) => (settings.separation = !!checked)} />
20
- </FormInput>
20
+ </DeprecatedFormInput>
21
21
  </>
22
22
  );
23
23
  };
@@ -16,6 +16,7 @@ export const SectionSchema = S.Struct({
16
16
  custom: S.optional(S.Record({ key: S.String, value: S.Any })),
17
17
  });
18
18
 
19
+ // TODO(burdon): Should be just type/Stack?
19
20
  export class StackViewType extends TypedObject({ typename: 'dxos.org/type/StackView', version: '0.1.0' })({
20
21
  sections: S.mutable(S.Record({ key: S.String, value: SectionSchema })),
21
22
  }) {}