sea-react-components 1.3.34 → 1.3.36

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 (29) hide show
  1. package/dist/HOC/with-authorization/index.d.ts +1 -1
  2. package/dist/HOC/with-authorization/index.d.ts.map +1 -1
  3. package/dist/components/toaster/index.d.ts +11 -0
  4. package/dist/components/toaster/index.d.ts.map +1 -0
  5. package/dist/components/toaster/index.js +159 -0
  6. package/dist/components/toaster/toaster-actions/index.d.ts +5 -0
  7. package/dist/components/toaster/toaster-actions/index.d.ts.map +1 -0
  8. package/dist/components/toaster/toaster-actions/index.js +26 -0
  9. package/dist/components/toaster/toaster-card/index.d.ts +24 -0
  10. package/dist/components/toaster/toaster-card/index.d.ts.map +1 -0
  11. package/dist/components/toaster/toaster-card/index.js +56 -0
  12. package/dist/components/toaster/toaster-hook/index.d.ts +2 -0
  13. package/dist/components/toaster/toaster-hook/index.d.ts.map +1 -0
  14. package/dist/components/toaster/toaster-hook/index.js +5 -0
  15. package/dist/components/toaster/toaster-store/index.d.ts +23 -0
  16. package/dist/components/toaster/toaster-store/index.d.ts.map +1 -0
  17. package/dist/components/toaster/toaster-store/index.js +15 -0
  18. package/dist/hooks/use-translation/index.d.ts +7 -0
  19. package/dist/hooks/use-translation/index.d.ts.map +1 -1
  20. package/dist/hooks/use-translation/index.js +14 -2
  21. package/dist/index.d.ts +4 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/providers/socket-provider/index.d.ts +17 -0
  25. package/dist/providers/socket-provider/index.d.ts.map +1 -0
  26. package/dist/providers/socket-provider/index.js +60 -0
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/dist/utils/axios/index.js +1 -1
  29. package/package.json +3 -2
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { CONSTANTS } from "sea-platform-helpers";
3
3
  type ValidationStrategy = "all" | "some" | "one";
