@dxos/plugin-wnfs 0.8.4-main.72ec0f3 → 0.8.4-main.7ace549

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 (26) hide show
  1. package/dist/lib/browser/{FileContainer-LLNI7WXR.mjs → FileContainer-6JIJX7SN.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-CWMKN2F6.mjs → chunk-234GILVK.mjs} +5 -5
  3. package/dist/lib/browser/chunk-234GILVK.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-ZFPJA5F4.mjs → chunk-IVUX2QXX.mjs} +4 -4
  5. package/dist/lib/browser/{file-uploader-W6TJLAAK.mjs → file-uploader-APZNBT66.mjs} +2 -2
  6. package/dist/lib/browser/index.mjs +16 -17
  7. package/dist/lib/browser/index.mjs.map +3 -3
  8. package/dist/lib/browser/{intent-resolver-FSW2EQF4.mjs → intent-resolver-246R4ETC.mjs} +2 -2
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-DMU47U3X.mjs → react-surface-CGF34KPI.mjs} +3 -3
  11. package/dist/lib/browser/types/index.mjs +1 -1
  12. package/dist/types/src/WnfsPlugin.d.ts.map +1 -1
  13. package/dist/types/src/translations.d.ts +1 -1
  14. package/dist/types/src/translations.d.ts.map +1 -1
  15. package/dist/types/src/types/File.d.ts +1 -1
  16. package/dist/types/tsconfig.tsbuildinfo +1 -1
  17. package/package.json +22 -22
  18. package/src/WnfsPlugin.tsx +11 -17
  19. package/src/translations.ts +1 -1
  20. package/src/types/File.ts +4 -4
  21. package/dist/lib/browser/chunk-CWMKN2F6.mjs.map +0 -7
  22. /package/dist/lib/browser/{FileContainer-LLNI7WXR.mjs.map → FileContainer-6JIJX7SN.mjs.map} +0 -0
  23. /package/dist/lib/browser/{chunk-ZFPJA5F4.mjs.map → chunk-IVUX2QXX.mjs.map} +0 -0
  24. /package/dist/lib/browser/{file-uploader-W6TJLAAK.mjs.map → file-uploader-APZNBT66.mjs.map} +0 -0
  25. /package/dist/lib/browser/{intent-resolver-FSW2EQF4.mjs.map → intent-resolver-246R4ETC.mjs.map} +0 -0
  26. /package/dist/lib/browser/{react-surface-DMU47U3X.mjs.map → react-surface-CGF34KPI.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-wnfs",
3
- "version": "0.8.4-main.72ec0f3",
3
+ "version": "0.8.4-main.7ace549",
4
4
  "description": "WNFS file management plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -48,22 +48,22 @@
48
48
  "react-dropzone": "^14.2.3",
49
49
  "uint8arrays": "^5.1.0",
50
50
  "wnfs": "0.2.2",
51
- "@dxos/app-framework": "0.8.4-main.72ec0f3",
52
- "@dxos/crypto": "0.8.4-main.72ec0f3",
53
- "@dxos/echo": "0.8.4-main.72ec0f3",
54
- "@dxos/effect": "0.8.4-main.72ec0f3",
55
- "@dxos/local-storage": "0.8.4-main.72ec0f3",
56
- "@dxos/log": "0.8.4-main.72ec0f3",
57
- "@dxos/plugin-client": "0.8.4-main.72ec0f3",
58
- "@dxos/plugin-markdown": "0.8.4-main.72ec0f3",
59
- "@dxos/plugin-space": "0.8.4-main.72ec0f3",
60
- "@dxos/react-client": "0.8.4-main.72ec0f3",
61
- "@dxos/react-ui": "0.8.4-main.72ec0f3",
62
- "@dxos/react-ui-editor": "0.8.4-main.72ec0f3",
63
- "@dxos/util": "0.8.4-main.72ec0f3",
64
- "@dxos/react-ui-stack": "0.8.4-main.72ec0f3",
65
- "@dxos/invariant": "0.8.4-main.72ec0f3",
66
- "@dxos/react-ui-form": "0.8.4-main.72ec0f3"
51
+ "@dxos/app-framework": "0.8.4-main.7ace549",
52
+ "@dxos/crypto": "0.8.4-main.7ace549",
53
+ "@dxos/echo": "0.8.4-main.7ace549",
54
+ "@dxos/effect": "0.8.4-main.7ace549",
55
+ "@dxos/invariant": "0.8.4-main.7ace549",
56
+ "@dxos/local-storage": "0.8.4-main.7ace549",
57
+ "@dxos/log": "0.8.4-main.7ace549",
58
+ "@dxos/plugin-client": "0.8.4-main.7ace549",
59
+ "@dxos/plugin-space": "0.8.4-main.7ace549",
60
+ "@dxos/plugin-markdown": "0.8.4-main.7ace549",
61
+ "@dxos/react-client": "0.8.4-main.7ace549",
62
+ "@dxos/react-ui-editor": "0.8.4-main.7ace549",
63
+ "@dxos/react-ui-form": "0.8.4-main.7ace549",
64
+ "@dxos/util": "0.8.4-main.7ace549",
65
+ "@dxos/react-ui": "0.8.4-main.7ace549",
66
+ "@dxos/react-ui-stack": "0.8.4-main.7ace549"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/react": "~19.2.2",
@@ -71,16 +71,16 @@
71
71
  "react": "~19.2.0",
72
72
  "react-dom": "~19.2.0",
73
73
  "vite": "7.1.9",
74
- "@dxos/random": "0.8.4-main.72ec0f3",
75
- "@dxos/react-ui-theme": "0.8.4-main.72ec0f3",
76
- "@dxos/storybook-utils": "0.8.4-main.72ec0f3"
74
+ "@dxos/random": "0.8.4-main.7ace549",
75
+ "@dxos/storybook-utils": "0.8.4-main.7ace549",
76
+ "@dxos/react-ui-theme": "0.8.4-main.7ace549"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "effect": "^3.13.3",
80
80
  "react": "^19.0.0",
81
81
  "react-dom": "^19.0.0",
82
- "@dxos/react-ui": "0.8.4-main.72ec0f3",
83
- "@dxos/react-ui-theme": "0.8.4-main.72ec0f3"
82
+ "@dxos/react-ui": "0.8.4-main.7ace549",
83
+ "@dxos/react-ui-theme": "0.8.4-main.7ace549"
84
84
  },
