@webex/cc-user-state 1.27.6-eft.2 → 1.28.0-ccwidgets.10

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.
@@ -0,0 +1 @@
1
+ export declare const AGENT_STATE_CHANGE = "agent:stateChange";
@@ -1,3 +1,13 @@
1
- export declare const useUserState: () => {
2
- name: string;
1
+ export declare const useUserState: ({ idleCodes, agentId, cc }: {
2
+ idleCodes: any;
3
+ agentId: any;
4
+ cc: any;
5
+ }) => {
6
+ idleCodes: any;
7
+ setAgentStatus: (selectedCode: any) => void;
8
+ isSettingAgentStatus: boolean;
9
+ errorMessage: string;
10
+ elapsedTime: number;
11
+ currentState: {};
12
+ setCurrentState: import("react").Dispatch<import("react").SetStateAction<{}>>;
3
13
  };
@@ -1,2 +1,2 @@
1
- import { UserState, WebUserState } from './user-state/index';
2
- export { UserState, WebUserState };
1
+ import { UserState } from './user-state/index';
2
+ export { UserState };
@@ -1,4 +1,3 @@
1
1
  import React from 'react';
2
2
  declare const UserState: React.FunctionComponent;
3
- declare const WebUserState: CustomElementConstructor;
4
- export { UserState, WebUserState };
3
+ export { UserState };
@@ -1,25 +1,45 @@
1
+ import { IdleCode } from '@webex/cc-store';
1
2
  /**
2
3
  * Interface representing the state of a user.
3
4
  */
4
5
  export interface IUserState {
5
6
  /**
6
- * The name of the user.
7
+ * The list of idle codes.
7
8
  */
8
- name: string;
9
+ idleCodes: IdleCode[];
9
10
  /**
10
- * The current login state of the user.
11
+ * Function to set the agent
12
+ * status.
13
+ * @param status The status to set.
14
+ * @param status.auxCodeId The aux code id.
15
+ * @param status.state The state to set.
16
+ * @returns void
11
17
  */
12
- loginState: any;
18
+ setAgentStatus: (status: {
19
+ auxCodeId: string;
20
+ state: string;
21
+ }) => void;
13
22
  /**
14
- * Function to set the login state of the user.
23
+ * Boolean indicating if the agent status is being set.
15
24
  */
16
- setLoginState: any;
25
+ isSettingAgentStatus: boolean;
17
26
  /**
18
- * The SDK instance for the contact center.
27
+ * The error message to display
19
28
  */
20
- ccSdk: any;
29
+ errorMessage: string;
21
30
  /**
22
- * Indicates whether the user is available.
31
+ * The duration of the current user state
23
32
  */
24
- isAvailable: any;
33
+ elapsedTime: number;
34
+ /**
35
+ * The idle code of the current user state
36
+ */
37
+ currentState: IdleCode;
38
+ /**
39
+ * Function to set the current state
40
+ * of the user.
41
+ * @param state The state to set.
42
+ * @returns void
43
+ */
44
+ setCurrentState: (state: IdleCode) => void;
25
45
  }
@@ -1,7 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IUserState } from './use-state.types';
3
- /**
4
- * Presentational component for the User State.
5
- */
6
3
  declare const UserStatePresentational: React.FunctionComponent<IUserState>;
7
4
  export default UserStatePresentational;
