@zyzgroup/core-web 0.0.3 → 0.0.5

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 (51) hide show
  1. package/dist/zyzgroup_core_web.iife.js +12 -0
  2. package/dist/zyzgroup_core_web.iife.js.map +1 -0
  3. package/dist/zyzgroup_core_web.js +1250 -0
  4. package/dist/zyzgroup_core_web.js.map +1 -0
  5. package/dist/zyzgroup_core_web.umd.cjs +12 -0
  6. package/dist/zyzgroup_core_web.umd.cjs.map +1 -0
  7. package/package.json +6 -5
  8. package/types/Canvas2Image.d.ts +13 -0
  9. package/types/Canvas2Image.d.ts.map +1 -0
  10. package/types/DOMKeyboardKeyCode.d.ts +11 -0
  11. package/types/DOMKeyboardKeyCode.d.ts.map +1 -0
  12. package/types/canvas.d.ts +2 -0
  13. package/types/canvas.d.ts.map +1 -0
  14. package/types/cookie.d.ts +5 -0
  15. package/types/cookie.d.ts.map +1 -0
  16. package/types/dom.d.ts +20 -0
  17. package/types/dom.d.ts.map +1 -0
  18. package/types/env.d.ts +17 -0
  19. package/types/env.d.ts.map +1 -0
  20. package/types/error.d.ts +1 -0
  21. package/types/error.d.ts.map +1 -0
  22. package/types/fetch.d.ts +12 -0
  23. package/types/fetch.d.ts.map +1 -0
  24. package/types/file.d.ts +1 -0
  25. package/types/file.d.ts.map +1 -0
  26. package/types/image.d.ts +4 -0
  27. package/types/image.d.ts.map +1 -0
  28. package/types/index.d.ts +18 -0
  29. package/types/index.d.ts.map +1 -0
  30. package/types/microTask.d.ts +2 -0
  31. package/types/microTask.d.ts.map +1 -0
  32. package/types/mouse.d.ts +2 -0
  33. package/types/mouse.d.ts.map +1 -0
  34. package/types/onDocumentReady.d.ts +2 -0
  35. package/types/onDocumentReady.d.ts.map +1 -0
  36. package/types/patchDOM.d.ts +2 -0
  37. package/types/patchDOM.d.ts.map +1 -0
  38. package/types/position.d.ts +42 -0
  39. package/types/position.d.ts.map +1 -0
  40. package/types/rem.d.ts +2 -0
  41. package/types/rem.d.ts.map +1 -0
  42. package/types/theme.d.ts +2 -0
  43. package/types/theme.d.ts.map +1 -0
  44. package/types/url.d.ts +7 -0
  45. package/types/url.d.ts.map +1 -0
  46. package/types/websocket.d.ts +16 -0
  47. package/types/websocket.d.ts.map +1 -0
  48. package/dist/zyzgroup-core-web.js +0 -156
  49. package/dist/zyzgroup-core-web.js.map +0 -1
  50. package/dist/zyzgroup-core-web.umd.cjs +0 -2
  51. package/dist/zyzgroup-core-web.umd.cjs.map +0 -1
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@zyzgroup/core-web",
3
3
  "private": false,
4
- "version": "0.0.3",
4
+ "version": "0.0.5",
5
5
  "type": "module",
6
- "main": "dist/zyzgroup-core-web.umd.cjs",
7
- "module": "dist/zyzgroup-core-web.js",
6
+ "main": "dist/zyzgroup_core_web.umd.cjs",
7
+ "module": "dist/zyzgroup_core_web.js",
8
+ "browser": "dist/zyzgroup_core_web.iife.js",
8
9
  "types": "types/index.d.ts",
9
10
  "exports": {
10
11
  ".": {
11
- "require": "./dist/zyzgroup-core-web.umd.cjs",
12
- "import": "./dist/zyzgroup-core-web.js"
12
+ "require": "./dist/zyzgroup_core_web.umd.cjs",
13
+ "import": "./dist/zyzgroup_core_web.js"
13
14
  }
14
15
  },
