@digigov/react-core 0.22.1 → 0.23.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.
Files changed (124) hide show
  1. package/AccordionSectionSummaryHeading/index.js +2 -22
  2. package/CHANGELOG.md +16 -1
  3. package/Nav/__snapshots__/index.test.tsx.snap +4 -4
  4. package/Nav/index.js +1 -1
  5. package/NavList/__snapshots__/index.test.tsx.snap +4 -4
  6. package/NavList/index.d.ts +1 -6
  7. package/NavList/index.js +2 -4
  8. package/NavListItem/__snapshots__/index.test.tsx.snap +2 -2
  9. package/NavListItem/index.d.ts +1 -6
  10. package/NavListItem/index.js +2 -4
  11. package/NavListItemButton/__snapshots__/index.test.tsx.snap +9 -9
  12. package/NavListItemButton/index.js +1 -1
  13. package/NavListItemLink/__snapshots__/index.test.tsx.snap +15 -24
  14. package/NavListItemLink/index.js +2 -3
  15. package/NavMenu/__snapshots__/index.test.tsx.snap +2 -2
  16. package/NavMenu/index.js +1 -1
  17. package/NavMenuContainer/index.js +1 -3
  18. package/NavMenuContainerContent/index.js +1 -3
  19. package/NavMenuContainerContentList/__snapshots__/index.test.tsx.snap +2 -2
  20. package/NavMenuContainerContentList/index.d.ts +1 -6
  21. package/NavMenuContainerContentList/index.js +2 -4
  22. package/NavMenuContainerContentListItem/__snapshots__/index.test.tsx.snap +2 -2
  23. package/NavMenuContainerContentListItem/index.js +1 -1
  24. package/NavMenuContainerTitle/index.d.ts +1 -6
  25. package/NavMenuContainerTitle/index.js +3 -5
  26. package/SingleCharacterInputContainer/__snapshots__/index.test.tsx.snap +16 -0
  27. package/SingleCharacterInputContainer/index.d.ts +11 -0
  28. package/SingleCharacterInputContainer/index.js +40 -0
  29. package/SingleCharacterInputContainer/index.test.d.ts +1 -0
  30. package/SingleCharacterInputContainer/index.test.js +15 -0
  31. package/SingleCharacterInputItem/__snapshots__/index.test.tsx.snap +173 -0
  32. package/SingleCharacterInputItem/index.d.ts +32 -0
  33. package/SingleCharacterInputItem/index.js +50 -0
  34. package/SingleCharacterInputItem/index.test.d.ts +1 -0
  35. package/SingleCharacterInputItem/index.test.js +68 -0
  36. package/es/AccordionSectionSummaryHeading/index.js +2 -14
  37. package/es/Nav/__snapshots__/index.test.tsx.snap +4 -4
  38. package/es/Nav/index.js +1 -1
  39. package/es/NavList/__snapshots__/index.test.tsx.snap +4 -4
  40. package/es/NavList/index.js +2 -4
  41. package/es/NavListItem/__snapshots__/index.test.tsx.snap +2 -2
  42. package/es/NavListItem/index.js +2 -4
  43. package/es/NavListItemButton/__snapshots__/index.test.tsx.snap +9 -9
  44. package/es/NavListItemButton/index.js +1 -1
  45. package/es/NavListItemLink/__snapshots__/index.test.tsx.snap +15 -24
  46. package/es/NavListItemLink/index.js +2 -3
  47. package/es/NavMenu/__snapshots__/index.test.tsx.snap +2 -2
  48. package/es/NavMenu/index.js +1 -1
  49. package/es/NavMenuContainer/index.js +1 -2
  50. package/es/NavMenuContainerContent/index.js +1 -2
  51. package/es/NavMenuContainerContentList/__snapshots__/index.test.tsx.snap +2 -2
  52. package/es/NavMenuContainerContentList/index.js +2 -4
  53. package/es/NavMenuContainerContentListItem/__snapshots__/index.test.tsx.snap +2 -2
  54. package/es/NavMenuContainerContentListItem/index.js +1 -1
  55. package/es/NavMenuContainerTitle/index.js +3 -5
  56. package/es/SingleCharacterInputContainer/__snapshots__/index.test.tsx.snap +16 -0
  57. package/es/SingleCharacterInputContainer/index.js +24 -0
  58. package/es/SingleCharacterInputContainer/index.test.js +9 -0
  59. package/es/SingleCharacterInputItem/__snapshots__/index.test.tsx.snap +173 -0
  60. package/es/SingleCharacterInputItem/index.js +34 -0
  61. package/es/SingleCharacterInputItem/index.test.js +62 -0
  62. package/es/index.js +2 -0
  63. package/es/registry.js +4 -0
  64. package/esm/AccordionSectionSummaryHeading/index.js +2 -14
  65. package/esm/Nav/__snapshots__/index.test.tsx.snap +4 -4
  66. package/esm/Nav/index.js +1 -1
  67. package/esm/NavList/__snapshots__/index.test.tsx.snap +4 -4
  68. package/esm/NavList/index.js +2 -4
  69. package/esm/NavListItem/__snapshots__/index.test.tsx.snap +2 -2
  70. package/esm/NavListItem/index.js +2 -4
  71. package/esm/NavListItemButton/__snapshots__/index.test.tsx.snap +9 -9
  72. package/esm/NavListItemButton/index.js +1 -1
  73. package/esm/NavListItemLink/__snapshots__/index.test.tsx.snap +15 -24
  74. package/esm/NavListItemLink/index.js +2 -3
  75. package/esm/NavMenu/__snapshots__/index.test.tsx.snap +2 -2
  76. package/esm/NavMenu/index.js +1 -1
  77. package/esm/NavMenuContainer/index.js +1 -2
  78. package/esm/NavMenuContainerContent/index.js +1 -2
  79. package/esm/NavMenuContainerContentList/__snapshots__/index.test.tsx.snap +2 -2
  80. package/esm/NavMenuContainerContentList/index.js +2 -4
  81. package/esm/NavMenuContainerContentListItem/__snapshots__/index.test.tsx.snap +2 -2
  82. package/esm/NavMenuContainerContentListItem/index.js +1 -1
  83. package/esm/NavMenuContainerTitle/index.js +3 -5
  84. package/esm/SingleCharacterInputContainer/__snapshots__/index.test.tsx.snap +16 -0
  85. package/esm/SingleCharacterInputContainer/index.js +24 -0
  86. package/esm/SingleCharacterInputContainer/index.test.js +9 -0
  87. package/esm/SingleCharacterInputItem/__snapshots__/index.test.tsx.snap +173 -0
  88. package/esm/SingleCharacterInputItem/index.js +34 -0
  89. package/esm/SingleCharacterInputItem/index.test.js +62 -0
  90. package/esm/index.js +3 -1
  91. package/esm/registry.js +4 -0
  92. package/index.d.ts +2 -0
  93. package/index.js +26 -0
  94. package/package.json +2 -2
  95. package/registry.d.ts +2 -0
  96. package/registry.js +6 -0
  97. package/src/AccordionSectionSummaryHeading/index.tsx +1 -8
  98. package/src/Nav/__snapshots__/index.test.tsx.snap +4 -4
  99. package/src/Nav/index.tsx +7 -6
  100. package/src/NavList/__snapshots__/index.test.tsx.snap +4 -4
  101. package/src/NavList/index.tsx +3 -13
  102. package/src/NavListItem/__snapshots__/index.test.tsx.snap +2 -2
  103. package/src/NavListItem/index.tsx +3 -13
  104. package/src/NavListItemButton/__snapshots__/index.test.tsx.snap +9 -9
  105. package/src/NavListItemButton/index.tsx +2 -2
  106. package/src/NavListItemLink/__snapshots__/index.test.tsx.snap +15 -24
  107. package/src/NavListItemLink/index.tsx +3 -3
  108. package/src/NavMenu/__snapshots__/index.test.tsx.snap +2 -2
  109. package/src/NavMenu/index.tsx +4 -3
  110. package/src/NavMenuContainer/index.tsx +1 -2
  111. package/src/NavMenuContainerContent/index.tsx +1 -2
  112. package/src/NavMenuContainerContentList/__snapshots__/index.test.tsx.snap +2 -2
  113. package/src/NavMenuContainerContentList/index.tsx +3 -13
  114. package/src/NavMenuContainerContentListItem/__snapshots__/index.test.tsx.snap +2 -2
  115. package/src/NavMenuContainerContentListItem/index.tsx +1 -1
  116. package/src/NavMenuContainerTitle/index.tsx +4 -14
  117. package/src/SingleCharacterInputContainer/__snapshots__/index.test.tsx.snap +16 -0
  118. package/src/SingleCharacterInputContainer/index.test.tsx +10 -0
  119. package/src/SingleCharacterInputContainer/index.tsx +32 -0
  120. package/src/SingleCharacterInputItem/__snapshots__/index.test.tsx.snap +173 -0
  121. package/src/SingleCharacterInputItem/index.test.tsx +45 -0
  122. package/src/SingleCharacterInputItem/index.tsx +63 -0
  123. package/src/index.ts +2 -0
  124. package/src/registry.js +4 -0
