@globalpayments/vega-react 2.86.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.
Files changed (38) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +4 -0
  3. package/dist/components.d.ts +120 -0
  4. package/dist/components.js +127 -0
  5. package/dist/global.d.ts +6 -0
  6. package/dist/global.js +1 -0
  7. package/dist/hooks/use-vega-ref.d.ts +16 -0
  8. package/dist/hooks/use-vega-ref.js +28 -0
  9. package/dist/index.d.ts +4 -0
  10. package/dist/index.js +4 -0
  11. package/dist/overrides/vega-popover/index.d.ts +7 -0
  12. package/dist/overrides/vega-popover/index.js +151 -0
  13. package/dist/overrides/vega-popover/test/vega-popover.test.d.ts +6 -0
  14. package/dist/overrides/vega-popover/test/vega-popover.test.js +108 -0
  15. package/dist/package.json +17 -0
  16. package/dist/react-component-lib/createComponent.d.ts +10 -0
  17. package/dist/react-component-lib/createComponent.js +85 -0
  18. package/dist/react-component-lib/createOverlayComponent.d.ts +21 -0
  19. package/dist/react-component-lib/createOverlayComponent.js +108 -0
  20. package/dist/react-component-lib/index.d.ts +2 -0
  21. package/dist/react-component-lib/index.js +2 -0
  22. package/dist/react-component-lib/interfaces.d.ts +29 -0
  23. package/dist/react-component-lib/interfaces.js +1 -0
  24. package/dist/react-component-lib/utils/attachProps.d.ts +12 -0
  25. package/dist/react-component-lib/utils/attachProps.js +124 -0
  26. package/dist/react-component-lib/utils/case.d.ts +2 -0
  27. package/dist/react-component-lib/utils/case.js +6 -0
  28. package/dist/react-component-lib/utils/dev.d.ts +2 -0
  29. package/dist/react-component-lib/utils/dev.js +12 -0
  30. package/dist/react-component-lib/utils/index.d.ts +10 -0
  31. package/dist/react-component-lib/utils/index.js +33 -0
  32. package/dist/testing/index.d.ts +1 -0
  33. package/dist/testing/index.js +1 -0
  34. package/dist/testing/utils.d.ts +21 -0
  35. package/dist/testing/utils.js +100 -0
  36. package/dist/utils/spec-utils.d.ts +11 -0
  37. package/dist/utils/spec-utils.js +22 -0
  38. package/package.json +69 -0
