@owlmeans/web-client 0.1.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/LICENSE +21 -0
- package/README.md +617 -0
- package/build/components/dispatcher/component.d.ts +2 -0
- package/build/components/dispatcher/component.d.ts.map +1 -0
- package/build/components/dispatcher/component.js +41 -0
- package/build/components/dispatcher/component.js.map +1 -0
- package/build/components/dispatcher/index.d.ts +2 -0
- package/build/components/dispatcher/index.d.ts.map +1 -0
- package/build/components/dispatcher/index.js +2 -0
- package/build/components/dispatcher/index.js.map +1 -0
- package/build/components/index.d.ts +3 -0
- package/build/components/index.d.ts.map +1 -0
- package/build/components/index.js +3 -0
- package/build/components/index.js.map +1 -0
- package/build/components/uploader/component.d.ts +4 -0
- package/build/components/uploader/component.d.ts.map +1 -0
- package/build/components/uploader/component.js +10 -0
- package/build/components/uploader/component.js.map +1 -0
- package/build/components/uploader/image.d.ts +4 -0
- package/build/components/uploader/image.d.ts.map +1 -0
- package/build/components/uploader/image.js +8 -0
- package/build/components/uploader/image.js.map +1 -0
- package/build/components/uploader/index.d.ts +4 -0
- package/build/components/uploader/index.d.ts.map +1 -0
- package/build/components/uploader/index.js +3 -0
- package/build/components/uploader/index.js.map +1 -0
- package/build/components/uploader/types.d.ts +13 -0
- package/build/components/uploader/types.d.ts.map +1 -0
- package/build/components/uploader/types.js +2 -0
- package/build/components/uploader/types.js.map +1 -0
- package/build/consts.d.ts +2 -0
- package/build/consts.d.ts.map +1 -0
- package/build/consts.js +2 -0
- package/build/consts.js.map +1 -0
- package/build/context.d.ts +4 -0
- package/build/context.d.ts.map +1 -0
- package/build/context.js +18 -0
- package/build/context.js.map +1 -0
- package/build/errors.d.ts +11 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +19 -0
- package/build/errors.js.map +1 -0
- package/build/exports.d.ts +9 -0
- package/build/exports.d.ts.map +1 -0
- package/build/exports.js +7 -0
- package/build/exports.js.map +1 -0
- package/build/helper.d.ts +3 -0
- package/build/helper.d.ts.map +1 -0
- package/build/helper.js +7 -0
- package/build/helper.js.map +1 -0
- package/build/i18n/auth-en.json +5 -0
- package/build/i18n.d.ts +2 -0
- package/build/i18n.d.ts.map +1 -0
- package/build/i18n.js +4 -0
- package/build/i18n.js.map +1 -0
- package/build/index.d.ts +13 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +13 -0
- package/build/index.js.map +1 -0
- package/build/main.d.ts +4 -0
- package/build/main.d.ts.map +1 -0
- package/build/main.js +22 -0
- package/build/main.js.map +1 -0
- package/build/modules.d.ts +2 -0
- package/build/modules.d.ts.map +1 -0
- package/build/modules.js +8 -0
- package/build/modules.js.map +1 -0
- package/build/router.d.ts +3 -0
- package/build/router.d.ts.map +1 -0
- package/build/router.js +5 -0
- package/build/router.js.map +1 -0
- package/build/service.d.ts +6 -0
- package/build/service.d.ts.map +1 -0
- package/build/service.js +26 -0
- package/build/service.js.map +1 -0
- package/build/types.d.ts +14 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +2 -0
- package/build/types.js.map +1 -0
- package/package.json +57 -0
- package/src/components/dispatcher/component.tsx +43 -0
- package/src/components/dispatcher/index.ts +2 -0
- package/src/components/index.ts +3 -0
- package/src/components/uploader/component.tsx +17 -0
- package/src/components/uploader/image.tsx +10 -0
- package/src/components/uploader/index.ts +4 -0
- package/src/components/uploader/types.ts +14 -0
- package/src/consts.ts +2 -0
- package/src/context.ts +27 -0
- package/src/errors.ts +25 -0
- package/src/exports.ts +9 -0
- package/src/helper.ts +8 -0
- package/src/i18n/auth-en.json +5 -0
- package/src/i18n.ts +5 -0
- package/src/index.ts +13 -0
- package/src/main.tsx +25 -0
- package/src/modules.ts +9 -0
- package/src/router.ts +7 -0
- package/src/service.ts +41 -0
- package/src/types.ts +17 -0
- package/tsconfig.json +15 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/uploader/component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAGlE,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAStC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useDropzone } from 'react-dropzone';
|
|
3
|
+
export const Uploader = ({ Root, rootProps, children, ...opts }) => {
|
|
4
|
+
Root ??= DefaultRoot;
|
|
5
|
+
rootProps ??= { styles: { cursor: 'pointer' } };
|
|
6
|
+
const { getRootProps, getInputProps } = useDropzone(opts);
|
|
7
|
+
return _jsxs(Root, { ...rootProps, ...getRootProps(), children: [_jsx("input", { ...getInputProps() }), children] });
|
|
8
|
+
};
|
|
9
|
+
const DefaultRoot = ({ children, ...props }) => _jsx("span", { ...props, children: children });
|
|
10
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/uploader/component.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACpF,IAAI,KAAK,WAAW,CAAA;IACpB,SAAS,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAA;IAE/C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACzD,OAAO,MAAC,IAAI,OAAK,SAAS,KAAM,YAAY,EAAE,aAC5C,mBAAW,aAAa,EAAE,GAAI,EAC7B,QAAQ,IACJ,CAAA;AACT,CAAC,CAAA;AAED,MAAM,WAAW,GAA0B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACpE,kBAAU,KAAK,YAAG,QAAQ,GAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/components/uploader/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,aAAa,CAK3C,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Uploader } from './component.js';
|
|
3
|
+
export const ImageUploader = ({ children, ...props }) => {
|
|
4
|
+
// props.accept ??= { 'image/*': [] }
|
|
5
|
+
props.maxSize ??= 5 * 1024 * 1024;
|
|
6
|
+
return _jsx(Uploader, { ...props, children: children });
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/components/uploader/image.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,CAAC,MAAM,aAAa,GAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACzE,qCAAqC;IACrC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;IAEjC,OAAO,KAAC,QAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,CAAA;AACnD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/uploader/index.ts"],"names":[],"mappings":"AACA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/uploader/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PropsWithChildren } from 'react';
|
|
2
|
+
import type { FC } from 'react';
|
|
3
|
+
import type { DropzoneRootProps, DropzoneOptions } from 'react-dropzone';
|
|
4
|
+
interface RootProps extends Record<string, unknown> {
|
|
5
|
+
}
|
|
6
|
+
export interface UploaderProps extends PropsWithChildren<DropzoneOptions> {
|
|
7
|
+
Root?: FC<PropsWithChildren<any>>;
|
|
8
|
+
rootProps?: RootProps;
|
|
9
|
+
}
|
|
10
|
+
export interface UploaderRootProps extends PropsWithChildren<RootProps>, DropzoneRootProps {
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/uploader/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAExE,UAAU,SAAU,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IACvE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IACjC,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,SAAS,CAAC,EAAE,iBAAiB;CACzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/uploader/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,SAAS,CAAA"}
|
package/build/consts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AppConfig, AppContext } from './types.js';
|
|
2
|
+
export declare const makeContext: <C extends AppConfig = AppConfig, T extends AppContext<C> = AppContext<C>>(cfg: C) => T;
|
|
3
|
+
export declare const useContext: <C extends AppConfig = AppConfig, T extends AppContext<C> = AppContext<C>>() => T;
|
|
4
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAQlD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,uBAC7E,CAAC,KACL,CAWF,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,SAAS,cAAa,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,wBACnE,CAAA"}
|
package/build/context.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { makeClientContext } from '@owlmeans/client';
|
|
2
|
+
import { AUTH_RESOURCE } from '@owlmeans/client-auth';
|
|
3
|
+
import { appendWebDbService } from '@owlmeans/web-db';
|
|
4
|
+
import { appendClientResource } from '@owlmeans/client-resource';
|
|
5
|
+
import { useContext as useCtx } from '@owlmeans/client';
|
|
6
|
+
import { extractPrimaryHost } from './helper.js';
|
|
7
|
+
import { appendWebAuthService } from './service.js';
|
|
8
|
+
export const makeContext = (cfg) => {
|
|
9
|
+
const context = makeClientContext(cfg);
|
|
10
|
+
extractPrimaryHost(context);
|
|
11
|
+
appendWebAuthService(context);
|
|
12
|
+
appendWebDbService(context);
|
|
13
|
+
appendClientResource(context, AUTH_RESOURCE);
|
|
14
|
+
context.makeContext = makeContext;
|
|
15
|
+
return context;
|
|
16
|
+
};
|
|
17
|
+
export const useContext = () => useCtx();
|
|
18
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAM,EACH,EAAE;IACL,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAM,CAAA;IAC3C,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,EAAE,aAAa,CAAC,CAAA;IAElD,OAAO,CAAC,WAAW,GAAG,WAAyC,CAAA;IAE/D,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAA4E,EAAE,CACtG,MAAM,EAAO,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComponentError } from '@owlmeans/client';
|
|
2
|
+
export declare class UploaderError extends ComponentError {
|
|
3
|
+
static typeName: string;
|
|
4
|
+
constructor(message?: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class FileUploadingError extends UploaderError {
|
|
7
|
+
static typeName: string;
|
|
8
|
+
original: Error | undefined;
|
|
9
|
+
constructor(message?: string);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAE/C,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAuB,QAAQ,EAAE,MAAM,CAAuC;gBAElE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAuB,QAAQ,EAAE,MAAM,CAA2C;IAE3E,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;gBAEtB,OAAO,GAAE,MAAgB;CAItC"}
|
package/build/errors.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComponentError } from '@owlmeans/client';
|
|
2
|
+
export class UploaderError extends ComponentError {
|
|
3
|
+
static typeName = `${ComponentError.typeName}Uploader`;
|
|
4
|
+
constructor(message = 'error') {
|
|
5
|
+
super(`uploader:${message}`);
|
|
6
|
+
this.type = UploaderError.typeName;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class FileUploadingError extends UploaderError {
|
|
10
|
+
static typeName = `${UploaderError.typeName}FileUploading`;
|
|
11
|
+
original;
|
|
12
|
+
constructor(message = 'error') {
|
|
13
|
+
super(`file-uploading:${message}`);
|
|
14
|
+
this.type = FileUploadingError.typeName;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ComponentError.registerErrorClass(UploaderError);
|
|
18
|
+
ComponentError.registerErrorClass(FileUploadingError);
|
|
19
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAE/C,MAAM,OAAO,aAAc,SAAQ,cAAc;IACxC,MAAM,CAAU,QAAQ,GAAW,GAAG,cAAc,CAAC,QAAQ,UAAU,CAAA;IAE9E,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAA;IACpC,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAC5C,MAAM,CAAU,QAAQ,GAAW,GAAG,aAAa,CAAC,QAAQ,eAAe,CAAA;IAE3E,QAAQ,CAAmB;IAElC,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAA;IACzC,CAAC;;AAGH,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAChD,cAAc,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { handler } from '@owlmeans/client';
|
|
2
|
+
export { config } from '@owlmeans/client-context';
|
|
3
|
+
export { service } from '@owlmeans/config';
|
|
4
|
+
export { AppType, HOME, ROOT, BASE, GUEST } from '@owlmeans/context';
|
|
5
|
+
export { module, elevate, provideRequest, stab } from '@owlmeans/client-module';
|
|
6
|
+
export { route, frontend } from '@owlmeans/route';
|
|
7
|
+
export type { ClientModule as Module } from '@owlmeans/client-module';
|
|
8
|
+
export type { ClientRoute as Route } from '@owlmeans/client-route';
|
|
9
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrE,YAAY,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,wBAAwB,CAAA"}
|
package/build/exports.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { handler } from '@owlmeans/client';
|
|
2
|
+
export { config } from '@owlmeans/client-context';
|
|
3
|
+
export { service } from '@owlmeans/config';
|
|
4
|
+
export { AppType, HOME, ROOT, BASE, GUEST } from '@owlmeans/context';
|
|
5
|
+
export { module, elevate, provideRequest, stab } from '@owlmeans/client-module';
|
|
6
|
+
export { route, frontend } from '@owlmeans/route';
|
|
7
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvD,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,SAAS,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,SAKtH,CAAA"}
|
package/build/helper.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const extractPrimaryHost = (context) => {
|
|
2
|
+
if (typeof window !== 'undefined') {
|
|
3
|
+
context.cfg.primaryHost = window.location.hostname;
|
|
4
|
+
context.cfg.primaryPort = window.location.port != null && window.location.port != '' ? parseInt(window.location.port) : undefined;
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAA2E,OAAU,EAAE,EAAE;IACzH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;QAClD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnI,CAAC;AACH,CAAC,CAAA"}
|
package/build/i18n.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":""}
|
package/build/i18n.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './consts.js';
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export * from './main.js';
|
|
4
|
+
export * from './router.js';
|
|
5
|
+
export * from './components/index.js';
|
|
6
|
+
export * from './modules.js';
|
|
7
|
+
export * from './exports.js';
|
|
8
|
+
export * from './context.js';
|
|
9
|
+
export * from './helper.js';
|
|
10
|
+
export * from './i18n.js';
|
|
11
|
+
export * from './service.js';
|
|
12
|
+
export * from './errors.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './consts.js';
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export * from './main.js';
|
|
4
|
+
export * from './router.js';
|
|
5
|
+
export * from './components/index.js';
|
|
6
|
+
export * from './modules.js';
|
|
7
|
+
export * from './exports.js';
|
|
8
|
+
export * from './context.js';
|
|
9
|
+
export * from './helper.js';
|
|
10
|
+
export * from './i18n.js';
|
|
11
|
+
export * from './service.js';
|
|
12
|
+
export * from './errors.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
package/build/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,MAAM,SAAU,SAAS,SAAS,aAAa,SAkB3D,CAAA"}
|
package/build/main.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRoot, hydrateRoot } from 'react-dom/client';
|
|
2
|
+
import { DEFAULT_ROOT } from './consts.js';
|
|
3
|
+
export const render = (node, opts) => {
|
|
4
|
+
const _callback = () => {
|
|
5
|
+
const key = opts?.domId ?? DEFAULT_ROOT;
|
|
6
|
+
const root = document.getElementById(key);
|
|
7
|
+
if (opts?.debug) {
|
|
8
|
+
console.debug(`Render react app to ${key}`);
|
|
9
|
+
}
|
|
10
|
+
if (root == null) {
|
|
11
|
+
throw new Error(`Root element not found with id: ${key}`);
|
|
12
|
+
}
|
|
13
|
+
if (opts?.hydrate === true) {
|
|
14
|
+
hydrateRoot(root, node);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
createRoot(root).render(node);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
opts?.onReady ?? true ? window.addEventListener('DOMContentLoaded', _callback) : _callback();
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAe,EAAE,IAAoB,EAAE,EAAE;IAC9D,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,IAAI,YAAY,CAAA;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;IAED,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAC9F,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO,2GAAO,CAAA"}
|
package/build/modules.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DISPATCHER } from '@owlmeans/auth';
|
|
2
|
+
import { modules as list } from '@owlmeans/client-auth';
|
|
3
|
+
import { elevate } from '@owlmeans/client-module';
|
|
4
|
+
import { handler } from '@owlmeans/client';
|
|
5
|
+
import { Dispatcher } from './components/dispatcher/component.js';
|
|
6
|
+
elevate(list, DISPATCHER, handler(Dispatcher), { force: true });
|
|
7
|
+
export const modules = list;
|
|
8
|
+
//# sourceMappingURL=modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEjE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,eAAO,MAAM,OAAO,EAAE,cAErB,CAAA"}
|
package/build/router.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,CAAC,MAAM,OAAO,GAAmB,CAAC,MAAM,EAAE,EAAE;IAChD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AuthServiceAppend } from '@owlmeans/client-auth';
|
|
2
|
+
import type { AuthService } from '@owlmeans/auth-common';
|
|
3
|
+
import type { ClientConfig, ClientContext } from '@owlmeans/client-context';
|
|
4
|
+
export declare const makeAuthWebService: (alias?: string) => AuthService;
|
|
5
|
+
export declare const appendWebAuthService: <C extends ClientConfig, T extends ClientContext<C>>(ctx: T, alias?: string) => T & AuthServiceAppend;
|
|
6
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG3E,eAAO,MAAM,kBAAkB,WAAW,MAAM,KAAmB,WAclE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,OAChF,CAAC,UAAS,MAAM,KACpB,CAAC,GAAG,iBAYN,CAAA"}
|
package/build/service.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DEFAULT_ALIAS } from '@owlmeans/client-auth';
|
|
2
|
+
import { makeAuthService } from '@owlmeans/client-auth';
|
|
3
|
+
import { DISPATCHER } from '@owlmeans/auth';
|
|
4
|
+
import { authMiddleware } from '@owlmeans/auth-common';
|
|
5
|
+
export const makeAuthWebService = (alias = DEFAULT_ALIAS) => {
|
|
6
|
+
const service = makeAuthService(alias);
|
|
7
|
+
const update = service.update;
|
|
8
|
+
service.update = async (token) => {
|
|
9
|
+
await update(token);
|
|
10
|
+
if (token == null) {
|
|
11
|
+
const module = service.assertCtx().module(DISPATCHER);
|
|
12
|
+
const [url] = await module.call();
|
|
13
|
+
document.location.href = url;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
return service;
|
|
17
|
+
};
|
|
18
|
+
export const appendWebAuthService = (ctx, alias = DEFAULT_ALIAS) => {
|
|
19
|
+
const service = makeAuthWebService(alias);
|
|
20
|
+
const context = ctx;
|
|
21
|
+
context.registerService(service);
|
|
22
|
+
context.registerMiddleware(authMiddleware);
|
|
23
|
+
context.auth = () => ctx.service(service.alias);
|
|
24
|
+
return context;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,aAAa,EAAe,EAAE;IAC/E,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,OAAO,CAAC,MAAM,GAAG,KAAK,EAAC,KAAK,EAAC,EAAE;QAC7B,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAuB,UAAU,CAAC,CAAA;YAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,GAAM,EAAE,QAAgB,aAAa,EACd,EAAE;IACzB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG,GAA4B,CAAA;IAE5C,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEhC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAE1C,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
package/build/types.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AuthServiceAppend } from '@owlmeans/client-auth';
|
|
2
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
3
|
+
import type { ClientContext } from '@owlmeans/client';
|
|
4
|
+
export interface RenderOptions {
|
|
5
|
+
domId?: string;
|
|
6
|
+
onReady?: boolean;
|
|
7
|
+
hydrate?: boolean;
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface AppConfig extends ClientConfig {
|
|
11
|
+
}
|
|
12
|
+
export interface AppContext<C extends AppConfig = AppConfig> extends ClientContext<C>, AuthServiceAppend {
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;CAC9C;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EACnF,iBAAiB;CAClB"}
|
package/build/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@owlmeans/web-client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "tsc -b",
|
|
7
|
+
"dev": "sleep 354 && nodemon -e ts,tsx,json --watch src --exec \"tsc -p ./tsconfig.json\"",
|
|
8
|
+
"watch": "tsc -b -w --preserveWatchOutput --pretty"
|
|
9
|
+
},
|
|
10
|
+
"main": "build/index.js",
|
|
11
|
+
"module": "build/index.js",
|
|
12
|
+
"types": "build/index.d.ts",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"import": "./build/index.js",
|
|
16
|
+
"require": "./build/index.js",
|
|
17
|
+
"default": "./build/index.js",
|
|
18
|
+
"module": "./build/index.js",
|
|
19
|
+
"types": "./build/index.d.ts"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@owlmeans/auth": "^0.1.0",
|
|
24
|
+
"@owlmeans/auth-common": "^0.1.0",
|
|
25
|
+
"@owlmeans/client": "^0.1.0",
|
|
26
|
+
"@owlmeans/client-auth": "^0.1.0",
|
|
27
|
+
"@owlmeans/client-context": "^0.1.0",
|
|
28
|
+
"@owlmeans/client-i18n": "^0.1.0",
|
|
29
|
+
"@owlmeans/client-module": "^0.1.0",
|
|
30
|
+
"@owlmeans/client-resource": "^0.1.0",
|
|
31
|
+
"@owlmeans/client-route": "^0.1.0",
|
|
32
|
+
"@owlmeans/config": "^0.1.0",
|
|
33
|
+
"@owlmeans/context": "^0.1.0",
|
|
34
|
+
"@owlmeans/error": "^0.1.0",
|
|
35
|
+
"@owlmeans/i18n": "^0.1.0",
|
|
36
|
+
"@owlmeans/route": "^0.1.0",
|
|
37
|
+
"@owlmeans/web-db": "^0.1.0",
|
|
38
|
+
"react-dropzone": "^14.3.5"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"react": "*",
|
|
42
|
+
"react-dom": "*",
|
|
43
|
+
"react-router-dom": "*"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/react": "^18.3.11",
|
|
47
|
+
"@types/react-dom": "^18.3.0",
|
|
48
|
+
"nodemon": "^3.1.7",
|
|
49
|
+
"npm-check": "^6.0.1",
|
|
50
|
+
"react-router-dom": "^6.26.2",
|
|
51
|
+
"typescript": "^5.6.3"
|
|
52
|
+
},
|
|
53
|
+
"private": false,
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DispatcherHOC } from '@owlmeans/client-auth'
|
|
2
|
+
import { useEffect } from 'react'
|
|
3
|
+
import { useSearchParams } from 'react-router-dom'
|
|
4
|
+
import { useI18nLib } from '@owlmeans/client-i18n'
|
|
5
|
+
import { AUTH_QUERY } from '@owlmeans/auth'
|
|
6
|
+
import { useContext } from '../../context.js'
|
|
7
|
+
|
|
8
|
+
export const Dispatcher = DispatcherHOC(({ provideToken }) => {
|
|
9
|
+
const [query] = useSearchParams()
|
|
10
|
+
const context = useContext()
|
|
11
|
+
|
|
12
|
+
const t = useI18nLib('auth', 'dispatcher')
|
|
13
|
+
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const token = query.get(AUTH_QUERY)
|
|
16
|
+
if (token != null) {
|
|
17
|
+
const params: Record<string, string> = {}
|
|
18
|
+
query.forEach((value, key) => {
|
|
19
|
+
if (key !== AUTH_QUERY) {
|
|
20
|
+
params[key] = value
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
provideToken({ token }, params)
|
|
25
|
+
} else {
|
|
26
|
+
context.auth().authenticated().then(authzToken => {
|
|
27
|
+
if (authzToken == null) {
|
|
28
|
+
provideToken({ token: '' }, undefined)
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
}, [])
|
|
33
|
+
|
|
34
|
+
return query.has(AUTH_QUERY) ? <div style={{
|
|
35
|
+
width: '100%', // Makes the div occupy the full width
|
|
36
|
+
display: 'flex', // Enables flexbox layout
|
|
37
|
+
justifyContent: 'center', // Centers content horizontally
|
|
38
|
+
alignItems: 'center', // Centers content vertically (if needed)
|
|
39
|
+
textAlign: 'center', // Centers text within the div
|
|
40
|
+
paddingTop: '1rem', // Adds some vertical padding
|
|
41
|
+
paddingBottom: '1rem', // Adds some vertical padding
|
|
42
|
+
}}>{t('loading')}</div> : undefined
|
|
43
|
+
})
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FC } from 'react'
|
|
2
|
+
import type { UploaderProps, UploaderRootProps } from './types.js'
|
|
3
|
+
import { useDropzone } from 'react-dropzone'
|
|
4
|
+
|
|
5
|
+
export const Uploader: FC<UploaderProps> = ({ Root, rootProps, children, ...opts }) => {
|
|
6
|
+
Root ??= DefaultRoot
|
|
7
|
+
rootProps ??= { styles: { cursor: 'pointer' } }
|
|
8
|
+
|
|
9
|
+
const { getRootProps, getInputProps } = useDropzone(opts)
|
|
10
|
+
return <Root {...rootProps} {...getRootProps()}>
|
|
11
|
+
<input {...getInputProps()} />
|
|
12
|
+
{children}
|
|
13
|
+
</Root>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const DefaultRoot: FC<UploaderRootProps> = ({ children, ...props }) =>
|
|
17
|
+
<span {...props}>{children}</span>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FC } from 'react'
|
|
2
|
+
import { Uploader } from './component.js'
|
|
3
|
+
import type { UploaderProps } from './types.js'
|
|
4
|
+
|
|
5
|
+
export const ImageUploader: FC<UploaderProps> = ({ children, ...props }) => {
|
|
6
|
+
// props.accept ??= { 'image/*': [] }
|
|
7
|
+
props.maxSize ??= 5 * 1024 * 1024
|
|
8
|
+
|
|
9
|
+
return <Uploader {...props}>{children}</Uploader>
|
|
10
|
+
}
|