@react-typed-forms/schemas 1.0.0-dev.11 → 1.0.0-dev.13

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,8 +1,8 @@
1
1
  {
2
2
  "files": {
3
- "packages/schemas/.rush/temp/shrinkwrap-deps.json": "fcda66f5b02125cdb1f0d7e28e4758e5995db661",
4
- "packages/schemas/package.json": "5c0f8b72decd8954153f0266278c3541646b7ed1",
5
- "packages/schemas/src/controlRender.tsx": "3a1df1f3ade46594dbc15bca1228dc0d57e55da0",
3
+ "packages/schemas/.rush/temp/shrinkwrap-deps.json": "5ce6417fae765db5c61e400f851ecafe0ce756f0",
4
+ "packages/schemas/package.json": "79985efc8187507266d546ccc1dd712980e27936",
5
+ "packages/schemas/src/controlRender.tsx": "7edc71570ea821a36f0260d9263dc41d577168ce",
6
6
  "packages/schemas/src/hooks.ts": "4eb4946f7b1c685e0b51cd011b4d39a1fdd6aa2e",
7
7
  "packages/schemas/src/index.ts": "67f656f1d7f717bce7e933b9f4d7dc5dc50274dc",
8
8
  "packages/schemas/src/schemaBuilder.ts": "1af97440b88f064ad67aa804cbaa0f96622f0a6a",
@@ -1,6 +1,5 @@
1
1
  {
2
- "../../packages/schemas": "../../packages/schemas:2dNZpzXdSHa/g6RX8jaG9+S2gWdsQVRADue9KAiSf34=:",
3
- "/@react-typed-forms/core/3.0.0-dev.102_react-dom@18.2.0+react@18.2.0": "sha512-LczmQbrZspcHjPJLT6dFq52k44SZAxyjeeE+0pIIoCUrhF5O/JnrLUqUUmUiRMXQb+skf3UrPkdalJpShdfxAA==",
2
+ "../../packages/schemas": "../../packages/schemas:vY3D5bPwBzOGJtSnpoQLPVXnewF01wtTbcozE4xaygA=:",
4
3
  "/@types/prop-types/15.7.5": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
5
4
  "/@types/react/18.0.22": "sha512-4yWc5PyCkZN8ke8K9rQHkTXxHIWHxLzzW6RI1kXVoepkD3vULpKzC2sDtAMKn78h92BRYuzf+7b/ms7ajE6hFw==",
6
5
  "/@types/scheduler/0.16.2": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
@@ -1,5 +1,5 @@
1
1
  import { ActionControlDefinition, CompoundField, ControlDefinition, DataControlDefinition, DisplayControlDefinition, FieldOption, GroupedControlsDefinition, SchemaField } from "./types";
2
- import React, { Key, ReactElement } from "react";
2
+ import { Key, ReactElement, ReactNode } from "react";
3
3
  import { Control } from "@react-typed-forms/core";
4
4
  export interface FormEditHooks {
5
5
  useDataProperties(formState: FormEditState, definition: DataControlDefinition, field: SchemaField): DataControlProperties;
@@ -42,7 +42,10 @@ export interface FormRendererComponents {
42
42
  renderDisplay: (props: DisplayRendererProps) => ReactElement;
43
43
  renderAction: (props: ActionRendererProps) => ReactElement;
44
44
  }
45
- export declare const FormRendererComponentsContext: React.Context<FormRendererComponents | undefined>;
45
+ export declare function FormRendererProvider({ value, children, }: {
46
+ value: FormRendererComponents;
47
+ children: ReactNode;
48
+ }): JSX.Element;
46
49
  export declare function useFormRendererComponents(): FormRendererComponents;
47
50
  export interface DisplayRendererProps {
48
51
  definition: DisplayControlDefinition;
@@ -23,14 +23,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.isGroupControl = exports.isDataControl = exports.fieldForControl = exports.controlForField = exports.renderControl = exports.controlTitle = exports.findField = exports.findCompoundField = exports.findScalarField = exports.elementValueForField = exports.defaultValueForField = exports.defaultValueForFields = exports.applyDefaultForField = exports.applyDefaultValues = exports.isCompoundField = exports.isScalarField = exports.useFormRendererComponents = exports.FormRendererComponentsContext = void 0;
26
+ exports.isGroupControl = exports.isDataControl = exports.fieldForControl = exports.controlForField = exports.renderControl = exports.controlTitle = exports.findField = exports.findCompoundField = exports.findScalarField = exports.elementValueForField = exports.defaultValueForField = exports.defaultValueForFields = exports.applyDefaultForField = exports.applyDefaultValues = exports.isCompoundField = exports.isScalarField = exports.useFormRendererComponents = exports.FormRendererProvider = void 0;
27
27
  const types_1 = require("./types");
28
28
  const react_1 = __importStar(require("react"));
29
29
  const core_1 = require("@react-typed-forms/core");
30
30
  const index_1 = require("./index");
31
- exports.FormRendererComponentsContext = (0, react_1.createContext)(undefined);
31
+ let _FormRendererComponentsContext = null;
32
+ function FormRendererComponentsContext() {
33
+ if (!_FormRendererComponentsContext) {
34
+ _FormRendererComponentsContext = (0, react_1.createContext)(undefined);
35
+ }
36
+ return _FormRendererComponentsContext;
37
+ }
38
+ function FormRendererProvider({ value, children, }) {
39
+ const { Provider } = FormRendererComponentsContext();
40
+ return react_1.default.createElement(Provider, { value: value, children: children });
41
+ }
42
+ exports.FormRendererProvider = FormRendererProvider;
32
43
  function useFormRendererComponents() {
33
- const c = (0, react_1.useContext)(exports.FormRendererComponentsContext);
44
+ const c = (0, react_1.useContext)(FormRendererComponentsContext());
34
45
  if (!c) {
35
46
  throw "Need to use FormRendererComponentContext.Provider";
36
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-typed-forms/schemas",
3
- "version": "1.0.0-dev.11",
3
+ "version": "1.0.0-dev.13",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -12,7 +12,14 @@ import {
12
12
  SchemaField,
13
13
  visitControlDefinition,
14
14
  } from "./types";
15
- import React, { createContext, Key, ReactElement, useContext } from "react";
15
+ import React, {
16
+ Context,
17
+ createContext,
18
+ Key,
19
+ ReactElement,
20
+ ReactNode,
21
+ useContext,
22
+ } from "react";
16
23
  import { Control, newControl } from "@react-typed-forms/core";
17
24
  import { fieldDisplayName } from "./index";
18
25
 
@@ -88,12 +95,32 @@ export interface FormRendererComponents {
88
95
  renderAction: (props: ActionRendererProps) => ReactElement;
89
96
  }
90
97
 
91
- export const FormRendererComponentsContext = createContext<
98
+ let _FormRendererComponentsContext: Context<
92
99
  FormRendererComponents | undefined
93
- >(undefined);
100
+ > | null = null;
101
+
102
+ function FormRendererComponentsContext() {
103
+ if (!_FormRendererComponentsContext) {
104
+ _FormRendererComponentsContext = createContext<
105
+ FormRendererComponents | undefined
106
+ >(undefined);
107
+ }
108
+ return _FormRendererComponentsContext;
109
+ }
110
+
111
+ export function FormRendererProvider({
112
+ value,
113
+ children,
114
+ }: {
115
+ value: FormRendererComponents;
116
+ children: ReactNode;
117
+ }) {
118
+ const { Provider } = FormRendererComponentsContext();
119
+ return <Provider value={value} children={children} />;
120
+ }
94
121
 
95
122
  export function useFormRendererComponents() {
96
- const c = useContext(FormRendererComponentsContext);
123
+ const c = useContext(FormRendererComponentsContext());
97
124
  if (!c) {
98
125
  throw "Need to use FormRendererComponentContext.Provider";
99
126
  }