@genesislcap/foundation-react-utils 14.446.1-FUI-2541.3 → 14.446.1-FUI-2541.4

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,CAuEf"}
@@ -60,10 +60,28 @@ export function createReactRenderer(Component, options) {
60
60
  errors: 'string',
61
61
  enabled: 'boolean',
62
62
  required: 'boolean',
63
- handleChange: 'function',
63
+ handleChange: 'method',
64
64
  uischema: 'json',
65
65
  },
66
66
  });
67
+ // // r2wc's 'function' type serialises the function to its .name string via
68
+ // // setAttribute and then resolves it back via window[name] — which always
69
+ // // fails for locally-scoped functions, leaving handleChange as undefined in
70
+ // // React. Instead we bypass attribute round-tripping by writing directly into
71
+ // // r2wc's internal props bag and triggering a re-render manually.
72
+ // const r2wcPropsSym = Symbol.for('r2wc.props');
73
+ // const r2wcRenderSym = Symbol.for('r2wc.render');
74
+ // Object.defineProperty(WebComponent.prototype, 'handleChange', {
75
+ // enumerable: true,
76
+ // configurable: true,
77
+ // get() {
78
+ // return (this as any)[r2wcPropsSym].handleChange;
79
+ // },
80
+ // set(value) {
81
+ // (this as any)[r2wcPropsSym].handleChange = value;
82
+ // (this as any)[r2wcRenderSym]();
83
+ // },
84
+ // });
67
85
  if (!customElements.get(options.name)) {
68
86
  customElements.define(options.name, WebComponent);
69
87
  }
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": "14.446.1-FUI-2541.3",
4
+ "version": "14.446.1-FUI-2541.4",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -29,23 +29,23 @@
29
29
  }
30
30
  },
31
31
  "devDependencies": {
32
- "@genesislcap/foundation-testing": "14.446.1-FUI-2541.3",
33
- "@genesislcap/genx": "14.446.1-FUI-2541.3",
34
- "@genesislcap/rollup-builder": "14.446.1-FUI-2541.3",
35
- "@genesislcap/ts-builder": "14.446.1-FUI-2541.3",
36
- "@genesislcap/uvu-playwright-builder": "14.446.1-FUI-2541.3",
37
- "@genesislcap/vite-builder": "14.446.1-FUI-2541.3",
38
- "@genesislcap/webpack-builder": "14.446.1-FUI-2541.3"
32
+ "@genesislcap/foundation-testing": "14.446.1-FUI-2541.4",
33
+ "@genesislcap/genx": "14.446.1-FUI-2541.4",
34
+ "@genesislcap/rollup-builder": "14.446.1-FUI-2541.4",
35
+ "@genesislcap/ts-builder": "14.446.1-FUI-2541.4",
36
+ "@genesislcap/uvu-playwright-builder": "14.446.1-FUI-2541.4",
37
+ "@genesislcap/vite-builder": "14.446.1-FUI-2541.4",
38
+ "@genesislcap/webpack-builder": "14.446.1-FUI-2541.4"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": "^19.0.0",
42
42
  "react-dom": "^19.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "@genesislcap/foundation-forms": "14.446.1-FUI-2541.3",
46
- "@genesislcap/foundation-layout": "14.446.1-FUI-2541.3",
47
- "@genesislcap/foundation-logger": "14.446.1-FUI-2541.3",
48
- "@genesislcap/web-core": "14.446.1-FUI-2541.3",
45
+ "@genesislcap/foundation-forms": "14.446.1-FUI-2541.4",
46
+ "@genesislcap/foundation-layout": "14.446.1-FUI-2541.4",
47
+ "@genesislcap/foundation-logger": "14.446.1-FUI-2541.4",
48
+ "@genesislcap/web-core": "14.446.1-FUI-2541.4",
49
49
  "@jsonforms/core": "^3.2.1",
50
50
  "@r2wc/react-to-web-component": "^2.0.2"
51
51
  },
@@ -58,5 +58,5 @@
58
58
  "access": "public"
59
59
  },
60
60
  "customElements": "dist/custom-elements.json",
61
- "gitHead": "d2206112c06824836b51f1eed057feb9d75579fa"
61
+ "gitHead": "d8244f4bbcd98193ea21cebf969d7a31f4b23bb5"
62
62
  }
@@ -102,11 +102,30 @@ export function createReactRenderer(
102
102
  errors: 'string',
103
103
  enabled: 'boolean',
104
104
  required: 'boolean',
105
- handleChange: 'function',
105
+ handleChange: 'method',
106
106
  uischema: 'json',
107
107
  },
108
108
  });
109
109
 
110
+ // // r2wc's 'function' type serialises the function to its .name string via
111
+ // // setAttribute and then resolves it back via window[name] — which always
112
+ // // fails for locally-scoped functions, leaving handleChange as undefined in
113
+ // // React. Instead we bypass attribute round-tripping by writing directly into
114
+ // // r2wc's internal props bag and triggering a re-render manually.
115
+ // const r2wcPropsSym = Symbol.for('r2wc.props');
116
+ // const r2wcRenderSym = Symbol.for('r2wc.render');
117
+ // Object.defineProperty(WebComponent.prototype, 'handleChange', {
118
+ // enumerable: true,
119
+ // configurable: true,
120
+ // get() {
121
+ // return (this as any)[r2wcPropsSym].handleChange;
122
+ // },
123
+ // set(value) {
124
+ // (this as any)[r2wcPropsSym].handleChange = value;
125
+ // (this as any)[r2wcRenderSym]();
126
+ // },
127
+ // });
128
+
110
129
  if (!customElements.get(options.name)) {
111
130
  customElements.define(options.name, WebComponent);
112
131
  }