@genesislcap/foundation-react-utils 15.26.0 → 15.27.0-FUI-2617.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.
@@ -1 +1 @@
1
- {"version":3,"file":"create-react-renderer.d.ts","sourceRoot":"","sources":["../../src/create-react-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC9C,OAAO,EAAE;IACP;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,KAAK,mBAAmB,CAAC;IACrF;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GACA,aAAa,CAoDf"}
1
+ {"version":3,"file":"create-react-renderer.d.ts","sourceRoot":"","sources":["../../src/create-react-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC9C,OAAO,EAAE;IACP;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,KAAK,mBAAmB,CAAC;IACrF;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GACA,aAAa,CA6Ef"}
@@ -61,7 +61,33 @@ export function createReactRenderer(Component, options) {
61
61
  enabled: 'boolean',
62
62
  required: 'boolean',
63
63
  handleChange: 'method',
64
- uischema: 'json',
64
+ // 'uischema' is intentionally NOT declared here — see the property definition below.
65
+ },
66
+ });
67
+ // r2wc's 'json' prop type round-trips every assignment through
68
+ // JSON.stringify -> setAttribute -> JSON.parse, which silently drops any function-valued
69
+ // uischema.options properties (AG-Grid valueFormatter/comparator/cellRenderer/etc, however
70
+ // deeply nested, e.g. inside columnDefs). uischema is only ever assigned programmatically as a
71
+ // JS object — never authored as an HTML attribute — so attribute reflection provides no
72
+ // benefit here and is actively lossy. Bypass r2wc's declarative round trip and read/write its
73
+ // internal props store directly via its own globally-registered symbols. These are
74
+ // Symbol.for(...) (registry-based, not private Symbol()) so they're stable across realms, but
75
+ // this is still coupled to @r2wc/core's current internal implementation.
76
+ const R2WC_PROPS = Symbol.for('r2wc.props');
77
+ const R2WC_RENDER = Symbol.for('r2wc.render');
78
+ Object.defineProperty(WebComponent.prototype, 'uischema', {
79
+ configurable: true,
80
+ enumerable: true,
81
+ get() {
82
+ var _a;
83
+ return (_a = this[R2WC_PROPS]) === null || _a === void 0 ? void 0 : _a.uischema;
84
+ },
85
+ set(value) {
86
+ var _a;
87
+ if (this[R2WC_PROPS]) {
88
+ this[R2WC_PROPS].uischema = value;
89
+ }
90
+ (_a = this[R2WC_RENDER]) === null || _a === void 0 ? void 0 : _a.call(this);
65
91
  },
66
92
  });
67
93
  if (!customElements.get(options.name)) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-react-utils",
3
3
  "description": "Genesis Foundation React Utils",
4
- "version": "15.26.0",
4
+ "version": "15.27.0-FUI-2617.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -47,13 +47,13 @@
47
47
  }
48
48
  },
49
49
  "devDependencies": {
50
- "@genesislcap/foundation-testing": "15.26.0",
51
- "@genesislcap/genx": "15.26.0",
52
- "@genesislcap/rollup-builder": "15.26.0",
53
- "@genesislcap/ts-builder": "15.26.0",
54
- "@genesislcap/uvu-playwright-builder": "15.26.0",
55
- "@genesislcap/vite-builder": "15.26.0",
56
- "@genesislcap/webpack-builder": "15.26.0",
50
+ "@genesislcap/foundation-testing": "15.27.0-FUI-2617.1",
51
+ "@genesislcap/genx": "15.27.0-FUI-2617.1",
52
+ "@genesislcap/rollup-builder": "15.27.0-FUI-2617.1",
53
+ "@genesislcap/ts-builder": "15.27.0-FUI-2617.1",
54
+ "@genesislcap/uvu-playwright-builder": "15.27.0-FUI-2617.1",
55
+ "@genesislcap/vite-builder": "15.27.0-FUI-2617.1",
56
+ "@genesislcap/webpack-builder": "15.27.0-FUI-2617.1",
57
57
  "react-router-dom": "^7.1.3"
58
58
  },
59
59
  "peerDependencies": {
@@ -67,10 +67,10 @@
67
67
  }
68
68
  },
69
69
  "dependencies": {
70
- "@genesislcap/foundation-forms": "15.26.0",
71
- "@genesislcap/foundation-layout": "15.26.0",
72
- "@genesislcap/foundation-logger": "15.26.0",
73
- "@genesislcap/web-core": "15.26.0",
70
+ "@genesislcap/foundation-forms": "15.27.0-FUI-2617.1",
71
+ "@genesislcap/foundation-layout": "15.27.0-FUI-2617.1",
72
+ "@genesislcap/foundation-logger": "15.27.0-FUI-2617.1",
73
+ "@genesislcap/web-core": "15.27.0-FUI-2617.1",
74
74
  "@jsonforms/core": "^3.2.1",
75
75
  "@r2wc/react-to-web-component": "^2.0.2"
76
76
  },