15
16
  "files": [
@@ -0,0 +1,13 @@
1
+ export declare const Canvas2Image: (contextType: string) => {
2
+ saveAsImage: (canvas: HTMLCanvasElement, width: number, height: number, type: string, fileName: string) => void;
3
+ saveAsPNG: (canvas: HTMLCanvasElement, width: number, height: number, fileName: string) => void;
4
+ saveAsJPEG: (canvas: HTMLCanvasElement, width: number, height: number, fileName: string) => void;
5
+ saveAsGIF: (canvas: HTMLCanvasElement, width: number, height: number, fileName: string) => void;
6
+ saveAsBMP: (canvas: HTMLCanvasElement, width: number, height: number, fileName: string) => void;
7
+ convertToImage: (canvas: HTMLCanvasElement, width: number, height: number, type: string) => HTMLImageElement | undefined;
8
+ convertToPNG: (canvas: HTMLCanvasElement, width: number, height: number) => HTMLImageElement | undefined;
9
+ convertToJPEG: (canvas: HTMLCanvasElement, width: number, height: number) => HTMLImageElement | undefined;
10
+ convertToGIF: (canvas: HTMLCanvasElement, width: number, height: number) => HTMLImageElement | undefined;
11
+ convertToBMP: (canvas: HTMLCanvasElement, width: number, height: number) => HTMLImageElement | undefined;
12
+ };
13
+ //# sourceMappingURL=Canvas2Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas2Image.d.ts","sourceRoot":"","sources":["../src/Canvas2Image.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,gBAA0B,MAAM;0BA6Q7C,iBAAiB,SAClB,MAAM,UACL,MAAM,QACR,MAAM,YACF,MAAM;wBAsDN,iBAAiB,SAClB,MAAM,UACL,MAAM,YACJ,MAAM;yBAKR,iBAAiB,SAClB,MAAM,UACL,MAAM,YACJ,MAAM;wBAKR,iBAAiB,SAClB,MAAM,UACL,MAAM,YACJ,MAAM;wBAKR,iBAAiB,SAClB,MAAM,UACL,MAAM,YACJ,MAAM;6BAvDV,iBAAiB,SAClB,MAAM,UACL,MAAM,QACR,MAAM;2BA2DF,iBAAiB,SAClB,MAAM,UACL,MAAM;4BAKN,iBAAiB,SAClB,MAAM,UACL,MAAM;2BAKN,iBAAiB,SAClB,MAAM,UACL,MAAM;2BAKN,iBAAiB,SAClB,MAAM,UACL,MAAM;CAKnB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare class DOMKeyboardKeyCode {
2
+ static getEvent(event: KeyboardEvent): {
3
+ code: number;
4
+ key: string;
5
+ };
6
+ static keyToCode(keyName: string): number;
7
+ static codeToKey(code: number): string;
8
+ private static keyToCodes;
9
+ private static codeToKeys;
10
+ }
11
+ //# sourceMappingURL=DOMKeyboardKeyCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMKeyboardKeyCode.d.ts","sourceRoot":"","sources":["../src/DOMKeyboardKeyCode.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;WACf,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;WAiB7D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WAqBlC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAa7C,OAAO,CAAC,MAAM,CAAC,UAAU,CAoGvB;IAEF,OAAO,CAAC,MAAM,CAAC,UAAU,CAoGvB;CACH"}
@@ -0,0 +1,2 @@
1
+ export function drawCanvasInWeb(canvasID: any, cb: any): void;
2
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../src/canvas.js"],"names":[],"mappings":"AAkBO,8DAUN"}
@@ -0,0 +1,5 @@
1
+ export function setCookie(cname: any, cvalue: any, exdays: any): void;
2
+ export function getCookie(cname: any): string;
3
+ export function getCookieObject(): {};
4
+ export function clearCookies(): void;
5
+ //# sourceMappingURL=cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../src/cookie.js"],"names":[],"mappings":"AAAA,sEAKC;AAED,8CASC;AAGM,sCAIsE;AAGtE,qCAQF"}
package/types/dom.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export function loadScript(src: any): void;
2
+ export function saferHTML(templateData: any, ...args: any[]): any;
3
+ export function templateCompile(template: any): string;
4
+ export function addEventListener(element: any, type: any, handler: any): void;
5
+ export function removeEventListener(element: any, type: any, handler: any): void;
6
+ export function stopPropagation(event: any): void;
7
+ export function preventDefault(event: any): void;
8
+ export function getEvent(event: any): any;
9
+ export function getTarget(event: any): any;
10
+ export function getRelatedTarget(event: any): any;
11
+ export function isBrowserSupportFileAPI(): boolean;
12
+ export function copyToClipboard(text: any): Promise<void>;
13
+ export function getSelectedText(): string;
14
+ export function isFocus(ele: any): boolean;
15
+ export function siblings(ele: any): never[];
16
+ export function scrollToTop(): void;
17
+ export function isTabInView(): boolean;
18
+ export function navigateBack(): void;
19
+ export function navigateBack2(): void;
20
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.js"],"names":[],"mappings":"AAoBA,2CAQC;AAcD,kEAYC;AAED,uDAuBC;AAKD,8EAWC;AAKD,iFAQC;AAKD,kDAMC;AAKD,iDAMC;AAKD,0CAGC;AAKD,2CAEC;AAED,kDAUC;AAED,mDAOC;AAtKM,0DAAqE;AAErE,0CAA8D;AAG9D,2CAAuD;AAGvD,4CACkE;AAGlE,oCAA+C;AAG/C,uCAA0C;AAE1C,qCAAyC;AACzC,sCAA0C"}
package/types/env.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ export function getBrowserUserAgent(): {
2
+ trident: boolean;
3
+ presto: boolean;
4
+ webKit: boolean;
5
+ gecko: boolean;
6
+ mobile: boolean;
7
+ ios: boolean;
8
+ android: boolean;
9
+ iPhone: boolean;
10
+ iPad: boolean;
11
+ webApp: boolean;
12
+ };
13
+ export function getBrowserLanguage(): any;
14
+ export function isIOS(): boolean;
15
+ export function isAndroid(): boolean;
16
+ export function isMobile(): boolean;
17
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAeC;AAED,0CAEC;AAED,iCAcC;AAED,qCAEC;AAED,oCAEC"}
package/types/error.d.ts CHANGED
@@ -12,3 +12,4 @@ export declare class IllegalFileError extends BaseError {
12
12
  accepts: string[];
13
13
  constructor(accepts: string[]);
14
14
  }
15
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,gBAAiB,SAAQ,SAAS;;CAI9C;AAED,qBAAa,qBAAsB,SAAQ,SAAS;;CAInD;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE;CAI9B"}
@@ -0,0 +1,12 @@
1
+ export function createXMLHttpRequest(): any;
2
+ export function getFormElementData(oFormElement: any): {
3
+ url: any;
4
+ data: FormData;
5
+ } | {
6
+ url: any;
7
+ data: null;
8
+ } | undefined;
9
+ export function fetchUseXMLHttpRequest(url: any, timeout: any): Promise<any>;
10
+ export function fetchUseFetch(url: any, options: any, data: any): Promise<any>;
11
+ export function ifWebFileHasChanged(sURL: any, fCallback: any): void;
12
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.js"],"names":[],"mappings":"AAAA,4CA0BC;AAED;;;;;;cA2EC;AAED,6EAiEC;AAED,+EAoBC;AAaD,qEAgBC"}
package/types/file.d.ts CHANGED
@@ -20,3 +20,4 @@ export declare function file2Image(file: File, options?: {
20
20
  width?: number;
21
21
  height?: number;
22
22
  }): HTMLImageElement | undefined;