@@ -0,0 +1,173 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`renders the SingleCharacterInputItem with maxLength prop 1`] = `
4
+ <ForwardRef(SingleCharacterInputItem)
5
+ maxLength={6}
6
+ >
7
+ <ForwardRef(Base)
8
+ as="input"
9
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
10
+ inputMode="numeric"
11
+ maxLength={6}
12
+ pattern="[0-9]*"
13
+ type="text"
14
+ >
15
+ <input
16
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
17
+ inputMode="numeric"
18
+ maxLength={6}
19
+ pattern="[0-9]*"
20
+ type="text"
21
+ />
22
+ </ForwardRef(Base)>
23
+ </ForwardRef(SingleCharacterInputItem)>
24
+ `;
25
+
26
+ exports[`renders the SingleCharacterInputItem with name and error props 1`] = `
27
+ <ForwardRef(SingleCharacterInputItem)
28
+ error={true}
29
+ name="single-character-input"
30
+ >
31
+ <ForwardRef(Base)
32
+ as="input"
33
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
34
+ inputMode="numeric"
35
+ maxLength={1}
36
+ name="single-character-input"
37
+ pattern="[0-9]*"
38
+ type="text"
39
+ >
40
+ <input
41
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
42
+ inputMode="numeric"
43
+ maxLength={1}
44
+ name="single-character-input"
45
+ pattern="[0-9]*"
46
+ type="text"
47
+ />
48
+ </ForwardRef(Base)>
49
+ </ForwardRef(SingleCharacterInputItem)>
50
+ `;
51
+
52
+ exports[`renders the SingleCharacterInputItem with name and error props 2`] = `
53
+ <ForwardRef(SingleCharacterInputItem)
54
+ error={true}
55
+ name="single-character-input"
56
+ >
57
+ <ForwardRef(Base)
58
+ as="input"
59
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
60
+ inputMode="numeric"
61
+ maxLength={1}
62
+ name="single-character-input"
63
+ pattern="[0-9]*"
64
+ type="text"
65
+ >
66
+ <input
67
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
68
+ inputMode="numeric"
69
+ maxLength={1}
70
+ name="single-character-input"
71
+ pattern="[0-9]*"
72
+ type="text"
73
+ />
74
+ </ForwardRef(Base)>
75
+ </ForwardRef(SingleCharacterInputItem)>
76
+ `;
77
+
78
+ exports[`renders the SingleCharacterInputItem with name prop 1`] = `
79
+ <ForwardRef(SingleCharacterInputItem)
80
+ name="single-character-input"
81
+ >
82
+ <ForwardRef(Base)
83
+ as="input"
84
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
85
+ inputMode="numeric"
86
+ maxLength={1}
87
+ name="single-character-input"
88
+ pattern="[0-9]*"
89
+ type="text"
90
+ >
91
+ <input
92
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
93
+ inputMode="numeric"
94
+ maxLength={1}
95
+ name="single-character-input"
96
+ pattern="[0-9]*"
97
+ type="text"
98
+ />
99
+ </ForwardRef(Base)>
100
+ </ForwardRef(SingleCharacterInputItem)>
101
+ `;
102
+
103
+ exports[`renders the SingleCharacterInputItem with name, pattern, maxLength and error props 1`] = `
104
+ <ForwardRef(SingleCharacterInputItem)
105
+ error={true}
106
+ maxLength={6}
107
+ name="single-character-input"
108
+ pattern="\\\\d{1}"
109
+ >
110
+ <ForwardRef(Base)
111
+ as="input"
112
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
113
+ inputMode="numeric"
114
+ maxLength={6}
115
+ name="single-character-input"
116
+ pattern="\\\\d{1}"
117
+ type="text"
118
+ >
119
+ <input
120
+ className="govgr-error-input govgr-otp-input__item govgr-input govgr-otp-input--width"
121
+ inputMode="numeric"
122
+ maxLength={6}
123
+ name="single-character-input"
124
+ pattern="\\\\d{1}"
125
+ type="text"
126
+ />
127
+ </ForwardRef(Base)>
128
+ </ForwardRef(SingleCharacterInputItem)>
129
+ `;
130
+
131
+ exports[`renders the SingleCharacterInputItem with no props 1`] = `
132
+ <ForwardRef(SingleCharacterInputItem)>
133
+ <ForwardRef(Base)
134
+ as="input"
135
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
136
+ inputMode="numeric"
137
+ maxLength={1}
138
+ pattern="[0-9]*"
139
+ type="text"
140
+ >
141
+ <input
142
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
143
+ inputMode="numeric"
144
+ maxLength={1}
145
+ pattern="[0-9]*"
146
+ type="text"
147
+ />
148
+ </ForwardRef(Base)>
149
+ </ForwardRef(SingleCharacterInputItem)>
150
+ `;
151
+
152
+ exports[`renders the SingleCharacterInputItem with pattern prop 1`] = `
153
+ <ForwardRef(SingleCharacterInputItem)
154
+ pattern="\\\\d{1}"
155
+ >
156
+ <ForwardRef(Base)
157
+ as="input"
158
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
159
+ inputMode="numeric"
160
+ maxLength={1}
161
+ pattern="\\\\d{1}"
162
+ type="text"
163
+ >
164
+ <input
165
+ className="govgr-otp-input__item govgr-input govgr-otp-input--width"
166
+ inputMode="numeric"
167
+ maxLength={1}
168
+ pattern="\\\\d{1}"
169
+ type="text"
170
+ />
171
+ </ForwardRef(Base)>
172
+ </ForwardRef(SingleCharacterInputItem)>
173
+ `;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { mount } from 'enzyme';
3
+
4
+ import SingleCharacterInputItem from '@digigov/react-core/SingleCharacterInputItem';
5
+
6
+ it('renders the SingleCharacterInputItem with no props', () => {
7
+ expect(mount(<SingleCharacterInputItem />)).toMatchSnapshot();
8
+ });
9
+ it('renders the SingleCharacterInputItem with maxLength prop', () => {
10
+ expect(mount(<SingleCharacterInputItem maxLength={6} />)).toMatchSnapshot();
11
+ });
12
+
13
+ it('renders the SingleCharacterInputItem with name prop', () => {
14
+ expect(
15
+ mount(<SingleCharacterInputItem name={'single-character-input'} />)
16
+ ).toMatchSnapshot();
17
+ });
18
+
19
+ it('renders the SingleCharacterInputItem with name and error props', () => {
20
+ expect(
21
+ mount(<SingleCharacterInputItem name={'single-character-input'} error />)
22
+ ).toMatchSnapshot();
23
+ });
24
+ it('renders the SingleCharacterInputItem with pattern prop', () => {
25
+ expect(mount(<SingleCharacterInputItem pattern="\d{1}" />)).toMatchSnapshot();
26
+ });
27
+
28
+ it('renders the SingleCharacterInputItem with name and error props', () => {
29
+ expect(
30
+ mount(<SingleCharacterInputItem name={'single-character-input'} error />)
31
+ ).toMatchSnapshot();
32
+ });
33
+
34
+ it('renders the SingleCharacterInputItem with name, pattern, maxLength and error props', () => {
35
+ expect(
36
+ mount(
37
+ <SingleCharacterInputItem
38
+ name={'single-character-input'}
39
+ pattern="\d{1}"
40
+ maxLength={6}
41
+ error
42
+ />
43
+ )
44
+ ).toMatchSnapshot();
45
+ });
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import Base, { BaseProps } from '@digigov/react-core/Base';
3
+ import clsx from 'clsx';
4
+
5
+ export interface SingleCharacterInputItemProps extends BaseProps<'input'> {
6
+ /**
7
+ * Name property is optional
8
+ * Name prop contains a single value which describes the name of the <input> element.
9
+ */
10
+ name?: string;
11
+ /**
12
+ * error is optional. The default value is false.
13
+ * Use this prop when there is an error at the input.
14
+ */
15
+ error?: boolean;
16
+ /**
17
+ * pattern is optional. The default value is [0-9].
18
+ * Use this prop when you want to give a specific format input.
19
+ */
20
+ pattern?: string;
21
+ /**
22
+ * maxLength property is optional
23
+ * maxLength prop specifies the max length of the input field.
24
+ * maxLength default value is 1.
25
+ */
26
+ maxLength?: number;
27
+ }
28
+ /**
29
+ * Details for the SingleCharacterInputItem.
30
+ * SingleCharacterInputItem component is used for displaying simple digital character inputs.
31
+ * SingleCharacterInputItem component must be included inside SingleCharacterInputContainer component as children component
32
+ */
33
+ export const SingleCharacterInputItem = React.forwardRef<
34
+ HTMLInputElement,
35
+ SingleCharacterInputItemProps
36
+ >(function SingleCharacterInputItem(
37
+ { name, error, className, pattern = '[0-9]*', maxLength = 1, ...props },
38
+ ref
39
+ ) {
40
+ return (
41
+ <>
42
+ <Base
43
+ as="input"
44
+ ref={ref}
45
+ type="text"
46
+ pattern={pattern}
47
+ maxLength={maxLength}
48
+ inputMode="numeric"
49
+ name={name}
50
+ className={clsx({
51
+ className,
52
+ 'govgr-otp-input__item': true,
53
+ 'govgr-input': true,
54
+ 'govgr-otp-input--width': true,
55
+ 'govgr-error-input': error === true,
56
+ })}
57
+ {...props}
58
+ />
59
+ </>
60
+ );
61
+ });
62
+
63
+ export default SingleCharacterInputItem;
package/src/index.ts CHANGED
@@ -121,6 +121,8 @@ export * from '@digigov/react-core/RadioConditional';
121
121
  export * from '@digigov/react-core/SectionBreak';
