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.
Files changed (44) hide show
  1. package/README.md +3084 -958
  2. package/es/DatePicker/DatePickerGroup.d.ts +1 -1
  3. package/es/DatePicker/DatePickerGroup.js +4 -3
  4. package/es/DateTimePicker/DateTimePickerGroup.d.ts +12 -0
  5. package/es/DateTimePicker/DateTimePickerGroup.js +87 -0
  6. package/es/DateTimePicker/DateTimePickerHelper.d.ts +3 -0
  7. package/es/DateTimePicker/DateTimePickerHelper.js +1 -0
  8. package/es/DateTimePicker/StringDateTimePickerGroup.d.ts +9 -0
  9. package/es/DateTimePicker/StringDateTimePickerGroup.js +53 -0
  10. package/es/Input/InputGroup.d.ts +1 -1
  11. package/es/Input/InputGroup.js +2 -2
  12. package/es/Select/SelectGroup.d.ts +3 -1
  13. package/es/Select/SelectGroup.js +4 -4
  14. package/es/index.d.ts +4 -0
  15. package/es/index.js +3 -0
  16. package/lib/DatePicker/DatePickerGroup.d.ts +1 -1
  17. package/lib/DatePicker/DatePickerGroup.js +4 -3
  18. package/lib/DateTimePicker/DateTimePickerGroup.d.ts +12 -0
  19. package/lib/DateTimePicker/DateTimePickerGroup.js +93 -0
  20. package/lib/DateTimePicker/DateTimePickerHelper.d.ts +3 -0
  21. package/lib/DateTimePicker/DateTimePickerHelper.js +2 -0
  22. package/lib/DateTimePicker/StringDateTimePickerGroup.d.ts +9 -0
  23. package/lib/DateTimePicker/StringDateTimePickerGroup.js +59 -0
  24. package/lib/Input/InputGroup.d.ts +1 -1
  25. package/lib/Input/InputGroup.js +2 -2
  26. package/lib/Select/SelectGroup.d.ts +3 -1
  27. package/lib/Select/SelectGroup.js +4 -4
  28. package/lib/index.d.ts +4 -0
  29. package/lib/index.js +6 -1
  30. package/package.json +4 -3
  31. package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +1 -0
  32. package/src/DatePicker/DatePickerGroup.tsx +6 -0
  33. package/src/DateTimePicker/DateTimePicker.test.tsx +243 -0
  34. package/src/DateTimePicker/DateTimePickerGroup.tsx +116 -0
  35. package/src/DateTimePicker/DateTimePickerHelper.ts +4 -0
  36. package/src/DateTimePicker/StringDateTimePickerGroup.tsx +61 -0
  37. package/src/DateTimePicker/__snapshots__/DateTimePicker.test.tsx.snap +217 -0
  38. package/src/Input/InputGroup.tsx +3 -0
  39. package/src/Select/SelectGroup.tsx +9 -1
  40. package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +1 -0
  41. package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +2 -0
  42. package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +2 -0
  43. package/src/__Tests__/FormTestBase.tsx +1 -0
  44. 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
+ `;
@@ -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[`BooleanSelectGroup has matching snapshot 1`] = `
20
20
  </label>
21
21
  <div
22
22
  class="envoc-form-select-group css-b62m3t-container"
23
+ id="allowLogin"
23
24
  >
24
25
  <span
25
26
  class="css-1f43avz-a11yText-A11yText"
@@ -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"
@@ -58,6 +58,7 @@ export interface PersonDto {
58
58
  favoriteColor?: string;
59
59
  favoriteColors?: string[];
60
60
  favoriteNames?: string[];
61
+ createdDateTime?: string;
61
62
  allowLogin?: boolean;
62
63
  userRoles?: number[];
63
64
  profileImage?: any;
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';