ahs-cti 0.0.4 → 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.
- package/dist/agentDetailReport-F7XZLVVO.mjs +16 -0
- package/dist/{agentPerformanceReport-6RO6STKU.mjs → agentPerformanceReport-U2QGVTXF.mjs} +27 -13
- package/dist/agentPerformanceReport-U2QGVTXF.mjs.map +1 -0
- package/dist/{auditReport-PYRZU3NA.mjs → auditReport-DEVQDTDT.mjs} +4 -3
- package/dist/{auditReport-PYRZU3NA.mjs.map → auditReport-DEVQDTDT.mjs.map} +1 -1
- package/dist/{callHistory-4JI64TU7.mjs → callHistory-MRBBY3UO.mjs} +27 -15
- package/dist/callHistory-MRBBY3UO.mjs.map +1 -0
- package/dist/{campaigns-JZE22SIM.mjs → campaigns-ERO3QM6I.mjs} +108 -51
- package/dist/campaigns-ERO3QM6I.mjs.map +1 -0
- package/dist/{cdrReport-RJTURVVV.mjs → cdrReport-EZNOCELK.mjs} +35 -18
- package/dist/cdrReport-EZNOCELK.mjs.map +1 -0
- package/dist/chunk-3DOSR6LQ.mjs +14 -0
- package/dist/chunk-3DOSR6LQ.mjs.map +1 -0
- package/dist/{chunk-HAJ6SECI.mjs → chunk-53DYH64M.mjs} +10 -6
- package/dist/{chunk-HAJ6SECI.mjs.map → chunk-53DYH64M.mjs.map} +1 -1
- package/dist/{chunk-UNTGXE6T.mjs → chunk-5FSMIU5K.mjs} +2 -2
- package/dist/{chunk-PO6POUPL.mjs → chunk-6MURUWDX.mjs} +39 -14
- package/dist/chunk-6MURUWDX.mjs.map +1 -0
- package/dist/{chunk-RZZQ42MG.mjs → chunk-BVQNDAS6.mjs} +6 -3
- package/dist/{chunk-RZZQ42MG.mjs.map → chunk-BVQNDAS6.mjs.map} +1 -1
- package/dist/chunk-DXZIYCNQ.mjs +14 -0
- package/dist/chunk-DXZIYCNQ.mjs.map +1 -0
- package/dist/{chunk-IBFF6DJA.mjs → chunk-ICGEHYJL.mjs} +11 -3
- package/dist/chunk-ICGEHYJL.mjs.map +1 -0
- package/dist/{chunk-BDQZYTAY.mjs → chunk-ISQBOS5Q.mjs} +20 -14
- package/dist/chunk-ISQBOS5Q.mjs.map +1 -0
- package/dist/chunk-MBHP7UOP.mjs +14 -0
- package/dist/chunk-MBHP7UOP.mjs.map +1 -0
- package/dist/chunk-MBXHRFGP.mjs +14 -0
- package/dist/chunk-MBXHRFGP.mjs.map +1 -0
- package/dist/chunk-MFZKONNR.mjs +14 -0
- package/dist/chunk-MFZKONNR.mjs.map +1 -0
- package/dist/{chunk-OVC42HVH.mjs → chunk-Q7FIRWF2.mjs} +6 -2
- package/dist/chunk-Q7FIRWF2.mjs.map +1 -0
- package/dist/{chunk-ATAP77RC.mjs → chunk-QPOHVXUK.mjs} +2 -2
- package/dist/chunk-RSL5OBRQ.mjs +28 -0
- package/dist/chunk-RSL5OBRQ.mjs.map +1 -0
- package/dist/chunk-XA5SCAZJ.mjs +14 -0
- package/dist/chunk-XA5SCAZJ.mjs.map +1 -0
- package/dist/{chunk-JOZ4YQMR.mjs → chunk-XMRM5VR4.mjs} +6 -3
- package/dist/{chunk-JOZ4YQMR.mjs.map → chunk-XMRM5VR4.mjs.map} +1 -1
- package/dist/{chunk-FVVDDZCA.mjs → chunk-YFW47Y76.mjs} +12 -4
- package/dist/chunk-YFW47Y76.mjs.map +1 -0
- package/dist/index.js +2718 -2134
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +229 -104
- package/dist/index.mjs.map +1 -1
- package/dist/{liveStatus-E7UP37FK.mjs → liveStatus-F6AKCC27.mjs} +4 -4
- package/dist/{loginReport-5QYHG6OM.mjs → loginReport-MWTI4G6O.mjs} +35 -16
- package/dist/loginReport-MWTI4G6O.mjs.map +1 -0
- package/dist/{managementDashboard-PARD3QHL.mjs → managementDashboard-6UBOCLBA.mjs} +15 -10
- package/dist/{managementDashboard-PARD3QHL.mjs.map → managementDashboard-6UBOCLBA.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/agentDetailReport-JYBV3TF6.mjs +0 -13
- package/dist/agentPerformanceReport-6RO6STKU.mjs.map +0 -1
- package/dist/callHistory-4JI64TU7.mjs.map +0 -1
- package/dist/campaigns-JZE22SIM.mjs.map +0 -1
- package/dist/cdrReport-RJTURVVV.mjs.map +0 -1
- package/dist/chunk-BDQZYTAY.mjs.map +0 -1
- package/dist/chunk-FVVDDZCA.mjs.map +0 -1
- package/dist/chunk-IBFF6DJA.mjs.map +0 -1
- package/dist/chunk-OVC42HVH.mjs.map +0 -1
- package/dist/chunk-PO6POUPL.mjs.map +0 -1
- package/dist/loginReport-5QYHG6OM.mjs.map +0 -1
- /package/dist/{agentDetailReport-JYBV3TF6.mjs.map → agentDetailReport-F7XZLVVO.mjs.map} +0 -0
- /package/dist/{chunk-UNTGXE6T.mjs.map → chunk-5FSMIU5K.mjs.map} +0 -0
- /package/dist/{chunk-ATAP77RC.mjs.map → chunk-QPOHVXUK.mjs.map} +0 -0
- /package/dist/{liveStatus-E7UP37FK.mjs.map → liveStatus-F6AKCC27.mjs.map} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
createSvgIcon,
|
|
2
3
|
sdkStateManager
|
|
3
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q7FIRWF2.mjs";
|
|
4
5
|
|
|
5
6
|
// call-control-sdk/lib/hooks/useSDKPermissions.ts
|
|
6
7
|
import { useState, useEffect, useCallback } from "react";
|
|
@@ -53,7 +54,14 @@ function useSDKPermissions() {
|
|
|
53
54
|
// call-control-sdk/lib/components/SDKAccessDenied.tsx
|
|
54
55
|
import { Box, Paper, Typography, useTheme } from "@mui/material";
|
|
55
56
|
import { alpha } from "@mui/material/styles";
|
|
56
|
-
|
|
57
|
+
|
|
58
|
+
// node_modules/@mui/icons-material/LockOutlined.mjs
|
|
59
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
60
|
+
var LockOutlined_default = createSvgIcon(/* @__PURE__ */ _jsx("path", {
|
|
61
|
+
d: "M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2M9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9zm9 14H6V10h12zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2"
|
|
62
|
+
}), "LockOutlined");
|
|
63
|
+
|
|
64
|
+
// call-control-sdk/lib/components/SDKAccessDenied.tsx
|
|
57
65
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
58
66
|
var SDKAccessDenied = ({
|
|
59
67
|
message = "You don't have the necessary permissions to view this content."
|
|
@@ -100,7 +108,7 @@ var SDKAccessDenied = ({
|
|
|
100
108
|
display: "flex",
|
|
101
109
|
mb: 2
|
|
102
110
|
},
|
|
103
|
-
children: /* @__PURE__ */ jsx(
|
|
111
|
+
children: /* @__PURE__ */ jsx(LockOutlined_default, { sx: { fontSize: 32 } })
|
|
104
112
|
}
|
|
105
113
|
),
|
|
106
114
|
/* @__PURE__ */ jsx(Typography, { variant: "h6", color: "text.primary", gutterBottom: true, fontWeight: "600", sx: { mb: 1 }, children: "Access Denied" }),
|
|
@@ -177,4 +185,4 @@ export {
|
|
|
177
185
|
SDKAccessDenied,
|
|
178
186
|
SDKPermissionGuard
|
|
179
187
|
};
|
|
180
|
-
//# sourceMappingURL=chunk-
|
|
188
|
+
//# sourceMappingURL=chunk-YFW47Y76.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../call-control-sdk/lib/hooks/useSDKPermissions.ts","../call-control-sdk/lib/components/SDKAccessDenied.tsx","../node_modules/@mui/icons-material/LockOutlined.mjs","../call-control-sdk/lib/components/SDKPermissionGuard.tsx"],"sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\r\nimport { sdkStateManager } from \"./sdk-state\";\r\nimport type { SDKEntitlements } from \"../permissions/types\";\r\n\r\nexport interface SDKPermissionsHook {\r\n permissions: string[];\r\n menuEntitlements: Array<{ code: string; name: string; enabled: boolean }>;\r\n isLoaded: boolean;\r\n hasPermission: (permission: string) => boolean;\r\n hasAnyPermission: (permissions: string[]) => boolean;\r\n hasAllPermissions: (permissions: string[]) => boolean;\r\n hasMenuFeature: (code: string) => boolean;\r\n isBitEnabled: (category: keyof SDKEntitlements, bitCode: string) => boolean;\r\n}\r\n\r\nexport function useSDKPermissions(): SDKPermissionsHook {\r\n const [state, setState] = useState(() => sdkStateManager.getState());\r\n\r\n useEffect(() => {\r\n const unsubscribe = sdkStateManager.subscribe(() => {\r\n setState(sdkStateManager.getState());\r\n });\r\n return unsubscribe;\r\n }, []);\r\n\r\n const hasPermission = useCallback(\r\n (permission: string) => sdkStateManager.hasPermission(permission),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [state.userPermissions],\r\n );\r\n\r\n const hasAnyPermission = useCallback(\r\n (permissions: string[]) => sdkStateManager.hasAnyPermission(permissions),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [state.userPermissions],\r\n );\r\n\r\n const hasAllPermissions = useCallback(\r\n (permissions: string[]) => sdkStateManager.hasAllPermissions(permissions),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [state.userPermissions],\r\n );\r\n\r\n const hasMenuFeature = useCallback(\r\n (code: string) => sdkStateManager.hasMenuFeature(code),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [state.menuEntitlements],\r\n );\r\n\r\n const isBitEnabled = useCallback(\r\n (category: keyof SDKEntitlements, bitCode: string) =>\r\n sdkStateManager.isBitEnabled(category, bitCode),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [state.sdk],\r\n );\r\n\r\n return {\r\n permissions: state.userPermissions ?? [],\r\n menuEntitlements: state.menuEntitlements ?? [],\r\n isLoaded: state.isPermissionsLoaded,\r\n hasPermission,\r\n hasAnyPermission,\r\n hasAllPermissions,\r\n hasMenuFeature,\r\n isBitEnabled,\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { Box, Paper, Typography, useTheme } from \"@mui/material\";\r\nimport { alpha } from \"@mui/material/styles\";\r\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\r\n\r\ninterface SDKAccessDeniedProps {\r\n message?: string;\r\n}\r\n\r\nexport const SDKAccessDenied: React.FC<SDKAccessDeniedProps> = ({\r\n message = \"You don't have the necessary permissions to view this content.\",\r\n}) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n <Box\r\n sx={{\r\n p: 4,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n minHeight: 250,\r\n }}\r\n >\r\n <Paper\r\n elevation={0}\r\n sx={{\r\n p: 4,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n bgcolor: alpha(theme.palette.error.main, 0.05),\r\n borderRadius: 3,\r\n border: \"1px dashed\",\r\n borderColor: alpha(theme.palette.error.main, 0.3),\r\n maxWidth: 420,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n bgcolor: alpha(theme.palette.error.main, 0.1),\r\n color: \"error.main\",\r\n borderRadius: \"50%\",\r\n p: 2,\r\n display: \"flex\",\r\n mb: 2,\r\n }}\r\n >\r\n <LockOutlinedIcon sx={{ fontSize: 32 }} />\r\n </Box>\r\n <Typography variant=\"h6\" color=\"text.primary\" gutterBottom fontWeight=\"600\" sx={{ mb: 1 }}>\r\n Access Denied\r\n </Typography>\r\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 0 }}>\r\n {message}\r\n </Typography>\r\n </Paper>\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2M9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9zm9 14H6V10h12zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2\"\n}), 'LockOutlined');","import React from \"react\";\r\nimport { useSDKPermissions } from \"../hooks/useSDKPermissions\";\r\nimport { SDKAccessDenied } from \"./SDKAccessDenied\";\r\n\r\ninterface SDKPermissionGuardProps {\r\n children?: React.ReactNode;\r\n /** Single permission code (e.g. \"calls:inbound\") */\r\n permission?: string;\r\n /** Multiple permission codes — ANY match grants access by default */\r\n permissions?: string[];\r\n /** When true, ALL permissions must be granted */\r\n requireAll?: boolean;\r\n /** One or more menu feature codes — ANY match grants access by default */\r\n menuFeature?: string | string[];\r\n /** When true, ALL menu features must be enabled */\r\n requireAllMenus?: boolean;\r\n /** Custom fallback rendered when access is denied */\r\n fallback?: React.ReactNode;\r\n /** Show the default Access Denied UI when denied. Defaults to true. */\r\n showFallback?: boolean;\r\n /** Callback fired when the guard denies access */\r\n onDenied?: () => void;\r\n}\r\n\r\nexport const SDKPermissionGuard: React.FC<SDKPermissionGuardProps> = ({\r\n children,\r\n permission,\r\n permissions,\r\n requireAll = false,\r\n menuFeature,\r\n requireAllMenus = false,\r\n fallback,\r\n showFallback = true,\r\n onDenied,\r\n}) => {\r\n const { isLoaded, hasPermission, hasAnyPermission, hasAllPermissions, hasMenuFeature } =\r\n useSDKPermissions();\r\n\r\n if (!isLoaded) return null;\r\n\r\n const isAllowed = checkAccess({\r\n permission,\r\n permissions,\r\n requireAll,\r\n menuFeature,\r\n requireAllMenus,\r\n hasPermission,\r\n hasAnyPermission,\r\n hasAllPermissions,\r\n hasMenuFeature,\r\n });\r\n\r\n if (!isAllowed) {\r\n onDenied?.();\r\n if (fallback !== undefined) return <>{fallback}</>;\r\n if (showFallback) return <SDKAccessDenied />;\r\n return null;\r\n }\r\n\r\n return <>{children}</>;\r\n};\r\n\r\nfunction checkAccess({\r\n permission,\r\n permissions,\r\n requireAll,\r\n menuFeature,\r\n requireAllMenus,\r\n hasPermission,\r\n hasAnyPermission,\r\n hasAllPermissions,\r\n hasMenuFeature,\r\n}: {\r\n permission?: string;\r\n permissions?: string[];\r\n requireAll: boolean;\r\n menuFeature?: string | string[];\r\n requireAllMenus: boolean;\r\n hasPermission: (p: string) => boolean;\r\n hasAnyPermission: (p: string[]) => boolean;\r\n hasAllPermissions: (p: string[]) => boolean;\r\n hasMenuFeature: (c: string) => boolean;\r\n}): boolean {\r\n const menuCodes = menuFeature\r\n ? Array.isArray(menuFeature) ? menuFeature : [menuFeature]\r\n : [];\r\n\r\n const hasNoGuards =\r\n !permission &&\r\n (!permissions || permissions.length === 0) &&\r\n menuCodes.length === 0;\r\n\r\n if (hasNoGuards) return true;\r\n\r\n if (menuCodes.length > 0) {\r\n const menuGranted = requireAllMenus\r\n ? menuCodes.every((c) => hasMenuFeature(c))\r\n : menuCodes.some((c) => hasMenuFeature(c));\r\n if (!menuGranted) return false;\r\n }\r\n\r\n if (permission && !hasPermission(permission)) return false;\r\n\r\n if (permissions && permissions.length > 0) {\r\n const granted = requireAll ? hasAllPermissions(permissions) : hasAnyPermission(permissions);\r\n if (!granted) return false;\r\n }\r\n\r\n return true;\r\n}\r\n"],"mappings":"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","names":["jsx"]}
|