85
85
  "publishConfig": {
86
86
  "access": "public"
@@ -13,10 +13,9 @@ import {
13
13
  defineModule,
14
14
  definePlugin,
15
15
  } from '@dxos/app-framework';
16
- import { ClientEvents } from '@dxos/plugin-client';
16
+ import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
17
17
  import { MarkdownEvents } from '@dxos/plugin-markdown';
18
- import { SpaceCapabilities } from '@dxos/plugin-space';
19
- import { defineObjectForm } from '@dxos/plugin-space/types';
18
+ import { type CreateObjectIntent } from '@dxos/plugin-space/types';
20
19
 
21
20
  import { Blockstore, FileUploader, IntentResolver, Markdown, ReactSurface, WnfsCapabilities } from './capabilities';
22
21
  import { meta } from './meta';
@@ -52,25 +51,20 @@ export const WnfsPlugin = definePlugin(meta, () => [
52
51
  // TODO(wittjosiah): Would be nice if icon could change based on the type of the file.
53
52
  icon: 'ph--file--regular',
54
53
  iconHue: 'teal',
54
+ inputSchema: WnfsAction.UploadFileSchema,
55
+ createObjectIntent: ((props, options) =>
56
+ Function.pipe(
57
+ createIntent(WnfsAction.Upload, { ...props, space: options.space }),
58
+ chain(WnfsAction.Create, {}),
59
+ )) satisfies CreateObjectIntent,
60
+ addToCollectionOnCreate: true,
55
61
  },
56
62
  }),
57
63
  }),
58
64
  defineModule({
59
- id: `${meta.id}/module/object-form`,
65
+ id: `${meta.id}/module/schema`,
60
66
  activatesOn: ClientEvents.SetupSchema,
61
- activate: () =>
62
- contributes(
63
- SpaceCapabilities.ObjectForm,
64
- defineObjectForm({
65
- objectSchema: WnfsFile.File,
66
- formSchema: WnfsAction.UploadFileSchema,
67
- getIntent: (props, options) =>
68
- Function.pipe(
69
- createIntent(WnfsAction.Upload, { ...props, space: options.space }),
70
- chain(WnfsAction.Create, {}),
71
- ),
72
- }),
73
- ),
67
+ activate: () => contributes(ClientCapabilities.Schema, [WnfsFile.File]),
74
68
  }),
