@nolwenture/formik-jsonschema-form 1.2.7 → 1.2.9

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.
@@ -40,10 +40,10 @@ const formik = __importStar(require("formik"));
40
40
  exports.FieldWrapper = styled_components_1.styled.div `
41
41
  display: flex;
42
42
  flex-direction: column;
43
- margin: ${(props) => `${props.theme.spacing.s} 0`};
43
+ gap: ${(props) => props.theme.spacing.xs};
44
44
  color: ${(props) => props.theme.color.text.default};
45
45
  opacity: ${(props) => (props.$isDisabled ? 0.6 : 1)};
46
- pointer-events: ${(props) => (props.$isDisabled ? 'none' : 'auto')};
46
+ pointer-events: ${(props) => (props.$isDisabled ? "none" : "auto")};
47
47
  `;
48
48
  exports.FieldTitleInfoWrapper = styled_components_1.styled.div `
49
49
  display: flex;
@@ -62,7 +62,9 @@ exports.FieldDescription = styled_components_1.styled.p `
62
62
  margin: 0;
63
63
  font-family: ${(props) => props.theme.typography.fontFamily.base};
64
64
  font-size: ${(props) => props.theme.typography.size.base};
65
- font-weight: ${(props) => (props.$isReadOnly ? props.theme.typography.weight.bold : props.theme.typography.weight.normal)};
65
+ font-weight: ${(props) => props.$isReadOnly
66
+ ? props.theme.typography.weight.bold
67
+ : props.theme.typography.weight.normal};
66
68
  `;
67
69
  exports.FieldHelp = styled_components_1.styled.p `
68
70
  color: ${(props) => props.theme.color.text.default};
