@digigov/form 2.0.0-113e6661 → 2.0.0-2177f152

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 (280) hide show
  1. package/Field/FieldBaseContainer/index.js +1 -1
  2. package/Field/FieldBaseContainer.js.map +2 -2
  3. package/Field/FieldConditional.js.map +1 -1
  4. package/Field/types.d.ts +6 -7
  5. package/FieldArray/index.js +4 -5
  6. package/FieldArray/index.js.map +2 -2
  7. package/FieldObject/index.js +2 -2
  8. package/FieldObject/index.js.map +2 -2
  9. package/Fieldset/index.d.ts +1 -1
  10. package/Fieldset/index.js +5 -5
  11. package/Fieldset/index.js.map +2 -2
  12. package/Fieldset/types.d.ts +2 -2
  13. package/FormBuilder/index.js +4 -4
  14. package/FormBuilder/index.js.map +2 -2
  15. package/FormContext.js.map +2 -2
  16. package/MultiplicityField/add-objects/index.js +8 -6
  17. package/MultiplicityField/add-objects.js.map +2 -2
  18. package/MultiplicityField/index.js +12 -10
  19. package/MultiplicityField/index.js.map +2 -2
  20. package/MultiplicityField/types.d.ts +1 -2
  21. package/Questions/Questions/index.js +5 -4
  22. package/Questions/Questions.js.map +2 -2
  23. package/Questions/Step/StepArrayReview.js.map +2 -2
  24. package/Questions/Step/StepTitle/index.js +4 -3
  25. package/Questions/Step/StepTitle.d.ts +1 -1
  26. package/Questions/Step/StepTitle.js.map +2 -2
  27. package/cjs/Field/FieldBaseContainer/index.js +2 -2
  28. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  29. package/cjs/Field/FieldConditional.js.map +1 -1
  30. package/cjs/Field/types.js.map +1 -1
  31. package/cjs/FieldArray/index.js +5 -6
  32. package/cjs/FieldArray/index.js.map +3 -3
  33. package/cjs/FieldObject/index.js +3 -3
  34. package/cjs/FieldObject/index.js.map +3 -3
  35. package/cjs/Fieldset/index.js +10 -10
  36. package/cjs/Fieldset/index.js.map +3 -3
  37. package/cjs/Fieldset/types.js.map +1 -1
  38. package/cjs/FormBuilder/index.js +6 -6
  39. package/cjs/FormBuilder/index.js.map +3 -3
  40. package/cjs/FormContext/index.js +2 -2
  41. package/cjs/FormContext.js.map +3 -3
  42. package/cjs/MultiplicityField/add-objects/index.js +12 -10
  43. package/cjs/MultiplicityField/add-objects.js.map +3 -3
  44. package/cjs/MultiplicityField/index.js +11 -14
  45. package/cjs/MultiplicityField/index.js.map +3 -3
  46. package/cjs/MultiplicityField/types.js.map +1 -1
  47. package/cjs/Questions/Questions/index.js +5 -4
  48. package/cjs/Questions/Questions.js.map +2 -2
  49. package/cjs/Questions/Step/StepArrayReview.js.map +2 -2
  50. package/cjs/Questions/Step/StepTitle/index.js +5 -5
  51. package/cjs/Questions/Step/StepTitle.js.map +3 -3
  52. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +1 -7
  53. package/cjs/inputs/AutoCompleteInput/__stories__/Default.js.map +2 -2
  54. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +1 -8
  55. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple.js.map +2 -2
  56. package/cjs/inputs/AutoCompleteInput/index.js +9 -8
  57. package/cjs/inputs/AutoCompleteInput/index.js.map +3 -3
  58. package/cjs/inputs/Checkboxes/index.js +6 -8
  59. package/cjs/inputs/Checkboxes/index.js.map +3 -3
  60. package/cjs/inputs/DateInput/__stories__/Default/index.js +3 -8
  61. package/cjs/inputs/DateInput/__stories__/Default.js.map +2 -2
  62. package/cjs/inputs/DateInput/index.js +4 -5
  63. package/cjs/inputs/DateInput/index.js.map +3 -3
  64. package/cjs/inputs/FileInput/index.js +8 -9
  65. package/cjs/inputs/FileInput/index.js.map +3 -3
  66. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +4 -4
  67. package/cjs/inputs/ImageInput/ImageInput.stories.js.map +2 -2
  68. package/cjs/inputs/ImageInput/__stories__/MaxSize/index.js +69 -0
  69. package/cjs/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  70. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +2 -1
  71. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +2 -2
  72. package/cjs/inputs/ImageInput/index.js +8 -9
  73. package/cjs/inputs/ImageInput/index.js.map +3 -3
  74. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +1 -0
  75. package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +2 -2
  76. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +1 -0
  77. package/cjs/inputs/Input/__stories__/MobilePhone.js.map +2 -2
  78. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +1 -0
  79. package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +2 -2
  80. package/cjs/inputs/Input/__stories__/PostalCode/index.js +1 -0
  81. package/cjs/inputs/Input/__stories__/PostalCode.js.map +2 -2
  82. package/cjs/inputs/Input/index.js +3 -3
  83. package/cjs/inputs/Input/index.js.map +2 -2
  84. package/cjs/inputs/Input/inputsInputScenarios.js.map +2 -2
  85. package/cjs/inputs/Label/index.js +3 -3
  86. package/cjs/inputs/Label/index.js.map +3 -3
  87. package/cjs/inputs/OtpInput/index.js.map +2 -2
  88. package/cjs/inputs/Radio/index.js +11 -13
  89. package/cjs/inputs/Radio/index.js.map +3 -3
  90. package/cjs/inputs/Select/index.js +3 -4
  91. package/cjs/inputs/Select/index.js.map +3 -3
  92. package/cjs/inputs/inputsScenarios/index.js +4 -11
  93. package/cjs/inputs/inputsScenarios.js.map +2 -2
  94. package/cjs/lazy/index.js +320 -61
  95. package/cjs/lazy.js.map +2 -2
  96. package/cjs/locales/el.js.map +1 -1
  97. package/cjs/registry/index.js +118 -38
  98. package/cjs/registry.js.map +2 -2
  99. package/cjs/types.js.map +1 -1
  100. package/cjs/utils/index.js +2 -1
  101. package/cjs/utils.js.map +2 -2
  102. package/cjs/validators/index.js +16 -66
  103. package/cjs/validators/index.js.map +3 -3
  104. package/cjs/validators/utils/date/index.js +138 -0
  105. package/cjs/validators/utils/date.js.map +7 -0
  106. package/cjs/validators/utils/file/index.js +1 -1
  107. package/cjs/validators/utils/file.js.map +2 -2
  108. package/cjs/validators/utils/index.js +3 -1
  109. package/cjs/validators/utils/index.js.map +2 -2
  110. package/cjs/validators/utils/phone.js.map +2 -2
  111. package/cjs/validators/utils/postal_code.js.map +1 -1
  112. package/cjs/validators/utils/uuid4.js.map +2 -2
  113. package/index.js +1 -1
  114. package/inputs/AutoCompleteInput/__stories__/Default/index.js +1 -7
  115. package/inputs/AutoCompleteInput/__stories__/Default.js.map +2 -2
  116. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +1 -8
  117. package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +2 -2
  118. package/inputs/AutoCompleteInput/index.d.ts +1 -1
  119. package/inputs/AutoCompleteInput/index.js +11 -8
  120. package/inputs/AutoCompleteInput/index.js.map +2 -2
  121. package/inputs/Checkboxes/index.d.ts +1 -1
  122. package/inputs/Checkboxes/index.js +7 -5
  123. package/inputs/Checkboxes/index.js.map +2 -2
  124. package/inputs/DateInput/__stories__/Default/index.js +3 -8
  125. package/inputs/DateInput/__stories__/Default.js.map +2 -2
  126. package/inputs/DateInput/index.d.ts +1 -2
  127. package/inputs/DateInput/index.js +6 -4
  128. package/inputs/DateInput/index.js.map +2 -2
  129. package/inputs/FileInput/index.js +6 -7
  130. package/inputs/FileInput/index.js.map +2 -2
  131. package/inputs/ImageInput/ImageInput.stories/index.js +2 -2
  132. package/inputs/ImageInput/ImageInput.stories.d.ts +1 -1
  133. package/inputs/ImageInput/ImageInput.stories.js.map +2 -2
  134. package/inputs/ImageInput/__stories__/MaxSize/index.js +36 -0
  135. package/inputs/ImageInput/__stories__/MaxSize/package.json +6 -0
  136. package/inputs/ImageInput/__stories__/MaxSize.d.ts +3 -0
  137. package/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  138. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +2 -1
  139. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +2 -2
  140. package/inputs/ImageInput/index.js +7 -8
  141. package/inputs/ImageInput/index.js.map +2 -2
  142. package/inputs/Input/__stories__/LandlineNumber/index.js +1 -0
  143. package/inputs/Input/__stories__/LandlineNumber.js.map +2 -2
  144. package/inputs/Input/__stories__/MobilePhone/index.js +1 -0
  145. package/inputs/Input/__stories__/MobilePhone.js.map +2 -2
  146. package/inputs/Input/__stories__/PhoneNumber/index.js +1 -0
  147. package/inputs/Input/__stories__/PhoneNumber.js.map +2 -2
  148. package/inputs/Input/__stories__/PostalCode/index.js +1 -0
  149. package/inputs/Input/__stories__/PostalCode.js.map +2 -2
  150. package/inputs/Input/index.js +3 -3
  151. package/inputs/Input/index.js.map +2 -2
  152. package/inputs/Input/inputsInputScenarios.js.map +2 -2
  153. package/inputs/Label/index.d.ts +0 -2
  154. package/inputs/Label/index.js +2 -2
  155. package/inputs/Label/index.js.map +2 -2
  156. package/inputs/OtpInput/index.js.map +2 -2
  157. package/inputs/Radio/index.d.ts +1 -1
  158. package/inputs/Radio/index.js +7 -5
  159. package/inputs/Radio/index.js.map +2 -2
  160. package/inputs/Select/index.d.ts +1 -1
  161. package/inputs/Select/index.js +4 -2
  162. package/inputs/Select/index.js.map +2 -2
  163. package/inputs/inputsScenarios/index.js +4 -11
  164. package/inputs/inputsScenarios.d.ts +0 -42
  165. package/inputs/inputsScenarios.js.map +2 -2
  166. package/lazy/index.js +320 -61
  167. package/lazy.d.ts +4 -2
  168. package/lazy.js.map +2 -2
  169. package/locales/el.js.map +1 -1
  170. package/package.json +4 -4
  171. package/registry/index.js +118 -38
  172. package/registry.d.ts +1 -0
  173. package/registry.js.map +2 -2
  174. package/src/Field/FieldBaseContainer.tsx +2 -2
  175. package/src/Field/FieldConditional.tsx +2 -2
  176. package/src/Field/types.tsx +25 -26
  177. package/src/FieldArray/index.test.tsx +14 -13
  178. package/src/FieldArray/index.tsx +9 -9
  179. package/src/FieldObject/index.tsx +2 -2
  180. package/src/Fieldset/index.tsx +5 -5
  181. package/src/Fieldset/types.tsx +2 -2
  182. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +20 -33
  183. package/src/FormBuilder/index.test.tsx +11 -10
  184. package/src/FormBuilder/index.tsx +4 -5
  185. package/src/FormBuilder/scenarios.test.tsx +2 -2
  186. package/src/FormContext.tsx +1 -2
  187. package/src/MultiplicityField/add-objects.tsx +9 -9
  188. package/src/MultiplicityField/{MultiplicityField.mdx → doc.mdx} +12 -16
  189. package/src/MultiplicityField/index.test.tsx +26 -25
  190. package/src/MultiplicityField/index.tsx +13 -12
  191. package/src/MultiplicityField/types.ts +1 -2
  192. package/src/Questions/Questions.tsx +4 -4
  193. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  194. package/src/Questions/Step/StepTitle.tsx +4 -3
  195. package/src/Questions/__snapshots__/index.spec.tsx.snap +8 -4
  196. package/src/Questions/{index.mdx → doc.mdx} +9 -12
  197. package/src/Questions/index.spec.tsx +6 -2
  198. package/src/Questions/index.test.tsx +11 -10
  199. package/src/create-simple-form.mdx +2 -6
  200. package/src/{index.mdx → doc.mdx} +4 -8
  201. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +2 -10
  202. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -8
  203. package/src/inputs/AutoCompleteInput/{index.mdx → doc.mdx} +2 -13
  204. package/src/inputs/AutoCompleteInput/index.test.tsx +14 -13
  205. package/src/inputs/AutoCompleteInput/index.tsx +34 -30
  206. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  207. package/src/inputs/Checkboxes/index.test.tsx +17 -16
  208. package/src/inputs/Checkboxes/index.tsx +30 -28
  209. package/src/inputs/DateInput/__stories__/Default.tsx +7 -12
  210. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  211. package/src/inputs/DateInput/index.test.tsx +11 -10
  212. package/src/inputs/DateInput/index.tsx +6 -4
  213. package/src/inputs/FileInput/{index.mdx → doc.mdx} +1 -5
  214. package/src/inputs/FileInput/index.test.tsx +11 -10
  215. package/src/inputs/FileInput/index.tsx +7 -8
  216. package/src/inputs/ImageInput/ImageInput.stories.js +1 -1
  217. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +37 -0
  218. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  219. package/src/inputs/ImageInput/doc.mdx +23 -0
  220. package/src/inputs/ImageInput/index.test.tsx +21 -16
  221. package/src/inputs/ImageInput/index.tsx +10 -15
  222. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  223. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  224. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  225. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  226. package/src/inputs/Input/doc.mdx +56 -0
  227. package/src/inputs/Input/index.test.tsx +38 -37
  228. package/src/inputs/Input/index.tsx +18 -10
  229. package/src/inputs/Input/inputsInputScenarios.ts +244 -245
  230. package/src/inputs/Label/doc.mdx +14 -0
  231. package/src/inputs/Label/index.test.tsx +11 -10
  232. package/src/inputs/Label/index.tsx +2 -6
  233. package/src/inputs/OtpInput/{index.mdx → doc.mdx} +1 -8
  234. package/src/inputs/OtpInput/index.test.tsx +11 -10
  235. package/src/inputs/OtpInput/index.tsx +2 -1
  236. package/src/inputs/Radio/{index.mdx → doc.mdx} +5 -15
  237. package/src/inputs/Radio/index.test.tsx +17 -16
  238. package/src/inputs/Radio/index.tsx +58 -56
  239. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  240. package/src/inputs/Select/index.test.tsx +11 -10
  241. package/src/inputs/Select/index.tsx +5 -3
  242. package/src/inputs/inputsScenarios.ts +174 -181
  243. package/src/installation.mdx +2 -5
  244. package/src/lazy.js +322 -64
  245. package/src/locales/el.ts +1 -1
  246. package/src/registry.js +121 -45
  247. package/src/types.tsx +2 -2
  248. package/src/utils.ts +2 -2
  249. package/src/validators/index.ts +33 -71
  250. package/src/validators/utils/date.ts +107 -0
  251. package/src/validators/utils/file.ts +5 -3
  252. package/src/validators/utils/index.ts +1 -0
  253. package/src/validators/utils/phone.ts +1 -1
  254. package/src/validators/utils/postal_code.ts +1 -1
  255. package/src/validators/utils/uuid4.ts +2 -1
  256. package/src/validators/validators.spec.ts +3 -3
  257. package/types.d.ts +2 -2
  258. package/types.js.map +1 -1
  259. package/utils/index.js +2 -1
  260. package/utils.js.map +2 -2
  261. package/validators/index.js +20 -67
  262. package/validators/index.js.map +2 -2
  263. package/validators/utils/date/index.js +103 -0
  264. package/validators/utils/date/package.json +6 -0
  265. package/validators/utils/date.d.ts +9 -0
  266. package/validators/utils/date.js.map +7 -0
  267. package/validators/utils/file/index.js +1 -1
  268. package/validators/utils/file.js.map +2 -2
  269. package/validators/utils/index.d.ts +1 -0
  270. package/validators/utils/index.js +1 -0
  271. package/validators/utils/index.js.map +2 -2
  272. package/validators/utils/phone.d.ts +1 -1
  273. package/validators/utils/phone.js.map +2 -2
  274. package/validators/utils/postal_code.d.ts +1 -1
  275. package/validators/utils/postal_code.js.map +1 -1
  276. package/validators/utils/uuid4.js.map +2 -2
  277. package/src/inputs/ImageInput/index.mdx +0 -19
  278. package/src/inputs/Input/index.mdx +0 -95
  279. package/src/inputs/Label/index.mdx +0 -0
  280. /package/src/Field/{index.mdx → doc.mdx} +0 -0
