@zuzjs/ui 0.8.1 → 0.8.2

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 (188) hide show
  1. package/dist/cjs/comps/Accordion/index.js +1 -1
  2. package/dist/cjs/comps/Actionbar/index.js +1 -1
  3. package/dist/cjs/comps/Alert/index.js +1 -1
  4. package/dist/cjs/comps/AutoComplete/index.d.ts +1 -1
  5. package/dist/cjs/comps/AutoComplete/index.js +3 -2
  6. package/dist/cjs/comps/Avatar/index.js +5 -5
  7. package/dist/cjs/comps/Box/index.js +1 -1
  8. package/dist/cjs/comps/Button/index.js +1 -1
  9. package/dist/cjs/comps/CheckBox/index.d.ts +1 -0
  10. package/dist/cjs/comps/CheckBox/index.js +1 -1
  11. package/dist/cjs/comps/CheckBox/types.d.ts +1 -0
  12. package/dist/cjs/comps/ColorScheme/index.js +1 -1
  13. package/dist/cjs/comps/ContextMenu/index.d.ts +2 -0
  14. package/dist/cjs/comps/ContextMenu/index.js +6 -6
  15. package/dist/cjs/comps/ContextMenu/item.js +1 -1
  16. package/dist/cjs/comps/ContextMenu/types.d.ts +3 -1
  17. package/dist/cjs/comps/CookiesConsent/index.js +1 -1
  18. package/dist/cjs/comps/Cover/index.js +1 -1
  19. package/dist/cjs/comps/Cropper/index.d.ts +8 -0
  20. package/dist/cjs/comps/Cropper/index.js +20 -0
  21. package/dist/cjs/comps/Cropper/types.d.ts +14 -0
  22. package/dist/cjs/comps/Cropper/types.js +5 -0
  23. package/dist/cjs/comps/Crumb/index.d.ts +2 -1
  24. package/dist/cjs/comps/Crumb/index.js +13 -3
  25. package/dist/cjs/comps/Crumb/types.d.ts +1 -0
  26. package/dist/cjs/comps/Drawer/index.js +1 -1
  27. package/dist/cjs/comps/Fab/index.js +1 -1
  28. package/dist/cjs/comps/Filters/index.js +1 -1
  29. package/dist/cjs/comps/Form/index.js +22 -6
  30. package/dist/cjs/comps/Icon/index.js +1 -1
  31. package/dist/cjs/comps/Image/index.js +1 -1
  32. package/dist/cjs/comps/Input/index.d.ts +2 -2
  33. package/dist/cjs/comps/Input/index.js +1 -1
  34. package/dist/cjs/comps/KeyboardKeys/index.js +1 -1
  35. package/dist/cjs/comps/Label/index.js +1 -1
  36. package/dist/cjs/comps/List/index.d.ts +1 -1
  37. package/dist/cjs/comps/List/index.js +1 -1
  38. package/dist/cjs/comps/Network/index.js +1 -1
  39. package/dist/cjs/comps/Overlay/index.js +1 -1
  40. package/dist/cjs/comps/Pagination/index.js +1 -1
  41. package/dist/cjs/comps/Password/index.d.ts +6 -2
  42. package/dist/cjs/comps/Password/index.js +15 -5
  43. package/dist/cjs/comps/PinInput/index.d.ts +1 -1
  44. package/dist/cjs/comps/PinInput/index.js +8 -3
  45. package/dist/cjs/comps/ProgressBar/index.js +2 -2
  46. package/dist/cjs/comps/Radio/index.js +1 -1
  47. package/dist/cjs/comps/ScrollView/index.js +1 -1
  48. package/dist/cjs/comps/Search/index.d.ts +1 -1
  49. package/dist/cjs/comps/Search/index.js +1 -1
  50. package/dist/cjs/comps/Segmented/index.js +1 -1
  51. package/dist/cjs/comps/Select/index.d.ts +1 -0
  52. package/dist/cjs/comps/Select/index.js +3 -3
  53. package/dist/cjs/comps/Select/types.d.ts +6 -1
  54. package/dist/cjs/comps/Sheet/index.js +1 -1
  55. package/dist/cjs/comps/Sidebar/index.js +1 -1
  56. package/dist/cjs/comps/Slider/index.js +1 -1
  57. package/dist/cjs/comps/Span/index.js +1 -1
  58. package/dist/cjs/comps/Spinner/index.js +1 -1
  59. package/dist/cjs/comps/Switch/index.d.ts +1 -0
  60. package/dist/cjs/comps/Switch/index.js +1 -1
  61. package/dist/cjs/comps/TabView/body.js +1 -1
  62. package/dist/cjs/comps/TabView/index.js +1 -1
  63. package/dist/cjs/comps/TabView/tab.js +1 -1
  64. package/dist/cjs/comps/Table/col.js +1 -1
  65. package/dist/cjs/comps/Table/index.js +56 -2
  66. package/dist/cjs/comps/Table/row.js +1 -1
  67. package/dist/cjs/comps/Text/index.js +1 -1
  68. package/dist/cjs/comps/TextArea/index.js +1 -1
  69. package/dist/cjs/comps/TextWheel/index.js +3 -3
  70. package/dist/cjs/comps/Tooltip/index.js +1 -1
  71. package/dist/cjs/comps/Treeview/index.js +1 -1
  72. package/dist/cjs/comps/Treeview/item.js +1 -1
  73. package/dist/cjs/comps/VideoPlayer/index.js +1 -0
  74. package/dist/cjs/comps/index.d.ts +2 -0
  75. package/dist/cjs/comps/index.js +2 -0
  76. package/dist/cjs/funs/events.d.ts +31 -7
  77. package/dist/cjs/funs/events.js +57 -19
  78. package/dist/cjs/funs/index.d.ts +5 -3
  79. package/dist/cjs/funs/index.js +39 -84
  80. package/dist/cjs/hooks/index.d.ts +2 -0
  81. package/dist/cjs/hooks/index.js +2 -0
  82. package/dist/cjs/hooks/useDB.d.ts +5 -1
  83. package/dist/cjs/hooks/useDB.js +52 -4
  84. package/dist/cjs/hooks/useImage.js +2 -2
  85. package/dist/cjs/hooks/useImageCropper.d.ts +10 -0
  86. package/dist/cjs/hooks/useImageCropper.js +67 -0
  87. package/dist/cjs/hooks/useSlider.d.ts +1 -1
  88. package/dist/cjs/hooks/useUploader.d.ts +46 -0
  89. package/dist/cjs/hooks/useUploader.js +101 -0
  90. package/dist/cjs/hooks/useWebSocket.d.ts +2 -2
  91. package/dist/cjs/hooks/useWebSocket.js +13 -2
  92. package/dist/cjs/types/index.d.ts +3 -0
  93. package/dist/css/styles.css +1 -1
  94. package/dist/esm/comps/Accordion/index.js +1 -1
  95. package/dist/esm/comps/Actionbar/index.js +1 -1
  96. package/dist/esm/comps/Alert/index.js +1 -1
  97. package/dist/esm/comps/AutoComplete/index.d.ts +1 -1
  98. package/dist/esm/comps/AutoComplete/index.js +3 -2
  99. package/dist/esm/comps/Avatar/index.js +5 -5
  100. package/dist/esm/comps/Box/index.js +1 -1
  101. package/dist/esm/comps/Button/index.js +1 -1
  102. package/dist/esm/comps/CheckBox/index.d.ts +1 -0
  103. package/dist/esm/comps/CheckBox/index.js +1 -1
  104. package/dist/esm/comps/CheckBox/types.d.ts +1 -0
  105. package/dist/esm/comps/ColorScheme/index.js +1 -1
  106. package/dist/esm/comps/ContextMenu/index.d.ts +2 -0
  107. package/dist/esm/comps/ContextMenu/index.js +6 -6
  108. package/dist/esm/comps/ContextMenu/item.js +1 -1
  109. package/dist/esm/comps/ContextMenu/types.d.ts +3 -1
  110. package/dist/esm/comps/CookiesConsent/index.js +1 -1
  111. package/dist/esm/comps/Cover/index.js +1 -1
  112. package/dist/esm/comps/Cropper/index.d.ts +8 -0
  113. package/dist/esm/comps/Cropper/index.js +20 -0
  114. package/dist/esm/comps/Cropper/types.d.ts +14 -0
  115. package/dist/esm/comps/Cropper/types.js +5 -0
  116. package/dist/esm/comps/Crumb/index.d.ts +2 -1
  117. package/dist/esm/comps/Crumb/index.js +13 -3
  118. package/dist/esm/comps/Crumb/types.d.ts +1 -0
  119. package/dist/esm/comps/Drawer/index.js +1 -1
  120. package/dist/esm/comps/Fab/index.js +1 -1
  121. package/dist/esm/comps/Filters/index.js +1 -1
  122. package/dist/esm/comps/Form/index.js +22 -6
  123. package/dist/esm/comps/Icon/index.js +1 -1
  124. package/dist/esm/comps/Image/index.js +1 -1
  125. package/dist/esm/comps/Input/index.d.ts +2 -2
  126. package/dist/esm/comps/Input/index.js +1 -1
  127. package/dist/esm/comps/KeyboardKeys/index.js +1 -1
  128. package/dist/esm/comps/Label/index.js +1 -1
  129. package/dist/esm/comps/List/index.d.ts +1 -1
  130. package/dist/esm/comps/List/index.js +1 -1
  131. package/dist/esm/comps/Network/index.js +1 -1
  132. package/dist/esm/comps/Overlay/index.js +1 -1
  133. package/dist/esm/comps/Pagination/index.js +1 -1
  134. package/dist/esm/comps/Password/index.d.ts +6 -2
  135. package/dist/esm/comps/Password/index.js +15 -5
  136. package/dist/esm/comps/PinInput/index.d.ts +1 -1
  137. package/dist/esm/comps/PinInput/index.js +8 -3
  138. package/dist/esm/comps/ProgressBar/index.js +2 -2
  139. package/dist/esm/comps/Radio/index.js +1 -1
  140. package/dist/esm/comps/ScrollView/index.js +1 -1
  141. package/dist/esm/comps/Search/index.d.ts +1 -1
  142. package/dist/esm/comps/Search/index.js +1 -1
  143. package/dist/esm/comps/Segmented/index.js +1 -1
  144. package/dist/esm/comps/Select/index.d.ts +1 -0
  145. package/dist/esm/comps/Select/index.js +3 -3
  146. package/dist/esm/comps/Select/types.d.ts +6 -1
  147. package/dist/esm/comps/Sheet/index.js +1 -1
  148. package/dist/esm/comps/Sidebar/index.js +1 -1
  149. package/dist/esm/comps/Slider/index.js +1 -1
  150. package/dist/esm/comps/Span/index.js +1 -1
  151. package/dist/esm/comps/Spinner/index.js +1 -1
  152. package/dist/esm/comps/Switch/index.d.ts +1 -0
  153. package/dist/esm/comps/Switch/index.js +1 -1
  154. package/dist/esm/comps/TabView/body.js +1 -1
  155. package/dist/esm/comps/TabView/index.js +1 -1
  156. package/dist/esm/comps/TabView/tab.js +1 -1
  157. package/dist/esm/comps/Table/col.js +1 -1
  158. package/dist/esm/comps/Table/index.js +56 -2
  159. package/dist/esm/comps/Table/row.js +1 -1
  160. package/dist/esm/comps/Text/index.js +1 -1
  161. package/dist/esm/comps/TextArea/index.js +1 -1
  162. package/dist/esm/comps/TextWheel/index.js +3 -3
  163. package/dist/esm/comps/Tooltip/index.js +1 -1
  164. package/dist/esm/comps/Treeview/index.js +1 -1
  165. package/dist/esm/comps/Treeview/item.js +1 -1
  166. package/dist/esm/comps/VideoPlayer/index.js +1 -0
  167. package/dist/esm/comps/index.d.ts +2 -0
  168. package/dist/esm/comps/index.js +2 -0
  169. package/dist/esm/funs/events.d.ts +31 -7
  170. package/dist/esm/funs/events.js +57 -19
  171. package/dist/esm/funs/index.d.ts +5 -3
  172. package/dist/esm/funs/index.js +39 -84
  173. package/dist/esm/hooks/index.d.ts +2 -0
  174. package/dist/esm/hooks/index.js +2 -0
  175. package/dist/esm/hooks/useDB.d.ts +5 -1
  176. package/dist/esm/hooks/useDB.js +52 -4
  177. package/dist/esm/hooks/useImage.js +2 -2
  178. package/dist/esm/hooks/useImageCropper.d.ts +10 -0
  179. package/dist/esm/hooks/useImageCropper.js +67 -0
  180. package/dist/esm/hooks/useSlider.d.ts +1 -1
  181. package/dist/esm/hooks/useUploader.d.ts +46 -0
  182. package/dist/esm/hooks/useUploader.js +101 -0
  183. package/dist/esm/hooks/useWebSocket.d.ts +2 -2
  184. package/dist/esm/hooks/useWebSocket.js +13 -2
  185. package/dist/esm/types/index.d.ts +3 -0
  186. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  187. package/dist/tsconfig.tsbuildinfo +1 -1
  188. package/package.json +2 -2