@@ -11,6 +11,7 @@ exports.MultipleChoiceFieldContainer = (0, styled_components_1.default)(styledCo
11
11
  flex-wrap: wrap;
12
12
  justify-content: start;
13
13
  flex-direction: column;
14
+ gap: ${(props) => props.theme.spacing.s};
14
15
 
15
16
  &:has(input[readonly]) {
16
17
  flex-direction: column;
@@ -28,7 +28,9 @@ exports.ObjectFieldDownButton = (0, styled_components_1.styled)(exports.ObjectFi
28
28
  exports.ObjectFieldRemoveButton = (0, styled_components_1.styled)(exports.ObjectFieldButton) ``;
29
29
  exports.ObjectFieldAddButton = (0, styled_components_1.styled)(exports.ObjectFieldButton) ``;
30
30
  exports.ObjectFieldSectionWrapper = styled_components_1.styled.fieldset `
31
- padding: ${(props) => props.theme.spacing.s} ${(props) => props.theme.spacing.l} ${(props) => props.theme.spacing.s} ${(props) => props.theme.spacing.s};
31
+ padding: ${(props) => props.theme.spacing.s}
32
+ ${(props) => props.theme.spacing.l} ${(props) => props.theme.spacing.s}
33
+ ${(props) => props.theme.spacing.s};
32
34
  `;
33
35
  exports.ObjectFieldSectionTitle = styled_components_1.styled.legend `
34
36
  display: flex;
@@ -8,14 +8,15 @@ const common_1 = require("../../styles/common");
8
8
  exports.RadioFieldContainer = (0, styled_components_1.styled)(common_1.CommonCheckboxStyles) `
9
9
  color: ${(props) => props.theme.color.text.default};
10
10
  display: flex;
11
+ flex-direction: column;
11
12
  font-family: ${(props) => props.theme.typography.fontFamily.base};
12
- gap: ${(props) => props.theme.spacing.l};
13
+ gap: ${(props) => props.theme.spacing.s};
13
14
 
14
15
  &:has(input[readonly]) {
15
16
  flex-direction: column;
16
17
  gap: ${(props) => props.theme.spacing.xxs};
17
18
  }
18
-
19
+
19
20
  input[type="radio"] {
20
21
  -webkit-appearance: none;
21
22
  appearance: none;
@@ -68,10 +69,7 @@ exports.RadioFieldElement = styled_components_1.styled.label `
68
69
  pointer-events: none;
69
70
  }
70
71
  `;
71
- exports.RadioFieldInputElement = (0, styled_components_1.styled)(FieldInput_1.FieldInput) `
72
- margin: unset;
73
- margin-top: ${(props) => props.theme.spacing.xxs};
74
- `;
72
+ exports.RadioFieldInputElement = (0, styled_components_1.styled)(FieldInput_1.FieldInput) ``;
75
73
  exports.RadioFieldLabel = styled_components_1.styled.span `
76
74
  margin-left: ${(props) => props.theme.spacing.xs};
77
75
  line-height: ${(props) => props.theme.typography.lineHeight.small};
@@ -7,12 +7,16 @@ const styled_components_1 = require("styled-components");
7
7
  exports.ObjectFieldTemplateWrapper = styled_components_1.styled.fieldset `
8
8
  display: flex;
9
9
  flex-direction: column;
10
+ gap: ${(props) => props.theme.spacing.m};
10
11
  color: ${(props) => props.theme.color.text.default};
11
12
  font-family: ${(props) => props.theme.typography.fontFamily.base};
12
13
  margin-inline: 0;
13
14
  margin-bottom: ${(props) => props.theme.spacing.xs};
14
15
 
15
- &:has(input[disabled]), &:has(option[disabled]), &:has(select[disabled]), &:has(textarea[disabled]) {
16
+ &:has(input[disabled]),
17
+ &:has(option[disabled]),
18
+ &:has(select[disabled]),
19
+ &:has(textarea[disabled]) {
16
20
  border-color: ${(props) => (0, polished_1.lighten)(0.4, props.theme.color.border.default)};
17
21
 
18
22
  legend {
@@ -23,7 +27,6 @@ exports.ObjectFieldTemplateWrapper = styled_components_1.styled.fieldset `
23
27
  }
24
28
  }
25
29
  }
26
-
27
30
  `;
28
31
  exports.ObjectFieldTemplateTitle = styled_components_1.styled.legend `
29
32
  color: ${(props) => props.theme.color.text.default};
@@ -12,7 +12,6 @@ const templates_1 = require("./templates");
12
12
  const FormViewRegistry_1 = require("./FormViewRegistry");
13
13
  exports.FormWrapper = styled_components_1.default.div `
14
14
  font-family: ${(props) => props.theme.typography.fontFamily.base};
15
- //padding: ${(props) => props.theme.spacing.xxxxxl};
16
15
  `;
17
16
  const FormView = (props) => {
18
17
  const { schema, uiSchema = {}, className, fields = {}, templates = {}, components = {}, formContext = {}, formOptions = {}, formLocalization = {}, useItemsAsAdditionalItems = false, hideUnmarkedAdditionalProperties = false, } = props;
@@ -11,8 +11,10 @@ const getStyle_1 = require("../../utils/getStyle");
11
11
  const fa_1 = require("react-icons/fa");
12
12
  exports.FieldWrapper = styled_components_1.default.div `
13
13
  color: ${(props) => props.theme.color.text.default};
14
+ display: flex;
15
+ flex-direction: column;
14
16
  font-family: ${(props) => props.theme.typography.fontFamily.base};
15
- margin: ${(props) => `0 0 ${props.theme.spacing.s} 0 `};
17
+ gap: ${(props) => props.theme.spacing.s};
16
18
  width: min(100%, 70rem);
17
19
  `;
18
20
  exports.FieldTitle = styled_components_1.default.label `
@@ -21,7 +23,6 @@ exports.FieldTitle = styled_components_1.default.label `
21
23
  font-family: ${(props) => props.theme.typography.fontFamily.heading};
22
24
  font-size: ${(props) => props.theme.typography.size.base};
23
25
  font-weight: ${(props) => props.theme.typography.weight.bold};
24
- margin: ${(props) => `${props.theme.spacing.xs} 0 ${props.theme.spacing.s} 0`};
25
26
  width: 100%;
26
27
  `;
27
28
  exports.FieldDescription = styled_components_1.default.div `
@@ -30,14 +31,12 @@ exports.FieldDescription = styled_components_1.default.div `
30
31
  font-weight: ${(props) => props.theme.typography.weight.normal};
31
32
  font-style: italic;
32
33
  font-size: ${(props) => props.theme.typography.size.small};
33
- margin-bottom: ${(props) => props.theme.spacing.s};
34
34
  `;
35
35
  exports.StringFieldValue = styled_components_1.default.div `
36
36
  color: ${(props) => props.theme.color.text.default};
37
37
  font-family: ${(props) => props.theme.typography.fontFamily.base};
38
38
  font-size: ${(props) => props.theme.typography.size.small};
39
39
  font-weight: ${(props) => props.theme.typography.weight.normal};
40
- margin-bottom: ${(props) => props.theme.spacing.l};
41
40
  padding-left: ${(props) => props.theme.spacing.l};
42
41
  white-space: pre-line;
43
42
  `;
@@ -46,7 +45,6 @@ exports.TextAreaValue = styled_components_1.default.div `
46
45
  font-family: ${(props) => props.theme.typography.fontFamily.base};
47
46
  font-size: ${(props) => props.theme.typography.size.small};
48
47
  font-weight: ${(props) => props.theme.typography.weight.normal};
49
- margin-bottom: ${(props) => props.theme.spacing.l};
50
48
  padding-left: ${(props) => props.theme.spacing.l};
51
49
  white-space: pre-line;
52
50
  `;
@@ -58,7 +56,6 @@ exports.ArrayFieldItem = styled_components_1.default.div `
58
56
  background-color: ${(props) => props.theme.color.background.default};
59
57
  padding: ${(props) => props.theme.spacing.l};
60
58
  border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.color.border.default}`};
61
- margin-bottom: ${(props) => props.theme.spacing.s};
62
59
  `;
63
60
  exports.EJSFieldValue = styled_components_1.default.div `
64
61
  color: ${(props) => props.theme.color.text.default};
@@ -2,4 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Form = void 0;
4
4
  const styled_components_1 = require("styled-components");
5
- exports.Form = styled_components_1.styled.div ``;
5
+ exports.Form = styled_components_1.styled.div `
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: ${(props) => props.theme.spacing.s};
9
+ `;
@@ -7,18 +7,15 @@ exports.ObjectFieldTemplateDescription = exports.ObjectFieldTemplateTitle = expo
7
7
  exports.getComponents = getComponents;
8
8
  const styled_components_1 = __importDefault(require("styled-components"));
9
9
  exports.ObjectFieldTemplateWrapper = styled_components_1.default.div `
10
-
11
- &[data-fjsf-level="1"] {
12
- margin-bottom: ${(props) => props.theme.spacing.xxl};
13
- }
14
-
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: ${(props) => props.theme.spacing.s};
15
13
  `;
16
14
  exports.ObjectFieldTemplateTitle = styled_components_1.default.div `
17
15
  color: ${(props) => props.theme.color.text.default};
18
16
  font-family: ${(props) => props.theme.typography.fontFamily.base};
19
17
  font-size: ${(props) => props.theme.typography.size.base};
20
18
  font-weight: ${(props) => props.theme.typography.weight.medium};
21
- margin: ${(props) => `${props.theme.spacing.s} 0 ${props.theme.spacing.l} 0`};
22
19
  page-break-after: avoid;
23
20
  break-after: avoid;
24
21
 
@@ -33,12 +30,10 @@ exports.ObjectFieldTemplateTitle = styled_components_1.default.div `
33
30
  ${exports.ObjectFieldTemplateWrapper}[data-fjsf-level="1"] > & {
34
31
  font-size: ${(props) => props.theme.typography.size.h4};
35
32
  font-weight: ${(props) => props.theme.typography.weight.medium};
36
- margin-top: 0;
37
33
  }
38
34
  ${exports.ObjectFieldTemplateWrapper}[data-fjsf-level="2"] > & {
39
35
  font-size: ${(props) => props.theme.typography.size.large};
40
36
  font-weight: ${(props) => props.theme.typography.weight.medium};
41
- margin-top: ${(props) => props.theme.spacing.xxxl};
42
37
  }
43
38
  `;
44
39
  exports.ObjectFieldTemplateDescription = undefined;
@@ -4,7 +4,7 @@ exports.getStyle = getStyle;
4
4
  function getStyle(key) {
5
5
  const style = {};
6
6
  if (key === "inline") {
7
- style.display = "inline-grid";
7
+ style.flexDirection = "row";
8
8
  }
9
9
  if (key === "oneColumn") {
10
10
  style.display = "grid";
@@ -4,10 +4,10 @@ import * as formik from "formik";
4
4
  export const FieldWrapper = styled.div `
5
5
  display: flex;
6
6
  flex-direction: column;
7
- margin: ${(props) => `${props.theme.spacing.s} 0`};
7
+ gap: ${(props) => props.theme.spacing.xs};
8
8
  color: ${(props) => props.theme.color.text.default};
9
9
  opacity: ${(props) => (props.$isDisabled ? 0.6 : 1)};
10
- pointer-events: ${(props) => (props.$isDisabled ? 'none' : 'auto')};
10
+ pointer-events: ${(props) => (props.$isDisabled ? "none" : "auto")};
11
11
  `;
12
12
  export const FieldTitleInfoWrapper = styled.div `
13
13
  display: flex;
@@ -26,7 +26,9 @@ export const FieldDescription = styled.p `
26
26
  margin: 0;
27
27
  font-family: ${(props) => props.theme.typography.fontFamily.base};
28
28
  font-size: ${(props) => props.theme.typography.size.base};
29
- font-weight: ${(props) => (props.$isReadOnly ? props.theme.typography.weight.bold : props.theme.typography.weight.normal)};
29
+ font-weight: ${(props) => props.$isReadOnly
30
+ ? props.theme.typography.weight.bold
31
+ : props.theme.typography.weight.normal};
30
32
  `;
31
33
  export const FieldHelp = styled.p `
32
34
  color: ${(props) => props.theme.color.text.default};
@@ -5,6 +5,7 @@ export const MultipleChoiceFieldContainer = styled(RadioFieldContainer) `
5
5
  flex-wrap: wrap;
6
6
  justify-content: start;
7
7
  flex-direction: column;
8
+ gap: ${(props) => props.theme.spacing.s};
8
9
 
9
10
  &:has(input[readonly]) {
10
11
  flex-direction: column;
@@ -25,7 +25,9 @@ export const ObjectFieldDownButton = styled(ObjectFieldButton) ``;
25
25
  export const ObjectFieldRemoveButton = styled(ObjectFieldButton) ``;
26
26
  export const ObjectFieldAddButton = styled(ObjectFieldButton) ``;
27
27
  export const ObjectFieldSectionWrapper = styled.fieldset `
28
- padding: ${(props) => props.theme.spacing.s} ${(props) => props.theme.spacing.l} ${(props) => props.theme.spacing.s} ${(props) => props.theme.spacing.s};
28
+ padding: ${(props) => props.theme.spacing.s}
29
+ ${(props) => props.theme.spacing.l} ${(props) => props.theme.spacing.s}
30
+ ${(props) => props.theme.spacing.s};
29
31
  `;
30
32
  export const ObjectFieldSectionTitle = styled.legend `
31
33
  display: flex;
@@ -5,14 +5,15 @@ import { CommonCheckboxStyles } from "../../styles/common";
5
5
  export const RadioFieldContainer = styled(CommonCheckboxStyles) `
6
6
  color: ${(props) => props.theme.color.text.default};
7
7
  display: flex;
8
+ flex-direction: column;
8
9
  font-family: ${(props) => props.theme.typography.fontFamily.base};
9
- gap: ${(props) => props.theme.spacing.l};
10
+ gap: ${(props) => props.theme.spacing.s};
10
11
 
11
12
  &:has(input[readonly]) {
12
13
  flex-direction: column;
13
14
  gap: ${(props) => props.theme.spacing.xxs};
14
15
  }
15
-
16
+
16
17
  input[type="radio"] {
17
18
  -webkit-appearance: none;
18
19
  appearance: none;
@@ -65,10 +66,7 @@ export const RadioFieldElement = styled.label `
65
66
  pointer-events: none;
66
67
  }
67
68
  `;
68
- export const RadioFieldInputElement = styled(FieldInput) `
69
- margin: unset;
70
- margin-top: ${(props) => props.theme.spacing.xxs};
71
- `;
69
+ export const RadioFieldInputElement = styled(FieldInput) ``;
72
70
  export const RadioFieldLabel = styled.span `
73
71
  margin-left: ${(props) => props.theme.spacing.xs};
74
72
  line-height: ${(props) => props.theme.typography.lineHeight.small};
@@ -3,12 +3,16 @@ import { styled } from "styled-components";
3
3
  export const ObjectFieldTemplateWrapper = styled.fieldset `
4
4
  display: flex;
5
5
  flex-direction: column;
6
+ gap: ${(props) => props.theme.spacing.m};
6
7
  color: ${(props) => props.theme.color.text.default};
7
8
  font-family: ${(props) => props.theme.typography.fontFamily.base};
8
9
  margin-inline: 0;
9
10
  margin-bottom: ${(props) => props.theme.spacing.xs};
10
11
 
11
- &:has(input[disabled]), &:has(option[disabled]), &:has(select[disabled]), &:has(textarea[disabled]) {
12
+ &:has(input[disabled]),
13
+ &:has(option[disabled]),
14
+ &:has(select[disabled]),
15
+ &:has(textarea[disabled]) {
12
16
  border-color: ${(props) => lighten(0.4, props.theme.color.border.default)};
13
17
 
14
18
  legend {
@@ -19,7 +23,6 @@ export const ObjectFieldTemplateWrapper = styled.fieldset `
19
23
  }
20
24
  }
21
25
  }
22
-
23
26
  `;
24
27
  export const ObjectFieldTemplateTitle = styled.legend `
25
28
  color: ${(props) => props.theme.color.text.default};
@@ -6,7 +6,6 @@ import { templates as defaultTemplates } from "./templates";
6
6
  import { FormViewRegistry } from "./FormViewRegistry";
7
7
  export const FormWrapper = styled.div `
8
8
  font-family: ${(props) => props.theme.typography.fontFamily.base};
9
- //padding: ${(props) => props.theme.spacing.xxxxxl};
10
9
  `;
11
10
  export const FormView = (props) => {
12
11
  const { schema, uiSchema = {}, className, fields = {}, templates = {}, components = {}, formContext = {}, formOptions = {}, formLocalization = {}, useItemsAsAdditionalItems = false, hideUnmarkedAdditionalProperties = false, } = props;
@@ -5,8 +5,10 @@ import { getStyle } from "../../utils/getStyle";
5
5
  import { FaCheck, FaTimes } from "react-icons/fa";
6
6
  export const FieldWrapper = styled.div `
7
7
  color: ${(props) => props.theme.color.text.default};
8
+ display: flex;
9
+ flex-direction: column;
8
10
  font-family: ${(props) => props.theme.typography.fontFamily.base};
9
- margin: ${(props) => `0 0 ${props.theme.spacing.s} 0 `};
11
+ gap: ${(props) => props.theme.spacing.s};
10
12
  width: min(100%, 70rem);
11
13
  `;
12
14
  export const FieldTitle = styled.label `
@@ -15,7 +17,6 @@ export const FieldTitle = styled.label `
15
17
  font-family: ${(props) => props.theme.typography.fontFamily.heading};
16
18
  font-size: ${(props) => props.theme.typography.size.base};
17
19
  font-weight: ${(props) => props.theme.typography.weight.bold};
18
- margin: ${(props) => `${props.theme.spacing.xs} 0 ${props.theme.spacing.s} 0`};
19
20
  width: 100%;
20
21
  `;
21
22
  export const FieldDescription = styled.div `
@@ -24,14 +25,12 @@ export const FieldDescription = styled.div `
24
25
  font-weight: ${(props) => props.theme.typography.weight.normal};
25
26
  font-style: italic;
26
27
  font-size: ${(props) => props.theme.typography.size.small};
27
- margin-bottom: ${(props) => props.theme.spacing.s};
28
28
  `;
29
29
  export const StringFieldValue = styled.div `
30
30
  color: ${(props) => props.theme.color.text.default};
31
31
  font-family: ${(props) => props.theme.typography.fontFamily.base};
32
32
  font-size: ${(props) => props.theme.typography.size.small};
33
33
  font-weight: ${(props) => props.theme.typography.weight.normal};
34
- margin-bottom: ${(props) => props.theme.spacing.l};
35
34
  padding-left: ${(props) => props.theme.spacing.l};
36
35
  white-space: pre-line;
37
36
  `;
@@ -40,7 +39,6 @@ export const TextAreaValue = styled.div `
40
39
  font-family: ${(props) => props.theme.typography.fontFamily.base};
41
40
  font-size: ${(props) => props.theme.typography.size.small};
42
41
  font-weight: ${(props) => props.theme.typography.weight.normal};
43
- margin-bottom: ${(props) => props.theme.spacing.l};
44
42
  padding-left: ${(props) => props.theme.spacing.l};
45
43
  white-space: pre-line;
46
44
  `;
@@ -52,7 +50,6 @@ export const ArrayFieldItem = styled.div `
52
50
  background-color: ${(props) => props.theme.color.background.default};
53
51
  padding: ${(props) => props.theme.spacing.l};
54
52
  border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.color.border.default}`};
55
- margin-bottom: ${(props) => props.theme.spacing.s};
56
53
  `;
57
54
  export const EJSFieldValue = styled.div `
58
55
  color: ${(props) => props.theme.color.text.default};
@@ -1,2 +1,6 @@
1
1
  import { styled } from "styled-components";
2
- export const Form = styled.div ``;
2
+ export const Form = styled.div `
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: ${(props) => props.theme.spacing.s};
6
+ `;
@@ -1,17 +1,14 @@
1
1
  import styled from "styled-components";
2
2
  export const ObjectFieldTemplateWrapper = styled.div `
3
-
4
- &[data-fjsf-level="1"] {
5
- margin-bottom: ${(props) => props.theme.spacing.xxl};
6
- }
7
-
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: ${(props) => props.theme.spacing.s};
8
6
  `;
9
7
  export const ObjectFieldTemplateTitle = styled.div `
10
8
  color: ${(props) => props.theme.color.text.default};
11
9
  font-family: ${(props) => props.theme.typography.fontFamily.base};
12
10
  font-size: ${(props) => props.theme.typography.size.base};
13
11
  font-weight: ${(props) => props.theme.typography.weight.medium};
14
- margin: ${(props) => `${props.theme.spacing.s} 0 ${props.theme.spacing.l} 0`};
15
12
  page-break-after: avoid;
16
13
  break-after: avoid;
17
14
 
@@ -26,12 +23,10 @@ export const ObjectFieldTemplateTitle = styled.div `
26
23
  ${ObjectFieldTemplateWrapper}[data-fjsf-level="1"] > & {
27
24
  font-size: ${(props) => props.theme.typography.size.h4};
28
25
  font-weight: ${(props) => props.theme.typography.weight.medium};
29
- margin-top: 0;
30
26
  }
31
27
  ${ObjectFieldTemplateWrapper}[data-fjsf-level="2"] > & {
32
28
  font-size: ${(props) => props.theme.typography.size.large};
33
29
  font-weight: ${(props) => props.theme.typography.weight.medium};
34
- margin-top: ${(props) => props.theme.spacing.xxxl};
35
30
  }
36
31
  `;
37
32
  export const ObjectFieldTemplateDescription = undefined;
@@ -1,7 +1,7 @@
1
1
  export function getStyle(key) {
2
2
  const style = {};
3
3
  if (key === "inline") {
4
- style.display = "inline-grid";
4
+ style.flexDirection = "row";
5
5
  }
6
6
  if (key === "oneColumn") {
7
7
  style.display = "grid";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nolwenture/formik-jsonschema-form",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
4
4
  "description": "Formik form generation from json schema",
5
5
  "author": "anttivikman <antti.vikman@nolwenture.com>",
6
6
  "contributors": [