@vctrl/hooks 0.0.9-3 → 0.0.9
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/.babelrc +12 -0
- package/.eslintrc.json +18 -0
- package/LICENSE +0 -0
- package/README.md +209 -0
- package/package.json +1 -1
- package/project.json +16 -0
- package/src/use-load-model/event-system.ts +29 -0
- package/src/use-load-model/file-type-hooks/use-load-binary.ts +74 -0
- package/src/use-load-model/file-type-hooks/use-load-gltf.ts +115 -0
- package/src/use-load-model/loaders/create-gltf-loader.ts +20 -0
- package/{use-load-model/loaders/create-usdz-loader.d.ts → src/use-load-model/loaders/create-usdz-loader.ts} +7 -1
- package/src/use-load-model/model-context.tsx +18 -0
- package/src/use-load-model/state.ts +33 -0
- package/src/use-load-model/types.ts +53 -0
- package/src/use-load-model/use-load-model.ts +111 -0
- package/src/use-load-model/utils/array-buffer-to-base64.ts +20 -0
- package/src/use-load-model/utils/read-directory.ts +31 -0
- package/tsconfig.json +21 -0
- package/tsconfig.lib.json +25 -0
- package/vite.config.ts +59 -0
- package/index.cjs.js +0 -1
- package/index.es.js +0 -8
- package/model-context-ClI5AGc8.js +0 -19136
- package/model-context-mPTTbSMx.cjs +0 -3849
- package/use-load-model/event-system.d.ts +0 -7
- package/use-load-model/file-type-hooks/use-load-binary.d.ts +0 -11
- package/use-load-model/file-type-hooks/use-load-gltf.d.ts +0 -5
- package/use-load-model/loaders/create-gltf-loader.d.ts +0 -3
- package/use-load-model/model-context.d.ts +0 -20
- package/use-load-model/state.d.ts +0 -11
- package/use-load-model/types.d.ts +0 -48
- package/use-load-model/use-load-model.d.ts +0 -11
- package/use-load-model/utils/array-buffer-to-base64.d.ts +0 -2
- package/use-load-model/utils/read-directory.d.ts +0 -8
- package/use-load-model.cjs.js +0 -1
- package/use-load-model.es.js +0 -8
- /package/{index.d.ts → src/index.ts} +0 -0
- /package/{use-load-model/file-type-hooks/index.d.ts → src/use-load-model/file-type-hooks/index.ts} +0 -0
- /package/{use-load-model/index.d.ts → src/use-load-model/index.ts} +0 -0
- /package/{use-load-model/loaders/index.d.ts → src/use-load-model/loaders/index.ts} +0 -0
- /package/{use-load-model/utils/index.d.ts → src/use-load-model/utils/index.ts} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { EventData, EventHandler, EventTypes } from './types';
|
|
2
|
-
declare const eventSystem: {
|
|
3
|
-
emit<T extends EventTypes>(event: T, data: EventData[T]): void;
|
|
4
|
-
on<T extends EventTypes>(event: T, handler: EventHandler<T>): void;
|
|
5
|
-
off<T extends EventTypes>(event: T, handler: EventHandler<T>): void;
|
|
6
|
-
};
|
|
7
|
-
export default eventSystem;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Action, ModelFileTypes } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Hook to load binary files
|
|
4
|
-
*
|
|
5
|
-
* @param dispatch - The dispatch function from the useReducer hook
|
|
6
|
-
* @returns An object containing the loadBinary function
|
|
7
|
-
*/
|
|
8
|
-
declare function useLoadBinary(dispatch: React.Dispatch<Action>): {
|
|
9
|
-
loadBinary: (file: File, fileType: ModelFileTypes, onProgress: () => void) => void;
|
|
10
|
-
};
|
|
11
|
-
export default useLoadBinary;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
declare const ModelContext: import('react').Context<{
|
|
2
|
-
on: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
3
|
-
off: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
4
|
-
handleFileUpload: (filesOrDirectories: import('./types').InputFileOrDirectory) => Promise<void>;
|
|
5
|
-
file: import('./types').ModelFile | null;
|
|
6
|
-
isFileLoading: boolean;
|
|
7
|
-
progress: number;
|
|
8
|
-
supportedFileTypes: import('./types').ModelFileTypes[];
|
|
9
|
-
}>;
|
|
10
|
-
declare const ModelProvider: ({ children }: React.PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
declare const useModelContext: () => {
|
|
12
|
-
on: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
13
|
-
off: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
14
|
-
handleFileUpload: (filesOrDirectories: import('./types').InputFileOrDirectory) => Promise<void>;
|
|
15
|
-
file: import('./types').ModelFile | null;
|
|
16
|
-
isFileLoading: boolean;
|
|
17
|
-
progress: number;
|
|
18
|
-
supportedFileTypes: import('./types').ModelFileTypes[];
|
|
19
|
-
};
|
|
20
|
-
export { ModelContext, ModelProvider, useModelContext };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Action, State } from './types';
|
|
2
|
-
export declare const initialState: State;
|
|
3
|
-
/**
|
|
4
|
-
* Reducer function for the useReadModelFiles hook
|
|
5
|
-
*
|
|
6
|
-
* @param state - The current state of the reducer
|
|
7
|
-
* @param action - The action to be performed
|
|
8
|
-
* @returns The updated state
|
|
9
|
-
*/
|
|
10
|
-
declare function reducer(state: State, action: Action): State;
|
|
11
|
-
export default reducer;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
2
|
-
export declare enum ModelFileTypes {
|
|
3
|
-
gltf = "gltf",
|
|
4
|
-
glb = "glb",
|
|
5
|
-
usdz = "usdz"
|
|
6
|
-
}
|
|
7
|
-
export type InputFileOrDirectory = (File | FileSystemDirectoryHandle)[];
|
|
8
|
-
export interface ReducedGltf {
|
|
9
|
-
images: {
|
|
10
|
-
name: string;
|
|
11
|
-
uri: string;
|
|
12
|
-
}[];
|
|
13
|
-
buffers: {
|
|
14
|
-
bytelength: string;
|
|
15
|
-
uri: string;
|
|
16
|
-
}[];
|
|
17
|
-
}
|
|
18
|
-
export interface ModelFile {
|
|
19
|
-
model: Object3D;
|
|
20
|
-
type: ModelFileTypes;
|
|
21
|
-
name: string;
|
|
22
|
-
}
|
|
23
|
-
export interface State {
|
|
24
|
-
file: ModelFile | null;
|
|
25
|
-
isFileLoading: boolean;
|
|
26
|
-
progress: number;
|
|
27
|
-
supportedFileTypes: ModelFileTypes[];
|
|
28
|
-
}
|
|
29
|
-
export type Action = {
|
|
30
|
-
type: 'SET_FILE';
|
|
31
|
-
payload: ModelFile;
|
|
32
|
-
} | {
|
|
33
|
-
type: 'SET_FILE_LOADING';
|
|
34
|
-
payload: boolean;
|
|
35
|
-
} | {
|
|
36
|
-
type: 'SET_PROGRESS';
|
|
37
|
-
payload: number;
|
|
38
|
-
} | {
|
|
39
|
-
type: 'RESET_STATE';
|
|
40
|
-
};
|
|
41
|
-
export type EventTypes = 'MULTIPLE_3D_MODELS' | 'UNSUPPORTED_FILE_TYPE' | 'UPLOAD_PROGRESS' | 'UPLOAD_COMPLETE';
|
|
42
|
-
export type EventData = {
|
|
43
|
-
MULTIPLE_3D_MODELS: File[];
|
|
44
|
-
UNSUPPORTED_FILE_TYPE: File[];
|
|
45
|
-
UPLOAD_PROGRESS: number;
|
|
46
|
-
UPLOAD_COMPLETE: State['file'];
|
|
47
|
-
};
|
|
48
|
-
export type EventHandler<T extends EventTypes> = (data: EventData[T]) => void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ModelFileTypes, InputFileOrDirectory } from './types';
|
|
2
|
-
declare function useLoadModel(): {
|
|
3
|
-
on: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
4
|
-
off: <T extends import('./types').EventTypes>(event: T, handler: import('./types').EventHandler<T>) => void;
|
|
5
|
-
handleFileUpload: (filesOrDirectories: InputFileOrDirectory) => Promise<void>;
|
|
6
|
-
file: import('./types').ModelFile | null;
|
|
7
|
-
isFileLoading: boolean;
|
|
8
|
-
progress: number;
|
|
9
|
-
supportedFileTypes: ModelFileTypes[];
|
|
10
|
-
};
|
|
11
|
-
export default useLoadModel;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recursively reads a directory
|
|
3
|
-
*
|
|
4
|
-
* @param directoryHandle - The directory handle to read
|
|
5
|
-
* @returns - An array of file objects
|
|
6
|
-
*/
|
|
7
|
-
declare function readDirectory(directoryHandle: FileSystemDirectoryHandle): Promise<File[]>;
|
|
8
|
-
export default readDirectory;
|
package/use-load-model.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./model-context-mPTTbSMx.cjs");exports.ModelContext=e.ModelContext;exports.ModelFileTypes=e.ModelFileTypes;exports.ModelProvider=e.ModelProvider;exports.useLoadModel=e.useLoadModel;exports.useModelContext=e.useModelContext;
|
package/use-load-model.es.js
DELETED
|
File without changes
|
/package/{use-load-model/file-type-hooks/index.d.ts → src/use-load-model/file-type-hooks/index.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|