@@ -0,0 +1,46 @@
1
+ import { CancelTokenSource } from "@zuzjs/core";
2
+ import { dynamic } from "..";
3
+ export declare enum Status {
4
+ Error = -1,
5
+ Idle = 0,
6
+ FetchingServer = 1,
7
+ Uploading = 2,
8
+ Saving = 3
9
+ }
10
+ export interface QueItem {
11
+ ID: string;
12
+ file: File;
13
+ dir: string;
14
+ remote: false;
15
+ progress: number;
16
+ speed: number;
17
+ eta: number;
18
+ bytes: number;
19
+ status: Status;
20
+ server?: Server | null;
21
+ }
22
+ export type Server = {
23
+ ID: string;
24
+ uri: string;
25
+ token: string;
26
+ rmf: string | null;
27
+ };
28
+ export type Uploadify = {
29
+ que: QueItem[];
30
+ index: number;
31
+ speed: number;
32
+ stamp: number | null;
33
+ token: string | null;
34
+ status: Status;
35
+ cancelToken?: CancelTokenSource | null;
36
+ };
37
+ export interface Uploader {
38
+ apiUrl: string;
39
+ onChange?: (file: QueItem | null) => void;
40
+ onQueFinished?: () => void;
41
+ }
42
+ declare const useUploader: (conf: Uploader) => {
43
+ getQue: () => QueItem[];
44
+ addToQue: (f: dynamic) => void;
45
+ };
46
+ export default useUploader;
@@ -0,0 +1,101 @@
1
+ import { getCancelToken, withPost } from "@zuzjs/core";
2
+ import { uuid } from "..";
3
+ export var Status;
4
+ (function (Status) {
5
+ Status[Status["Error"] = -1] = "Error";
6
+ Status[Status["Idle"] = 0] = "Idle";
7
+ Status[Status["FetchingServer"] = 1] = "FetchingServer";
8
+ Status[Status["Uploading"] = 2] = "Uploading";
9
+ Status[Status["Saving"] = 3] = "Saving";
10
+ })(Status || (Status = {}));
11
+ const useUploader = (conf) => {
12
+ const { apiUrl, onChange, onQueFinished } = conf;
13
+ const self = {
14
+ que: [],
15
+ index: -1,
16
+ speed: 0,
17
+ stamp: null,
18
+ token: null,
19
+ status: Status.Idle
20
+ };
21
+ const sync = () => onChange?.(currentFile());
22
+ const importFile = () => { };
23
+ const uploadFile = () => {
24
+ self.stamp = Date.now();
25
+ const file = currentFile();
26
+ const formData = new FormData();
27
+ formData.append("ID", file.ID);
28
+ formData.append("dir", file.dir);
29
+ formData.append("server", file.server.ID);
30
+ formData.append("token", file.server.token);
31
+ formData.append('file', file.file);
32
+ formData.append('fs', file.file.size.toString());
33
+ self.cancelToken = getCancelToken();
34
+ withPost(`${self.que[self.index].server.uri}/receive`, formData, 86400, true, (ev) => {
35
+ console.log(ev);
36
+ })
37
+ .catch(resp => {
38
+ console.log(`Uploaded`, resp);
39
+ })
40
+ .catch(err => {
41
+ self.que[self.index].status = Status.Error;
42
+ self.status = Status.Idle;
43
+ sync();
44
+ Que();
45
+ });
46
+ };
47
+ const getServer = (force) => {
48
+ self.que[self.index].status = Status.FetchingServer;
49
+ sync();
50
+ withPost(`${apiUrl}get_server`, { size: currentFile().file.size })
51
+ .then((resp) => {
52
+ self.que[self.index].server = resp.server;
53
+ self.que[self.index].status = Status.Uploading;
54
+ sync();
55
+ uploadFile();
56
+ })
57
+ .catch((err) => {
58
+ self.que[self.index].status = Status.Error;
59
+ self.status = Status.Idle;
60
+ sync();
61
+ Que();
62
+ });
63
+ };
64
+ const currentFile = () => self.que[self.index];
65
+ const getQue = () => self.que;
66
+ const Que = () => {
67
+ if (self.status == Status.Idle &&
68
+ (self.que.length - 1) > self.index) {
69
+ self.status = Status.Uploading;
70
+ self.index++;
71
+ self.que[self.index].status = Status.Uploading;
72
+ sync();
73
+ if (self.que[self.index].remote)
74
+ importFile();
75
+ else
76
+ getServer(true);
77
+ }
78
+ else
79
+ onQueFinished?.();
80
+ };
81
+ const addToQue = (f) => {
82
+ self.que.push({
83
+ ID: uuid(),
84
+ file: f.file,
85
+ dir: f.dir,
86
+ remote: f.remote,
87
+ progress: 0,
88
+ speed: 0,
89
+ eta: 0,
90
+ bytes: 0,
91
+ status: Status.Idle,
92
+ server: null
93
+ });
94
+ Que();
95
+ };
96
+ return {
97
+ getQue,
98
+ addToQue,
99
+ };
100
+ };
101
+ export default useUploader;
@@ -1,9 +1,9 @@
1
- import { dynamicObject } from "..";
1
+ import { dynamic } from "..";
2
2
  export type WebSocketOptions = {
3
3
  onOpen?: (event: Event) => void;
4
4
  onClose?: (event: CloseEvent) => void;
5
5
  onRawMessage?: (event: MessageEvent) => void;
6
- onMessage?: (data: dynamicObject) => void;
6
+ onMessage?: (data: dynamic) => void;
7
7
  onError?: (event: Event) => void;
8
8
  reconnect?: boolean;
9
9
  };
