envoc-form 5.0.7 → 5.0.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.
- package/README.md +3084 -958
- package/es/DatePicker/DatePickerGroup.d.ts +1 -1
- package/es/DatePicker/DatePickerGroup.js +4 -3
- package/es/DateTimePicker/DateTimePickerGroup.d.ts +12 -0
- package/es/DateTimePicker/DateTimePickerGroup.js +87 -0
- package/es/DateTimePicker/DateTimePickerHelper.d.ts +3 -0
- package/es/DateTimePicker/DateTimePickerHelper.js +1 -0
- package/es/DateTimePicker/StringDateTimePickerGroup.d.ts +9 -0
- package/es/DateTimePicker/StringDateTimePickerGroup.js +53 -0
- package/es/Input/InputGroup.d.ts +1 -1
- package/es/Input/InputGroup.js +2 -2
- package/es/Select/SelectGroup.d.ts +3 -1
- package/es/Select/SelectGroup.js +4 -4
- package/es/index.d.ts +4 -0
- package/es/index.js +3 -0
- package/lib/DatePicker/DatePickerGroup.d.ts +1 -1
- package/lib/DatePicker/DatePickerGroup.js +4 -3
- package/lib/DateTimePicker/DateTimePickerGroup.d.ts +12 -0
- package/lib/DateTimePicker/DateTimePickerGroup.js +93 -0
- package/lib/DateTimePicker/DateTimePickerHelper.d.ts +3 -0
- package/lib/DateTimePicker/DateTimePickerHelper.js +2 -0
- package/lib/DateTimePicker/StringDateTimePickerGroup.d.ts +9 -0
- package/lib/DateTimePicker/StringDateTimePickerGroup.js +59 -0
- package/lib/Input/InputGroup.d.ts +1 -1
- package/lib/Input/InputGroup.js +2 -2
- package/lib/Select/SelectGroup.d.ts +3 -1
- package/lib/Select/SelectGroup.js +4 -4
- package/lib/index.d.ts +4 -0
- package/lib/index.js +6 -1
- package/package.json +4 -3
- package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +1 -0
- package/src/DatePicker/DatePickerGroup.tsx +6 -0
- package/src/DateTimePicker/DateTimePicker.test.tsx +243 -0
- package/src/DateTimePicker/DateTimePickerGroup.tsx +116 -0
- package/src/DateTimePicker/DateTimePickerHelper.ts +4 -0
- package/src/DateTimePicker/StringDateTimePickerGroup.tsx +61 -0
- package/src/DateTimePicker/__snapshots__/DateTimePicker.test.tsx.snap +217 -0
- package/src/Input/InputGroup.tsx +3 -0
- package/src/Select/SelectGroup.tsx +9 -1
- package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +1 -0
- package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +2 -0
- package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +2 -0
- package/src/__Tests__/FormTestBase.tsx +1 -0
- package/src/index.ts +7 -0
@@ -0,0 +1,217 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`StringDateTimePickerGroup has matching snapshot 1`] = `
|
4
|
+
<DocumentFragment>
|
5
|
+
<form
|
6
|
+
action="#"
|
7
|
+
class="envoc-form-form"
|
8
|
+
>
|
9
|
+
<div
|
10
|
+
class="envoc-form-date-time-picker envoc-form-group"
|
11
|
+
>
|
12
|
+
<div
|
13
|
+
id="createddatetime-error-scroll-target"
|
14
|
+
style="display: none;"
|
15
|
+
/>
|
16
|
+
<label
|
17
|
+
for="createdDateTime"
|
18
|
+
>
|
19
|
+
Created Date Time
|
20
|
+
</label>
|
21
|
+
<div
|
22
|
+
class="react-datetime-picker react-datetime-picker--closed react-datetime-picker--enabled envoc-form-date-time-picker"
|
23
|
+
id="createdDateTime"
|
24
|
+
>
|
25
|
+
<div
|
26
|
+
class="react-datetime-picker__wrapper"
|
27
|
+
>
|
28
|
+
<div
|
29
|
+
class="react-datetime-picker__inputGroup"
|
30
|
+
>
|
31
|
+
<input
|
32
|
+
hidden=""
|
33
|
+
max="2023-09-23T00:00"
|
34
|
+
min="2022-06-22T00:00"
|
35
|
+
name="datetime"
|
36
|
+
step="60"
|
37
|
+
style="visibility: hidden; position: absolute; z-index: -999;"
|
38
|
+
type="datetime-local"
|
39
|
+
value=""
|
40
|
+
/>
|
41
|
+
<input
|
42
|
+
autocomplete="off"
|
43
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__month"
|
44
|
+
data-input="true"
|
45
|
+
inputmode="numeric"
|
46
|
+
max="12"
|
47
|
+
min="1"
|
48
|
+
name="month"
|
49
|
+
placeholder="mm"
|
50
|
+
type="number"
|
51
|
+
value=""
|
52
|
+
/>
|
53
|
+
<span
|
54
|
+
class="react-datetime-picker__inputGroup__divider"
|
55
|
+
>
|
56
|
+
/
|
57
|
+
</span>
|
58
|
+
<input
|
59
|
+
autocomplete="off"
|
60
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__day"
|
61
|
+
data-input="true"
|
62
|
+
inputmode="numeric"
|
63
|
+
max="31"
|
64
|
+
min="1"
|
65
|
+
name="day"
|
66
|
+
placeholder="dd"
|
67
|
+
type="number"
|
68
|
+
value=""
|
69
|
+
/>
|
70
|
+
<span
|
71
|
+
class="react-datetime-picker__inputGroup__divider"
|
72
|
+
>
|
73
|
+
/
|
74
|
+
</span>
|
75
|
+
<input
|
76
|
+
autocomplete="off"
|
77
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__year"
|
78
|
+
data-input="true"
|
79
|
+
inputmode="numeric"
|
80
|
+
max="2023"
|
81
|
+
min="2022"
|
82
|
+
name="year"
|
83
|
+
placeholder="yyyy"
|
84
|
+
step="1"
|
85
|
+
type="number"
|
86
|
+
value=""
|
87
|
+
/>
|
88
|
+
<span
|
89
|
+
class="react-datetime-picker__inputGroup__divider"
|
90
|
+
>
|
91
|
+
|
92
|
+
</span>
|
93
|
+
<input
|
94
|
+
autocomplete="off"
|
95
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__hour"
|
96
|
+
data-input="true"
|
97
|
+
inputmode="numeric"
|
98
|
+
max="12"
|
99
|
+
min="1"
|
100
|
+
name="hour12"
|
101
|
+
placeholder="--"
|
102
|
+
type="number"
|
103
|
+
value=""
|
104
|
+
/>
|
105
|
+
<span
|
106
|
+
class="react-datetime-picker__inputGroup__divider"
|
107
|
+
>
|
108
|
+
:
|
109
|
+
</span>
|
110
|
+
<input
|
111
|
+
autocomplete="off"
|
112
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__minute"
|
113
|
+
data-input="true"
|
114
|
+
inputmode="numeric"
|
115
|
+
max="59"
|
116
|
+
min="0"
|
117
|
+
name="minute"
|
118
|
+
placeholder="--"
|
119
|
+
type="number"
|
120
|
+
value=""
|
121
|
+
/>
|
122
|
+
<span
|
123
|
+
class="react-datetime-picker__inputGroup__divider"
|
124
|
+
>
|
125
|
+
|
126
|
+
</span>
|
127
|
+
<select
|
128
|
+
class="react-datetime-picker__inputGroup__input react-datetime-picker__inputGroup__amPm"
|
129
|
+
data-input="true"
|
130
|
+
data-select="true"
|
131
|
+
name="amPm"
|
132
|
+
>
|
133
|
+
<option
|
134
|
+
value=""
|
135
|
+
>
|
136
|
+
--
|
137
|
+
</option>
|
138
|
+
<option
|
139
|
+
value="am"
|
140
|
+
>
|
141
|
+
AM
|
142
|
+
</option>
|
143
|
+
<option
|
144
|
+
value="pm"
|
145
|
+
>
|
146
|
+
PM
|
147
|
+
</option>
|
148
|
+
</select>
|
149
|
+
</div>
|
150
|
+
<button
|
151
|
+
class="react-datetime-picker__clear-button react-datetime-picker__button"
|
152
|
+
type="button"
|
153
|
+
>
|
154
|
+
<svg
|
155
|
+
class="react-datetime-picker__clear-button__icon react-datetime-picker__button__icon"
|
156
|
+
height="19"
|
157
|
+
stroke="black"
|
158
|
+
stroke-width="2"
|
159
|
+
viewBox="0 0 19 19"
|
160
|
+
width="19"
|
161
|
+
xmlns="http://www.w3.org/2000/svg"
|
162
|
+
>
|
163
|
+
<line
|
164
|
+
x1="4"
|
165
|
+
x2="15"
|
166
|
+
y1="4"
|
167
|
+
y2="15"
|
168
|
+
/>
|
169
|
+
<line
|
170
|
+
x1="15"
|
171
|
+
x2="4"
|
172
|
+
y1="4"
|
173
|
+
y2="15"
|
174
|
+
/>
|
175
|
+
</svg>
|
176
|
+
</button>
|
177
|
+
<button
|
178
|
+
aria-expanded="false"
|
179
|
+
class="react-datetime-picker__calendar-button react-datetime-picker__button"
|
180
|
+
type="button"
|
181
|
+
>
|
182
|
+
<svg
|
183
|
+
class="react-datetime-picker__calendar-button__icon react-datetime-picker__button__icon"
|
184
|
+
height="19"
|
185
|
+
stroke="black"
|
186
|
+
stroke-width="2"
|
187
|
+
viewBox="0 0 19 19"
|
188
|
+
width="19"
|
189
|
+
xmlns="http://www.w3.org/2000/svg"
|
190
|
+
>
|
191
|
+
<rect
|
192
|
+
fill="none"
|
193
|
+
height="15"
|
194
|
+
width="15"
|
195
|
+
x="2"
|
196
|
+
y="2"
|
197
|
+
/>
|
198
|
+
<line
|
199
|
+
x1="6"
|
200
|
+
x2="6"
|
201
|
+
y1="0"
|
202
|
+
y2="4"
|
203
|
+
/>
|
204
|
+
<line
|
205
|
+
x1="13"
|
206
|
+
x2="13"
|
207
|
+
y1="0"
|
208
|
+
y2="4"
|
209
|
+
/>
|
210
|
+
</svg>
|
211
|
+
</button>
|
212
|
+
</div>
|
213
|
+
</div>
|
214
|
+
</div>
|
215
|
+
</form>
|
216
|
+
</DocumentFragment>
|
217
|
+
`;
|
package/src/Input/InputGroup.tsx
CHANGED
@@ -32,6 +32,7 @@ function InputGroup<TValue>(
|
|
32
32
|
onChange,
|
33
33
|
value,
|
34
34
|
icon,
|
35
|
+
type,
|
35
36
|
...rest
|
36
37
|
}: InputGroupProps<TValue>,
|
37
38
|
ref: LegacyRef<HTMLInputElement>
|
@@ -55,6 +56,8 @@ function InputGroup<TValue>(
|
|
55
56
|
onChange={onChange}
|
56
57
|
ref={ref}
|
57
58
|
className={clsx(className, FormDefaults.cssClassPrefix + 'input-group')}
|
59
|
+
disabled={disabled}
|
60
|
+
type={disabled ? 'text' : type}
|
58
61
|
/>
|
59
62
|
</Group>
|
60
63
|
);
|
@@ -36,6 +36,8 @@ export interface SelectGroupProps<TValue>
|
|
36
36
|
multiple: TValue extends Array<any> ? true : false;
|
37
37
|
/** Text diplayed when no value is selected. */
|
38
38
|
placeholder?: string;
|
39
|
+
/** allows the select value to be cleared */
|
40
|
+
isClearable?: boolean;
|
39
41
|
}
|
40
42
|
|
41
43
|
// TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
|
@@ -49,6 +51,9 @@ export default function SelectGroup<TValue>({
|
|
49
51
|
options,
|
50
52
|
multiple,
|
51
53
|
placeholder,
|
54
|
+
isClearable,
|
55
|
+
label,
|
56
|
+
helpText,
|
52
57
|
...rest
|
53
58
|
}: SelectGroupProps<TValue>) {
|
54
59
|
const effectiveOptions: Partial<SelectOption<TValue>>[] = !options
|
@@ -69,9 +74,10 @@ export default function SelectGroup<TValue>({
|
|
69
74
|
|
70
75
|
return (
|
71
76
|
<Group
|
72
|
-
{...rest}
|
73
77
|
input={input}
|
74
78
|
meta={meta}
|
79
|
+
label={label}
|
80
|
+
helpText={helpText}
|
75
81
|
required={required}
|
76
82
|
disabled={disabled}
|
77
83
|
className={clsx(
|
@@ -86,6 +92,7 @@ export default function SelectGroup<TValue>({
|
|
86
92
|
Partial<SelectOption<TValue>>,
|
87
93
|
TValue extends Array<any> ? true : false
|
88
94
|
>
|
95
|
+
{...rest}
|
89
96
|
inputId={input.id}
|
90
97
|
isMulti={multiple}
|
91
98
|
isDisabled={disabled}
|
@@ -108,6 +115,7 @@ export default function SelectGroup<TValue>({
|
|
108
115
|
menuPortalTarget={document.body}
|
109
116
|
menuPlacement="auto"
|
110
117
|
placeholder={placeholder}
|
118
|
+
isClearable={isClearable}
|
111
119
|
/>
|
112
120
|
</Group>
|
113
121
|
);
|
@@ -20,6 +20,7 @@ exports[`MultiNumberSelectGroup has matching snapshot 1`] = `
|
|
20
20
|
</label>
|
21
21
|
<div
|
22
22
|
class="envoc-form-select-group css-b62m3t-container"
|
23
|
+
id="userRoles"
|
23
24
|
>
|
24
25
|
<span
|
25
26
|
class="css-1f43avz-a11yText-A11yText"
|
@@ -117,6 +118,7 @@ exports[`SingleNumberSelectGroup has matching snapshot 1`] = `
|
|
117
118
|
</label>
|
118
119
|
<div
|
119
120
|
class="envoc-form-select-group css-b62m3t-container"
|
121
|
+
id="favoriteNumber"
|
120
122
|
>
|
121
123
|
<span
|
122
124
|
class="css-1f43avz-a11yText-A11yText"
|
@@ -20,6 +20,7 @@ exports[`MultiStringSelectGroup has matching snapshot 1`] = `
|
|
20
20
|
</label>
|
21
21
|
<div
|
22
22
|
class="envoc-form-select-group css-b62m3t-container"
|
23
|
+
id="favoriteColors"
|
23
24
|
>
|
24
25
|
<span
|
25
26
|
class="css-1f43avz-a11yText-A11yText"
|
@@ -117,6 +118,7 @@ exports[`SingleStringSelectGroup has matching snapshot 1`] = `
|
|
117
118
|
</label>
|
118
119
|
<div
|
119
120
|
class="envoc-form-select-group css-b62m3t-container"
|
121
|
+
id="favoriteColor"
|
120
122
|
>
|
121
123
|
<span
|
122
124
|
class="css-1f43avz-a11yText-A11yText"
|
package/src/index.ts
CHANGED
@@ -27,6 +27,13 @@ export type { StringDatePickerGroupProps } from './DatePicker/StringDatePickerGr
|
|
27
27
|
export { default as StringDateOnlyPickerGroup } from './DatePicker/StringDateOnlyPickerGroup';
|
28
28
|
export type { StringDateOnlyPickerGroupProps } from './DatePicker/StringDateOnlyPickerGroup';
|
29
29
|
|
30
|
+
// DateTime
|
31
|
+
export { default as DateTimePickerGroup } from './DateTimePicker/DateTimePickerGroup';
|
32
|
+
export type { DateTimePickerGroupProps } from './DateTimePicker/DateTimePickerGroup';
|
33
|
+
|
34
|
+
export { default as StringDateTimePickerGroup } from './DateTimePicker/StringDateTimePickerGroup';
|
35
|
+
export type { StringDateTimePickerGroupProps } from './DateTimePicker/StringDateTimePickerGroup';
|
36
|
+
|
30
37
|
// Field
|
31
38
|
export { default as Field } from './Field/Field';
|
32
39
|
export type { FieldProps } from './Field/Field';
|