package/package.json CHANGED
@@ -1,27 +1,26 @@
1
1
  {
2
2
  "name": "@webex/cc-user-state",
3
3
  "description": "Webex Contact Center Widgets: User State",
4
- "version": "1.27.6-eft.2",
4
+ "version": "1.28.0-ccwidgets.10",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
+ "files": [
10
+ "dist/",
11
+ "package.json"
12
+ ],
9
13
  "scripts": {
14
+ "clean": "rm -rf dist && rm -rf node_modules",
15
+ "clean:dist": "rm -rf dist",
10
16
  "build": "yarn run -T tsc",
11
- "build:src": "webpack && yarn run build",
17
+ "build:src": "yarn run clean:dist && webpack",
12
18
  "build:watch": "webpack --watch",
13
19
  "test:unit": "jest"
14
20
  },
15
21
  "dependencies": {
16
- "@r2wc/react-to-web-component": "2.0.3",
17
- "@semantic-release/changelog": "^6.0.3",
18
- "@semantic-release/exec": "^6.0.3",
19
- "@semantic-release/git": "^10.0.1",
20
- "@semantic-release/github": "^11.0.1",
21
- "@webex/cc-store": "1.27.6-eft.2",
22
- "mobx-react": "9.1.1",
23
- "react": "18.3.1",
24
- "react-dom": "18.3.1",
22
+ "@webex/cc-store": "1.28.0-ccwidgets.10",
23
+ "mobx-react-lite": "^4.1.0",
25
24
  "typescript": "5.6.3"
26
25
  },
27
26
  "devDependencies": {
@@ -39,14 +38,22 @@
39
38
  "file-loader": "6.2.0",
40
39
  "jest": "29.7.0",
41
40
  "jest-environment-jsdom": "29.7.0",
42
- "semantic-release": "^24.2.0",
43
41
  "ts-loader": "9.5.1",
44
42
  "webpack": "5.94.0",
45
43
  "webpack-cli": "5.1.4",
46
44
  "webpack-merge": "6.0.1"
47
45
  },
46
+ "peerDependencies": {
47
+ "react": ">=18.3.1",
48
+ "react-dom": ">=18.3.1"
49
+ },
48
50
  "jest": {
49
- "testEnvironment": "jsdom"
51
+ "testEnvironment": "jsdom",
52
+ "testMatch": [
53
+ "**/tests/**/*.ts",
54
+ "**/tests/**/*.tsx"
55
+ ],
56
+ "verbose": true
50
57
  },
51
- "stableVersion": "1.27.6-eft.1"
58
+ "stableVersion": "1.28.0-ccwidgets.9"
52
59
  }
