@webex/cc-user-state 1.28.0-wxcc.1

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/.babelrc.js ADDED
@@ -0,0 +1,3 @@
1
+ const baseConfig = require('../../../.babelrc');
2
+
3
+ module.exports = baseConfig;
package/CHANGELOG.md ADDED
File without changes
package/dist/helper.js ADDED
@@ -0,0 +1,11 @@
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
@@ -0,0 +1 @@
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 ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebUserState = exports.UserState = void 0;
4
+ const index_1 = require("./user-state/index");
5
+ Object.defineProperty(exports, "UserState", { enumerable: true, get: function () { return index_1.UserState; } });
6
+ Object.defineProperty(exports, "WebUserState", { enumerable: true, get: function () { return index_1.WebUserState; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAEnD,0FAFA,iBAAS,OAEA;AAAE,6FAFA,oBAAY,OAEA"}
@@ -0,0 +1,3 @@
1
+ export declare const useUserState: () => {
2
+ name: string;
3
+ };
@@ -0,0 +1,2 @@
1
+ import { UserState, WebUserState } from './user-state/index';
2
+ export { UserState, WebUserState };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ declare const UserState: React.FunctionComponent;
3
+ declare const WebUserState: CustomElementConstructor;
4
+ export { UserState, WebUserState };
@@ -0,0 +1,25 @@
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
+ * The current login state of the user.
11
+ */
12
+ loginState: any;
13
+ /**
14
+ * Function to set the login state of the user.
15
+ */
16
+ setLoginState: any;
17
+ /**
18
+ * The SDK instance for the contact center.
19
+ */
20
+ ccSdk: any;
21
+ /**
22
+ * Indicates whether the user is available.
23
+ */
24
+ isAvailable: any;
25
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { IUserState } from './use-state.types';
3
+ /**
4
+ * Presentational component for the User State.
5
+ */
6
+ declare const UserStatePresentational: React.FunctionComponent<IUserState>;
7
+ export default UserStatePresentational;
@@ -0,0 +1,28 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=use-state.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-state.types.js","sourceRoot":"","sources":["../../src/user-state/use-state.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
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/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@webex/cc-user-state",
3
+ "description": "Webex Contact Center Widgets: User State",
4
+ "version": "1.28.0-wxcc.1",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "yarn run -T tsc",
8
+ "build:src": "webpack && yarn run build",
9
+ "build:watch": "webpack --watch",
10
+ "test:unit": "jest",
11
+ "release": "echo 'Releasing @webex/cc-user-state' && semantic-release --no-ci && echo 'Released @webex/cc-user-state'"
12
+ },
13
+ "dependencies": {
14
+ "@r2wc/react-to-web-component": "2.0.3",
15
+ "@semantic-release/changelog": "^6.0.3",
16
+ "@semantic-release/exec": "^6.0.3",
17
+ "@semantic-release/git": "^10.0.1",
18
+ "@semantic-release/github": "^11.0.1",
19
+ "@webex/cc-store": "^1.28.0-wxcc.2",
20
+ "mobx-react": "9.1.1",
21
+ "react": "18.3.1",
22
+ "react-dom": "18.3.1",
23
+ "typescript": "5.6.3"
24
+ },
25
+ "devDependencies": {
26
+ "@babel/core": "7.25.2",
27
+ "@babel/preset-env": "7.25.4",
28
+ "@babel/preset-react": "7.24.7",
29
+ "@babel/preset-typescript": "7.25.9",
30
+ "@testing-library/dom": "10.4.0",
31
+ "@testing-library/jest-dom": "6.6.2",
32
+ "@testing-library/react": "16.0.1",
33
+ "@types/jest": "29.5.14",
34
+ "@types/react-test-renderer": "18",
35
+ "babel-jest": "29.7.0",
36
+ "babel-loader": "9.2.1",
37
+ "file-loader": "6.2.0",
38
+ "jest": "29.7.0",
39
+ "jest-environment-jsdom": "29.7.0",
40
+ "semantic-release": "^24.2.0",
41
+ "semantic-release-yarn": "^3.0.2",
42
+ "ts-loader": "9.5.1",
43
+ "webpack": "5.94.0",
44
+ "webpack-cli": "5.1.4",
45
+ "webpack-merge": "6.0.1"
46
+ },
47
+ "jest": {
48
+ "testEnvironment": "jsdom"
49
+ },
50
+ "stableVersion": "1.28.0-alpha.20"
51
+ }
package/src/helper.ts ADDED
@@ -0,0 +1,7 @@
1
+ /*
2
+ * UserState helpers
3
+ */
4
+
5
+ export const useUserState = () => {
6
+ return {name: 'UserState'};
7
+ };
package/src/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ import {UserState, WebUserState} from './user-state/index';
2
+
3
+ export {UserState, WebUserState};
@@ -0,0 +1,29 @@
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
@@ -0,0 +1,29 @@
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
+ }
@@ -0,0 +1,17 @@
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 ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "include": [
4
+ "./src"
5
+ ],
6
+ "compilerOptions": {
7
+ "outDir": "./dist",
8
+ "declaration": true,
9
+ "declarationDir": "./dist/types"
10
+ },
11
+ }
@@ -0,0 +1,12 @@
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
+ });