@@ -18,8 +18,19 @@ const useWebSocket = (url, options) => {
18
18
  reconnectIntervals.set(url, 2); // Reset to 1s on successful reconnect
19
19
  };
20
20
  const connect = useCallback(() => {
21
- if (socketInstances.has(url))
21
+ if (socketInstances.has(url)) {
22
+ const Socket = socketInstances.get(url);
23
+ if (Socket) {
24
+ Socket.onmessage = (event) => {
25
+ setMessages((prev) => [...prev, event.data]);
26
+ onRawMessage?.(event);
27
+ const raw = JSON.parse(Buffer.isBuffer(event) ? event.toString(`utf8`) : `string` == typeof event ? event : event.data);
28
+ onMessage?.(raw);
29
+ listenersMap.get(url)?.forEach((listener) => listener(event));
30
+ };
31
+ }
22
32
  return; // Prevent duplicate connection
33
+ }
23
34
  const socket = new WebSocket(url);
24
35
  socketInstances.set(url, socket);
25
36
  listenersMap.set(url, []);
@@ -79,7 +90,7 @@ const useWebSocket = (url, options) => {
79
90
  socket.send(data);
80
91
  }
81
92
  else {
82
- console.warn("WebSocket is not connected.");
93
+ console.log("WebSocket is not connected.");
83
94
  }
84
95
  }, [url]);
85
96
  return { isConnected, messages, sendMessage };
@@ -5,6 +5,9 @@ import { animationProps, Skeleton } from "./interfaces";
5
5
  export type Deprecated<T, M extends string> = T & {
6
6
  __deprecatedMessage?: M;
7
7
  };
8
+ export type dynamic = {
9
+ [x: string]: any;
10
+ };
8
11
  export type dynamicObject = {
9
12
  [x: string]: any;
10
13
  };