package/.babelrc.js DELETED
@@ -1,3 +0,0 @@
1
- const baseConfig = require('../../../.babelrc');
2
-
3
- module.exports = baseConfig;
package/dist/helper.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- /*
3
- * UserState helpers
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useUserState = void 0;
7
- const useUserState = () => {
8
- return { name: 'UserState' };
9
- };
10
- exports.useUserState = useUserState;
11
- //# sourceMappingURL=helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEI,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAEnD,0FAFA,iBAAS,OAEA;AAAE,6FAFA,oBAAY,OAEA"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebUserState = exports.UserState = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const cc_store_1 = __importDefault(require("@webex/cc-store"));
9
- const mobx_react_1 = require("mobx-react");
10
- const react_to_web_component_1 = __importDefault(require("@r2wc/react-to-web-component"));
11
- const helper_1 = require("../helper");
12
- const user_state_presentational_1 = __importDefault(require("./user-state.presentational"));
13
- const UserState = (0, mobx_react_1.observer)(() => {
14
- const { loginState, setLoginState, ccSdk, isAvailable } = cc_store_1.default;
15
- const result = (0, helper_1.useUserState)();
16
- const props = Object.assign(Object.assign({}, result), { loginState,
17
- setLoginState,
18
- ccSdk,
19
- isAvailable });
20
- return react_1.default.createElement(user_state_presentational_1.default, Object.assign({}, props));
21
- });
22
- exports.UserState = UserState;
23
- const WebUserState = (0, react_to_web_component_1.default)(UserState);
24
- exports.WebUserState = WebUserState;
25
- if (!customElements.get('widget-cc-user-state')) {
26
- customElements.define('widget-cc-user-state', WebUserState);
27
- }
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user-state/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,+DAAoC;AACpC,2CAAoC;AACpC,0FAAgD;AAEhD,sCAAuC;AACvC,4FAAkE;AAElE,MAAM,SAAS,GAA4B,IAAA,qBAAQ,EAAC,GAAG,EAAE;IACvD,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAC,GAAG,kBAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAC9B,MAAM,KAAK,mCACN,MAAM,KACT,UAAU;QACV,aAAa;QACb,KAAK;QACL,WAAW,GACZ,CAAC;IAEF,OAAO,8BAAC,mCAAuB,oBAAK,KAAK,EAAI,CAAC;AAChD,CAAC,CAAC,CAAC;AAQK,8BAAS;AANjB,MAAM,YAAY,GAAG,IAAA,gCAAI,EAAC,SAAS,CAAC,CAAC;AAMlB,oCAAY;AAJ/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAChD,cAAc,CAAC,MAAM,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=use-state.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-state.types.js","sourceRoot":"","sources":["../../src/user-state/use-state.types.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- /**
8
- * Presentational component for the User State.
9
- */
10
- const UserStatePresentational = (props) => {
11
- return (react_1.default.createElement(react_1.default.Fragment, null,
12
- react_1.default.createElement("h1", { "data-testid": "user-state-heading" }, props.name),
13
- react_1.default.createElement("h4", null,
14
- "User State: ",
15
- props.loginState)));
16
- };
17
- exports.default = UserStatePresentational;
18
- //# sourceMappingURL=user-state.presentational.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-state.presentational.js","sourceRoot":"","sources":["../../src/user-state/user-state.presentational.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAI1B;;GAEG;AACH,MAAM,uBAAuB,GAAwC,CAAC,KAAK,EAAE,EAAE;IAC7E,OAAO,CACL;QACE,qDAAgB,oBAAoB,IAAE,KAAK,CAAC,IAAI,CAAM;QACtD;;YAAiB,KAAK,CAAC,UAAU,CAAM,CACtC,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
package/src/helper.ts DELETED
@@ -1,7 +0,0 @@
1
- /*
2
- * UserState helpers
3
- */
4
-
5
- export const useUserState = () => {
6
- return {name: 'UserState'};
7
- };
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
- import {UserState, WebUserState} from './user-state/index';
2
-
3
- export {UserState, WebUserState};
@@ -1,29 +0,0 @@
1
- import React from 'react';
2
- import store from '@webex/cc-store';
3
- import {observer} from 'mobx-react';
4
- import r2wc from '@r2wc/react-to-web-component';
5
-
6
- import {useUserState} from '../helper';
7
- import UserStatePresentational from './user-state.presentational';
8
-
9
- const UserState: React.FunctionComponent = observer(() => {
10
- const {loginState, setLoginState, ccSdk, isAvailable} = store;
11
- const result = useUserState();
12
- const props = {
13
- ...result,
14
- loginState,
15
- setLoginState,
16
- ccSdk,
17
- isAvailable,
18
- };
19
-
20
- return <UserStatePresentational {...props} />;
21
- });
22
-
23
- const WebUserState = r2wc(UserState);
24
-
25
- if (!customElements.get('widget-cc-user-state')) {
26
- customElements.define('widget-cc-user-state', WebUserState);
27
- }
28
-
29
- export {UserState, WebUserState};
File without changes
@@ -1,29 +0,0 @@
1
- /**
2
- * Interface representing the state of a user.
3
- */
4
- export interface IUserState {
5
- /**
6
- * The name of the user.
7
- */
8
- name: string;
9
-
10
- /**
11
- * The current login state of the user.
12
- */
13
- loginState: any;
14
-
15
- /**
16
- * Function to set the login state of the user.
17
- */
18
- setLoginState: any;
19
-
20
- /**
21
- * The SDK instance for the contact center.
22
- */
23
- ccSdk: any;
24
-
25
- /**
26
- * Indicates whether the user is available.
27
- */
28
- isAvailable: any;
29
- }
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
-
3
- import {IUserState} from './use-state.types';
4
-
5
- /**
6
- * Presentational component for the User State.
7
- */
8
- const UserStatePresentational: React.FunctionComponent<IUserState> = (props) => {
9
- return (
10
- <>
11
- <h1 data-testid="user-state-heading">{props.name}</h1>
12
- <h4>User State: {props.loginState}</h4>
13
- </>
14
- );
15
- };
16
-
17
- export default UserStatePresentational;
package/tsconfig.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json",
3
- "include": [
4
- "./src"
5
- ],
6
- "compilerOptions": {
7
- "outDir": "./dist",
8
- "declaration": true,
9
- "declarationDir": "./dist/types"
10
- },
11
- }
package/webpack.config.js DELETED
@@ -1,12 +0,0 @@
1
- const {merge} = require('webpack-merge');
2
- const path = require('path');
3
-
4
- const baseConfig = require('../../../webpack.config');
5
-
6
- module.exports = merge(baseConfig, {
7
- output: {
8
- path: path.resolve(__dirname, 'dist'),
9
- filename: 'index.js', // Set the output filename to index.js
10
- libraryTarget: 'commonjs2',
11
- },
12
- });