@@ -1,20 +1,21 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/Questions/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
5
 
6
6
  test('renders the All Questions variants', async ({ mount, page }) => {
7
7
  await mount(
8
-
9
- <div>
10
- <TestVariant title="Default">
11
- <Default />
12
- </TestVariant>
13
- </div>
14
- )
8
+ <div>
9
+ <TestVariant title="Default">
10
+ <Default />
11
+ </TestVariant>
12
+ </div>
13
+ );
15
14
  await page.evaluate(() => document.fonts.ready);
16
15
 
17
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
16
+ const screenshot = await page.screenshot({
17
+ fullPage: true,
18
+ animations: 'disabled',
19
+ });
18
20
  expect(screenshot).toMatchSnapshot();
19
21
  });
20
-
@@ -4,12 +4,8 @@ title: Create a simple Digigov Form
4
4
  sidebar_label: Creating simple forms
5
5
  ---
6
6
 
7
- import LeadText from '@site/src/components/LeadText';
8
-
9
- <LeadText>
10
- This guide walks through building a simple form page, complete with validation
11
- and data serialisation.
12
- </LeadText>
7
+ This guide walks through building a simple form page, complete with validation
8
+ and data serialisation.
13
9
 
14
10
  ## What we are building
15
11
 
@@ -4,14 +4,10 @@ title: Digigov Form
4
4
  sidebar_label: Introduction to Digigov Form