75
69
  defineModule({
76
70
  id: `${meta.id}/module/file-uploader`,
@@ -15,10 +15,10 @@ export const translations = [
15
15
  'object name placeholder': 'New file',
16
16
  'rename object label': 'Rename file',
17
17
  'delete object label': 'Delete file',
18
+ 'object deleted label': 'File deleted',
18
19
  },
19
20
  [meta.id]: {
20
21
  'plugin name': 'Files',
21
- 'delete object label': 'Delete',
22
22
  'file input placeholder': 'Drop a file here, or click to select a file',
23
23
  },
24
24
  },
package/src/types/File.ts CHANGED
@@ -5,13 +5,13 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { Obj, Type } from '@dxos/echo';
8
- import { FormAnnotation } from '@dxos/echo/internal';
8
+ import { FormInputAnnotation } from '@dxos/echo/internal';
9
9
 
10
10
  export const File = Schema.Struct({
11
11
  name: Schema.String.pipe(Schema.optional),
12
- type: Schema.String.pipe(FormAnnotation.set(false)),
13
- cid: Schema.String.pipe(FormAnnotation.set(false)),
14
- timestamp: Schema.String.pipe(FormAnnotation.set(false), Schema.optional),
12
+ type: Schema.String.pipe(FormInputAnnotation.set(false)),
13
+ cid: Schema.String.pipe(FormInputAnnotation.set(false)),
14
+ timestamp: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
15
15
  }).pipe(
16
16
  Type.Obj({
17
17
  typename: 'dxos.org/type/File',
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/File.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { FormAnnotation } from '@dxos/echo/internal';\n\nexport const File = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n type: Schema.String.pipe(FormAnnotation.set(false)),\n cid: Schema.String.pipe(FormAnnotation.set(false)),\n timestamp: Schema.String.pipe(FormAnnotation.set(false), Schema.optional),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/File',\n version: '0.1.0',\n }),\n);\n\nexport type File = Schema.Schema.Type<typeof File>;\n\nexport const make = (props: Obj.MakeProps<typeof File>) => Obj.make(File, props);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { FileInfoSchema } from '@dxos/app-framework';\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { meta } from '../meta';\n\nimport * as File from './File';\n\nexport namespace WnfsAction {\n export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\n input: FileInfoSchema.pick('name', 'type', 'cid').pipe(Schema.required),\n output: Schema.Struct({\n object: File.File,\n }),\n }) {}\n\n export const UploadAnnotationId = Symbol.for(`${meta.id}/annotation/upload`);\n\n export const UploadFileSchema = Schema.Struct({\n file: Schema.instanceOf(File.File).annotations({\n [UploadAnnotationId]: {\n // Accept file types.\n 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],\n 'application/pdf': ['.pdf'],\n // TODO(wittjosiah): Add more file types.\n },\n }),\n });\n\n export type UploadFileForm = Schema.Schema.Type<typeof UploadFileSchema>;\n\n export class Upload extends Schema.TaggedClass<Upload>()(`${meta.id}/action/upload`, {\n input: Schema.extend(UploadFileSchema, Schema.Struct({ space: SpaceSchema })),\n output: Schema.required(FileInfoSchema),\n }) {}\n}\n"],
5
- "mappings": ";;;;;;AAAA;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,KAAKC,YAAY;AAC1B,SAASC,sBAAsB;AAExB,IAAMC,OAAcC,cAAO;EAChCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,MAAaH,cAAOC,KAAKG,eAAeC,IAAI,KAAA,CAAA;EAC5CC,KAAYN,cAAOC,KAAKG,eAAeC,IAAI,KAAA,CAAA;EAC3CE,WAAkBP,cAAOC,KAAKG,eAAeC,IAAI,KAAA,GAAeH,eAAQ;AAC1E,CAAA,EAAGD,KACDO,KAAKC,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,OAAO,CAACC,UAAsCJ,IAAIG,KAAKf,MAAMgB,KAAAA;;;ACnB1E,YAAYC,aAAY;AAExB,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;UAMXC,aAAAA;EACR,MAAMC,eAAsBC,oBAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAOC,eAAeC,KAAK,QAAQ,QAAQ,KAAA,EAAOC,KAAYC,gBAAQ;IACtEC,QAAeC,eAAO;MACpBC,QAAaC;IACf,CAAA;EACF,CAAA,EAAA;EAAI;cALSZ,SAAAA;cAOAa,qBAAqBC,OAAOC,IAAI,GAAGb,KAAKC,EAAE,oBAAoB;cAE9Da,mBAA0BN,eAAO;IAC5CO,MAAaC,mBAAgBN,IAAI,EAAEO,YAAY;MAC7C,CAAApB,YAACc,kBAAAA,GAAqB;;QAEpB,WAAW;UAAC;UAAQ;UAAS;UAAQ;;QACrC,mBAAmB;UAAC;;MAEtB;IACF,CAAA;EACF,CAAA;EAIO,MAAMO,eAAsBnB,oBAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAciB,eAAMtB,YAACiB,kBAAyBN,eAAO;MAAEY,OAAOC;IAAY,CAAA,CAAA;IAC1Ed,QAAeD,iBAASH,cAAAA;EAC1B,CAAA,EAAA;EAAI;cAHSe,SAAAA;AAIf,GA3BiBrB,eAAAA,aAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "Obj", "Type", "FormAnnotation", "File", "Struct", "name", "String", "pipe", "optional", "type", "FormAnnotation", "set", "cid", "timestamp", "Type", "Obj", "typename", "version", "make", "props", "Schema", "FileInfoSchema", "SpaceSchema", "WnfsAction", "Create", "TaggedClass", "meta", "id", "input", "FileInfoSchema", "pick", "pipe", "required", "output", "Struct", "object", "File", "UploadAnnotationId", "Symbol", "for", "UploadFileSchema", "file", "instanceOf", "annotations", "Upload", "extend", "space", "SpaceSchema"]
7
- }