sea-react-components 1.3.38 → 1.3.40

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.
@@ -669,6 +669,8 @@ export declare const DEFAULT_TRANSLATIONS_MAP: {
669
669
  "empty.no__items__Found": string;
670
670
  "empty.noDescription__name__found": string;
671
671
  searchAbout__name__: string;
672
+ "permission.denied": string;
673
+ "permission.noAccess": string;
672
674
  };
673
675
  "Student-Attendance-Application": {
674
676
  studentPortal: string;
@@ -715,6 +717,10 @@ export declare const DEFAULT_TRANSLATIONS_MAP: {
715
717
  timeRemaining: string;
716
718
  scanQRCodeMessage: string;
717
719
  endSession: string;
720
+ confirmEndSession: string;
721
+ confirmStartSession: string;
722
+ sessionStartsAt: string;
723
+ sessionEndedAt: string;
718
724
  markPresent: string;
719
725
  markExcused: string;
720
726
  markAbsent: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-translation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,iCAAiC,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;IAClJ,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,mBAAmB,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACtH,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,4BAA4B,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACzI,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAClE,cAAc,EAAE,CAAC,EACjB,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC5E,oBAAoB,CAAC,EAAE,MAAM;aA8CtB,MAAM,kBAAkB,CAAC,CAAC,CAAC,WACvB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACvC,MAAM;EAoBV;AAED,wBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,KAAK,EAAE;IAC3D,cAAc,EAAE,CAAC,CAAC;IAClB,GAAG,EAAE,MAAM,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAeT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-translation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,iCAAiC,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;IAClJ,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,mBAAmB,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACtH,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe;SACnC,4BAA4B,CAAC,EAAE,CAAC,OAAO,wBAAwB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACzI,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAClE,cAAc,EAAE,CAAC,EACjB,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAC5E,oBAAoB,CAAC,EAAE,MAAM;aA8CtB,MAAM,kBAAkB,CAAC,CAAC,CAAC,WACvB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACvC,MAAM;EAoBV;AAED,wBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,KAAK,EAAE;IAC3D,cAAc,EAAE,CAAC,CAAC;IAClB,GAAG,EAAE,MAAM,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAuBT"}
@@ -70,9 +70,12 @@ export function useSeaTranslation(applicationKey, fetchTranslation, selectedLang
70
70
  return { t };
71
71
  }
72
72
  export function t(props) {
73
+ var _a, _b;
73
74
  const { applicationKey, key, params, selectedLanguageCode } = props;
74
- const translationMap = json[selectedLanguageCode] || DEFAULT_TRANSLATIONS_MAP[applicationKey];
75
- let translation = translationMap[key];
75
+ const languageMap = json[selectedLanguageCode];
76
+ const defaultMap = DEFAULT_TRANSLATIONS_MAP[applicationKey];
77
+ const keyStr = String(key);
78
+ let translation = (_b = (_a = languageMap === null || languageMap === void 0 ? void 0 : languageMap[keyStr]) !== null && _a !== void 0 ? _a : defaultMap === null || defaultMap === void 0 ? void 0 : defaultMap[keyStr]) !== null && _b !== void 0 ? _b : "";
76
79
  // Replace placeholders like {{ name }}, {{ count }}, etc.
77
80
  if (params) {
78
81
  Object.entries(params).forEach(([paramKey, paramValue]) => {
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * as DeviceUtils from "./utils/device";
10
10
  export * as Services from "./services";
11
11
  export { default as MustAuth } from "./middleware/must-auth";
12
12
  export { default as SocketProvider, useSocket, SocketProviderProps, } from "./providers/socket-provider";
13
+ export { default as SEASocketProvider, useSEASocket, SEASocketProviderProps, } from "./providers/sea-socket-provider";
13
14
  export { useHasApplicationAccess } from "./hooks/user-has-application-access";
14
15
  export { useHasOneOfPermissions, useHasPermission, } from "./hooks/use-has-permission-access";
15
16
  export { useSeaTranslation, DEFAULT_TRANSLATIONS_MAP, t, } from "./hooks/use-translation";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ export * as Services from "./services";
15
15
  export { default as MustAuth } from "./middleware/must-auth";
16
16
  // providers
17
17
  export { default as SocketProvider, useSocket, } from "./providers/socket-provider";
18
+ export { default as SEASocketProvider, useSEASocket, } from "./providers/sea-socket-provider";
18
19
  // hooks
19
20
  export { useHasApplicationAccess } from "./hooks/user-has-application-access";
20
21
  export { useHasOneOfPermissions, useHasPermission, } from "./hooks/use-has-permission-access";
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { Socket, ManagerOptions, SocketOptions } from "socket.io-client";
3
+ export type SocketStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
4
+ export type SocketContextValue = {
5
+ socket: Socket | null;
6
+ status: SocketStatus;
7
+ error: Error | null;
8
+ connect: () => void;
9
+ disconnect: () => void;
10
+ };
11
+ export type SocketProviderProps = {
12
+ children: React.ReactNode;
13
+ link: string;
14
+ namespace?: string;
15
+ path?: string;
16
+ token?: string;
17
+ autoConnect?: boolean;
18
+ options?: Partial<ManagerOptions & SocketOptions>;
19
+ };
20
+ export declare function SocketProvider({ children, link, namespace, path, token, autoConnect, options, }: Readonly<SocketProviderProps>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function useSocket(): SocketContextValue;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/abstract-socket-provider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAAM,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM7E,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC;CACnD,CAAC;AAYF,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,WAAkB,EAClB,OAAO,GACR,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CA2H/B;AAMD,wBAAgB,SAAS,uBAMxB"}
@@ -0,0 +1,118 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, useCallback, } from "react";
4
+ import { io } from "socket.io-client";
5
+ /* ---------------------------------- */
6
+ /* Context */
7
+ /* ---------------------------------- */
8
+ const SocketContext = createContext(null);
9
+ /* ---------------------------------- */
10
+ /* Provider */
11
+ /* ---------------------------------- */
12
+ export function SocketProvider({ children, link, namespace, path, token, autoConnect = true, options, }) {
13
+ const socketRef = useRef(null);
14
+ const configRef = useRef({
15
+ link,
16
+ namespace,
17
+ path,
18
+ token,
19
+ options,
20
+ });
21
+ const [status, setStatus] = useState("idle");
22
+ const [error, setError] = useState(null);
23
+ /* ---------------------------------- */
24
+ /* Keep configRef updated without */
25
+ /* recreating connect() */
26
+ /* ---------------------------------- */
27
+ useEffect(() => {
28
+ configRef.current = {
29
+ link,
30
+ namespace,
31
+ path,
32
+ token,
33
+ options,
34
+ };
35
+ }, [link, namespace, path, token, options]);
36
+ /* ---------------------------------- */
37
+ /* Connect (stable reference) */
38
+ /* ---------------------------------- */
39
+ const connect = useCallback(() => {
40
+ var _a;
41
+ if ((_a = socketRef.current) === null || _a === void 0 ? void 0 : _a.connected)
42
+ return;
43
+ const { link, namespace, path, token, options } = configRef.current;
44
+ if (!link) {
45
+ setStatus("error");
46
+ setError(new Error("Socket link is required"));
47
+ return;
48
+ }
49
+ const finalUrl = namespace
50
+ ? `${link.replace(/\/$/, "")}${namespace}`
51
+ : link;
52
+ setStatus("connecting");
53
+ const socket = io(finalUrl, {
54
+ autoConnect: false,
55
+ transports: ["websocket"],
56
+ path,
57
+ auth: token ? { token } : undefined,
58
+ ...options,
59
+ });
60
+ socketRef.current = socket;
61
+ socket.on("connect", () => {
62
+ setStatus("connected");
63
+ setError(null);
64
+ });
65
+ socket.on("disconnect", () => {
66
+ setStatus("disconnected");
67
+ });
68
+ socket.on("connect_error", (err) => {
69
+ setStatus("error");
70
+ setError(err instanceof Error ? err : new Error("Socket connect error"));
71
+ });
72
+ socket.connect();
73
+ }, []);
74
+ /* ---------------------------------- */
75
+ /* Disconnect (stable reference) */
76
+ /* ---------------------------------- */
77
+ const disconnect = useCallback(() => {
78
+ const socket = socketRef.current;
79
+ if (!socket)
80
+ return;
81
+ socket.removeAllListeners();
82
+ socket.disconnect();
83
+ socketRef.current = null;
84
+ setStatus("disconnected");
85
+ }, []);
86
+ /* ---------------------------------- */
87
+ /* Auto Connect */
88
+ /* ---------------------------------- */
89
+ useEffect(() => {
90
+ if (!autoConnect)
91
+ return;
92
+ connect();
93
+ return () => {
94
+ disconnect();
95
+ };
96
+ }, [autoConnect, connect, disconnect]);
97
+ /* ---------------------------------- */
98
+ /* Memoized context */
99
+ /* ---------------------------------- */
100
+ const value = useMemo(() => ({
101
+ socket: socketRef.current,
102
+ status,
103
+ error,
104
+ connect,
105
+ disconnect,
106
+ }), [status, error, connect, disconnect]);
107
+ return (_jsx(SocketContext.Provider, { value: value, children: children }));
108
+ }
109
+ /* ---------------------------------- */
110
+ /* Hook */
111
+ /* ---------------------------------- */
112
+ export function useSocket() {
113
+ const context = useContext(SocketContext);
114
+ if (!context) {
115
+ throw new Error("useSocket must be used within SocketProvider");
116
+ }
117
+ return context;
118
+ }
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { Socket, ManagerOptions, SocketOptions } from "socket.io-client";
3
+ export type SEASocketStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
4
+ export type SEASocketContextValue = {
5
+ socket: Socket | null;
6
+ status: SEASocketStatus;
7
+ error: Error | null;
8
+ connect: () => void;
9
+ disconnect: () => void;
10
+ };
11
+ export type SEASocketProviderProps = {
12
+ children: React.ReactNode;
13
+ link: string;
14
+ namespace?: string;
15
+ path?: string;
16
+ token?: string;
17
+ autoConnect?: boolean;
18
+ options?: Partial<ManagerOptions & SocketOptions>;
19
+ };
20
+ export default function SEASocketProvider({ children, link, namespace, path, token, autoConnect, options, }: Readonly<SEASocketProviderProps>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function useSEASocket(): SEASocketContextValue;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/sea-socket-provider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,EAAM,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM7E,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC;CACnD,CAAC;AAYF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,WAAkB,EAClB,OAAO,GACR,EAAE,QAAQ,CAAC,sBAAsB,CAAC,2CA+HlC;AAMD,wBAAgB,YAAY,0BAM3B"}
@@ -0,0 +1,119 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, useCallback, } from "react";
4
+ import { io } from "socket.io-client";
5
+ /* ---------------------------------- */
6
+ /* Context */
7
+ /* ---------------------------------- */
8
+ const SEASocketContext = createContext(null);
9
+ /* ---------------------------------- */
10
+ /* Provider */
11
+ /* ---------------------------------- */
12
+ export default function SEASocketProvider({ children, link, namespace, path, token, autoConnect = true, options, }) {
13
+ const socketRef = useRef(null);
14
+ const configRef = useRef({
15
+ link,
16
+ namespace,
17
+ path,
18
+ token,
19
+ options,
20
+ });
21
+ const [status, setStatus] = useState("idle");
22
+ const [error, setError] = useState(null);
23
+ /* ---------------------------------- */
24
+ /* Keep configRef updated without */
25
+ /* recreating connect() */
26
+ /* ---------------------------------- */
27
+ useEffect(() => {
28
+ configRef.current = {
29
+ link,
30
+ namespace,
31
+ path,
32
+ token,
33
+ options,
34
+ };
35
+ }, [link, namespace, path, token, options]);
36
+ /* ---------------------------------- */
37
+ /* Connect (stable reference) */
38
+ /* ---------------------------------- */
39
+ const connect = useCallback(() => {
40
+ var _a;
41
+ if ((_a = socketRef.current) === null || _a === void 0 ? void 0 : _a.connected)
42
+ return;
43
+ const { link, namespace, path, token, options } = configRef.current;
44
+ if (!link) {
45
+ setStatus("error");
46
+ setError(new Error("Socket link is required"));
47
+ return;
48
+ }
49
+ const finalUrl = namespace
50
+ ? `${link.replace(/\/$/, "")}${namespace}`
51
+ : link;
52
+ console.log("Connecting to socket at:", finalUrl);
53
+ setStatus("connecting");
54
+ const socket = io(finalUrl, {
55
+ autoConnect: false,
56
+ transports: ["websocket"],
57
+ path,
58
+ auth: token ? { token } : undefined,
59
+ ...options,
60
+ });
61
+ socketRef.current = socket;
62
+ socket.on("connect", () => {
63
+ setStatus("connected");
64
+ setError(null);
65
+ });
66
+ socket.on("disconnect", () => {
67
+ setStatus("disconnected");
68
+ });
69
+ socket.on("connect_error", (err) => {
70
+ setStatus("error");
71
+ setError(err instanceof Error ? err : new Error("Socket connect error"));
72
+ });
73
+ socket.connect();
74
+ }, []);
75
+ /* ---------------------------------- */
76
+ /* Disconnect (stable reference) */
77
+ /* ---------------------------------- */
78
+ const disconnect = useCallback(() => {
79
+ const socket = socketRef.current;
80
+ if (!socket)
81
+ return;
82
+ socket.removeAllListeners();
83
+ socket.disconnect();
84
+ socketRef.current = null;
85
+ setStatus("disconnected");
86
+ }, []);
87
+ /* ---------------------------------- */
88
+ /* Auto Connect */
89
+ /* ---------------------------------- */
90
+ useEffect(() => {
91
+ if (!autoConnect)
92
+ return;
93
+ connect();
94
+ return () => {
95
+ disconnect();
96
+ };
97
+ }, [autoConnect, connect, disconnect]);
98
+ /* ---------------------------------- */
99
+ /* Memoized context */
100
+ /* ---------------------------------- */
101
+ const value = useMemo(() => ({
102
+ socket: socketRef.current,
103
+ status,
104
+ error,
105
+ connect,
106
+ disconnect,
107
+ }), [status, error, connect, disconnect]);
108
+ return (_jsx(SEASocketContext.Provider, { value: value, children: children }));
109
+ }
110
+ /* ---------------------------------- */
111
+ /* Hook */
112
+ /* ---------------------------------- */
113
+ export function useSEASocket() {
114
+ const context = useContext(SEASocketContext);
115
+ if (!context) {
116
+ throw new Error("useSEASocket must be used within SEASocketProvider");
117
+ }
118
+ return context;
119
+ }
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/hoc/can-access-application/index.tsx","../src/hoc/with-authorization/index.tsx","../src/components/accordion/index.tsx","../src/components/alert/index.tsx","../src/components/auto-complete/auto-complete-context.tsx","../src/components/auto-complete/auto-complete-dropdown.tsx","../src/components/auto-complete/auto-complete-input.tsx","../src/components/auto-complete/auto-complete-selected.tsx","../src/components/auto-complete/auto-complete.tsx","../src/components/auto-complete/index.tsx","../src/components/auto-complete/use-autocomplete.ts","../src/components/auto-complete-input/index.tsx","../src/components/avatar/index.tsx","../src/components/badge/index.tsx","../src/components/breadcrumb/index.tsx","../src/components/break-line/index.tsx","../src/components/button/index.tsx","../src/components/calendar/index.tsx","../src/components/cards-list/index.tsx","../src/components/carousel/index.tsx","../src/components/checkbox/index.tsx","../src/components/color-picker/index.tsx","../src/components/comments-container/index.tsx","../src/components/comments-container/comment-event-bus/index.ts","../src/components/comments-container/comment-form/index.tsx","../src/components/comments-container/comment-item/index.tsx","../src/components/comments-container/comments-list/index.tsx","../src/components/comments-container/constants/index.ts","../src/components/comments-container/use-comments/index.tsx","../src/components/confirm/index.tsx","../src/components/count-down/index.tsx","../src/components/day-calendar/index.tsx","../src/components/drawer/index.tsx","../src/components/editable-text/index.tsx","../src/components/expandable-text/index.tsx","../src/components/file-input/index.tsx","../src/components/file-input/components/file-item/index.tsx","../src/components/firebase-token-handler/index.tsx","../src/components/form/index.tsx","../src/components/icon/index.tsx","../src/components/input/index.tsx","../src/components/item-not-found/index.tsx","../src/components/list-item/index.tsx","../src/components/list-item/components/page-button/index.tsx","../src/components/list-item/components/pagination/index.tsx","../src/components/loader/index.tsx","../src/components/log-activities-container/index.tsx","../src/components/log-activities-container/log-activities-list/index.tsx","../src/components/log-activities-container/log-activity-item/index.tsx","../src/components/log-activities-container/use-log-activities/index.tsx","../src/components/menu/index.tsx","../src/components/menu/menu-item/index.tsx","../src/components/modal/index.tsx","../src/components/month-calendar/index.tsx","../src/components/native-menu/index.tsx","../src/components/native-menu/native-menu-item/index.tsx","../src/components/not-authorized/index.tsx","../src/components/notifications-menu/index.tsx","../src/components/otp-input/index.tsx","../src/components/paper/index.tsx","../src/components/progress-bar/index.tsx","../src/components/radio-button/index.tsx","../src/components/search-input/index.tsx","../src/components/searchable-select/index.tsx","../src/components/select/selectchips.tsx","../src/components/select/selectcontrol.tsx","../src/components/select/selectdropdowncontent.tsx","../src/components/select/selectplaceholder.tsx","../src/components/select/selecttypes.ts","../src/components/select/selectview.tsx","../src/components/select/index.tsx","../src/components/select/useselectportal.ts","../src/components/skeleton/index.tsx","../src/components/stacked-avatars/index.tsx","../src/components/tab/index.tsx","../src/components/table/index.tsx","../src/components/text-editor/index.tsx","../src/components/text-editor/components/toolbar/index.tsx","../src/components/text-editor/utils/index.ts","../src/components/textarea/index.tsx","../src/components/toaster/index.tsx","../src/components/toaster/toaster-actions/index.ts","../src/components/toaster/toaster-card/index.tsx","../src/components/toaster/toaster-hook/index.ts","../src/components/toaster/toaster-store/index.ts","../src/components/toggle/index.tsx","../src/components/tooltip/index.tsx","../src/components/tree-checkbox/index.tsx","../src/components/tree-checkbox/components/tree-checkbox-item/index.tsx","../src/components/tree-checkbox/utils/index.ts","../src/components/week-calendar/index.tsx","../src/constants/index.ts","../src/hooks/list-items-hook/types.ts","../src/hooks/list-items-hook/usebulkactions.ts","../src/hooks/list-items-hook/usefilters.ts","../src/hooks/list-items-hook/usepagination.ts","../src/hooks/use-has-permission-access/index.ts","../src/hooks/use-translation/index.ts","../src/hooks/user-has-application-access/index.ts","../src/middleware/must-auth/index.tsx","../src/providers/socket-provider/index.tsx","../src/services/index.ts","../src/services/remote-service/index.ts","../src/utils/auth-axios/index.ts","../src/utils/axios/index.ts","../src/utils/color/index.ts","../src/utils/cookie/index.ts","../src/utils/device/index.ts","../src/utils/file/index.ts","../src/utils/firebase-client/firebase.ts","../src/utils/firebase-client/index.ts","../src/utils/firebase-client/types.ts","../src/utils/jwt/index.ts","../src/utils/notification-localstorage/index.ts","../src/utils/validation/index.ts"],"version":"5.9.3"}
1
+ {"root":["../src/index.ts","../src/hoc/can-access-application/index.tsx","../src/hoc/with-authorization/index.tsx","../src/components/accordion/index.tsx","../src/components/alert/index.tsx","../src/components/auto-complete/auto-complete-context.tsx","../src/components/auto-complete/auto-complete-dropdown.tsx","../src/components/auto-complete/auto-complete-input.tsx","../src/components/auto-complete/auto-complete-selected.tsx","../src/components/auto-complete/auto-complete.tsx","../src/components/auto-complete/index.tsx","../src/components/auto-complete/use-autocomplete.ts","../src/components/auto-complete-input/index.tsx","../src/components/avatar/index.tsx","../src/components/badge/index.tsx","../src/components/breadcrumb/index.tsx","../src/components/break-line/index.tsx","../src/components/button/index.tsx","../src/components/calendar/index.tsx","../src/components/cards-list/index.tsx","../src/components/carousel/index.tsx","../src/components/checkbox/index.tsx","../src/components/color-picker/index.tsx","../src/components/comments-container/index.tsx","../src/components/comments-container/comment-event-bus/index.ts","../src/components/comments-container/comment-form/index.tsx","../src/components/comments-container/comment-item/index.tsx","../src/components/comments-container/comments-list/index.tsx","../src/components/comments-container/constants/index.ts","../src/components/comments-container/use-comments/index.tsx","../src/components/confirm/index.tsx","../src/components/count-down/index.tsx","../src/components/day-calendar/index.tsx","../src/components/drawer/index.tsx","../src/components/editable-text/index.tsx","../src/components/expandable-text/index.tsx","../src/components/file-input/index.tsx","../src/components/file-input/components/file-item/index.tsx","../src/components/firebase-token-handler/index.tsx","../src/components/form/index.tsx","../src/components/icon/index.tsx","../src/components/input/index.tsx","../src/components/item-not-found/index.tsx","../src/components/list-item/index.tsx","../src/components/list-item/components/page-button/index.tsx","../src/components/list-item/components/pagination/index.tsx","../src/components/loader/index.tsx","../src/components/log-activities-container/index.tsx","../src/components/log-activities-container/log-activities-list/index.tsx","../src/components/log-activities-container/log-activity-item/index.tsx","../src/components/log-activities-container/use-log-activities/index.tsx","../src/components/menu/index.tsx","../src/components/menu/menu-item/index.tsx","../src/components/modal/index.tsx","../src/components/month-calendar/index.tsx","../src/components/native-menu/index.tsx","../src/components/native-menu/native-menu-item/index.tsx","../src/components/not-authorized/index.tsx","../src/components/notifications-menu/index.tsx","../src/components/otp-input/index.tsx","../src/components/paper/index.tsx","../src/components/progress-bar/index.tsx","../src/components/radio-button/index.tsx","../src/components/search-input/index.tsx","../src/components/searchable-select/index.tsx","../src/components/select/selectchips.tsx","../src/components/select/selectcontrol.tsx","../src/components/select/selectdropdowncontent.tsx","../src/components/select/selectplaceholder.tsx","../src/components/select/selecttypes.ts","../src/components/select/selectview.tsx","../src/components/select/index.tsx","../src/components/select/useselectportal.ts","../src/components/skeleton/index.tsx","../src/components/stacked-avatars/index.tsx","../src/components/tab/index.tsx","../src/components/table/index.tsx","../src/components/text-editor/index.tsx","../src/components/text-editor/components/toolbar/index.tsx","../src/components/text-editor/utils/index.ts","../src/components/textarea/index.tsx","../src/components/toaster/index.tsx","../src/components/toaster/toaster-actions/index.ts","../src/components/toaster/toaster-card/index.tsx","../src/components/toaster/toaster-hook/index.ts","../src/components/toaster/toaster-store/index.ts","../src/components/toggle/index.tsx","../src/components/tooltip/index.tsx","../src/components/tree-checkbox/index.tsx","../src/components/tree-checkbox/components/tree-checkbox-item/index.tsx","../src/components/tree-checkbox/utils/index.ts","../src/components/week-calendar/index.tsx","../src/constants/index.ts","../src/hooks/list-items-hook/types.ts","../src/hooks/list-items-hook/usebulkactions.ts","../src/hooks/list-items-hook/usefilters.ts","../src/hooks/list-items-hook/usepagination.ts","../src/hooks/use-has-permission-access/index.ts","../src/hooks/use-translation/index.ts","../src/hooks/user-has-application-access/index.ts","../src/middleware/must-auth/index.tsx","../src/providers/sea-socket-provider/index.tsx","../src/providers/socket-provider/index.tsx","../src/services/index.ts","../src/services/remote-service/index.ts","../src/utils/auth-axios/index.ts","../src/utils/axios/index.ts","../src/utils/color/index.ts","../src/utils/cookie/index.ts","../src/utils/device/index.ts","../src/utils/file/index.ts","../src/utils/firebase-client/firebase.ts","../src/utils/firebase-client/index.ts","../src/utils/firebase-client/types.ts","../src/utils/jwt/index.ts","../src/utils/notification-localstorage/index.ts","../src/utils/validation/index.ts"],"version":"5.9.3"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sea-react-components",
3
3
  "description": "SEA react components library",
4
- "version": "1.3.38",
4
+ "version": "1.3.40",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "build": "tsc --build && npx postcss src/styles.css -o dist/styles.css && npx postcss src/components/text-editor/style.css -o dist/components/text-editor/style.css",