5
5
  ---
6
6
 
7
- import LeadText from '@site/src/components/LeadText';
8
-
9
- <LeadText>
10
- Digigov Form is an off-the-shelf solution for managing web forms using
11
- Reactjs. It supports flexible and multi-step forms and easy-to-use validation.
12
- This page will guide you through everything you need to create accessible and
13
- dynamic forms that can handle all sorts of user inputs.
14
- </LeadText>
7
+ Digigov Form is an off-the-shelf solution for managing web forms using
8
+ Reactjs. It supports flexible and multi-step forms and easy-to-use validation.
9
+ This page will guide you through everything you need to create accessible and
10
+ dynamic forms that can handle all sorts of user inputs.
15
11
 
16
12
  <img
17
13
  src="/img/form.svg"
@@ -4,13 +4,7 @@ import FormBuilder from '@digigov/form/FormBuilder';
4
4
  import { FieldSpec } from '@digigov/form/types';
5
5
  import Button from '@digigov/ui/form/Button';
6
6
 
7
- const results = [
8
- 'Αμερική',
9
- 'Ασία',
10
- 'Αυστραλία',
11
- 'Αφρική',
12
- 'Ευρώπη',
13
- ];
7
+ const results = ['Αμερική', 'Ασία', 'Αυστραλία', 'Αφρική', 'Ευρώπη'];
14
8
 