23
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,gBAAgB,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,GAAG,QASpC;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,WAAW,EACvB,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,GAAG,QAqBpC;AASD,eAAO,MAAM,UAAU,aACZ,MAAM,EAAE,aACN,OAAO,KACjB,QAAQ,IAAI,EAAE,CA8ChB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,SAAS,uDACP,WAAW,eAsBzB,CAAC;AAQF,eAAO,MAAM,gBAAgB,SAAU,IAAI,GAAG,MAAM,KAAG,MAQtD,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,IAAI,KAAG,OAEpC,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,IAAI,KAAG,OAEpC,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,IAAI,KAAG,OAEpC,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,IAAI,KAAG,OAI3C,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,OAI5C,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,IAAI,KAAG,OAIjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,IAAI,KAAG,OAE3C,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,IAAI,KAAG,OAE1C,CAAC;AAMF,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,oBA+BrC;AAKD,wBAAgB,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,UAMvD;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,gCAaF"}
@@ -0,0 +1,4 @@
1
+ export function loadImageAsync(url: any): Promise<any>;
2
+ export function lazyloadImages(): void;
3
+ export function getImageColor(imgsrc: any): string;
4
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.js"],"names":[],"mappings":"AAEA,uDAWC;AAMD,uCAgBC;AAMD,mDA4BC"}
package/types/index.d.ts CHANGED
@@ -1,2 +1,20 @@
1
1
  export * from "./error";
2
2
  export * from "./file";