4
4
  export interface Props {
5
- requiredPermissions: string[];
5
+ requiredPermissions: CONSTANTS.Permission.PermissionKeys[];
6
6
  strategy?: ValidationStrategy;
7
7
  fallback?: React.ReactNode;
8
8
  hasPermission: (key: CONSTANTS.Permission.PermissionKeys) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/HOC/with-authorization/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,KAAK,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,cAAc,KAAK,OAAO,CAAC;CACtE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,EACzC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EACxC,EACE,mBAAmB,EACnB,QAAgB,EAChB,QAA4B,EAC5B,aAAa,GACd,EAAE,KAAK,IAEA,OAAO,CAAC,6CAWjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/HOC/with-authorization/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,KAAK,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,mBAAmB,EAAE,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,cAAc,KAAK,OAAO,CAAC;CACtE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,EACzC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EACxC,EACE,mBAAmB,EACnB,QAAgB,EAChB,QAA4B,EAC5B,aAAa,GACd,EAAE,KAAK,IAEA,OAAO,CAAC,6CAWjB"}
@@ -0,0 +1,11 @@
1
+ import type { ToastPosition, ToastSize } from "./toaster-store";
2
+ type ToasterProps = {
3
+ timeout?: number;
4
+ position?: ToastPosition;
5
+ size?: ToastSize;
6
+ className?: string;
7
+ showIcon?: boolean;
8
+ };
9
+ export default function Toaster({ timeout, position, size, className, showIcon, }: ToasterProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toaster/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,aAAa,EACb,SAAS,EAEV,MAAM,iBAAiB,CAAC;AAGzB,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAeF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,OAAc,EACd,QAAsB,EACtB,IAAW,EACX,SAAS,EACT,QAAe,GAChB,EAAE,YAAY,2CA6Ld"}
@@ -0,0 +1,159 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
3
+ import { removeToast } from "./toaster-actions";
4
+ import ToastCard from "./toaster-card";
5
+ import { useStore } from "./toaster-hook";
6
+ import { colors as toastColors, icons as toastIcons } from "./toaster-card";
7
+ const POSITION_CLASSES = {
8
+ "top-left": "top-4 left-4 items-start",
9
+ "top-right": "top-4 right-4 items-end",
10
+ "bottom-left": "bottom-4 left-4 items-start",
11
+ "bottom-right": "bottom-4 right-4 items-end",
12
+ };
13
+ const SIZE_CLASSES = {
14
+ sm: "text-sm",
15
+ md: "text-base",
16
+ lg: "text-lg",
17
+ };
18
+ export default function Toaster({ timeout = 5000, position = "top-right", size = "sm", className, showIcon = true, }) {
19
+ const toasts = useStore((state) => state.toasts);
20
+ const timersRef = useRef(new Map());
21
+ const closeTimersRef = useRef(new Map());
22
+ const nodesRef = useRef(new Map());
23
+ const positionsRef = useRef(new Map());
24
+ const [closingIds, setClosingIds] = useState(new Set());
25
+ const exitDuration = 200;
26
+ const layoutDuration = 200;
27
+ const requestClose = useCallback((id) => {
28
+ setClosingIds((prev) => {
29
+ if (prev.has(id)) {
30
+ return prev;
31
+ }
32
+ const next = new Set(prev);
33
+ next.add(id);
34
+ return next;
35
+ });
36
+ if (closeTimersRef.current.has(id)) {
37
+ return;
38
+ }
39
+ const timer = setTimeout(() => {
40
+ removeToast(id);
41
+ setClosingIds((prev) => {
42
+ const next = new Set(prev);
43
+ next.delete(id);
44
+ return next;
45
+ });
46
+ closeTimersRef.current.delete(id);
47
+ }, exitDuration);
48
+ closeTimersRef.current.set(id, timer);
49
+ }, [exitDuration]);
50
+ useEffect(() => {
51
+ const timers = timersRef.current;
52
+ toasts.forEach((toast) => {
53
+ var _a;
54
+ const toastTimeout = (_a = toast.timeout) !== null && _a !== void 0 ? _a : timeout;
55
+ if (toastTimeout <= 0) {
56
+ return;
57
+ }
58
+ if (!timers.has(toast.id)) {
59
+ const timer = setTimeout(() => requestClose(toast.id), toastTimeout);
60
+ timers.set(toast.id, timer);
61
+ }
62
+ });
63
+ for (const [id, timer] of timers.entries()) {
64
+ if (!toasts.some((toast) => toast.id === id)) {
65
+ clearTimeout(timer);
66
+ timers.delete(id);
67
+ }
68
+ }
69
+ if (closingIds.size > 0) {
70
+ const toastIds = new Set(toasts.map((toast) => toast.id));
71
+ setClosingIds((prev) => {
72
+ if ([...prev].every((id) => toastIds.has(id))) {
73
+ return prev;
74
+ }
75
+ return new Set([...prev].filter((id) => toastIds.has(id)));
76
+ });
77
+ for (const [id, timer] of closeTimersRef.current.entries()) {
78
+ if (!toastIds.has(id)) {
79
+ clearTimeout(timer);
80
+ closeTimersRef.current.delete(id);
81
+ }
82
+ }
83
+ }
84
+ }, [toasts, timeout, requestClose, closingIds.size]);
85
+ useEffect(() => {
86
+ const timers = timersRef.current;
87
+ return () => {
88
+ for (const timer of timers.values()) {
89
+ clearTimeout(timer);
90
+ }
91
+ timers.clear();
92
+ for (const timer of closeTimersRef.current.values()) {
93
+ clearTimeout(timer);
94
+ }
95
+ closeTimersRef.current.clear();
96
+ };
97
+ }, []);
98
+ useLayoutEffect(() => {
99
+ const nextPositions = new Map();
100
+ toasts.forEach((toast) => {
101
+ const node = nodesRef.current.get(toast.id);
102
+ if (node) {
103
+ nextPositions.set(toast.id, node.getBoundingClientRect());
104
+ }
105
+ });
106
+ nextPositions.forEach((nextRect, id) => {
107
+ const prevRect = positionsRef.current.get(id);
108
+ if (!prevRect) {
109
+ return;
110
+ }
111
+ const deltaX = prevRect.left - nextRect.left;
112
+ const deltaY = prevRect.top - nextRect.top;
113
+ if (deltaX === 0 && deltaY === 0) {
114
+ return;
115
+ }
116
+ const node = nodesRef.current.get(id);
117
+ if (!node) {
118
+ return;
119
+ }
120
+ node.style.transition = "transform 0ms";
121
+ node.style.transform = `translate(${deltaX}px, ${deltaY}px)`;
122
+ node.getBoundingClientRect();
123
+ node.style.transition = `transform ${layoutDuration}ms ease`;
124
+ node.style.transform = "translate(0px, 0px)";
125
+ const handleTransitionEnd = (event) => {
126
+ if (event.propertyName !== "transform") {
127
+ return;
128
+ }
129
+ node.style.transition = "";
130
+ node.removeEventListener("transitionend", handleTransitionEnd);
131
+ };
132
+ node.addEventListener("transitionend", handleTransitionEnd);
133
+ });
134
+ positionsRef.current = nextPositions;
135
+ }, [toasts, layoutDuration]);
136
+ const positionClasses = POSITION_CLASSES[position];
137
+ const containerClassName = useMemo(() => {
138
+ const base = "fixed z-50 flex w-full max-w-sm flex-col gap-3 pointer-events-none";
139
+ return className
140
+ ? `${base} ${positionClasses} ${className}`
141
+ : `${base} ${positionClasses}`;
142
+ }, [className, positionClasses]);
143
+ const enterOffset = position.startsWith("bottom") ? 12 : -12;
144
+ return (_jsx("div", { className: containerClassName, children: toasts.map((toast) => {
145
+ var _a, _b;
146
+ const toastSize = (_a = toast.size) !== null && _a !== void 0 ? _a : size;
147
+ const toastType = (_b = toast.type) !== null && _b !== void 0 ? _b : "primary";
148
+ const color = toastColors[toastType];
149
+ const icon = toastIcons[toastType];
150
+ return (_jsx("div", { ref: (node) => {
151
+ if (node) {
152
+ nodesRef.current.set(toast.id, node);
153
+ }
154
+ else {
155
+ nodesRef.current.delete(toast.id);
156
+ }
157
+ }, children: _jsx(ToastCard, { toast: toast, sizeClass: SIZE_CLASSES[toastSize], type: toastType, color: color, icon: icon, enterOffset: enterOffset, onClose: requestClose, showIcon: showIcon, isClosing: closingIds.has(toast.id) }) }, toast.id));
158
+ }) }));
159
+ }
@@ -0,0 +1,5 @@
1
+ import { type ToastInput } from "../toaster-store";
2
+ export declare const pushToast: (input: ToastInput) => string;
3
+ export declare const removeToast: (id: string) => void;
4
+ export declare const clearToasts: () => void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/toaster/toaster-actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAEhB,MAAM,kBAAkB,CAAC;AAK1B,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAAG,MAiB7C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,IAKxC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,IAE9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { toasterStore, } from "../toaster-store";
2
+ const createToastId = () => `toast_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
3
+ export const pushToast = (input) => {
4
+ const { toasts } = toasterStore.getState();
5
+ if (toasts.some((toast) => toast.message === input.message)) {
6
+ return "";
7
+ }
8
+ const toast = {
9
+ id: createToastId(),
10
+ createdAt: Date.now(),
11
+ ...input,
12
+ };
13
+ toasterStore.setState({
14
+ toasts: [...toasts, toast],
15
+ });
16
+ return toast.id;
17
+ };
18
+ export const removeToast = (id) => {
19
+ const { toasts } = toasterStore.getState();
20
+ toasterStore.setState({
21
+ toasts: toasts.filter((toast) => toast.id !== id),
22
+ });
23
+ };
24
+ export const clearToasts = () => {
25
+ toasterStore.setState({ toasts: [] });
26
+ };
@@ -0,0 +1,24 @@
1
+ import type { ToastItem, Types } from "../toaster-store";
2
+ type ToastCardProps = {
3
+ toast: ToastItem;
4
+ sizeClass: string;
5
+ type: Types;
6
+ color: {
7
+ bg: string;
8
+ text: string;
9
+ };
10
+ icon: string;
11
+ enterOffset: number;
12
+ onClose: (id: string) => void;
13
+ showIcon: boolean;
14
+ theme?: "default";
15
+ isClosing: boolean;
16
+ };
17
+ export declare const colors: Record<Types, {
18
+ bg: string;
19
+ text: string;
20
+ }>;
21
+ export declare const icons: Record<Types, string>;
22
+ export default function ToastCard({ toast, sizeClass, type, icon, enterOffset, onClose, showIcon, theme, isClosing, }: ToastCardProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/toaster/toaster-card/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAAM,CACzB,KAAK,EACL;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CA0BF,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAOvC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,cAAc,2CAmDhB"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Icon from "../../icon";
3
+ import clsx from "clsx";
4
+ import { useEffect, useState } from "react";
5
+ export const colors = {
6
+ primary: {
7
+ bg: "bg-primary",
8
+ text: "text-white",
9
+ },
10
+ secondary: {
11
+ bg: "bg-secondary",
12
+ text: "text-secondary",
13
+ },
14
+ success: {
15
+ bg: "bg-success",
16
+ text: "text-success",
17
+ },
18
+ info: {
19
+ bg: "bg-info",
20
+ text: "text-info",
21
+ },
22
+ warning: {
23
+ bg: "bg-warning",
24
+ text: "text-warning",
25
+ },
26
+ error: {
27
+ bg: "bg-error",
28
+ text: "text-error",
29
+ },
30
+ };
31
+ export const icons = {
32
+ primary: "gg:info",
33
+ secondary: "gg:info",
34
+ success: "qlementine-icons:success-16",
35
+ info: "gg:info",
36
+ warning: "mi:warning",
37
+ error: "material-symbols:error-outline",
38
+ };
39
+ export default function ToastCard({ toast, sizeClass, type, icon, enterOffset, onClose, showIcon, theme, isClosing, }) {
40
+ const [mounted, setMounted] = useState(false);
41
+ useEffect(() => {
42
+ const id = requestAnimationFrame(() => setMounted(true));
43
+ return () => cancelAnimationFrame(id);
44
+ }, []);
45
+ let className = clsx(theme === "default"
46
+ ? "text-white"
47
+ : `${colors[type].text} ${colors[type].bg} bg-opacity-20`);
48
+ const isVisible = mounted && !isClosing;
49
+ const translateY = isVisible ? 0 : enterOffset;
50
+ const scale = isVisible ? 1 : 0.98;
51
+ const opacity = isVisible ? 1 : 0;
52
+ return (_jsx("div", { className: clsx("pointer-events-auto w-full rounded-lg transition-all duration-200 ease-out", className), style: {
53
+ opacity,
54
+ transform: `translateY(${translateY}px) scale(${scale})`,
55
+ }, "data-toast-type": type, children: _jsxs("div", { className: clsx("flex items-center gap-3 rounded-lg p-2", sizeClass), children: [showIcon ? _jsx(Icon, { icon: icon, className: "h-5 w-5" }) : null, _jsx("div", { className: "flex-1", children: _jsx("p", { className: "text-sm md:text-base ", children: toast.message }) }), _jsx("button", { type: "button", onClick: () => onClose(toast.id), "aria-label": "Close notification", children: _jsx(Icon, { icon: "line-md:close-small", className: "h-5 w-5 transition-all duration-300 ease-in-out hover:scale-110" }) })] }) }));
56
+ }
@@ -0,0 +1,2 @@
1
+ export declare function useStore<TState, TSelected = TState>(selector?: (state: TState) => TSelected): TSelected;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/toaster/toaster-hook/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EACjD,QAAQ,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAA4C,GACxE,SAAS,CAIX"}
@@ -0,0 +1,5 @@
1
+ import { useSyncExternalStore } from "react";
2
+ import { toasterStore } from "../toaster-store";
3
+ export function useStore(selector = (s) => s) {
4
+ return useSyncExternalStore(toasterStore.subscribe, () => selector(toasterStore.getState()));
5
+ }
@@ -0,0 +1,23 @@
1
+ export type ToastSize = "sm" | "md" | "lg";
2
+ export type Types = "primary" | "secondary" | "success" | "info" | "warning" | "error";
3
+ export type ToastPosition = "top-left" | "top-right" | "bottom-left" | "bottom-right";
4
+ export type ToastItem = {
5
+ id: string;
6
+ message: string;
7
+ type?: Types;
8
+ size?: ToastSize;
9
+ timeout?: number;
10
+ createdAt: number;
11
+ };
12
+ export type ToastInput = Omit<ToastItem, "id" | "createdAt">;
13
+ export type ToasterState = {
14
+ toasts: ToastItem[];
15
+ };
16
+ type Listener = (state: ToasterState) => void;
17
+ export declare const toasterStore: {
18
+ getState: () => ToasterState;
19
+ setState: (partial: Partial<ToasterState>) => void;
20
+ subscribe: (listener: Listener) => (() => void);
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/toaster/toaster-store/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,MAAM,KAAK,GACb,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAQ9C,eAAO,MAAM,YAAY;oBACT,YAAY;wBAEN,OAAO,CAAC,YAAY,CAAC,KAAG,IAAI;0BAK1B,QAAQ,KAAG,CAAC,MAAM,IAAI,CAAC;CAI9C,CAAC"}
@@ -0,0 +1,15 @@
1
+ let state = {
2
+ toasts: [],
3
+ };
4
+ const listeners = new Set();
5
+ export const toasterStore = {
6
+ getState: () => state,
7
+ setState: (partial) => {
8
+ state = { ...state, ...partial };
9
+ listeners.forEach((l) => l(state));
10
+ },
11
+ subscribe: (listener) => {
12
+ listeners.add(listener);
13
+ return () => listeners.delete(listener);
14
+ },
15
+ };
@@ -680,6 +680,7 @@ export declare const DEFAULT_TRANSLATIONS_MAP: {
680
680
  excused: string;
681
681
  totalClasses: string;
682
682
  tip: string;
683
+ delete: string;
683
684
  scanTipMessage: string;
684
685
  markYourAttendance: string;
685
686
  scanQRCodeDescription: string;
@@ -784,5 +785,11 @@ type TranslationKeysMap = {
784
785
  export declare function useSeaTranslation<K extends keyof TranslationKeysMap>(applicationKey: K, fetchTranslation: () => Promise<Record<keyof TranslationKeysMap[K], string>>, selectedLanguageCode?: string): {
785
786
  t: (key: keyof TranslationKeysMap[K], params?: Record<string, string | number>) => string;
786
787
  };
788
+ export declare function t<K extends keyof TranslationKeysMap>(props: {
789
+ applicationKey: K;
790
+ key: keyof TranslationKeysMap[K];
791
+ params?: Record<string, string | number>;
792
+ selectedLanguageCode: string;
793
+ }): string;
787
794
  export {};
788
795
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAUF,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;aA+CtB,MAAM,kBAAkB,CAAC,CAAC,CAAC,WACvB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACvC,MAAM;EAsBV"}
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"}
@@ -8,6 +8,7 @@ export const DEFAULT_TRANSLATIONS_MAP = {
8
8
  };
9
9
  let json = {};
10
10
  let isFetching = false;
11
+ let translation;
11
12
  const _refreshLanguage = "refreshLanguage";
12
13
  const refreshLanguageEvent = new Event(_refreshLanguage);
13
14
  // Generic version that preserves the type relationship
@@ -18,7 +19,6 @@ export function useSeaTranslation(applicationKey, fetchTranslation, selectedLang
18
19
  if (!json[selectedLanguageCode] &&
19
20
  isFetching == false &&
20
21
  !!selectedLanguageCode) {
21
- console.log({ selectedLanguageCode });
22
22
  try {
23
23
  isFetching = true;
24
24
  const languageResponse = await fetchTranslation();
@@ -51,7 +51,6 @@ export function useSeaTranslation(applicationKey, fetchTranslation, selectedLang
51
51
  }, []);
52
52
  const t = (key, params) => {
53
53
  var _a;
54
- let translation;
55
54
  if ((_a = json[selectedLanguageCode]) === null || _a === void 0 ? void 0 : _a[key]) {
56
55
  translation = json[selectedLanguageCode][key];
57
56
  }
@@ -70,3 +69,16 @@ export function useSeaTranslation(applicationKey, fetchTranslation, selectedLang
70
69
  };
71
70
  return { t };
72
71
  }
72
+ export function t(props) {
73
+ const { applicationKey, key, params, selectedLanguageCode } = props;
74
+ const translationMap = json[selectedLanguageCode] || DEFAULT_TRANSLATIONS_MAP[applicationKey];
75
+ let translation = translationMap[key];
76
+ // Replace placeholders like {{ name }}, {{ count }}, etc.
77
+ if (params) {
78
+ Object.entries(params).forEach(([paramKey, paramValue]) => {
79
+ const placeholder = new RegExp(`{{\\s*${paramKey}\\s*}}`, "g");
80
+ translation = translation.replace(placeholder, String(paramValue));
81
+ });
82
+ }
83
+ return translation;
84
+ }
package/dist/index.d.ts CHANGED
@@ -9,12 +9,15 @@ export * as FirebaseUtils from "./utils/firebase-client";
9
9
  export * as DeviceUtils from "./utils/device";
10
10
  export * as Services from "./services";
11
11
  export { default as MustAuth } from "./middleware/must-auth";
12
+ export { default as SocketProvider, useSocket, SocketProviderProps, } from "./providers/socket-provider";
12
13
  export { useHasApplicationAccess } from "./hooks/user-has-application-access";
13
14
  export { useHasOneOfPermissions, useHasPermission, } from "./hooks/use-has-permission-access";
14
- export { useSeaTranslation, DEFAULT_TRANSLATIONS_MAP, } from "./hooks/use-translation";
15
+ export { useSeaTranslation, DEFAULT_TRANSLATIONS_MAP, t, } from "./hooks/use-translation";
15
16
  export { default as Icon, Props as IconProps } from "./components/icon";
16
17
  export { default as Button, Props as ButtonProps } from "./components/button";
17
18
  export { default as Alert, Props as AlertProps, Types as AlertTypes, Themes as AlertThemes, } from "./components/alert";
19
+ export { default as Toaster } from "./components/toaster";
20
+ export { clearToasts, pushToast, removeToast, } from "./components/toaster/toaster-actions";
18
21
  export { default as Badge, Props as BadgeProps, Types as BudgeTypes, } from "./components/badge";
19
22
  export { default as Modal, ModalPosition, ModalSize, Props as ModalProps, } from "./components/modal";
20
23
  export { default as Menu, Props as MenuProps } from "./components/menu";
@@ -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
@@ -13,14 +13,18 @@ export * as DeviceUtils from "./utils/device";
13
13
  export * as Services from "./services";
14
14
  // middleware
15
15
  export { default as MustAuth } from "./middleware/must-auth";
16
+ // providers
17
+ export { default as SocketProvider, useSocket, } from "./providers/socket-provider";
16
18
  // hooks
17
19
  export { useHasApplicationAccess } from "./hooks/user-has-application-access";
18
20
  export { useHasOneOfPermissions, useHasPermission, } from "./hooks/use-has-permission-access";
19
- export { useSeaTranslation, DEFAULT_TRANSLATIONS_MAP, } from "./hooks/use-translation";
21
+ export { useSeaTranslation, DEFAULT_TRANSLATIONS_MAP, t, } from "./hooks/use-translation";
20
22
  // components
21
23
  export { default as Icon } from "./components/icon";
22
24
  export { default as Button } from "./components/button";
23
25
  export { default as Alert, } from "./components/alert";
26
+ export { default as Toaster } from "./components/toaster";
27
+ export { clearToasts, pushToast, removeToast, } from "./components/toaster/toaster-actions";
24
28
  export { default as Badge, } from "./components/badge";
25
29
  export { default as Modal, } from "./components/modal";
26
30
  export { default as Menu } from "./components/menu";
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { io, Socket } 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
+ };
9
+ export type SocketProviderProps = {
10
+ children: React.ReactNode;
11
+ link: string;
12
+ autoConnect?: boolean;
13
+ options?: Parameters<typeof io>[1];
14
+ };
15
+ export default function SocketProvider({ children, link, autoConnect, options, }: Readonly<SocketProviderProps>): import("react/jsx-runtime").JSX.Element;
16
+ export declare function useSocket(): SocketContextValue;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/socket-provider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI9C,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;CACrB,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,IAAI,EACJ,WAAkB,EAClB,OAAO,GACR,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CA4D/B;AAED,wBAAgB,SAAS,uBAMxB"}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from "react";
4
+ import { io } from "socket.io-client";
5
+ import { getCookie } from "../../utils/cookie";
6
+ import { CONSTANTS } from "sea-platform-helpers";
7
+ const SocketContext = createContext(null);
8
+ export default function SocketProvider({ children, link, autoConnect = true, options, }) {
9
+ const accessToken = getCookie(CONSTANTS.JWT.JWTCookieKey);
10
+ const [socket, setSocket] = useState(null);
11
+ const [status, setStatus] = useState("idle");
12
+ const [error, setError] = useState(null);
13
+ const connect = useCallback(() => {
14
+ setStatus("connecting");
15
+ const created = io(link, {
16
+ autoConnect,
17
+ auth: {
18
+ token: accessToken,
19
+ },
20
+ ...options,
21
+ });
22
+ created.on("connect", () => {
23
+ setStatus("connected");
24
+ setError(null);
25
+ });
26
+ created.on("disconnect", () => {
27
+ setStatus("disconnected");
28
+ });
29
+ created.on("connect_error", (err) => {
30
+ setStatus("error");
31
+ setError(err instanceof Error ? err : new Error("Socket connect error"));
32
+ });
33
+ setSocket(created);
34
+ return created;
35
+ }, [autoConnect, link, options]);
36
+ useEffect(() => {
37
+ if (!link) {
38
+ setStatus("error");
39
+ setError(new Error("Socket link is required"));
40
+ setSocket(null);
41
+ return undefined;
42
+ }
43
+ const created = connect();
44
+ return () => {
45
+ created.removeAllListeners();
46
+ created.disconnect();
47
+ setSocket(null);
48
+ setStatus("disconnected");
49
+ };
50
+ }, [connect, link]);
51
+ const value = useMemo(() => ({ socket, status, error }), [socket, status, error]);
52
+ return (_jsx(SocketContext.Provider, { value: value, children: children }));
53
+ }
54
+ export function useSocket() {
55
+ const context = useContext(SocketContext);
56
+ if (!context) {
57
+ throw new Error("useSocket must be used within SocketProvider");
58
+ }
59
+ return context;
60
+ }
@@ -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/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/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/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"}
@@ -31,7 +31,7 @@ export const createInstance = (baseURL, options = {
31
31
  config.headers[(_a = options.deviceIdKey) !== null && _a !== void 0 ? _a : CONSTANTS.Server.DEVICE_ID_HEADER_KEY] = deviceId;
32
32
  if (options.withTimeZone) {
33
33
  const timeZone = Utils.Moment.moment.tz.guess();
34
- config.headers["X-Time-Zone"] = timeZone;
34
+ config.headers[CONSTANTS.Server.TIMEZONE_HEADER_KEY] = timeZone;
35
35
  }
36
36
  return config;
37
37
  }, (error) => {
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.34",
4
+ "version": "1.3.36",
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",
@@ -48,8 +48,9 @@
48
48
  "jwt-decode": "^4.0.0",
49
49
  "lowlight": "^3.3.0",
50
50
  "react-dom": "^19.2.3",
51
- "sea-platform-helpers": "^1.5.29",
51
+ "sea-platform-helpers": "^1.5.30",
52
52
  "sea-react-components": "file:",
53
+ "socket.io-client": "^4.8.3",
53
54
  "uuid": "^13.0.0",
54
55
  "yup": "^1.5.0"
55
56
  },