122
122
  export * from '@digigov/react-core/SelectContainer';
123
123
  export * from '@digigov/react-core/SelectOption';
124
+ export * from '@digigov/react-core/SingleCharacterInputContainer';
125
+ export * from '@digigov/react-core/SingleCharacterInputItem';
124
126
  export * from '@digigov/react-core/SkipLink';
125
127
  export * from '@digigov/react-core/SummaryList';
126
128
  export * from '@digigov/react-core/SummaryListItem';
package/src/registry.js CHANGED
@@ -131,6 +131,8 @@ import * as _digigov_react_core_RadioItem from '@digigov/react-core/RadioItem';
131
131
  import * as _digigov_react_core_SectionBreak from '@digigov/react-core/SectionBreak';
132
132
  import * as _digigov_react_core_SelectContainer from '@digigov/react-core/SelectContainer';
133
133
  import * as _digigov_react_core_SelectOption from '@digigov/react-core/SelectOption';
134
+ import * as _digigov_react_core_SingleCharacterInputContainer from '@digigov/react-core/SingleCharacterInputContainer';
135
+ import * as _digigov_react_core_SingleCharacterInputItem from '@digigov/react-core/SingleCharacterInputItem';
134
136
  import * as _digigov_react_core_SkipLink from '@digigov/react-core/SkipLink';
135
137
  import * as _digigov_react_core_SummaryList from '@digigov/react-core/SummaryList';
136
138
  import * as _digigov_react_core_SummaryListItem from '@digigov/react-core/SummaryListItem';
@@ -310,6 +312,8 @@ export default {
310
312
  '@digigov/react-core/SectionBreak': lazyImport(_digigov_react_core_SectionBreak),
311
313
  '@digigov/react-core/SelectContainer': lazyImport(_digigov_react_core_SelectContainer),
312
314
  '@digigov/react-core/SelectOption': lazyImport(_digigov_react_core_SelectOption),
315
+ '@digigov/react-core/SingleCharacterInputContainer': lazyImport(_digigov_react_core_SingleCharacterInputContainer),
316
+ '@digigov/react-core/SingleCharacterInputItem': lazyImport(_digigov_react_core_SingleCharacterInputItem),
313
317
  '@digigov/react-core/SkipLink': lazyImport(_digigov_react_core_SkipLink),
314
318
  '@digigov/react-core/SummaryList': lazyImport(_digigov_react_core_SummaryList),
315
319
  '@digigov/react-core/SummaryListItem': lazyImport(_digigov_react_core_SummaryListItem),