@digigov/form 2.0.0-85c27c19 → 2.0.0-aefd0709

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 (314) hide show
  1. package/Field/FieldBase/index.js +1 -0
  2. package/Field/FieldBase.js.map +2 -2
  3. package/Field/FieldBaseContainer/index.js +2 -2
  4. package/Field/FieldBaseContainer.js.map +2 -2
  5. package/Field/FieldConditional/index.js +7 -3
  6. package/Field/FieldConditional.js.map +2 -2
  7. package/Field/index.js +5 -2
  8. package/Field/index.js.map +2 -2
  9. package/Field/types.d.ts +10 -8
  10. package/Field/utils/index.d.ts +1 -0
  11. package/Field/utils/index.js +18 -1
  12. package/Field/utils/index.js.map +2 -2
  13. package/FieldArray/index.d.ts +1 -0
  14. package/FieldArray/index.js +7 -6
  15. package/FieldArray/index.js.map +2 -2
  16. package/FieldObject/index.d.ts +2 -0
  17. package/FieldObject/index.js +9 -5
  18. package/FieldObject/index.js.map +2 -2
  19. package/Fieldset/index.d.ts +1 -1
  20. package/Fieldset/index.js +5 -5
  21. package/Fieldset/index.js.map +2 -2
  22. package/Fieldset/types.d.ts +2 -3
  23. package/FormBuilder/index.d.ts +8 -2
  24. package/FormBuilder/index.js +150 -6
  25. package/FormBuilder/index.js.map +3 -3
  26. package/FormContext.js.map +2 -2
  27. package/MultiplicityField/add-objects/index.js +11 -7
  28. package/MultiplicityField/add-objects.js.map +2 -2
  29. package/MultiplicityField/index.js +16 -12
  30. package/MultiplicityField/index.js.map +2 -2
  31. package/MultiplicityField/types.d.ts +1 -2
  32. package/Questions/Questions/index.js +5 -4
  33. package/Questions/Questions.js.map +2 -2
  34. package/Questions/QuestionsContext.d.ts +0 -1
  35. package/Questions/Step/StepArrayReview.js.map +2 -2
  36. package/Questions/Step/StepContext.d.ts +0 -1
  37. package/Questions/Step/StepTitle/index.js +4 -3
  38. package/Questions/Step/StepTitle.d.ts +1 -1
  39. package/Questions/Step/StepTitle.js.map +2 -2
  40. package/Questions/Step/types.d.ts +0 -1
  41. package/Questions/types.d.ts +0 -1
  42. package/cjs/Field/FieldBase/index.js +1 -0
  43. package/cjs/Field/FieldBase.js.map +2 -2
  44. package/cjs/Field/FieldBaseContainer/index.js +4 -4
  45. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  46. package/cjs/Field/FieldConditional/index.js +7 -3
  47. package/cjs/Field/FieldConditional.js.map +2 -2
  48. package/cjs/Field/index.js +5 -2
  49. package/cjs/Field/index.js.map +2 -2
  50. package/cjs/Field/types.js.map +1 -1
  51. package/cjs/Field/utils/index.js +18 -0
  52. package/cjs/Field/utils/index.js.map +2 -2
  53. package/cjs/FieldArray/index.js +8 -7
  54. package/cjs/FieldArray/index.js.map +3 -3
  55. package/cjs/FieldObject/index.js +10 -6
  56. package/cjs/FieldObject/index.js.map +3 -3
  57. package/cjs/Fieldset/index.js +10 -10
  58. package/cjs/Fieldset/index.js.map +3 -3
  59. package/cjs/Fieldset/types.js.map +1 -1
  60. package/cjs/FormBuilder/index.js +165 -5
  61. package/cjs/FormBuilder/index.js.map +3 -3
  62. package/cjs/FormContext/index.js +2 -2
  63. package/cjs/FormContext.js.map +3 -3
  64. package/cjs/MultiplicityField/add-objects/index.js +15 -11
  65. package/cjs/MultiplicityField/add-objects.js.map +3 -3
  66. package/cjs/MultiplicityField/index.js +15 -16
  67. package/cjs/MultiplicityField/index.js.map +3 -3
  68. package/cjs/MultiplicityField/types.js.map +1 -1
  69. package/cjs/Questions/Questions/index.js +5 -4
  70. package/cjs/Questions/Questions.js.map +2 -2
  71. package/cjs/Questions/Step/StepArrayReview.js.map +2 -2
  72. package/cjs/Questions/Step/StepTitle/index.js +5 -5
  73. package/cjs/Questions/Step/StepTitle.js.map +3 -3
  74. package/cjs/index.js +11 -155
  75. package/cjs/index.js.map +4 -4
  76. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +1 -7
  77. package/cjs/inputs/AutoCompleteInput/__stories__/Default.js.map +2 -2
  78. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +1 -8
  79. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple.js.map +2 -2
  80. package/cjs/inputs/AutoCompleteInput/index.js +10 -8
  81. package/cjs/inputs/AutoCompleteInput/index.js.map +3 -3
  82. package/cjs/inputs/Checkboxes/index.js +7 -9
  83. package/cjs/inputs/Checkboxes/index.js.map +3 -3
  84. package/cjs/inputs/DateInput/__stories__/Default/index.js +3 -8
  85. package/cjs/inputs/DateInput/__stories__/Default.js.map +2 -2
  86. package/cjs/inputs/DateInput/index.js +4 -5
  87. package/cjs/inputs/DateInput/index.js.map +3 -3
  88. package/cjs/inputs/FileInput/index.js +8 -9
  89. package/cjs/inputs/FileInput/index.js.map +3 -3
  90. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +4 -4
  91. package/cjs/inputs/ImageInput/ImageInput.stories.js.map +2 -2
  92. package/cjs/inputs/ImageInput/__stories__/MaxSize/index.js +69 -0
  93. package/cjs/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  94. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +2 -1
  95. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +2 -2
  96. package/cjs/inputs/ImageInput/index.js +9 -9
  97. package/cjs/inputs/ImageInput/index.js.map +3 -3
  98. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +1 -0
  99. package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +2 -2
  100. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +1 -0
  101. package/cjs/inputs/Input/__stories__/MobilePhone.js.map +2 -2
  102. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +1 -0
  103. package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +2 -2
  104. package/cjs/inputs/Input/__stories__/PostalCode/index.js +1 -0
  105. package/cjs/inputs/Input/__stories__/PostalCode.js.map +2 -2
  106. package/cjs/inputs/Input/index.js +19 -6
  107. package/cjs/inputs/Input/index.js.map +3 -3
  108. package/cjs/inputs/Input/inputsInputScenarios.js.map +2 -2
  109. package/cjs/inputs/Label/index.js +3 -3
  110. package/cjs/inputs/Label/index.js.map +3 -3
  111. package/cjs/inputs/OtpInput/index.js.map +2 -2
  112. package/cjs/inputs/Radio/__stories__/Conditional.js.map +2 -2
  113. package/cjs/inputs/Radio/index.js +56 -10
  114. package/cjs/inputs/Radio/index.js.map +3 -3
  115. package/cjs/inputs/Select/index.js +3 -4
  116. package/cjs/inputs/Select/index.js.map +3 -3
  117. package/cjs/inputs/inputsScenarios/index.js +4 -11
  118. package/cjs/inputs/inputsScenarios.js.map +2 -2
  119. package/cjs/lazy/index.js +320 -59
  120. package/cjs/lazy.js.map +2 -2
  121. package/cjs/locales/el.js.map +1 -1
  122. package/cjs/registry/index.js +118 -38
  123. package/cjs/registry.js.map +2 -2
  124. package/cjs/types.js.map +1 -1
  125. package/cjs/utils/index.js +2 -1
  126. package/cjs/utils.js.map +2 -2
  127. package/cjs/validators/index.js +16 -66
  128. package/cjs/validators/index.js.map +3 -3
  129. package/cjs/validators/utils/date/index.js +138 -0
  130. package/cjs/validators/utils/date.js.map +7 -0
  131. package/cjs/validators/utils/file/index.js +1 -1
  132. package/cjs/validators/utils/file.js.map +2 -2
  133. package/cjs/validators/utils/index.js +3 -1
  134. package/cjs/validators/utils/index.js.map +2 -2
  135. package/cjs/validators/utils/phone.js.map +2 -2
  136. package/cjs/validators/utils/postal_code.js.map +1 -1
  137. package/cjs/validators/utils/uuid4.js.map +2 -2
  138. package/index.d.ts +5 -8
  139. package/index.js +9 -152
  140. package/index.js.map +4 -4
  141. package/inputs/AutoCompleteInput/__stories__/Default/index.js +1 -7
  142. package/inputs/AutoCompleteInput/__stories__/Default.js.map +2 -2
  143. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +1 -8
  144. package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +2 -2
  145. package/inputs/AutoCompleteInput/index.d.ts +1 -1
  146. package/inputs/AutoCompleteInput/index.js +12 -8
  147. package/inputs/AutoCompleteInput/index.js.map +2 -2
  148. package/inputs/Checkboxes/index.d.ts +1 -1
  149. package/inputs/Checkboxes/index.js +8 -6
  150. package/inputs/Checkboxes/index.js.map +2 -2
  151. package/inputs/DateInput/__stories__/Default/index.js +3 -8
  152. package/inputs/DateInput/__stories__/Default.js.map +2 -2
  153. package/inputs/DateInput/index.d.ts +1 -2
  154. package/inputs/DateInput/index.js +6 -4
  155. package/inputs/DateInput/index.js.map +2 -2
  156. package/inputs/FileInput/index.js +6 -7
  157. package/inputs/FileInput/index.js.map +2 -2
  158. package/inputs/ImageInput/ImageInput.stories/index.js +2 -2
  159. package/inputs/ImageInput/ImageInput.stories.d.ts +1 -1
  160. package/inputs/ImageInput/ImageInput.stories.js.map +2 -2
  161. package/inputs/ImageInput/__stories__/MaxSize/index.js +36 -0
  162. package/inputs/ImageInput/__stories__/MaxSize/package.json +6 -0
  163. package/inputs/ImageInput/__stories__/MaxSize.d.ts +3 -0
  164. package/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  165. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +2 -1
  166. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +2 -2
  167. package/inputs/ImageInput/index.js +8 -8
  168. package/inputs/ImageInput/index.js.map +2 -2
  169. package/inputs/Input/__stories__/LandlineNumber/index.js +1 -0
  170. package/inputs/Input/__stories__/LandlineNumber.js.map +2 -2
  171. package/inputs/Input/__stories__/MobilePhone/index.js +1 -0
  172. package/inputs/Input/__stories__/MobilePhone.js.map +2 -2
  173. package/inputs/Input/__stories__/PhoneNumber/index.js +1 -0
  174. package/inputs/Input/__stories__/PhoneNumber.js.map +2 -2
  175. package/inputs/Input/__stories__/PostalCode/index.js +1 -0
  176. package/inputs/Input/__stories__/PostalCode.js.map +2 -2
  177. package/inputs/Input/index.js +17 -4
  178. package/inputs/Input/index.js.map +3 -3
  179. package/inputs/Input/inputsInputScenarios.js.map +2 -2
  180. package/inputs/Label/index.d.ts +0 -2
  181. package/inputs/Label/index.js +2 -2
  182. package/inputs/Label/index.js.map +2 -2
  183. package/inputs/OtpInput/index.js.map +2 -2
  184. package/inputs/Radio/__stories__/Conditional.js.map +2 -2
  185. package/inputs/Radio/index.d.ts +5 -1
  186. package/inputs/Radio/index.js +57 -8
  187. package/inputs/Radio/index.js.map +2 -2
  188. package/inputs/Select/index.d.ts +1 -1
  189. package/inputs/Select/index.js +4 -2
  190. package/inputs/Select/index.js.map +2 -2
  191. package/inputs/inputsScenarios/index.js +4 -11
  192. package/inputs/inputsScenarios.d.ts +0 -42
  193. package/inputs/inputsScenarios.js.map +2 -2
  194. package/lazy/index.js +320 -59
  195. package/lazy.d.ts +17 -10
  196. package/lazy.js.map +2 -2
  197. package/locales/el.js.map +1 -1
  198. package/package.json +4 -4
  199. package/registry/index.js +118 -38
  200. package/registry.d.ts +1 -0
  201. package/registry.js.map +2 -2
  202. package/src/Field/FieldBase.tsx +1 -0
  203. package/src/Field/FieldBaseContainer.tsx +2 -2
  204. package/src/Field/FieldConditional.tsx +4 -0
  205. package/src/Field/index.tsx +4 -1
  206. package/src/Field/types.tsx +10 -8
  207. package/src/Field/utils/index.ts +18 -1
  208. package/src/FieldArray/index.test.tsx +14 -13
  209. package/src/FieldArray/index.tsx +9 -6
  210. package/src/FieldObject/index.tsx +8 -2
  211. package/src/Fieldset/index.tsx +5 -5
  212. package/src/Fieldset/types.tsx +2 -2
  213. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +20 -33
  214. package/src/FormBuilder/index.test.tsx +11 -10
  215. package/src/FormBuilder/index.tsx +178 -7
  216. package/src/FormBuilder/scenarios.test.tsx +2 -2
  217. package/src/FormContext.tsx +1 -2
  218. package/src/MultiplicityField/add-objects.tsx +10 -8
  219. package/src/MultiplicityField/{MultiplicityField.mdx → doc.mdx} +12 -16
  220. package/src/MultiplicityField/index.test.tsx +26 -25
  221. package/src/MultiplicityField/index.tsx +15 -12
  222. package/src/MultiplicityField/types.ts +1 -2
  223. package/src/Questions/Questions.tsx +4 -4
  224. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  225. package/src/Questions/Step/StepTitle.tsx +4 -3
  226. package/src/Questions/__snapshots__/index.spec.tsx.snap +8 -4
  227. package/src/Questions/{index.mdx → doc.mdx} +9 -12
  228. package/src/Questions/index.spec.tsx +6 -2
  229. package/src/Questions/index.test.tsx +11 -10
  230. package/src/create-simple-form.mdx +2 -6
  231. package/src/{index.mdx → doc.mdx} +4 -8
  232. package/src/index.ts +6 -0
  233. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +2 -10
  234. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -8
  235. package/src/inputs/AutoCompleteInput/{index.mdx → doc.mdx} +2 -13
  236. package/src/inputs/AutoCompleteInput/index.test.tsx +14 -13
  237. package/src/inputs/AutoCompleteInput/index.tsx +36 -31
  238. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  239. package/src/inputs/Checkboxes/index.test.tsx +17 -16
  240. package/src/inputs/Checkboxes/index.tsx +10 -8
  241. package/src/inputs/DateInput/__stories__/Default.tsx +7 -12
  242. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  243. package/src/inputs/DateInput/index.test.tsx +11 -10
  244. package/src/inputs/DateInput/index.tsx +6 -4
  245. package/src/inputs/FileInput/{index.mdx → doc.mdx} +1 -5
  246. package/src/inputs/FileInput/index.test.tsx +11 -10
  247. package/src/inputs/FileInput/index.tsx +7 -8
  248. package/src/inputs/ImageInput/ImageInput.stories.js +1 -1
  249. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +37 -0
  250. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  251. package/src/inputs/ImageInput/doc.mdx +23 -0
  252. package/src/inputs/ImageInput/index.test.tsx +21 -16
  253. package/src/inputs/ImageInput/index.tsx +10 -15
  254. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  255. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  256. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  257. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  258. package/src/inputs/Input/doc.mdx +56 -0
  259. package/src/inputs/Input/index.test.tsx +38 -37
  260. package/src/inputs/Input/index.tsx +32 -29
  261. package/src/inputs/Input/inputsInputScenarios.ts +244 -245
  262. package/src/inputs/Label/doc.mdx +14 -0
  263. package/src/inputs/Label/index.test.tsx +11 -10
  264. package/src/inputs/Label/index.tsx +2 -6
  265. package/src/inputs/OtpInput/{index.mdx → doc.mdx} +1 -8
  266. package/src/inputs/OtpInput/index.test.tsx +11 -10
  267. package/src/inputs/OtpInput/index.tsx +2 -1
  268. package/src/inputs/Radio/__stories__/Conditional.tsx +2 -1
  269. package/src/inputs/Radio/{index.mdx → doc.mdx} +5 -15
  270. package/src/inputs/Radio/index.test.tsx +17 -16
  271. package/src/inputs/Radio/index.tsx +76 -10
  272. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  273. package/src/inputs/Select/index.test.tsx +11 -10
  274. package/src/inputs/Select/index.tsx +5 -3
  275. package/src/inputs/inputsScenarios.ts +174 -181
  276. package/src/installation.mdx +2 -5
  277. package/src/lazy.js +322 -62
  278. package/src/locales/el.ts +1 -1
  279. package/src/registry.js +121 -45
  280. package/src/types.tsx +3 -2
  281. package/src/utils.ts +2 -2
  282. package/src/validators/index.ts +33 -71
  283. package/src/validators/utils/date.ts +107 -0
  284. package/src/validators/utils/file.ts +5 -3
  285. package/src/validators/utils/index.ts +1 -0
  286. package/src/validators/utils/phone.ts +1 -1
  287. package/src/validators/utils/postal_code.ts +1 -1
  288. package/src/validators/utils/uuid4.ts +2 -1
  289. package/src/validators/validators.spec.ts +3 -3
  290. package/types.d.ts +3 -3
  291. package/types.js.map +1 -1
  292. package/utils/index.js +2 -1
  293. package/utils.js.map +2 -2
  294. package/validators/index.js +20 -67
  295. package/validators/index.js.map +2 -2
  296. package/validators/utils/date/index.js +103 -0
  297. package/validators/utils/date/package.json +6 -0
  298. package/validators/utils/date.d.ts +9 -0
  299. package/validators/utils/date.js.map +7 -0
  300. package/validators/utils/file/index.js +1 -1
  301. package/validators/utils/file.js.map +2 -2
  302. package/validators/utils/index.d.ts +1 -0
  303. package/validators/utils/index.js +1 -0
  304. package/validators/utils/index.js.map +2 -2
  305. package/validators/utils/phone.d.ts +1 -1
  306. package/validators/utils/phone.js.map +2 -2
  307. package/validators/utils/postal_code.d.ts +1 -1
  308. package/validators/utils/postal_code.js.map +1 -1
  309. package/validators/utils/uuid4.js.map +2 -2
  310. package/src/index.tsx +0 -178
  311. package/src/inputs/ImageInput/index.mdx +0 -19
  312. package/src/inputs/Input/index.mdx +0 -95
  313. package/src/inputs/Label/index.mdx +0 -0
  314. /package/src/Field/{index.mdx → doc.mdx} +0 -0