3
+ export * from "./onDocumentReady";
4
+ export * from "./microTask";
5
+ export * from "./patchDOM";
6
+ export * from "./cookie";
7
+ export * from "./websocket";
8
+ export * from "./position";
9
+ export * from "./mouse";
10
+ export * from "./env";
11
+ export * from "./rem";
12
+ export * from "./url";
13
+ export * from "./theme";
14
+ export * from "./DOMKeyboardKeyCode";
15
+ export * from "./dom";
16
+ export * from "./canvas";
17
+ export * from "./image";
18
+ export * from "./Canvas2Image";
19
+ export * from "./fetch";
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function microTask(cb: () => void): void;
2
+ //# sourceMappingURL=microTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microTask.d.ts","sourceRoot":"","sources":["../src/microTask.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,QAYvC"}
@@ -0,0 +1,2 @@
1
+ export function getMouseButton(event: any): any;
2
+ //# sourceMappingURL=mouse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../src/mouse.js"],"names":[],"mappings":"AAIA,gDAkBC"}
@@ -0,0 +1,2 @@
1
+ export declare function onDocumentReady(cb: () => void): void;
2
+ //# sourceMappingURL=onDocumentReady.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onDocumentReady.d.ts","sourceRoot":"","sources":["../src/onDocumentReady.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,QAW7C"}
@@ -0,0 +1,2 @@
1
+ export declare function patchDOM(oldNode: HTMLElement, newNode: HTMLElement, parent: HTMLElement): void;
2
+ //# sourceMappingURL=patchDOM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchDOM.d.ts","sourceRoot":"","sources":["../src/patchDOM.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CACtB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,WAAW,QAmDpB"}
@@ -0,0 +1,42 @@
1
+ export declare function getDocumentElement(): HTMLElement;
2
+ export declare function getViewportSize(): {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ export declare function getPageSize(): {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ export declare function isElementInViewport(el: HTMLElement): boolean;
11
+ export declare function getPageScroll(): {
12
+ scrollLeft: number;
13
+ scrollTop: number;
14
+ };
15
+ export declare function getPageClient(): {
16
+ clientLeft: number;
17
+ clientTop: number;
18
+ };
19
+ export declare function getElementLeftInPage(element: HTMLElement): number;
20
+ export declare function getElementTopInPage(element: HTMLElement): number;
21
+ export declare function getElementPositionInPage2(element: HTMLElement): {
22
+ x: number;
23
+ y: number;
24
+ };
25
+ export declare function getElementPositionInPage(element: HTMLElement): {
26
+ x: number;
27
+ y: number;
28
+ };
29
+ export declare function getElementPositionInViewport(element: HTMLElement): {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ export declare function getPageVerticalScrollPercent(): number;
34
+ export declare function getMousePositionInPage(ev: MouseEvent): {
35
+ x: number;
36
+ y: number;
37
+ };
38
+ export declare function getMousePositionInViewport(ev: MouseEvent): {
39
+ x: number;
40
+ y: number;
41
+ };
42
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../src/position.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,gBAMjC;AAGD,wBAAgB,eAAe;;;EAM9B;AAGD,wBAAgB,WAAW;;;EAO1B;AAiBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,WASlD;AAGD,wBAAgB,aAAa;;;EAM5B;AAED,wBAAgB,aAAa;;;EAM5B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,UAQxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,UAQvD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW;;;EAK7D;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW;;;EAQ5D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,WAAW;;;EAMhE;AAID,wBAAgB,4BAA4B,WAK3C;AAGD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU;;;EAUpD;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,UAAU;;;EAKxD"}
package/types/rem.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export function setRem(designWidth: any): void;
2
+ //# sourceMappingURL=rem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rem.d.ts","sourceRoot":"","sources":["../src/rem.js"],"names":[],"mappings":"AAEA,+CAqEC"}
@@ -0,0 +1,2 @@
1
+ export declare function setTheme(theme?: string): void;
2
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,QAStC"}
package/types/url.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export function urlsafe_b64encode(str: any): string;
2
+ export function urlsafe_b64decode(base64UrlStr: any): string;
3
+ export function checkHttpUrl(string: any): boolean;
4
+ export function getSearchData(): {};
5
+ export function isURLRelative(path: any): boolean;
6
+ export function getUrlParams(query: any): {};
7
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../src/url.js"],"names":[],"mappings":"AAaA,oDAKC;AAGD,6DAOC;AAID,mDAWC;AASD,oCAaC;AAnCM,kDAA+D;AAqC/D,6CAOJ"}
@@ -0,0 +1,16 @@
1
+ export class WebSocket {
2
+ constructor(url: any);
3
+ waitingResponse: any[];
4
+ messageQueue: any[];
5
+ url: any;
6
+ createSocket(): void;
7
+ socket: WebSocket | undefined;
8
+ recreateSocket(message: any): void;
9
+ closeSocket(): void;
10
+ openSocket(): void;
11
+ sendPayload(details: any): Promise<any>;
12
+ processMessage(msg: any): Promise<void>;
13
+ sendRequest(details: any, resolution: any, rejection?: (error: any) => void): Promise<void>;
14
+ sendMessage(details: any): void;
15
+ }
16
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.js"],"names":[],"mappings":"AAEA;IACE,sBAiBC;IAbC,uBAAyB;IAMzB,oBAAsB;IAEtB,SAAc;IAYhB,qBA0BC;IAzBC,8BAAqC;IA6BvC,mCAIC;IAKD,oBAGC;IAKD,mBAGC;IAED,wCA4DC;IA0BD,wCAmBC;IAKD,4FAeC;IAUD,gCAiBC;CACF"}
@@ -1,156 +0,0 @@
1
- class a extends Error {
2
- cause;
3
- constructor(n, t) {
4
- super(n, t), this.name = this.constructor.name;
5
- }
6
- }
7
- class l extends a {
8
- constructor() {
9
- super("This is not a browser environment");
10
- }
11
- }
12
- class c extends a {
13
- constructor() {
14
- super("Cancel select");
15
- }
16
- }
17
- class d extends a {
18
- accepts;
19
- constructor(n) {
20
- super(`Please select files in ${n} format`), this.accepts = n;
21
- }
22
- }
23
- function f(e, n) {
24
- e.addEventListener(
25
- "change",
26
- function() {
27
- n(e.files);
28
- },
29
- !1
30
- );
31
- }
32
- function g(e, n) {
33
- e.addEventListener(
34
- "dragover",
35
- function(t) {
36
- t.stopPropagation(), t.preventDefault(), t.dataTransfer && (t.dataTransfer.dropEffect = "copy");
37
- },
38
- !1
39
- ), e.addEventListener(
40
- "drop",
41
- function(t) {
42
- t.stopPropagation(), t.preventDefault(), t.dataTransfer && n(t.dataTransfer.files);
43
- },
44
- !1
45
- );
46
- }
47
- const h = (e = ["*"], n) => {
48
- if (!globalThis.document || !(globalThis.document instanceof Document))
49
- throw new l();
50
- const t = globalThis.document.createElement("input");
51
- return t.setAttribute("type", "file"), t.setAttribute("visibility", "hidden"), Array.isArray(e) && e.length > 0 && t.setAttribute("accept", e.join(",")), n && t.setAttribute("multiple", "true"), t.click(), new Promise((r, s) => {
52
- globalThis.addEventListener(
53
- "focus",
54
- () => {
55
- setTimeout(() => {
56
- (!t.files || t.files?.length === 0) && s(new c());
57
- }, 1e3);
58
- },
59
- { once: !0 }
60
- ), t.addEventListener("change", () => {
61
- if (!t.files || t.files?.length === 0)
62
- s(new c());
63
- else {
64
- const i = Array.from(t.files);
65
- o(i) && s(new d(e)), r(i);
66
- }
67
- });
68
- });
69
- function o(r) {
70
- return !e.includes("*") && r.some((s) => !e.includes(`.${m(s)}`));
71
- }
72
- }, v = (e) => {
73
- const n = new FileReader();
74
- return new Promise((t, o) => {
75
- n.addEventListener(
76
- "progress",
77
- (r) => {
78
- const s = "(" + Math.floor(r.total / 1e3) + " KB)", i = Math.floor(r.loaded / r.total * 100) + "%";
79
- console.log(`Loading size: ${s} progress: ${i}`);
80
- }
81
- ), n.addEventListener("load", (r) => {
82
- t(r.target?.result);
83
- }), n.addEventListener("error", (r) => {
84
- o(r);
85
- }), e(n);
86
- });
87
- }, m = (e) => {
88
- let n;
89
- return e instanceof File ? n = e.name : n = e, n.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i)[1] ?? "";
90
- }, w = (e) => /^image\//.test(e.type), b = (e) => /^video\//.test(e.type), x = (e) => /^audio\//.test(e.type), y = (e) => /^application\/(?:vnd\.openxmlformats-officedocument\.wordprocessingml\.document|msword|vnd\.ms-word\.document\.macroenabled\.12|vnd\.openxmlformats-officedocument\.wordprocessingml\.template|vnd\.ms-word\.template\.macroenabled\.12)$/.test(
91
- e.type
92
- ), E = (e) => /^application\/(?:vnd\.openxmlformats-officedocument\.spreadsheetml\.sheet|vnd\.ms-excel|vnd\.ms-excel\.sheet\.macroenabled\.12|vnd\.openxmlformats-officedocument\.spreadsheetml\.template|vnd\.ms-excel\.template\.macroenabled\.12)$/.test(
93
- e.type
94
- ), L = (e) => /^application\/(?:vnd\.ms-powerpoint|vnd\.openxmlformats-officedocument\.presentationml\.presentation|vnd\.ms-powerpoint\.presentation\.macroenabled\.12|vnd\.openxmlformats-officedocument\.presentationml\.template|vnd\.ms-powerpoint\.template\.macroenabled\.12)$/.test(
95
- e.type
96
- ), F = (e) => /^application\/json$/.test(e.type), A = (e) => /^(?:application|text)\/(?:xml|xhtml\+xml)$/.test(e.type);
97
- function D(e) {
98
- const n = e.slice(0, 4), t = new FileReader();
99
- let o;
100
- return new Promise((r, s) => {
101
- t.onload = function() {
102
- const i = t.result;
103
- switch (new DataView(i).getUint32(0, !1)) {
104
- case 2303741511:
105
- o = "image/png";
106
- break;
107
- case 1195984440:
108
- o = "image/gif";
109
- break;
110
- case 626017350:
111
- o = "application/pdf";
112
- break;
113
- case 1347093252:
114
- o = "application/zip";
115
- break;
116
- }
117
- return r(o);
118
- }, t.readAsArrayBuffer(n);
119
- });
120
- }
121
- function T(e) {
122
- const n = new Blob(["(" + e.toString() + ")()"], {
123
- type: "application/javascript"
124
- });
125
- return URL.createObjectURL(n);
126
- }
127
- function $(e, n) {
128
- if (!e.type.startsWith("image/"))
129
- return;
130
- const t = document.createElement("img");
131
- return t.src = URL.createObjectURL(e), t.width = n?.width ?? 60, t.height = n?.height ?? 60, t.onload = function() {
132
- }, t;
133
- }
134
- export {
135
- a as BaseError,
136
- l as EnvironmentError,
137
- c as FileSelectCancelError,
138
- d as IllegalFileError,
139
- $ as file2Image,
140
- T as fn2ObjectURL,
141
- m as getFileExtension,
142
- D as getFileType,
143
- g as handleDragAndDropFiles,
144
- f as handleInputFiles,
145
- x as isAudio,
146
- E as isExcelDocument,
147
- w as isImage,
148
- F as isJsonDocument,
149
- L as isPowerPointDocument,
150
- b as isVideo,
151
- y as isWordDocument,
152
- A as isXmlDocument,
153
- v as readeFile,
154
- h as selectFile
155
- };
156
- //# sourceMappingURL=zyzgroup-core-web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zyzgroup-core-web.js","sources":["../src/error.ts","../src/file.ts"],"sourcesContent":["export class BaseError extends Error {\n cause?: Error;\n\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = this.constructor.name;\n }\n}\n\nexport class EnvironmentError extends BaseError {\n constructor() {\n super(\"This is not a browser environment\");\n }\n}\n\nexport class FileSelectCancelError extends BaseError {\n constructor() {\n super(\"Cancel select\");\n }\n}\n\nexport class IllegalFileError extends BaseError {\n accepts: string[];\n\n constructor(accepts: string[]) {\n super(`Please select files in ${accepts} format`);\n this.accepts = accepts;\n }\n}\n","import {\n EnvironmentError,\n FileSelectCancelError,\n IllegalFileError\n} from \"./error\";\n\n// <input type=\"file\" id=\"input\">\n// <input type=\"file\" id=\"input\" multiple accept=\"image/*\" style=\"display:none\" name=\"photos[]\">\n// <label for=\"input\">Select some files</label>\n// input css :focus :focus-within\nexport function handleInputFiles(\n el: HTMLInputElement,\n cb: (files: FileList | null) => any\n) {\n el.addEventListener(\n \"change\",\n function () {\n cb(el.files);\n },\n false\n );\n}\n\nexport function handleDragAndDropFiles(\n dropZoneEl: HTMLElement,\n cb: (files: FileList | null) => any\n) {\n // dragover dragenter dragend drop\n dropZoneEl.addEventListener(\n \"dragover\",\n function (e) {\n e.stopPropagation();\n e.preventDefault();\n if (e.dataTransfer) e.dataTransfer.dropEffect = \"copy\";\n },\n false\n );\n dropZoneEl.addEventListener(\n \"drop\",\n function (e) {\n e.stopPropagation();\n e.preventDefault();\n if (e.dataTransfer) cb(e.dataTransfer.files);\n },\n false\n );\n}\n\n/**\n * 选择系统文件\n *\n * @param accepts 可选文件后缀\n * @param multiple 是否多选\n * @returns\n */\nexport const selectFile = (\n accepts: string[] = [\"*\"],\n multiple?: boolean\n): Promise<File[]> => {\n if (!globalThis.document || !(globalThis.document instanceof Document)) {\n throw new EnvironmentError();\n }\n const inputElement = globalThis.document.createElement(\"input\");\n inputElement.setAttribute(\"type\", \"file\");\n inputElement.setAttribute(\"visibility\", \"hidden\");\n if (Array.isArray(accepts) && accepts.length > 0) {\n inputElement.setAttribute(\"accept\", accepts.join(\",\"));\n }\n if (multiple) {\n inputElement.setAttribute(\"multiple\", \"true\");\n }\n inputElement.click();\n\n return new Promise((resolve, reject) => {\n globalThis.addEventListener(\n \"focus\",\n () => {\n setTimeout(() => {\n if (!inputElement.files || inputElement.files?.length === 0) {\n reject(new FileSelectCancelError());\n }\n }, 1000);\n },\n { once: true }\n );\n inputElement.addEventListener(\"change\", () => {\n if (!inputElement.files || inputElement.files?.length === 0) {\n reject(new FileSelectCancelError());\n } else {\n const files = Array.from(inputElement.files);\n if (illegalFiles(files)) {\n reject(new IllegalFileError(accepts));\n }\n resolve(files);\n }\n });\n });\n\n function illegalFiles(files: File[]): boolean {\n return (\n !accepts.includes(\"*\") &&\n files.some((file) => !accepts.includes(`.${getFileExtension(file)}`))\n );\n }\n};\n\nexport interface FileHandler {\n (fileRender: FileReader): void;\n}\n\nexport const readeFile = <T extends string | ArrayBuffer | null>(\n fileHandler: FileHandler\n): Promise<T> => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.addEventListener(\n \"progress\",\n (event: FileReaderEventMap[\"progress\"]) => {\n const size = \"(\" + Math.floor(event.total / 1000) + \" KB)\";\n const progress = Math.floor((event.loaded / event.total) * 100) + \"%\";\n console.log(`Loading size: ${size} progress: ${progress}`);\n }\n );\n reader.addEventListener(\"load\", (event: FileReaderEventMap[\"load\"]) => {\n resolve(event.target?.result as T);\n });\n reader.addEventListener(\"error\", (event: FileReaderEventMap[\"error\"]) => {\n reject(event);\n });\n fileHandler(reader);\n // reader.readAsDataURL(file);\n // reader.readAsBinaryString(file);\n });\n};\n\n/**\n * 获取文件后缀\n *\n * @param file 文件或文件名\n * @returns\n */\nexport const getFileExtension = (file: File | string): string => {\n let fileName: string;\n if (file instanceof File) {\n fileName = file.name;\n } else {\n fileName = file;\n }\n return fileName.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i)![1] ?? \"\";\n};\n\nexport const isImage = (file: File): boolean => {\n return /^image\\//.test(file.type);\n};\n\nexport const isVideo = (file: File): boolean => {\n return /^video\\//.test(file.type);\n};\n\nexport const isAudio = (file: File): boolean => {\n return /^audio\\//.test(file.type);\n};\n\nexport const isWordDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document|msword|vnd\\.ms-word\\.document\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.template|vnd\\.ms-word\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isExcelDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.openxmlformats-officedocument\\.spreadsheetml\\.sheet|vnd\\.ms-excel|vnd\\.ms-excel\\.sheet\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.spreadsheetml\\.template|vnd\\.ms-excel\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isPowerPointDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.ms-powerpoint|vnd\\.openxmlformats-officedocument\\.presentationml\\.presentation|vnd\\.ms-powerpoint\\.presentation\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.presentationml\\.template|vnd\\.ms-powerpoint\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isJsonDocument = (file: File): boolean => {\n return /^application\\/json$/.test(file.type);\n};\n\nexport const isXmlDocument = (file: File): boolean => {\n return /^(?:application|text)\\/(?:xml|xhtml\\+xml)$/.test(file.type);\n};\n\n/**\n * 判断文件类型\n * @example <input type=\"file\" onchange=\"getFileType(this.files[0])\"></input>\n */\nexport function getFileType(file: File) {\n // 文件开头的四个字节,生成一个 Blob 对象\n const slice = file.slice(0, 4);\n const reader = new FileReader();\n let verified_type: string;\n return new Promise((resolve, reject) => {\n reader.onload = function () {\n const buffer = reader.result as ArrayBuffer;\n // 将这四个字节的内容,视作一个32位整数\n const view = new DataView(buffer);\n const magic = view.getUint32(0, false);\n // 根据文件的前四个字节,判断它的类型\n switch (magic) {\n case 0x89504e47:\n verified_type = \"image/png\";\n break;\n case 0x47494638:\n verified_type = \"image/gif\";\n break;\n case 0x25504446:\n verified_type = \"application/pdf\";\n break;\n case 0x504b0304:\n verified_type = \"application/zip\";\n break;\n }\n return resolve(verified_type);\n };\n // 读取这四个字节\n reader.readAsArrayBuffer(slice);\n });\n}\n\n/**\n * 将一个函数转换为 blob,然后为这个 blob 生成 URL 对象\n */\nexport function fn2ObjectURL(fn: (...args: any[]) => any) {\n const blob = new Blob([\"(\" + fn.toString() + \")()\"], {\n type: \"application/javascript\"\n });\n return URL.createObjectURL(blob);\n // URL.revokeObjectURL(URL.createObjectURL(blob))\n}\n\nexport function file2Image(\n file: File,\n options?: {\n width?: number;\n height?: number;\n }\n) {\n if (!file.type.startsWith(\"image/\")) {\n return;\n }\n const img: HTMLImageElement = document.createElement(\"img\");\n img.src = URL.createObjectURL(file);\n img.width = options?.width ?? 60;\n img.height = options?.height ?? 60;\n img.onload = function () {\n // URL.revokeObjectURL(img.src);\n };\n return img;\n}\n"],"names":["BaseError","message","options","EnvironmentError","FileSelectCancelError","IllegalFileError","accepts","handleInputFiles","el","cb","handleDragAndDropFiles","dropZoneEl","e","selectFile","multiple","inputElement","resolve","reject","files","illegalFiles","file","getFileExtension","readeFile","fileHandler","reader","event","size","progress","fileName","isImage","isVideo","isAudio","isWordDocument","isExcelDocument","isPowerPointDocument","isJsonDocument","isXmlDocument","getFileType","slice","verified_type","buffer","fn2ObjectURL","fn","blob","file2Image","img"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- (function(i,s){typeof exports=="object"&&typeof module<"u"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(i=typeof globalThis<"u"?globalThis:i||self,s(i["zyzgroup-core-web"]={}))})(this,function(i){"use strict";class s extends Error{cause;constructor(n,t){super(n,t),this.name=this.constructor.name}}class d extends s{constructor(){super("This is not a browser environment")}}class c extends s{constructor(){super("Cancel select")}}class m extends s{accepts;constructor(n){super(`Please select files in ${n} format`),this.accepts=n}}function f(e,n){e.addEventListener("change",function(){n(e.files)},!1)}function p(e,n){e.addEventListener("dragover",function(t){t.stopPropagation(),t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="copy")},!1),e.addEventListener("drop",function(t){t.stopPropagation(),t.preventDefault(),t.dataTransfer&&n(t.dataTransfer.files)},!1)}const g=(e=["*"],n)=>{if(!globalThis.document||!(globalThis.document instanceof Document))throw new d;const t=globalThis.document.createElement("input");return t.setAttribute("type","file"),t.setAttribute("visibility","hidden"),Array.isArray(e)&&e.length>0&&t.setAttribute("accept",e.join(",")),n&&t.setAttribute("multiple","true"),t.click(),new Promise((o,a)=>{globalThis.addEventListener("focus",()=>{setTimeout(()=>{(!t.files||t.files?.length===0)&&a(new c)},1e3)},{once:!0}),t.addEventListener("change",()=>{if(!t.files||t.files?.length===0)a(new c);else{const l=Array.from(t.files);r(l)&&a(new m(e)),o(l)}})});function r(o){return!e.includes("*")&&o.some(a=>!e.includes(`.${u(a)}`))}},h=e=>{const n=new FileReader;return new Promise((t,r)=>{n.addEventListener("progress",o=>{const a="("+Math.floor(o.total/1e3)+" KB)",l=Math.floor(o.loaded/o.total*100)+"%";console.log(`Loading size: ${a} progress: ${l}`)}),n.addEventListener("load",o=>{t(o.target?.result)}),n.addEventListener("error",o=>{r(o)}),e(n)})},u=e=>{let n;return e instanceof File?n=e.name:n=e,n.match(/\.([0-9a-z]+)(?:[\\?#]|$)/i)[1]??""},v=e=>/^image\//.test(e.type),b=e=>/^video\//.test(e.type),w=e=>/^audio\//.test(e.type),E=e=>/^application\/(?:vnd\.openxmlformats-officedocument\.wordprocessingml\.document|msword|vnd\.ms-word\.document\.macroenabled\.12|vnd\.openxmlformats-officedocument\.wordprocessingml\.template|vnd\.ms-word\.template\.macroenabled\.12)$/.test(e.type),y=e=>/^application\/(?:vnd\.openxmlformats-officedocument\.spreadsheetml\.sheet|vnd\.ms-excel|vnd\.ms-excel\.sheet\.macroenabled\.12|vnd\.openxmlformats-officedocument\.spreadsheetml\.template|vnd\.ms-excel\.template\.macroenabled\.12)$/.test(e.type),F=e=>/^application\/(?:vnd\.ms-powerpoint|vnd\.openxmlformats-officedocument\.presentationml\.presentation|vnd\.ms-powerpoint\.presentation\.macroenabled\.12|vnd\.openxmlformats-officedocument\.presentationml\.template|vnd\.ms-powerpoint\.template\.macroenabled\.12)$/.test(e.type),D=e=>/^application\/json$/.test(e.type),L=e=>/^(?:application|text)\/(?:xml|xhtml\+xml)$/.test(e.type);function T(e){const n=e.slice(0,4),t=new FileReader;let r;return new Promise((o,a)=>{t.onload=function(){const l=t.result;switch(new DataView(l).getUint32(0,!1)){case 2303741511:r="image/png";break;case 1195984440:r="image/gif";break;case 626017350:r="application/pdf";break;case 1347093252:r="application/zip";break}return o(r)},t.readAsArrayBuffer(n)})}function A(e){const n=new Blob(["("+e.toString()+")()"],{type:"application/javascript"});return URL.createObjectURL(n)}function P(e,n){if(!e.type.startsWith("image/"))return;const t=document.createElement("img");return t.src=URL.createObjectURL(e),t.width=n?.width??60,t.height=n?.height??60,t.onload=function(){},t}i.BaseError=s,i.EnvironmentError=d,i.FileSelectCancelError=c,i.IllegalFileError=m,i.file2Image=P,i.fn2ObjectURL=A,i.getFileExtension=u,i.getFileType=T,i.handleDragAndDropFiles=p,i.handleInputFiles=f,i.isAudio=w,i.isExcelDocument=y,i.isImage=v,i.isJsonDocument=D,i.isPowerPointDocument=F,i.isVideo=b,i.isWordDocument=E,i.isXmlDocument=L,i.readeFile=h,i.selectFile=g,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
2
- //# sourceMappingURL=zyzgroup-core-web.umd.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zyzgroup-core-web.umd.cjs","sources":["../src/error.ts","../src/file.ts"],"sourcesContent":["export class BaseError extends Error {\n cause?: Error;\n\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = this.constructor.name;\n }\n}\n\nexport class EnvironmentError extends BaseError {\n constructor() {\n super(\"This is not a browser environment\");\n }\n}\n\nexport class FileSelectCancelError extends BaseError {\n constructor() {\n super(\"Cancel select\");\n }\n}\n\nexport class IllegalFileError extends BaseError {\n accepts: string[];\n\n constructor(accepts: string[]) {\n super(`Please select files in ${accepts} format`);\n this.accepts = accepts;\n }\n}\n","import {\n EnvironmentError,\n FileSelectCancelError,\n IllegalFileError\n} from \"./error\";\n\n// <input type=\"file\" id=\"input\">\n// <input type=\"file\" id=\"input\" multiple accept=\"image/*\" style=\"display:none\" name=\"photos[]\">\n// <label for=\"input\">Select some files</label>\n// input css :focus :focus-within\nexport function handleInputFiles(\n el: HTMLInputElement,\n cb: (files: FileList | null) => any\n) {\n el.addEventListener(\n \"change\",\n function () {\n cb(el.files);\n },\n false\n );\n}\n\nexport function handleDragAndDropFiles(\n dropZoneEl: HTMLElement,\n cb: (files: FileList | null) => any\n) {\n // dragover dragenter dragend drop\n dropZoneEl.addEventListener(\n \"dragover\",\n function (e) {\n e.stopPropagation();\n e.preventDefault();\n if (e.dataTransfer) e.dataTransfer.dropEffect = \"copy\";\n },\n false\n );\n dropZoneEl.addEventListener(\n \"drop\",\n function (e) {\n e.stopPropagation();\n e.preventDefault();\n if (e.dataTransfer) cb(e.dataTransfer.files);\n },\n false\n );\n}\n\n/**\n * 选择系统文件\n *\n * @param accepts 可选文件后缀\n * @param multiple 是否多选\n * @returns\n */\nexport const selectFile = (\n accepts: string[] = [\"*\"],\n multiple?: boolean\n): Promise<File[]> => {\n if (!globalThis.document || !(globalThis.document instanceof Document)) {\n throw new EnvironmentError();\n }\n const inputElement = globalThis.document.createElement(\"input\");\n inputElement.setAttribute(\"type\", \"file\");\n inputElement.setAttribute(\"visibility\", \"hidden\");\n if (Array.isArray(accepts) && accepts.length > 0) {\n inputElement.setAttribute(\"accept\", accepts.join(\",\"));\n }\n if (multiple) {\n inputElement.setAttribute(\"multiple\", \"true\");\n }\n inputElement.click();\n\n return new Promise((resolve, reject) => {\n globalThis.addEventListener(\n \"focus\",\n () => {\n setTimeout(() => {\n if (!inputElement.files || inputElement.files?.length === 0) {\n reject(new FileSelectCancelError());\n }\n }, 1000);\n },\n { once: true }\n );\n inputElement.addEventListener(\"change\", () => {\n if (!inputElement.files || inputElement.files?.length === 0) {\n reject(new FileSelectCancelError());\n } else {\n const files = Array.from(inputElement.files);\n if (illegalFiles(files)) {\n reject(new IllegalFileError(accepts));\n }\n resolve(files);\n }\n });\n });\n\n function illegalFiles(files: File[]): boolean {\n return (\n !accepts.includes(\"*\") &&\n files.some((file) => !accepts.includes(`.${getFileExtension(file)}`))\n );\n }\n};\n\nexport interface FileHandler {\n (fileRender: FileReader): void;\n}\n\nexport const readeFile = <T extends string | ArrayBuffer | null>(\n fileHandler: FileHandler\n): Promise<T> => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.addEventListener(\n \"progress\",\n (event: FileReaderEventMap[\"progress\"]) => {\n const size = \"(\" + Math.floor(event.total / 1000) + \" KB)\";\n const progress = Math.floor((event.loaded / event.total) * 100) + \"%\";\n console.log(`Loading size: ${size} progress: ${progress}`);\n }\n );\n reader.addEventListener(\"load\", (event: FileReaderEventMap[\"load\"]) => {\n resolve(event.target?.result as T);\n });\n reader.addEventListener(\"error\", (event: FileReaderEventMap[\"error\"]) => {\n reject(event);\n });\n fileHandler(reader);\n // reader.readAsDataURL(file);\n // reader.readAsBinaryString(file);\n });\n};\n\n/**\n * 获取文件后缀\n *\n * @param file 文件或文件名\n * @returns\n */\nexport const getFileExtension = (file: File | string): string => {\n let fileName: string;\n if (file instanceof File) {\n fileName = file.name;\n } else {\n fileName = file;\n }\n return fileName.match(/\\.([0-9a-z]+)(?:[\\\\?#]|$)/i)![1] ?? \"\";\n};\n\nexport const isImage = (file: File): boolean => {\n return /^image\\//.test(file.type);\n};\n\nexport const isVideo = (file: File): boolean => {\n return /^video\\//.test(file.type);\n};\n\nexport const isAudio = (file: File): boolean => {\n return /^audio\\//.test(file.type);\n};\n\nexport const isWordDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document|msword|vnd\\.ms-word\\.document\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.template|vnd\\.ms-word\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isExcelDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.openxmlformats-officedocument\\.spreadsheetml\\.sheet|vnd\\.ms-excel|vnd\\.ms-excel\\.sheet\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.spreadsheetml\\.template|vnd\\.ms-excel\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isPowerPointDocument = (file: File): boolean => {\n return /^application\\/(?:vnd\\.ms-powerpoint|vnd\\.openxmlformats-officedocument\\.presentationml\\.presentation|vnd\\.ms-powerpoint\\.presentation\\.macroenabled\\.12|vnd\\.openxmlformats-officedocument\\.presentationml\\.template|vnd\\.ms-powerpoint\\.template\\.macroenabled\\.12)$/.test(\n file.type\n );\n};\n\nexport const isJsonDocument = (file: File): boolean => {\n return /^application\\/json$/.test(file.type);\n};\n\nexport const isXmlDocument = (file: File): boolean => {\n return /^(?:application|text)\\/(?:xml|xhtml\\+xml)$/.test(file.type);\n};\n\n/**\n * 判断文件类型\n * @example <input type=\"file\" onchange=\"getFileType(this.files[0])\"></input>\n */\nexport function getFileType(file: File) {\n // 文件开头的四个字节,生成一个 Blob 对象\n const slice = file.slice(0, 4);\n const reader = new FileReader();\n let verified_type: string;\n return new Promise((resolve, reject) => {\n reader.onload = function () {\n const buffer = reader.result as ArrayBuffer;\n // 将这四个字节的内容,视作一个32位整数\n const view = new DataView(buffer);\n const magic = view.getUint32(0, false);\n // 根据文件的前四个字节,判断它的类型\n switch (magic) {\n case 0x89504e47:\n verified_type = \"image/png\";\n break;\n case 0x47494638:\n verified_type = \"image/gif\";\n break;\n case 0x25504446:\n verified_type = \"application/pdf\";\n break;\n case 0x504b0304:\n verified_type = \"application/zip\";\n break;\n }\n return resolve(verified_type);\n };\n // 读取这四个字节\n reader.readAsArrayBuffer(slice);\n });\n}\n\n/**\n * 将一个函数转换为 blob,然后为这个 blob 生成 URL 对象\n */\nexport function fn2ObjectURL(fn: (...args: any[]) => any) {\n const blob = new Blob([\"(\" + fn.toString() + \")()\"], {\n type: \"application/javascript\"\n });\n return URL.createObjectURL(blob);\n // URL.revokeObjectURL(URL.createObjectURL(blob))\n}\n\nexport function file2Image(\n file: File,\n options?: {\n width?: number;\n height?: number;\n }\n) {\n if (!file.type.startsWith(\"image/\")) {\n return;\n }\n const img: HTMLImageElement = document.createElement(\"img\");\n img.src = URL.createObjectURL(file);\n img.width = options?.width ?? 60;\n img.height = options?.height ?? 60;\n img.onload = function () {\n // URL.revokeObjectURL(img.src);\n };\n return img;\n}\n"],"names":["BaseError","message","options","EnvironmentError","FileSelectCancelError","IllegalFileError","accepts","handleInputFiles","el","cb","handleDragAndDropFiles","dropZoneEl","e","selectFile","multiple","inputElement","resolve","reject","files","illegalFiles","file","getFileExtension","readeFile","fileHandler","reader","event","size","progress","fileName","isImage","isVideo","isAudio","isWordDocument","isExcelDocument","isPowerPointDocument","isJsonDocument","isXmlDocument","getFileType","slice","verified_type","buffer","fn2ObjectURL","fn","blob","file2Image","img"],"mappings":"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"}