@@ -0,0 +1,100 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { waitForVega } from "@globalpayments/vega";
11
+ /**
12
+ * @deprecated This utility is deprecated. Use `waitForVega` from `@heartlandone/vega-testing-library` directly.
13
+ * The `vega-testing-library` package supports Jest fake timers and does not require a `RenderResult` argument.
14
+ * Install it separately: `npm install @heartlandone/vega-testing-library`
15
+ */
16
+ export function waitForVegaReady(renderResult, delay = 300) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ yield waitForVega();
19
+ /*
20
+ * The following code is added to load the vega component, and the attribute value is set after each component is loaded.
21
+ * To determine whether there is a hydrated style that cannot meet the requirements after the component is loaded,
22
+ * It need to set the sleep time to ensure that each attribute of the vega component is fully loaded
23
+ *
24
+ code link: vega-react/dist/react-component-lib/utils/attachProps.js (line 28-33)
25
+ */
26
+ yield sleep(delay);
27
+ return renderResult;
28
+ });
29
+ }
30
+ /**
31
+ * @deprecated This function is deprecated. Use `mockResizeObserver` from `@heartlandone/vega-testing-library` directly.
32
+ * Install it separately: `npm install @heartlandone/vega-testing-library`
33
+ */
34
+ export function mockResizeObserver() {
35
+ const resizeObserverElementMap = new Map();
36
+ global.ResizeObserver = class {
37
+ constructor(callback) {
38
+ this.observedElements = [];
39
+ this.callback = callback;
40
+ }
41
+ observe(element) {
42
+ if (!this.isObserved(element)) {
43
+ resizeObserverElementMap.set(element, this);
44
+ this.observedElements.push(element);
45
+ }
46
+ }
47
+ unobserve(element) {
48
+ if (this.isObserved(element)) {
49
+ resizeObserverElementMap.delete(element);
50
+ this.observedElements = this.observedElements.filter((observedElement) => observedElement !== element);
51
+ }
52
+ }
53
+ disconnect() {
54
+ for (const element of this.observedElements) {
55
+ resizeObserverElementMap.delete(element);
56
+ }
57
+ this.observedElements = [];
58
+ }
59
+ show() {
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
+ this.callback([{ contentRect: { height: 100 } }], this);
62
+ }
63
+ hide() {
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ this.callback([{ contentRect: { height: 0 } }], this);
66
+ }
67
+ isObserved(element) {
68
+ return this.observedElements.includes(element);
69
+ }
70
+ };
71
+ return {
72
+ show: (selector, container) => {
73
+ (container || document)
74
+ .querySelectorAll(selector)
75
+ // eslint-disable-next-line unicorn/no-array-for-each
76
+ .forEach((el) => {
77
+ const resizeObserver = resizeObserverElementMap.get(el);
78
+ if (resizeObserver) {
79
+ resizeObserver.show();
80
+ }
81
+ });
82
+ },
83
+ hide: (selector, container) => {
84
+ (container || document)
85
+ .querySelectorAll(selector)
86
+ // eslint-disable-next-line unicorn/no-array-for-each
87
+ .forEach((el) => {
88
+ const resizeObserver = resizeObserverElementMap.get(el);
89
+ if (resizeObserver) {
90
+ resizeObserver.hide();
91
+ }
92
+ });
93
+ },
94
+ };
95
+ }
96
+ function sleep(ms) {
97
+ return new Promise((resolve) => {
98
+ setTimeout(resolve, ms);
99
+ });
100
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * NOTE: This utility is only for **SPEC** test cases.
3
+ *
4
+ * Mocked MutationObserver for testing in jsdom environment.
5
+ * Provides observe, disconnect, and trigger methods for controlling
6
+ * mutation observations in tests.
7
+ *
8
+ * @callback MutationCallback - The callback function triggered when mutations occur
9
+ * @returns {jest.Mock} - A Jest mock function constructor for MutationObserver
10
+ */
11
+ export declare const MockedMutationObserver: jest.Mock;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * NOTE: This utility is only for **SPEC** test cases.
3
+ *
4
+ * Mocked MutationObserver for testing in jsdom environment.
5
+ * Provides observe, disconnect, and trigger methods for controlling
6
+ * mutation observations in tests.
7
+ *
8
+ * @callback MutationCallback - The callback function triggered when mutations occur
9
+ * @returns {jest.Mock} - A Jest mock function constructor for MutationObserver
10
+ */
11
+ export const MockedMutationObserver = jest.fn(function MutationObserver(callback) {
12
+ this.observe = jest.fn();
13
+ this.disconnect = jest.fn();
14
+ /**
15
+ * Mock the trigger for spec test to trigger observer callback
16
+ *
17
+ * @param {MutationRecord[]} mutations - mocked MutationObserver entries
18
+ */
19
+ this.trigger = (mutations) => {
20
+ callback(mutations, this);
21
+ };
22
+ });
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@globalpayments/vega-react",
3
+ "sideEffects": false,
4
+ "version": "2.86.1",
5
+ "description": "React specific wrapper for @globalpayments/vega",
6
+ "license": "UNLICENSED",
7
+ "scripts": {
8
+ "stencil-postbuild": "node ./src/scripts/stencil-post-build-script.js",
9
+ "build": "npm run clean && npm run compile && npm run override-type && npm run create-dist-package-json",
10
+ "clean": "rm -rf dist",
11
+ "compile": "npm run tsc",
12
+ "tsc": "tsc -p .",
13
+ "rollup": "rollup -c",
14
+ "release": "npm run build",
15
+ "publish:patch": "node ../scripts/publish-version.js patch",
16
+ "publish:minor": "node ../scripts/publish-version.js minor",
17
+ "publish:major": "node ../scripts/publish-version.js major",
18
+ "override-type": "node ./src/scripts/override-component-native-event-type.js",
19
+ "create-dist-package-json": "node ./src/scripts/create-dist-package-json.js",
20
+ "test": "jest",
21
+ "pr-codesandbox-auto": "node ../scripts/pr-codesandbox-auto/change-package-name.js"
22
+ },
23
+ "main": "./dist/index.js",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "files": [
27
+ "dist/"
28
+ ],
29
+ "publishConfig": {
30
+ "directory": "dist"
31
+ },
32
+ "devDependencies": {
33
+ "@testing-library/react": "12.1.2",
34
+ "@types/jest": "23.3.9",
35
+ "@types/node": "^15.14.9",
36
+ "@types/react": "^16.7.0",
37
+ "@types/react-dom": "^16.7.0",
38
+ "jest": "^23.0.0",
39
+ "jest-dom": "^3.0.2",
40
+ "np": "^3.1.0",
41
+ "react": "^16.7.0",
42
+ "react-dom": "^16.7.0",
43
+ "ts-jest": "^23.10.5",
44
+ "typescript": "^4.0.0"
45
+ },
46
+ "dependencies": {
47
+ "@globalpayments/vega": "2.86.1"
48
+ },
49
+ "peerDependencies": {
50
+ "react": ">=16.7.0",
51
+ "react-dom": ">=16.7.0"
52
+ },
53
+ "jest": {
54
+ "preset": "ts-jest",
55
+ "setupTestFrameworkScriptFile": "<rootDir>/jest.setup.js",
56
+ "testPathIgnorePatterns": [
57
+ "node_modules",
58
+ "dist"
59
+ ],
60
+ "globals": {
61
+ "ts-jest": {
62
+ "tsConfig": "tsconfig.test.json"
63
+ }
64
+ }
65
+ },
66
+ "resolutions": {
67
+ "yargs-parser": "^21.1.1"
68
+ }
69
+ }