@xrift/world-components 0.37.1 → 0.38.0
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.
- package/dist/contexts/FileInputContext.d.ts +79 -0
- package/dist/contexts/FileInputContext.d.ts.map +1 -0
- package/dist/contexts/FileInputContext.js +69 -0
- package/dist/contexts/FileInputContext.js.map +1 -0
- package/dist/contexts/XRiftContext.d.ts +7 -1
- package/dist/contexts/XRiftContext.d.ts.map +1 -1
- package/dist/contexts/XRiftContext.js +5 -2
- package/dist/contexts/XRiftContext.js.map +1 -1
- package/dist/hooks/useFileInput.d.ts +23 -0
- package/dist/hooks/useFileInput.d.ts.map +1 -0
- package/dist/hooks/useFileInput.js +28 -0
- package/dist/hooks/useFileInput.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* ファイル入力のエラー種別
|
|
4
|
+
*/
|
|
5
|
+
export type FileInputErrorType = 'file_too_large' | 'invalid_type';
|
|
6
|
+
/**
|
|
7
|
+
* ファイル入力のエラー情報
|
|
8
|
+
*/
|
|
9
|
+
export interface FileInputError {
|
|
10
|
+
type: FileInputErrorType;
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* ファイル入力のリクエスト情報
|
|
15
|
+
*/
|
|
16
|
+
export interface FileInputRequest {
|
|
17
|
+
/** 入力の一意なID */
|
|
18
|
+
id: string;
|
|
19
|
+
/** 受け入れるファイルタイプ(例: '.vrm', 'image/*') */
|
|
20
|
+
accept?: string;
|
|
21
|
+
/** 複数ファイル選択を許可するか */
|
|
22
|
+
multiple?: boolean;
|
|
23
|
+
/** 最大ファイルサイズ(バイト単位) */
|
|
24
|
+
maxSize?: number;
|
|
25
|
+
/** ファイル選択完了時のコールバック */
|
|
26
|
+
onSelect: (files: File[]) => void;
|
|
27
|
+
/** キャンセル時のコールバック */
|
|
28
|
+
onCancel?: () => void;
|
|
29
|
+
/** エラー時のコールバック */
|
|
30
|
+
onError?: (error: FileInputError) => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* ファイル入力のContext値
|
|
34
|
+
*/
|
|
35
|
+
export interface FileInputContextValue {
|
|
36
|
+
/**
|
|
37
|
+
* ファイル選択ダイアログを表示する
|
|
38
|
+
* xrift-frontend側でオーバーレイUIを表示し、ファイル選択後にonSelectが呼ばれる
|
|
39
|
+
*/
|
|
40
|
+
requestFileInput: (request: FileInputRequest) => void;
|
|
41
|
+
/**
|
|
42
|
+
* 現在アクティブなファイル入力があるか
|
|
43
|
+
*/
|
|
44
|
+
isActive: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* デフォルトの実装(開発環境用)
|
|
48
|
+
* 動的にinput[type=file]を作成してファイル選択する
|
|
49
|
+
*/
|
|
50
|
+
export declare const createDefaultFileInputImplementation: () => FileInputContextValue;
|
|
51
|
+
/**
|
|
52
|
+
* ファイル入力のContext
|
|
53
|
+
*/
|
|
54
|
+
export declare const FileInputContext: import("react").Context<FileInputContextValue | null>;
|
|
55
|
+
interface Props {
|
|
56
|
+
value: FileInputContextValue;
|
|
57
|
+
children: ReactNode;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* ファイル入力のContextProvider
|
|
61
|
+
*/
|
|
62
|
+
export declare const FileInputProvider: ({ value, children }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
/**
|
|
64
|
+
* ファイル入力の機能を取得するhook
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* const { requestFileInput } = useFileInputContext()
|
|
68
|
+
* requestFileInput({
|
|
69
|
+
* id: 'avatar-upload',
|
|
70
|
+
* accept: '.vrm',
|
|
71
|
+
* maxSize: 30 * 1024 * 1024,
|
|
72
|
+
* onSelect: (files) => console.log('選択されたファイル:', files),
|
|
73
|
+
* })
|
|
74
|
+
*
|
|
75
|
+
* @throws {Error} FileInputProvider の外で呼び出された場合
|
|
76
|
+
*/
|
|
77
|
+
export declare const useFileInputContext: () => FileInputContextValue;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=FileInputContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileInputContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FileInputContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uBAAuB;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACjC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,QAAO,qBA8BtD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,uDAAoD,CAAA;AAEjF,UAAU,KAAK;IACb,KAAK,EAAE,qBAAqB,CAAA;IAC5B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,qBAAqB,KAAK,4CAE3D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAQtC,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* デフォルトの実装(開発環境用)
|
|
5
|
+
* 動的にinput[type=file]を作成してファイル選択する
|
|
6
|
+
*/
|
|
7
|
+
export const createDefaultFileInputImplementation = () => ({
|
|
8
|
+
requestFileInput: (request) => {
|
|
9
|
+
console.log('[FileInput] requestFileInput called:', request);
|
|
10
|
+
const input = document.createElement('input');
|
|
11
|
+
input.type = 'file';
|
|
12
|
+
if (request.accept)
|
|
13
|
+
input.accept = request.accept;
|
|
14
|
+
if (request.multiple)
|
|
15
|
+
input.multiple = true;
|
|
16
|
+
input.addEventListener('change', () => {
|
|
17
|
+
const files = Array.from(input.files ?? []);
|
|
18
|
+
if (files.length === 0) {
|
|
19
|
+
request.onCancel?.();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (request.maxSize) {
|
|
23
|
+
const oversized = files.find((f) => f.size > request.maxSize);
|
|
24
|
+
if (oversized) {
|
|
25
|
+
request.onError?.({
|
|
26
|
+
type: 'file_too_large',
|
|
27
|
+
message: `File "${oversized.name}" exceeds max size of ${request.maxSize} bytes`,
|
|
28
|
+
});
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
request.onSelect(files);
|
|
33
|
+
});
|
|
34
|
+
input.click();
|
|
35
|
+
},
|
|
36
|
+
isActive: false,
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* ファイル入力のContext
|
|
40
|
+
*/
|
|
41
|
+
export const FileInputContext = createContext(null);
|
|
42
|
+
/**
|
|
43
|
+
* ファイル入力のContextProvider
|
|
44
|
+
*/
|
|
45
|
+
export const FileInputProvider = ({ value, children }) => {
|
|
46
|
+
return _jsx(FileInputContext.Provider, { value: value, children: children });
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* ファイル入力の機能を取得するhook
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* const { requestFileInput } = useFileInputContext()
|
|
53
|
+
* requestFileInput({
|
|
54
|
+
* id: 'avatar-upload',
|
|
55
|
+
* accept: '.vrm',
|
|
56
|
+
* maxSize: 30 * 1024 * 1024,
|
|
57
|
+
* onSelect: (files) => console.log('選択されたファイル:', files),
|
|
58
|
+
* })
|
|
59
|
+
*
|
|
60
|
+
* @throws {Error} FileInputProvider の外で呼び出された場合
|
|
61
|
+
*/
|
|
62
|
+
export const useFileInputContext = () => {
|
|
63
|
+
const context = useContext(FileInputContext);
|
|
64
|
+
if (!context) {
|
|
65
|
+
throw new Error('useFileInputContext must be used within FileInputProvider');
|
|
66
|
+
}
|
|
67
|
+
return context;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=FileInputContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileInputContext.js","sourceRoot":"","sources":["../../src/contexts/FileInputContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AAkDjE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAA0B,EAAE,CAAC,CAAC;IAChF,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAA;QACnB,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAE3C,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAA;gBACpB,OAAM;YACR,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,OAAQ,CAAC,CAAA;gBAC9D,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,OAAO,EAAE,CAAC;wBAChB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,SAAS,SAAS,CAAC,IAAI,yBAAyB,OAAO,CAAC,OAAO,QAAQ;qBACjF,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,EAAE,CAAA;IACf,CAAC;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAA;AAOjF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC9D,OAAO,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA6B,CAAA;AACxF,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA0B,EAAE;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { type InstanceContextValue } from './InstanceContext';
|
|
|
8
8
|
import { type WorldContextValue } from './WorldContext';
|
|
9
9
|
import { type TeleportContextValue } from './TeleportContext';
|
|
10
10
|
import { type TextInputContextValue } from './TextInputContext';
|
|
11
|
+
import { type FileInputContextValue } from './FileInputContext';
|
|
11
12
|
import { type UsersContextValue } from './UsersContext';
|
|
12
13
|
import { type InstanceEventContextValue } from './InstanceEventContext';
|
|
13
14
|
import { type PlacementMode } from './PlacementStateContext';
|
|
@@ -94,6 +95,11 @@ interface Props {
|
|
|
94
95
|
* 指定しない場合はデフォルト実装(no-op)が使用される
|
|
95
96
|
*/
|
|
96
97
|
audioVolumeImplementation?: AudioVolumeContextValue;
|
|
98
|
+
/**
|
|
99
|
+
* ファイル入力の実装(オプション)
|
|
100
|
+
* 指定しない場合はデフォルト実装(ブラウザのファイル選択)が使用される
|
|
101
|
+
*/
|
|
102
|
+
fileInputImplementation?: FileInputContextValue;
|
|
97
103
|
/**
|
|
98
104
|
* アイテムの配置状態(オプション)
|
|
99
105
|
* 'preview': プレビュー中、'placed': 設置済み
|
|
@@ -107,7 +113,7 @@ interface Props {
|
|
|
107
113
|
* Module Federationで動的にロードされたワールドコンポーネントに
|
|
108
114
|
* 必要な情報を注入するために使用
|
|
109
115
|
*/
|
|
110
|
-
export declare const XRiftProvider: ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, instanceEventImplementation, audioVolumeImplementation, placementMode, children, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
116
|
+
export declare const XRiftProvider: ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, instanceEventImplementation, audioVolumeImplementation, fileInputImplementation, placementMode, children, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
111
117
|
/**
|
|
112
118
|
* XRift ワールドの情報を取得するhook
|
|
113
119
|
* ワールドプロジェクト側でアセットの相対パスを絶対パスに変換する際に使用
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XRiftContext.d.ts","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAA;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAyB,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AAW7B,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC;;OAEG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChD;;OAEG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;CAKnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,CAAA;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,
|
|
1
|
+
{"version":3,"file":"XRiftContext.d.ts","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAA;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAyB,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAA0B,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAA;AAW7B,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC;;OAEG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;IAChD;;OAEG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAA;CAKnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IAC7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,CAAA;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,yBAAyB,CAAA;IACvD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,uBAAuB,CAAA;IACnD;;;OAGG;IACH,uBAAuB,CAAC,EAAE,qBAAqB,CAAA;IAC/C;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,oVAgB3B,KAAK,4CA8GP,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,QAAO,iBAQ3B,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { InstanceProvider, createDefaultInstanceImplementation, } from './Instan
|
|
|
8
8
|
import { WorldProvider, createDefaultWorldImplementation, } from './WorldContext';
|
|
9
9
|
import { TeleportProvider, createDefaultTeleportImplementation, } from './TeleportContext';
|
|
10
10
|
import { TextInputProvider, createDefaultTextInputImplementation, } from './TextInputContext';
|
|
11
|
+
import { FileInputProvider, createDefaultFileInputImplementation, } from './FileInputContext';
|
|
11
12
|
import { UsersProvider } from './UsersContext';
|
|
12
13
|
import { InstanceEventProvider, createDefaultInstanceEventImplementation, } from './InstanceEventContext';
|
|
13
14
|
import { PlacementStateProvider } from './PlacementStateContext';
|
|
@@ -30,7 +31,7 @@ export const XRiftContext = createContext(null);
|
|
|
30
31
|
* Module Federationで動的にロードされたワールドコンポーネントに
|
|
31
32
|
* 必要な情報を注入するために使用
|
|
32
33
|
*/
|
|
33
|
-
export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, instanceEventImplementation, audioVolumeImplementation, placementMode, children, }) => {
|
|
34
|
+
export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImplementation, instanceImplementation, screenShareImplementation, spawnPointImplementation, teleportImplementation, textInputImplementation, usersImplementation, worldImplementation, instanceEventImplementation, audioVolumeImplementation, fileInputImplementation, placementMode, children, }) => {
|
|
34
35
|
// インタラクト可能なオブジェクトの管理
|
|
35
36
|
const [interactableObjects] = useState(() => new Set());
|
|
36
37
|
// 画面共有の実装(指定がない場合はデフォルト実装を使用)
|
|
@@ -49,6 +50,8 @@ export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImp
|
|
|
49
50
|
const instanceEventImpl = useMemo(() => instanceEventImplementation ?? createDefaultInstanceEventImplementation(), [instanceEventImplementation]);
|
|
50
51
|
// 音量オーバーライドの実装(指定がない場合はデフォルト実装を使用)
|
|
51
52
|
const audioVolumeImpl = useMemo(() => audioVolumeImplementation ?? createDefaultAudioVolumeImplementation(), [audioVolumeImplementation]);
|
|
53
|
+
// ファイル入力の実装(指定がない場合はデフォルト実装を使用)
|
|
54
|
+
const fileInputImpl = useMemo(() => fileInputImplementation ?? createDefaultFileInputImplementation(), [fileInputImplementation]);
|
|
52
55
|
// オブジェクトの登録
|
|
53
56
|
const registerInteractable = useCallback((object) => {
|
|
54
57
|
interactableObjects.add(object);
|
|
@@ -63,7 +66,7 @@ export const XRiftProvider = ({ baseUrl, confirmImplementation, instanceStateImp
|
|
|
63
66
|
registerInteractable,
|
|
64
67
|
unregisterInteractable,
|
|
65
68
|
}), [baseUrl, interactableObjects, registerInteractable, unregisterInteractable]);
|
|
66
|
-
return (_jsx(XRiftContext.Provider, { value: xriftContextValue, children: _jsx(ScreenShareProvider, { value: screenShareImpl, children: _jsx(TextInputProvider, { value: textInputImpl, children: _jsx(InstanceStateProvider, { implementation: instanceStateImplementation, children: _jsx(SpawnPointProvider, { implementation: spawnPointImplementation, children: _jsx(UsersProvider, { implementation: usersImplementation, children: _jsx(InstanceEventProvider, { value: instanceEventImpl, children: _jsx(TeleportProvider, { value: teleportImpl, children: _jsx(ConfirmProvider, { value: confirmImpl, children: _jsx(WorldProvider, { value: worldImpl, children: _jsx(InstanceProvider, { value: instanceImpl, children: _jsx(AudioVolumeProvider, { value: audioVolumeImpl, children: placementMode ? (_jsx(PlacementStateProvider, { mode: placementMode, children: children })) : (children) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
69
|
+
return (_jsx(XRiftContext.Provider, { value: xriftContextValue, children: _jsx(ScreenShareProvider, { value: screenShareImpl, children: _jsx(TextInputProvider, { value: textInputImpl, children: _jsx(FileInputProvider, { value: fileInputImpl, children: _jsx(InstanceStateProvider, { implementation: instanceStateImplementation, children: _jsx(SpawnPointProvider, { implementation: spawnPointImplementation, children: _jsx(UsersProvider, { implementation: usersImplementation, children: _jsx(InstanceEventProvider, { value: instanceEventImpl, children: _jsx(TeleportProvider, { value: teleportImpl, children: _jsx(ConfirmProvider, { value: confirmImpl, children: _jsx(WorldProvider, { value: worldImpl, children: _jsx(InstanceProvider, { value: instanceImpl, children: _jsx(AudioVolumeProvider, { value: audioVolumeImpl, children: placementMode ? (_jsx(PlacementStateProvider, { mode: placementMode, children: children })) : (children) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
67
70
|
};
|
|
68
71
|
/**
|
|
69
72
|
* XRift ワールドの情報を取得するhook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEjG,OAAO,EAAE,qBAAqB,EAAkC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAgC,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,qBAAqB,CAAA;AACrF,OAAO,EACL,eAAe,EACf,kCAAkC,GAEnC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,EAChB,mCAAmC,GAEpC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,aAAa,EACb,gCAAgC,GAEjC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,gBAAgB,EAChB,mCAAmC,GAEpC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,iBAAiB,EACjB,oCAAoC,GAErC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,aAAa,EAA0B,MAAM,gBAAgB,CAAA;AACtE,OAAO,EACL,qBAAqB,EACrB,wCAAwC,GAEzC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,sBAAsB,EAAsB,MAAM,yBAAyB,CAAA;AACpF,OAAO,EACL,mBAAmB,EACnB,sCAAsC,GAEvC,MAAM,sBAAsB,CAAA;AAE7B,sBAAsB;AACtB,MAAM,sCAAsC,GAAG,GAA4B,EAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;IAC5E,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;IAC1E,eAAe,EAAE,KAAK;CACvB,CAAC,CAAA;AA2BF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"XRiftContext.js","sourceRoot":"","sources":["../../src/contexts/XRiftContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type FileInputRequest } from '../contexts/FileInputContext';
|
|
2
|
+
/**
|
|
3
|
+
* ファイル選択ダイアログを使用するhook
|
|
4
|
+
* ワールド作成者が3Dオブジェクトのクリックをトリガーにファイル選択を行うために使用
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const { requestFileInput } = useFileInput()
|
|
8
|
+
*
|
|
9
|
+
* const handleClick = () => {
|
|
10
|
+
* requestFileInput({
|
|
11
|
+
* id: 'avatar-upload',
|
|
12
|
+
* accept: '.vrm',
|
|
13
|
+
* maxSize: 30 * 1024 * 1024,
|
|
14
|
+
* onSelect: (files) => console.log('選択されたファイル:', files),
|
|
15
|
+
* })
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* @returns {{ requestFileInput: (request: FileInputRequest) => void }}
|
|
19
|
+
*/
|
|
20
|
+
export declare const useFileInput: () => {
|
|
21
|
+
requestFileInput: (request: FileInputRequest) => void;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useFileInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileInput.d.ts","sourceRoot":"","sources":["../../src/hooks/useFileInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,8BAA8B,CAAA;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,QAAO;IAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAWtF,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { useFileInputContext } from '../contexts/FileInputContext';
|
|
3
|
+
/**
|
|
4
|
+
* ファイル選択ダイアログを使用するhook
|
|
5
|
+
* ワールド作成者が3Dオブジェクトのクリックをトリガーにファイル選択を行うために使用
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const { requestFileInput } = useFileInput()
|
|
9
|
+
*
|
|
10
|
+
* const handleClick = () => {
|
|
11
|
+
* requestFileInput({
|
|
12
|
+
* id: 'avatar-upload',
|
|
13
|
+
* accept: '.vrm',
|
|
14
|
+
* maxSize: 30 * 1024 * 1024,
|
|
15
|
+
* onSelect: (files) => console.log('選択されたファイル:', files),
|
|
16
|
+
* })
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* @returns {{ requestFileInput: (request: FileInputRequest) => void }}
|
|
20
|
+
*/
|
|
21
|
+
export const useFileInput = () => {
|
|
22
|
+
const { requestFileInput } = useFileInputContext();
|
|
23
|
+
const stableRequestFileInput = useCallback((request) => {
|
|
24
|
+
requestFileInput(request);
|
|
25
|
+
}, [requestFileInput]);
|
|
26
|
+
return { requestFileInput: stableRequestFileInput };
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useFileInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileInput.js","sourceRoot":"","sources":["../../src/hooks/useFileInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAyB,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAA8D,EAAE;IAC1F,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAElD,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,OAAyB,EAAE,EAAE;QAC5B,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAA;IAED,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAA;AACrD,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { ScreenShareContext, ScreenShareProvider, useScreenShareContext, type Sc
|
|
|
4
4
|
export { SpawnPointContext, SpawnPointProvider, useSpawnPointContext, type SpawnPoint as SpawnPointData, type SpawnPointContextValue, } from './contexts/SpawnPointContext';
|
|
5
5
|
export { UsersContext, UsersProvider, useUsers, type User, type UsersContextValue, } from './contexts/UsersContext';
|
|
6
6
|
export { TextInputContext, TextInputProvider, useTextInputContext, createDefaultTextInputImplementation, type TextInputContextValue, type TextInputRequest, } from './contexts/TextInputContext';
|
|
7
|
+
export { FileInputContext, FileInputProvider, useFileInputContext, createDefaultFileInputImplementation, type FileInputContextValue, type FileInputRequest, type FileInputError, type FileInputErrorType, } from './contexts/FileInputContext';
|
|
7
8
|
export { ConfirmContext, ConfirmProvider, useConfirmContext, createDefaultConfirmImplementation, type ConfirmContextValue, type ConfirmOptions, } from './contexts/ConfirmContext';
|
|
8
9
|
export { InstanceContext, InstanceProvider, useInstanceContext, createDefaultInstanceImplementation, type InstanceContextValue, type InstanceInfo, } from './contexts/InstanceContext';
|
|
9
10
|
export { WorldContext, WorldProvider, useWorldContext, createDefaultWorldImplementation, type WorldContextValue, type WorldInfo, } from './contexts/WorldContext';
|
|
@@ -30,6 +31,7 @@ export { type PhysicsConfig, type CameraConfig, } from './components/DevEnvironm
|
|
|
30
31
|
export { useInstanceState } from './hooks/useInstanceState';
|
|
31
32
|
export { useSpawnPoint } from './hooks/useSpawnPoint';
|
|
32
33
|
export { useConfirm } from './hooks/useConfirm';
|
|
34
|
+
export { useFileInput } from './hooks/useFileInput';
|
|
33
35
|
export { useTeleport } from './hooks/useTeleport';
|
|
34
36
|
export { useInstance } from './hooks/useInstance';
|
|
35
37
|
export { useWorld } from './hooks/useWorld';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { ScreenShareContext, ScreenShareProvider, useScreenShareContext, } from
|
|
|
5
5
|
export { SpawnPointContext, SpawnPointProvider, useSpawnPointContext, } from './contexts/SpawnPointContext';
|
|
6
6
|
export { UsersContext, UsersProvider, useUsers, } from './contexts/UsersContext';
|
|
7
7
|
export { TextInputContext, TextInputProvider, useTextInputContext, createDefaultTextInputImplementation, } from './contexts/TextInputContext';
|
|
8
|
+
export { FileInputContext, FileInputProvider, useFileInputContext, createDefaultFileInputImplementation, } from './contexts/FileInputContext';
|
|
8
9
|
export { ConfirmContext, ConfirmProvider, useConfirmContext, createDefaultConfirmImplementation, } from './contexts/ConfirmContext';
|
|
9
10
|
export { InstanceContext, InstanceProvider, useInstanceContext, createDefaultInstanceImplementation, } from './contexts/InstanceContext';
|
|
10
11
|
export { WorldContext, WorldProvider, useWorldContext, createDefaultWorldImplementation, } from './contexts/WorldContext';
|
|
@@ -34,6 +35,7 @@ export { BillboardY, useBillboardY, getBillboardYRotation, } from './components/
|
|
|
34
35
|
export { useInstanceState } from './hooks/useInstanceState';
|
|
35
36
|
export { useSpawnPoint } from './hooks/useSpawnPoint';
|
|
36
37
|
export { useConfirm } from './hooks/useConfirm';
|
|
38
|
+
export { useFileInput } from './hooks/useFileInput';
|
|
37
39
|
export { useTeleport } from './hooks/useTeleport';
|
|
38
40
|
export { useInstance } from './hooks/useInstance';
|
|
39
41
|
export { useWorld } from './hooks/useWorld';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|