@json-render/react-native 0.5.0 → 0.5.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/README.md CHANGED
@@ -59,7 +59,7 @@ export const { registry } = defineRegistry(catalog, {
59
59
  });
60
60
  ```
61
61
 
62
- Standard components (Container, Row, Column, Button, TextInput, etc.) are included by default -- you only need to register custom ones.
62
+ Standard components (Container, Row, Column, Button, TextInput, etc.) are included by default. You only need to register custom ones.
63
63
 
64
64
  ### 3. Render Specs
65
65
 
package/dist/index.js CHANGED
@@ -737,7 +737,7 @@ var schema = (0, import_core5.defineSchema)(
737
737
  var elementTreeSchema = schema;
738
738
 
739
739
  // src/renderer.tsx
740
- var import_react6 = require("react");
740
+ var import_react6 = __toESM(require("react"));
741
741
  var import_core6 = require("@json-render/core");
742
742
 
743
743
  // src/components/standard.tsx
@@ -1555,6 +1555,28 @@ var modalStyles = import_react_native2.StyleSheet.create({
1555
1555
 
1556
1556
  // src/renderer.tsx
1557
1557
  var import_jsx_runtime7 = require("react/jsx-runtime");
1558
+ var ElementErrorBoundary = class extends import_react6.default.Component {
1559
+ constructor(props) {
1560
+ super(props);
1561
+ this.state = { hasError: false };
1562
+ }
1563
+ static getDerivedStateFromError() {
1564
+ return { hasError: true };
1565
+ }
1566
+ componentDidCatch(error, info) {
1567
+ console.error(
1568
+ `[json-render] Rendering error in <${this.props.elementType}>:`,
1569
+ error,
1570
+ info.componentStack
1571
+ );
1572
+ }
1573
+ render() {
1574
+ if (this.state.hasError) {
1575
+ return null;
1576
+ }
1577
+ return this.props.children;
1578
+ }
1579
+ };
1558
1580
  function ElementRenderer({
1559
1581
  element,
1560
1582
  spec,
@@ -1648,7 +1670,7 @@ function ElementRenderer({
1648
1670
  childKey
1649
1671
  );
1650
1672
  });
1651
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Component, { element: resolvedElement, emit, loading, children });
1673
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ElementErrorBoundary, { elementType: resolvedElement.type, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Component, { element: resolvedElement, emit, loading, children }) });
1652
1674
  }
1653
1675
  function RepeatChildren({
1654
1676
  element,