@@ -40,7 +40,8 @@ export function useOtp(onChange, maxLength) {
40
40
  }, []);
41
41
 
42
42
  const focusToPrevInput = useCallback((target: HTMLElement) => {
43
- const previousElement = target.previousElementSibling as HTMLInputElement | null;
43
+ const previousElement =
44
+ target.previousElementSibling as HTMLInputElement | null;
44
45
  if (previousElement) {
45
46
  previousElement.focus();
46
47
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import FormBuilder, { Field, FieldSpec } from '@digigov/form';
2
+ import FormBuilder, { Field } from '@digigov/form';
3
+ import { FieldSpec } from '@digigov/form/types';
3
4
  import { Button } from '@digigov/ui/form/Button';
4
5
 
5
6
  const fields: FieldSpec[] = [
@@ -10,24 +10,14 @@ Radios are used to let a user select one option of a limited number of choices.
10
10
 
11
11
  ### Default
12
12
 
13
- <Story
14
- packageName="@digigov/form"
15
- component="inputs/Radio"
16
- story="Default.tsx"
17
- />
13
+ <code src="@digigov/form/inputs/Radio/__stories__/Default.tsx" />
14
+
18
15
 
19
16
  ### Conditional
20
17
 
21
- <Story
22
- packageName="@digigov/form"
23
- component="inputs/Radio"
24
- story="Conditional.tsx"
25
- />
18
+ <code src="@digigov/form/inputs/Radio/__stories__/Conditional.tsx" />
19
+
26
20
 
27
21
  ### With divider
28
22
 
29
- <Story
30
- packageName="@digigov/form"
31
- component="inputs/Radio"
32
- story="WithDivider.tsx"
33
- />
23
+ <code src="@digigov/form/inputs/Radio/__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/Radio/__stories__/Conditional';
5
4
  import { Default } from '@digigov/form/inputs/Radio/__stories__/Default';
6
5
  import { WithDivider } from '@digigov/form/inputs/Radio/__stories__/WithDivider';
6
+ import TestVariant from '@digigov/ui/utils/TestVariant';
7
7
 
8
8
  test('renders the All Radio 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
-
@@ -2,17 +2,20 @@ import React from 'react';
2
2
  import { useWatch } from 'react-hook-form';
3
3
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
4
4
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
5
- import Hint from '@digigov/react-core/Hint';
6
- import { RadioConditional } from '@digigov/react-core/RadioConditional';
7
- import RadioContainer from '@digigov/react-core/RadioContainer';
8
- import RadioItem from '@digigov/react-core/RadioItem';
5
+ import {
6
+ RadioContainer,
7
+ RadioItem,
8
+ RadioConditional,
9
+ } from '@digigov/ui/form/RadioContainer';
9
10
  import { useTranslation } from '@digigov/ui/i18n';
11
+ import { Hint } from '@digigov/ui/typography/Hint';
12
+ import { Base } from '@digigov/ui/utils/Base';
10
13
 
11
14
  export interface RadioButtonsGroupProps
12
15
  extends Omit<UncontrolledFieldProps, 'extra'> {
13
16
  extra: {
14
17
  className?: string;
15
- options: Array<FieldOptionProps>;
18
+ options: FieldOptionProps[];
16
19
  dense?: boolean;
17
20
  };
18
21
  fieldComponent?: React.FC<Omit<UncontrolledFieldProps, 'register'>>;
@@ -24,13 +27,13 @@ export const RadioButtonsGroup: React.FC<RadioButtonsGroupProps> = ({
24
27
  register,
25
28
  extra: { options, className },
26
29
  disabled,
27
- fieldComponent: Field,
30
+ Field,
28
31
  ...props
29
32
  }) => {
30
33
  const currentValue: string | undefined = useWatch({ control, name });
31
34
  const { t } = useTranslation();
32
35
  return (
33
- <RadioContainer className={className} defaultValue={currentValue} id={name}>
36
+ <RadioContainer className={className} id={name}>
34
37
  {options.map(
35
38
  ({
36
39
  label,
@@ -40,7 +43,7 @@ export const RadioButtonsGroup: React.FC<RadioButtonsGroupProps> = ({
40
43
  selected,
41
44
  ...option
42
45
  }) => (
43
- <div key={`${name}.${v}`}>
46
+ <Base as="div" key={`${name}.${v}`}>
44
47
  <RadioItem
45
48
  {...register(name)}
46
49
  id={`${name}.${v}`}
@@ -56,7 +59,9 @@ export const RadioButtonsGroup: React.FC<RadioButtonsGroupProps> = ({
56
59
  type: 'radio',
57
60
  }}
58
61
  >
59
- {(label && label.primary && t(label.primary)) || v}
62
+ {label && label.primary && (
63
+ <Base as="span">{t(label.primary) || v}</Base>
64
+ )}
60
65
  {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}
61
66
  </RadioItem>
62
67
  {selected && selected()}
@@ -67,7 +72,68 @@ export const RadioButtonsGroup: React.FC<RadioButtonsGroupProps> = ({
67
72
  ))}
68
73
  </RadioConditional>
69
74
  )}
70
- </div>
75
+ </Base>
76
+ )
77
+ )}
78
+ </RadioContainer>
79
+ );
80
+ };
81
+ export const ControlledRadioButtonsGroup: React.FC<
82
+ RadioButtonsGroupProps & { onChange: (e: any) => void; value: any }
83
+ > = ({
84
+ name,
85
+ extra: { options, className },
86
+ disabled,
87
+ onChange,
88
+ value,
89
+ Field,
90
+ ...props
91
+ }) => {
92
+ const currentValue: string | undefined = value;
93
+ const { t } = useTranslation();
94
+ return (
95
+ <RadioContainer className={className} id={name}>
96
+ {options.map(
97
+ ({
98
+ label,
99
+ value: v,
100
+ show,
101
+ disabled: optionDisabled,
102
+ selected,
103
+ ...option
104
+ }) => (
105
+ <React.Fragment key={`${name}.${v}`}>
106
+ <RadioItem
107
+ onChange={(e) => {
108
+ console.log(e);
109
+ onChange(e);
110
+ }}
111
+ id={`${name}.${v}`}
112
+ value={v}
113
+ checked={currentValue === v}
114
+ disabled={disabled || optionDisabled}
115
+ {...option}
116
+ {...{
117
+ ...props,
118
+ reset: undefined,
119
+ required: undefined,
120
+ error: undefined,
121
+ 'aria-describedby': undefined,
122
+ type: 'radio',
123
+ }}
124
+ >
125
+ {(label && label.primary && t(label.primary)) || v}
126
+ {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}
127
+ </RadioItem>
128
+ {selected && selected()}
129
+ {currentValue === v && show && (
130
+ <RadioConditional>
131
+ {show.map((fieldName) => (
132
+ <Field name={fieldName} key={fieldName} />
133
+ ))}
134
+ </RadioConditional>
135
+ )}
136
+ </React.Fragment>
71
137
  )
72
138
  )}
73
139
  </RadioContainer>
@@ -10,8 +10,4 @@ The select element represents a control that provides a menu of options.
10
10
 
11
11
  ### Default
12
12
 
13
- <Story
14
- packageName="@digigov/form"
15
- component="inputs/Select"
16
- story="Default.tsx"
17
- />
13
+ <code src="@digigov/form/inputs/Select/__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/Select/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
5
 
6
6
  test('renders the All Select 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,13 +1,15 @@
1
1
  import React from 'react';
2
2
  import { UncontrolledFieldProps } from '@digigov/form/Field/types';
3
3
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
4
- import SelectContainer from '@digigov/react-core/SelectContainer';
5
- import SelectOption from '@digigov/react-core/SelectOption';
4
+ import {
5
+ SelectContainer,
6
+ SelectOption,
7
+ } from '@digigov/ui/form/SelectContainer';
6
8
 
7
9
  export interface SelectProps extends Omit<UncontrolledFieldProps, 'extra'> {
8
10
  extra: {
9
11
  className?: string;
10
- options: Array<FieldOptionProps>;
12
+ options: FieldOptionProps[];
11
13
  };
12
14
  }
13
15