react-on-rails 16.7.0-rc.3 → 17.0.0-rc.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/lib/reactApis.cjs CHANGED
@@ -44,11 +44,11 @@ if (!exports.supportsRootApi) {
44
44
  }
45
45
  /* eslint-disable @typescript-eslint/no-non-null-assertion -- reactDomClient is always defined when supportsRootApi is true */
46
46
  exports.reactHydrate = exports.supportsRootApi
47
- ? reactDomClient.hydrateRoot
47
+ ? (domNode, reactElement, options) => reactDomClient.hydrateRoot(domNode, reactElement, options)
48
48
  : (domNode, reactElement) => legacyReactDOM.hydrate(reactElement, domNode);
49
- function reactRender(domNode, reactElement) {
49
+ function reactRender(domNode, reactElement, options) {
50
50
  if (exports.supportsRootApi) {
51
- const root = reactDomClient.createRoot(domNode);
51
+ const root = reactDomClient.createRoot(domNode, options);
52
52
  root.render(reactElement);
53
53
  return root;
54
54
  }
@@ -2,9 +2,15 @@ import type { ReactElement } from 'react';
2
2
  import type { RenderReturnType } from './types/index.ts' with { 'resolution-mode': 'import' };
3
3
  export declare const supportsRootApi: boolean;
4
4
  export declare const supportsHydrate: boolean;
5
- type HydrateOrRenderType = (domNode: Element, reactElement: ReactElement) => RenderReturnType;
5
+ export type ReactHydrateOptions = {
6
+ identifierPrefix?: string;
7
+ onCaughtError?: (error: unknown, errorInfo: unknown) => void;
8
+ onRecoverableError?: (error: unknown, errorInfo: unknown) => void;
9
+ onUncaughtError?: (error: unknown, errorInfo: unknown) => void;
10
+ };
11
+ type HydrateOrRenderType = (domNode: Element, reactElement: ReactElement, options?: ReactHydrateOptions) => RenderReturnType;
6
12
  export declare const reactHydrate: HydrateOrRenderType;
7
- export declare function reactRender(domNode: Element, reactElement: ReactElement): RenderReturnType;
13
+ export declare function reactRender(domNode: Element, reactElement: ReactElement, options?: ReactHydrateOptions): RenderReturnType;
8
14
  export declare const unmountComponentAtNode: (container: Element) => boolean;
9
15
  export declare const ensureReactUseAvailable: () => void;
10
16
  export {};
@@ -1,4 +1,5 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { RenderReturnType } from './types/index.ts';
3
- export default function reactHydrateOrRender(domNode: Element, reactElement: ReactElement, hydrate: boolean): RenderReturnType;
3
+ import type { ReactHydrateOptions } from './reactApis.cts';
4
+ export default function reactHydrateOrRender(domNode: Element, reactElement: ReactElement, hydrate: boolean, hydrateOptions?: ReactHydrateOptions): RenderReturnType;
4
5
  //# sourceMappingURL=reactHydrateOrRender.d.ts.map
@@ -1,5 +1,7 @@
1
1
  import { reactHydrate, reactRender } from "./reactApis.cjs";
2
- export default function reactHydrateOrRender(domNode, reactElement, hydrate) {
3
- return hydrate ? reactHydrate(domNode, reactElement) : reactRender(domNode, reactElement);
2
+ export default function reactHydrateOrRender(domNode, reactElement, hydrate, hydrateOptions) {
3
+ return hydrate
4
+ ? reactHydrate(domNode, reactElement, hydrateOptions)
5
+ : reactRender(domNode, reactElement, hydrateOptions);
4
6
  }
5
7
  //# sourceMappingURL=reactHydrateOrRender.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-on-rails",
3
- "version": "16.7.0-rc.3",
3
+ "version": "17.0.0-rc.1",
4
4
  "description": "react-on-rails JavaScript for react_on_rails Ruby gem",
5
5
  "main": "lib/ReactOnRails.full.js",
6
6
  "type": "module",