15
9
  const fields: FieldSpec[] = [
16
10
  {
@@ -36,7 +30,6 @@ const fields: FieldSpec[] = [
36
30
  const initialValues = {};
37
31
 
38
32
  export const Default = () => (
39
-
40
33
  <FormBuilder
41
34
  fields={fields}
42
35
  onSubmit={(data) => {
@@ -49,6 +42,5 @@ export const Default = () => (
49
42
  ))}
50
43
  <Button type="submit">Submit</Button>
51
44
  </FormBuilder>
52
-
53
45
  );
54
- export default Default;
46
+ export default Default;
@@ -4,13 +4,7 @@ import FormBuilder from '@digigov/form/FormBuilder';
4
4
  import { FieldSpec } from '@digigov/form/types';
5
5
  import Button from '@digigov/ui/form/Button';
6
6
 
7
- const results = [
8
- 'Αμερική',
9
- 'Ασία',
10
- 'Αυστραλία',
11
- 'Αφρική',
12
- 'Ευρώπη',
13
- ];
7
+ const results = ['Αμερική', 'Ασία', 'Αυστραλία', 'Αφρική', 'Ευρώπη'];
14
8
 
15
9
  const fields: FieldSpec[] = [
16
10
  {
@@ -20,7 +14,6 @@ const fields: FieldSpec[] = [
20
14
  type: 'choice:multiple',
21
15
  extra: {
22
16
  component: 'AutoComplete',
23
- multiple: true,
24
17
  options: results.map((r) => {
25
18
  return {
26
19
  label: {
@@ -11,19 +11,8 @@ options as the users type and also let them select an option from the list.
11
11
 
12
12
  ### Default
13
13
 
14
- <Story
15
- packageName="@digigov/form"
16
- component="inputs/AutoCompleteInput"
17
- story="Default.tsx"
18
- />
14
+ <code src="@digigov/form/inputs/AutoCompleteInput/__stories__/Default.tsx" />
19
15
 
20
16
  ### Display multiple values
21
17
 
22
- <Story
23
- packageName="@digigov/form"
24
- component="inputs/AutoCompleteInput"
25
- story="Multiple.tsx"
26
- />
27
-
28
-
29
-
18
+ <code src="@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple.tsx" />
@@ -1,24 +1,25 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Default';
5
4
  import { Multiple } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple';
5
+ import TestVariant from '@digigov/ui/utils/TestVariant';
6
6
 
7
7
  test('renders the All AutoCompleteInput variants', async ({ mount, page }) => {
8
8
  await mount(
9
-
10
- <div>
11
- <TestVariant title="Default">
12
- <Default />
13
- </TestVariant>
14
- <TestVariant title="Multiple">
15
- <Multiple />
16
- </TestVariant>
17
- </div>
18
- )
9
+ <div>
10
+ <TestVariant title="Default">
11
+ <Default />
12
+ </TestVariant>
13
+ <TestVariant title="Multiple">
14
+ <Multiple />
15
+ </TestVariant>
16
+ </div>
17
+ );
19
18
  await page.evaluate(() => document.fonts.ready);
20
19
 
21
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
20
+ const screenshot = await page.screenshot({
21
+ fullPage: true,
22
+ animations: 'disabled',
23
+ });
22
24
  expect(screenshot).toMatchSnapshot();
23
25
  });
24
-
@@ -1,12 +1,12 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import { ControlledFieldProps } from '@digigov/form/Field/types';
3
3
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
4
- import { Hint } from '@digigov/react-core/Hint';
5
- import UIAutoComplete, {
4
+ import {
5
+ AutoComplete,
6
6
  AutoCompleteProps as UIAutoCompleteProps,
7
7
  } from '@digigov/ui/form/AutoComplete';
8
- import { Base } from '@digigov/react-core/Base';
9
-
8
+ import { Hint } from '@digigov/ui/typography/Hint';
9
+ import { Base } from '@digigov/ui/utils/Base';
10
10
  export interface AutoCompleteInputExtra
11
11
  extends Omit<
12
12
  UIAutoCompleteProps,
@@ -17,7 +17,7 @@ export interface AutoCompleteInputExtra
17
17
  | 'onConfirm'
18
18
  | 'dropdownArrow'
19
19
  > {
20
- options: Array<FieldOptionProps>;
20
+ options: FieldOptionProps[];
21
21
  }
22
22
 
23
23
  export interface AutoCompleteInputProps
@@ -29,39 +29,43 @@ export interface AutoCompleteInputProps
29
29
 
30
30
  export const AutoCompleteInput: React.FC<AutoCompleteInputProps> = ({
31
31
  name,
32
- extra: { options, multiple },
32
+ type,
33
+ extra: { options },
33
34
  onChange,
34
35
  value,
35
- error,
36
36
  ...props
37
37
  }) => {
38
- const suggest = useCallback(function suggest(
39
- query: string,
40
- syncResults: (options: any[]) => void
41
- ): void {
42
- syncResults(
43
- query
44
- ? options.filter(function (option) {
45
- return (
46
- `${option.value} ${option.label?.primary || ''} ${option.label?.secondary || ''
47
- }`
48
- .toLowerCase()
49
- .indexOf(query.toLowerCase()) !== -1
50
- );
51
- })
52
- : options
53
- );
54
- },
55
- [options]);
38
+ const suggest = useCallback(
39
+ function suggest(
40
+ query: string,
41
+ syncResults: (options: any[]) => void
42
+ ): void {
43
+ syncResults(
44
+ query
45
+ ? options.filter(function (option) {
46
+ return (
47
+ `${option.value} ${option.label?.primary || ''} ${
48
+ option.label?.secondary || ''
49
+ }`
50
+ .toLowerCase()
51
+ .indexOf(query.toLowerCase()) !== -1
52
+ );
53
+ })
54
+ : options
55
+ );
56
+ },
57
+ [options]
58
+ );
56
59
 
57
60
  return (
58
- <UIAutoComplete
59
- multiple={multiple}
61
+ <AutoComplete
62
+ multiple={type === 'choice:multiple' ? true : false}
60
63
  source={suggest}
61
64
  onConfirm={(value) => {
62
65
  if (Array.isArray(value)) {
63
- const selectedValues = value.map(item => item.value);
64
- selectedValues.length > 0 ? onChange(selectedValues) : onChange(undefined);
66
+ const selectedValues = value.map((item) => item.value);
67
+ if (selectedValues.length > 0) onChange(selectedValues);
68
+ else onChange(undefined);
65
69
  } else {
66
70
  onChange(value.value);
67
71
  }
@@ -94,4 +98,4 @@ export const AutoCompleteInput: React.FC<AutoCompleteInputProps> = ({
94
98
  );
95
99
  };
96
100
 
97
- export default AutoCompleteInput;
101
+ export default AutoCompleteInput;
@@ -10,24 +10,14 @@ Checkboxes are used to let a user select one or more options of a limited number
10
10
 
11
11
  ### Default
12
12
 
13
- <Story
14
- packageName="@digigov/form"
15
- component="inputs/Checkboxes"
16
- story="Default.tsx"
17
- />
13
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/Default.tsx" />
14
+
18
15
 
19
16
  ### Conditional
20
17
 
21
- <Story
22
- packageName="@digigov/form"
23
- component="inputs/Checkboxes"
24
- story="Conditional.tsx"
25
- />
18
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/Conditional.tsx" />
19
+
26
20
 
27
21
  ### With divider
28
22
 
29
- <Story
30
- packageName="@digigov/form"
31
- component="inputs/Checkboxes"
32
- story="WithDivider.tsx"
33
- />
23
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/WithDivider.tsx" />
@@ -1,28 +1,29 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Conditional } from '@digigov/form/inputs/Checkboxes/__stories__/Conditional';
5
4
  import { Default } from '@digigov/form/inputs/Checkboxes/__stories__/Default';
6
5
  import { WithDivider } from '@digigov/form/inputs/Checkboxes/__stories__/WithDivider';
6
+ import TestVariant from '@digigov/ui/utils/TestVariant';
7
7
 
8
8
  test('renders the All Checkboxes variants', async ({ mount, page }) => {
9
9
  await mount(
10
-
11
- <div>
12
- <TestVariant title="Conditional">
13
- <Conditional />
14
- </TestVariant>
15
- <TestVariant title="Default">
16
- <Default />
17
- </TestVariant>
18
- <TestVariant title="WithDivider">
19
- <WithDivider />
20
- </TestVariant>
21
- </div>
22
- )
10
+ <div>
11
+ <TestVariant title="Conditional">
12
+ <Conditional />
13
+ </TestVariant>
14
+ <TestVariant title="Default">
15
+ <Default />
16
+ </TestVariant>
17
+ <TestVariant title="WithDivider">
18
+ <WithDivider />
19
+ </TestVariant>
20
+ </div>
21
+ );
23
22
  await page.evaluate(() => document.fonts.ready);
24
23
 
25
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
24
+ const screenshot = await page.screenshot({
25
+ fullPage: true,
26
+ animations: 'disabled',
27
+ });
26
28
  expect(screenshot).toMatchSnapshot();
27
29
  });
28
-
@@ -1,18 +1,20 @@
1
1
  import React, { useState } from 'react';
2
2
  import { ControlledFieldProps } from '@digigov/form/Field/types';
3
3
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
4
- import CoreCheckboxes from '@digigov/react-core/Checkbox';
5
- import { CheckboxConditional } from '@digigov/react-core/CheckboxConditional';
6
- import CheckboxItem from '@digigov/react-core/CheckboxItem';
7
- import Hint from '@digigov/react-core/Hint';
4
+ import {
5
+ Checkbox,
6
+ CheckboxItem,
7
+ CheckboxConditional,
8
+ } from '@digigov/ui/form/Checkbox';
8
9
  import { useTranslation } from '@digigov/ui/i18n';
10
+ import { Hint } from '@digigov/ui/typography/Hint';
9
11
 
10
12
  export interface CheckboxesProps
11
13
  extends Omit<ControlledFieldProps, 'extra' | 'value'> {
12
14
  value?: string[];
13
15
  extra: {
14
16
  className?: string;
15
- options: Array<FieldOptionProps>;
17
+ options: FieldOptionProps[];
16
18
  };
17
19
  fieldComponent: React.FC<Omit<ControlledFieldProps, 'value' | 'onChange'>>;
18
20
  }
@@ -29,34 +31,34 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
29
31
  if (!value) value = [];
30
32
  const handleChange =
31
33
  (optionValue, idx, show) =>
32
- (evt): void => {
33
- let newValue;
34
- if (evt.currentTarget.checked) {
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts-ignore
37
- newValue = value.concat([optionValue]);
38
- } else {
39
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
40
- // @ts-ignore
41
- newValue = value.filter((val) => val !== optionValue);
42
- }
43
- if (show && show.length > 0) {
44
- setChecked((items) =>
45
- items.map((item, index) => (index === idx ? !item : item))
46
- );
47
- }
34
+ (evt): void => {
35
+ let newValue;
36
+ if (evt.currentTarget.checked) {
37
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
+ // @ts-ignore
39
+ newValue = value.concat([optionValue]);
40
+ } else {
41
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
43
+ newValue = value.filter((val) => val !== optionValue);
44
+ }
45
+ if (show && show.length > 0) {
46
+ setChecked((items) =>
47
+ items.map((item, index) => (index === idx ? !item : item))
48
+ );
49
+ }
48
50
 
49
- // reset value to undefined instead of an empty array
50
- // so the error state mechanism can throw validation errors
51
- if (newValue.length === 0) newValue = undefined;
52
- onChange(newValue);
53
- };
51
+ // reset value to undefined instead of an empty array
52
+ // so the error state mechanism can throw validation errors
53
+ if (newValue.length === 0) newValue = undefined;
54
+ onChange(newValue);
55
+ };
54
56
  const { t } = useTranslation();
55
57
  const [checked, setChecked] = useState(
56
58
  Array<boolean>(options.length).fill(false)
57
59
  );
58
60
  return (
59
- <CoreCheckboxes className={className}>
61
+ <Checkbox className={className}>
60
62
  {options.map(
61
63
  (
62
64
  {
@@ -103,7 +105,7 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
103
105
  </React.Fragment>
104
106
  )
105
107
  )}
106
- </CoreCheckboxes>
108
+ </Checkbox>
107
109
  );
108
110
  };
109
111
 
@@ -9,21 +9,16 @@ const fields = [
9
9
  required: true,
10
10
  label: {
11
11
  primary: 'Πότε εκδόθηκε το διαβατήριο σας;',
12
- secondary:
13
- 'Για παράδειγμα, 05 11 2020',
14
- }
15
- },
16
- ]
12
+ secondary: 'Για παράδειγμα, 05 11 2020',
13
+ },
14
+ } as const,
15
+ ];
17
16
 
18
17
  export const Default = () => (
19
18
  <FormBuilder onSubmit={() => console.log('kati')}>
20
- {fields.map((field) => {
21
- return (
22
- // @ts-ignore
23
- <Field {...field} name={field.key} />
24
- )
25
- }
26
- )}
19
+ {fields.map(({ key, ...field }) => {
20
+ return <Field {...field} name={key} key={key} />;
21
+ })}
27
22
  <Button type="submit">Συνέχεια</Button>
28
23
  </FormBuilder>
29
24
  );
@@ -13,11 +13,4 @@ either with a textbox that validates the input or a special date picker interfac
13
13
 
14
14
  ### Default
15
15
 
16
- <Story
17
- packageName="@digigov/form"
18
- component="inputs/DateInput"
19
- story="Default.tsx"
20
- />
21
-
22
-
23
-
16
+ <code src="@digigov/form/inputs/DateInput/__stories__/Default.tsx" />
@@ -1,20 +1,21 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/inputs/DateInput/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
5
 
6
6
  test('renders the All DateInput variants', async ({ mount, page }) => {
7
7
  await mount(
8
-
9
- <div>
10
- <TestVariant title="Default">
11
- <Default />
12
- </TestVariant>
13
- </div>
14
- )
8
+ <div>
9
+ <TestVariant title="Default">
10
+ <Default />
11
+ </TestVariant>
12
+ </div>
13
+ );
15
14
  await page.evaluate(() => document.fonts.ready);
16
15
 
17
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
16
+ const screenshot = await page.screenshot({
17
+ fullPage: true,
18
+ animations: 'disabled',
19
+ });
18
20
  expect(screenshot).toMatchSnapshot();
19
21
  });
20
-
@@ -2,8 +2,10 @@ import React, { useMemo, useState } from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import customParseFormat from 'dayjs/plugin/customParseFormat';
4
4
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
5
- import DateInputContainer from '@digigov/react-core/DateInputContainer';
6
- import CoreDateInputItem from '@digigov/react-core/DateInputItem';
5
+ import {
6
+ DateInputContainer,
7
+ DateInputItem,
8
+ } from '@digigov/ui/form/DateInputContainer';
7
9
  import { useTranslation } from '@digigov/ui/i18n';
8
10
  dayjs.extend(customParseFormat);
9
11
 
@@ -75,10 +77,10 @@ const makeDate = (val) => {
75
77
  };
76
78
 
77
79
  const DatePart = ({ label, ...props }) => {
78
- return <CoreDateInputItem {...props}>{label}</CoreDateInputItem>;
80
+ return <DateInputItem {...props}>{label}</DateInputItem>;
79
81
  };
80
82
 
81
- export const DateInput = ({ name, type, ...props }) => {
83
+ export const DateInput = ({ name, ...props }) => {
82
84
  const { t } = useTranslation();
83
85
  const [initial] = useState(props.value);
84
86
  const value = useMemo(() => {
@@ -12,8 +12,4 @@ Input element of type `file` let the user choose one or more files from their de
12
12
 
13
13
  ### Default
14
14
 
15
- <Story
16
- packageName="@digigov/form"
17
- component="inputs/FileInput"
18
- story="Default.tsx"
19
- />
15
+ <code src="@digigov/form/inputs/FileInput/__stories__/Default.tsx" />
@@ -1,20 +1,21 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/inputs/FileInput/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
5
 
6
6
  test('renders the All FileInput variants', async ({ mount, page }) => {
7
7
  await mount(
8
-
9
- <div>
10
- <TestVariant title="Default">
11
- <Default />
12
- </TestVariant>
13
- </div>
14
- )
8
+ <div>
9
+ <TestVariant title="Default">
10
+ <Default />
11
+ </TestVariant>
12
+ </div>
13
+ );
15
14
  await page.evaluate(() => document.fonts.ready);
16
15
 
17
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
16
+ const screenshot = await page.screenshot({
17
+ fullPage: true,
18
+ animations: 'disabled',
19
+ });
18
20
  expect(screenshot).toMatchSnapshot();
19
21
  });
20
-
@@ -1,11 +1,10 @@
1
1
  import React, { useState } from 'react';
2
2
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
3
- import FileUpload from '@digigov/react-core/FileUpload';
4
- import FileUploadContainer from '@digigov/react-core/FileUploadContainer';
5
- import CoreHint from '@digigov/react-core/Hint';
6
- import Button from '@digigov/ui/form/Button';
3
+ import { Button } from '@digigov/ui/form/Button';
4
+ import { FileUpload, FileUploadContainer } from '@digigov/ui/form/FileUpload';
7
5
  import { useTranslation } from '@digigov/ui/i18n';
8
- import Paragraph from '@digigov/ui/typography/Paragraph';
6
+ import { Hint } from '@digigov/ui/typography/Hint';
7
+ import { Paragraph } from '@digigov/ui/typography/Paragraph';
9
8
  export interface FileInputProps extends Omit<UncontrolledFieldProps, 'extra'> {
10
9
  extra?: {
11
10
  className?: string;
@@ -19,11 +18,11 @@ export interface FileInputProps extends Omit<UncontrolledFieldProps, 'extra'> {
19
18
 
20
19
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
20
  export const FileInput: React.FC<any> = React.forwardRef(function FileInput(
22
- { name, extra = {}, disabled, reset, onChange, ...props },
21
+ { name, disabled, reset, onChange, ...props },
23
22
  ref: any
24
23
  ) {
25
24
  const { t } = useTranslation();
26
- const [files, setFiles] = useState<Array<string> | undefined>([]);
25
+ const [files, setFiles] = useState<string[] | undefined>([]);
27
26
  const handleChange = (e) => {
28
27
  const target = e.target as HTMLInputElement;
29
28
  const selectedFiles = Array.from(
@@ -44,7 +43,7 @@ export const FileInput: React.FC<any> = React.forwardRef(function FileInput(
44
43
  </Paragraph>
45
44
  </>
46
45
  ) : (
47
- <CoreHint>{t('upload.no_file')}</CoreHint>
46
+ <Hint>{t('upload.no_file')}</Hint>
48
47
  )}
49
48
  <FileUpload
50
49
  ref={ref}
@@ -5,5 +5,5 @@ export default {
5
5
  displayName: 'ImageInput',
6
6
  };
7
7
  export { Default } from '@digigov/form/inputs/ImageInput/__stories__/Default';
8
- export { WithInvalidImageSize } from '@digigov/form/inputs/ImageInput/__stories__/WithInvalidImageSize';
9
8
  export { WithInvalidImageDimension } from '@digigov/form/inputs/ImageInput/__stories__/WithInvalidImageDimension';
9
+ export { MaxSize } from '@digigov/form/inputs/ImageInput/__stories__/MaxSize';