@dnb/eufemia 10.44.0 → 10.45.0

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 (536) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  3. package/cjs/components/radio/style/dnb-radio.scss +1 -1
  4. package/cjs/components/table/TableStickyHeader.js.map +1 -1
  5. package/cjs/components/upload/Upload.js +2 -1
  6. package/cjs/components/upload/Upload.js.map +1 -1
  7. package/cjs/components/upload/UploadDocs.d.ts +1 -0
  8. package/cjs/components/upload/UploadDocs.js +17 -4
  9. package/cjs/components/upload/UploadDocs.js.map +1 -1
  10. package/cjs/components/upload/UploadInfo.js +57 -5
  11. package/cjs/components/upload/UploadInfo.js.map +1 -1
  12. package/cjs/components/upload/UploadVerify.d.ts +4 -2
  13. package/cjs/components/upload/UploadVerify.js +32 -5
  14. package/cjs/components/upload/UploadVerify.js.map +1 -1
  15. package/cjs/components/upload/style/dnb-upload.css +15 -0
  16. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  17. package/cjs/components/upload/style/dnb-upload.scss +17 -0
  18. package/cjs/components/upload/types.d.ts +7 -1
  19. package/cjs/components/upload/types.js.map +1 -1
  20. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -3
  21. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  22. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  23. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  24. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
  25. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  26. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -7
  27. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  28. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  29. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +29 -24
  30. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  31. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  32. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  33. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +3 -0
  34. package/cjs/extensions/forms/Field/Selection/Selection.js +28 -20
  35. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  36. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  37. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  38. package/cjs/extensions/forms/Form/Element/Element.js +11 -9
  39. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  40. package/cjs/extensions/forms/Form/Isolation/Isolation.js +25 -7
  41. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  42. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  43. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  44. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
  45. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  46. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  47. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  48. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  49. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  50. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
  51. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  52. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  53. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
  54. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  55. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  56. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  57. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  58. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  59. package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
  60. package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
  61. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  62. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  63. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  64. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  65. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  66. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  67. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
  68. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  69. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  70. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
  71. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  72. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  73. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
  74. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  75. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  76. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
  77. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  78. package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  79. package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
  80. package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  81. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  82. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  84. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
  85. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  86. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  87. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  88. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  89. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  91. package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
  92. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  93. package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
  94. package/cjs/extensions/forms/Iterate/index.js +17 -3
  95. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  96. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  97. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
  98. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  99. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  100. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
  101. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  102. package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  103. package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
  104. package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  105. package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  106. package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
  107. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
  108. package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  109. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
  110. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  111. package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
  112. package/cjs/extensions/forms/Value/Selection/index.js +27 -0
  113. package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
  114. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  115. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  116. package/cjs/extensions/forms/Value/index.d.ts +2 -0
  117. package/cjs/extensions/forms/Value/index.js +14 -0
  118. package/cjs/extensions/forms/Value/index.js.map +1 -1
  119. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  120. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  121. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  122. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  123. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  124. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  125. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  126. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -0
  127. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  128. package/cjs/extensions/forms/constants/locales/en-US.d.ts +3 -0
  129. package/cjs/extensions/forms/constants/locales/index.d.ts +6 -0
  130. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  131. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -0
  132. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  133. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
  134. package/cjs/extensions/forms/hooks/useDataValue.js +11 -4
  135. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  136. package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
  137. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  138. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -9
  139. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  140. package/cjs/extensions/forms/hooks/usePath.js +3 -3
  141. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  142. package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
  143. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  144. package/cjs/extensions/forms/types.d.ts +4 -0
  145. package/cjs/extensions/forms/types.js.map +1 -1
  146. package/cjs/shared/Eufemia.d.ts +1 -1
  147. package/cjs/shared/Eufemia.js +2 -2
  148. package/cjs/shared/Eufemia.js.map +1 -1
  149. package/cjs/shared/locales/en-GB.d.ts +1 -0
  150. package/cjs/shared/locales/en-GB.js +1 -0
  151. package/cjs/shared/locales/en-GB.js.map +1 -1
  152. package/cjs/shared/locales/en-US.d.ts +1 -0
  153. package/cjs/shared/locales/index.d.ts +2 -0
  154. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  155. package/cjs/shared/locales/nb-NO.js +2 -1
  156. package/cjs/shared/locales/nb-NO.js.map +1 -1
  157. package/cjs/shared/useTheme.d.ts +4 -10
  158. package/cjs/shared/useTheme.js +7 -5
  159. package/cjs/shared/useTheme.js.map +1 -1
  160. package/cjs/style/core/scopes.scss +1 -1
  161. package/cjs/style/dnb-ui-basis.css +1 -1
  162. package/cjs/style/dnb-ui-basis.min.css +1 -1
  163. package/cjs/style/dnb-ui-body.css +1 -1
  164. package/cjs/style/dnb-ui-body.min.css +1 -1
  165. package/cjs/style/dnb-ui-components.css +15 -0
  166. package/cjs/style/dnb-ui-components.min.css +1 -1
  167. package/cjs/style/dnb-ui-core.css +1 -1
  168. package/cjs/style/dnb-ui-core.min.css +1 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -0
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  171. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -0
  172. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  173. package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -0
  174. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  175. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  176. package/components/radio/style/dnb-radio.scss +1 -1
  177. package/components/table/TableStickyHeader.js.map +1 -1
  178. package/components/upload/Upload.js +2 -1
  179. package/components/upload/Upload.js.map +1 -1
  180. package/components/upload/UploadDocs.d.ts +1 -0
  181. package/components/upload/UploadDocs.js +15 -3
  182. package/components/upload/UploadDocs.js.map +1 -1
  183. package/components/upload/UploadInfo.js +57 -5
  184. package/components/upload/UploadInfo.js.map +1 -1
  185. package/components/upload/UploadVerify.d.ts +4 -2
  186. package/components/upload/UploadVerify.js +30 -5
  187. package/components/upload/UploadVerify.js.map +1 -1
  188. package/components/upload/style/dnb-upload.css +15 -0
  189. package/components/upload/style/dnb-upload.min.css +1 -1
  190. package/components/upload/style/dnb-upload.scss +17 -0
  191. package/components/upload/types.d.ts +7 -1
  192. package/components/upload/types.js.map +1 -1
  193. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  194. package/es/components/radio/style/dnb-radio.scss +1 -1
  195. package/es/components/table/TableStickyHeader.js.map +1 -1
  196. package/es/components/upload/Upload.js +2 -1
  197. package/es/components/upload/Upload.js.map +1 -1
  198. package/es/components/upload/UploadDocs.d.ts +1 -0
  199. package/es/components/upload/UploadDocs.js +15 -3
  200. package/es/components/upload/UploadDocs.js.map +1 -1
  201. package/es/components/upload/UploadInfo.js +57 -5
  202. package/es/components/upload/UploadInfo.js.map +1 -1
  203. package/es/components/upload/UploadVerify.d.ts +4 -2
  204. package/es/components/upload/UploadVerify.js +30 -5
  205. package/es/components/upload/UploadVerify.js.map +1 -1
  206. package/es/components/upload/style/dnb-upload.css +15 -0
  207. package/es/components/upload/style/dnb-upload.min.css +1 -1
  208. package/es/components/upload/style/dnb-upload.scss +17 -0
  209. package/es/components/upload/types.d.ts +7 -1
  210. package/es/components/upload/types.js.map +1 -1
  211. package/es/extensions/forms/DataContext/Context.d.ts +8 -3
  212. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  213. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  214. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  215. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  216. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  217. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -7
  218. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  219. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  220. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  221. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  222. package/es/extensions/forms/Field/Name/Name.js +2 -2
  223. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  224. package/es/extensions/forms/Field/Selection/Selection.d.ts +3 -0
  225. package/es/extensions/forms/Field/Selection/Selection.js +22 -16
  226. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  227. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  228. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  229. package/es/extensions/forms/Form/Element/Element.js +9 -9
  230. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  231. package/es/extensions/forms/Form/Isolation/Isolation.js +26 -8
  232. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  233. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  234. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  235. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  236. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  237. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  238. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  239. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  240. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  241. package/es/extensions/forms/Iterate/Array/Array.js +7 -5
  242. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  243. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  244. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  245. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  246. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  247. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  248. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  249. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  250. package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  251. package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
  252. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  253. package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  254. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  255. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  256. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  257. package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  258. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  259. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  260. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  261. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
  262. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  263. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  264. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  265. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  266. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  267. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  268. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  269. package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  270. package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
  271. package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  272. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  273. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  274. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  275. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  276. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  277. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  278. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  279. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  280. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  281. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  282. package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
  283. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  284. package/es/extensions/forms/Iterate/index.d.ts +3 -1
  285. package/es/extensions/forms/Iterate/index.js +3 -1
  286. package/es/extensions/forms/Iterate/index.js.map +1 -1
  287. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  288. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
  289. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  290. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  291. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  292. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  293. package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  294. package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
  295. package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  296. package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  297. package/es/extensions/forms/Value/Selection/Selection.js +48 -0
  298. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
  299. package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  300. package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  301. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  302. package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
  303. package/es/extensions/forms/Value/Selection/index.js +3 -0
  304. package/es/extensions/forms/Value/Selection/index.js.map +1 -0
  305. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  306. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  307. package/es/extensions/forms/Value/index.d.ts +2 -0
  308. package/es/extensions/forms/Value/index.js +2 -0
  309. package/es/extensions/forms/Value/index.js.map +1 -1
  310. package/es/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  311. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  312. package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
  313. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  314. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  315. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  316. package/es/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  317. package/es/extensions/forms/constants/locales/en-GB.js +3 -0
  318. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  319. package/es/extensions/forms/constants/locales/en-US.d.ts +3 -0
  320. package/es/extensions/forms/constants/locales/index.d.ts +6 -0
  321. package/es/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  322. package/es/extensions/forms/constants/locales/nb-NO.js +3 -0
  323. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  324. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
  325. package/es/extensions/forms/hooks/useDataValue.js +11 -4
  326. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  327. package/es/extensions/forms/hooks/useExternalValue.js +4 -4
  328. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  329. package/es/extensions/forms/hooks/useFieldProps.js +11 -9
  330. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  331. package/es/extensions/forms/hooks/usePath.js +2 -2
  332. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  333. package/es/extensions/forms/hooks/useValueProps.js +4 -1
  334. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  335. package/es/extensions/forms/types.d.ts +4 -0
  336. package/es/extensions/forms/types.js.map +1 -1
  337. package/es/shared/Eufemia.d.ts +1 -1
  338. package/es/shared/Eufemia.js +2 -2
  339. package/es/shared/Eufemia.js.map +1 -1
  340. package/es/shared/locales/en-GB.d.ts +1 -0
  341. package/es/shared/locales/en-GB.js +1 -0
  342. package/es/shared/locales/en-GB.js.map +1 -1
  343. package/es/shared/locales/en-US.d.ts +1 -0
  344. package/es/shared/locales/index.d.ts +2 -0
  345. package/es/shared/locales/nb-NO.d.ts +1 -0
  346. package/es/shared/locales/nb-NO.js +2 -1
  347. package/es/shared/locales/nb-NO.js.map +1 -1
  348. package/es/shared/useTheme.d.ts +4 -10
  349. package/es/shared/useTheme.js +7 -5
  350. package/es/shared/useTheme.js.map +1 -1
  351. package/es/style/core/scopes.scss +1 -1
  352. package/es/style/dnb-ui-basis.css +1 -1
  353. package/es/style/dnb-ui-basis.min.css +1 -1
  354. package/es/style/dnb-ui-body.css +1 -1
  355. package/es/style/dnb-ui-body.min.css +1 -1
  356. package/es/style/dnb-ui-components.css +15 -0
  357. package/es/style/dnb-ui-components.min.css +1 -1
  358. package/es/style/dnb-ui-core.css +1 -1
  359. package/es/style/dnb-ui-core.min.css +1 -1
  360. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -0
  361. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  362. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -0
  363. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  364. package/es/style/themes/theme-ui/ui-theme-components.css +15 -0
  365. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  366. package/esm/dnb-ui-basis.min.mjs +1 -1
  367. package/esm/dnb-ui-components.min.mjs +1 -1
  368. package/esm/dnb-ui-elements.min.mjs +1 -1
  369. package/esm/dnb-ui-extensions.min.mjs +5 -5
  370. package/esm/dnb-ui-lib.min.mjs +1 -1
  371. package/extensions/forms/DataContext/Context.d.ts +8 -3
  372. package/extensions/forms/DataContext/Context.js.map +1 -1
  373. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  374. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  375. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  376. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  377. package/extensions/forms/DataContext/Provider/Provider.js +22 -7
  378. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  379. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  380. package/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  381. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  382. package/extensions/forms/Field/Name/Name.js +2 -2
  383. package/extensions/forms/Field/Name/Name.js.map +1 -1
  384. package/extensions/forms/Field/Selection/Selection.d.ts +3 -0
  385. package/extensions/forms/Field/Selection/Selection.js +27 -20
  386. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  387. package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  388. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  389. package/extensions/forms/Form/Element/Element.js +9 -9
  390. package/extensions/forms/Form/Element/Element.js.map +1 -1
  391. package/extensions/forms/Form/Isolation/Isolation.js +26 -8
  392. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  393. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  394. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  395. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  396. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  397. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  398. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  399. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  400. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  401. package/extensions/forms/Iterate/Array/Array.js +7 -5
  402. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  403. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  404. package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  405. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  406. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  407. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  408. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  409. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  410. package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  411. package/extensions/forms/Iterate/IterateItemContext.js +4 -0
  412. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  413. package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  414. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  415. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  416. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  417. package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  418. package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  419. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  420. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  421. package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
  422. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  423. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  424. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  425. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  426. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  427. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  428. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  429. package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  430. package/extensions/forms/Iterate/PushContainer/index.js +3 -0
  431. package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  432. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  433. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  434. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  435. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  436. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  437. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  438. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  439. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  440. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  441. package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  442. package/extensions/forms/Iterate/hooks/useItem.js +9 -0
  443. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  444. package/extensions/forms/Iterate/index.d.ts +3 -1
  445. package/extensions/forms/Iterate/index.js +3 -1
  446. package/extensions/forms/Iterate/index.js.map +1 -1
  447. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  448. package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
  449. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  450. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  451. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  452. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  453. package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  454. package/extensions/forms/Value/ArraySelection/index.js +3 -0
  455. package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  456. package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  457. package/extensions/forms/Value/Selection/Selection.js +48 -0
  458. package/extensions/forms/Value/Selection/Selection.js.map +1 -0
  459. package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  460. package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  461. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  462. package/extensions/forms/Value/Selection/index.d.ts +2 -0
  463. package/extensions/forms/Value/Selection/index.js +3 -0
  464. package/extensions/forms/Value/Selection/index.js.map +1 -0
  465. package/extensions/forms/Value/ValueDocs.js +6 -1
  466. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  467. package/extensions/forms/Value/index.d.ts +2 -0
  468. package/extensions/forms/Value/index.js +2 -0
  469. package/extensions/forms/Value/index.js.map +1 -1
  470. package/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  471. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  472. package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  473. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  474. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  475. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  476. package/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  477. package/extensions/forms/constants/locales/en-GB.js +3 -0
  478. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  479. package/extensions/forms/constants/locales/en-US.d.ts +3 -0
  480. package/extensions/forms/constants/locales/index.d.ts +6 -0
  481. package/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  482. package/extensions/forms/constants/locales/nb-NO.js +3 -0
  483. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  484. package/extensions/forms/hooks/useDataValue.d.ts +1 -0
  485. package/extensions/forms/hooks/useDataValue.js +11 -4
  486. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  487. package/extensions/forms/hooks/useExternalValue.js +4 -4
  488. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  489. package/extensions/forms/hooks/useFieldProps.js +11 -9
  490. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  491. package/extensions/forms/hooks/usePath.js +2 -2
  492. package/extensions/forms/hooks/usePath.js.map +1 -1
  493. package/extensions/forms/hooks/useValueProps.js +4 -1
  494. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  495. package/extensions/forms/types.d.ts +4 -0
  496. package/extensions/forms/types.js.map +1 -1
  497. package/package.json +1 -1
  498. package/shared/Eufemia.d.ts +1 -1
  499. package/shared/Eufemia.js +2 -2
  500. package/shared/Eufemia.js.map +1 -1
  501. package/shared/locales/en-GB.d.ts +1 -0
  502. package/shared/locales/en-GB.js +1 -0
  503. package/shared/locales/en-GB.js.map +1 -1
  504. package/shared/locales/en-US.d.ts +1 -0
  505. package/shared/locales/index.d.ts +2 -0
  506. package/shared/locales/nb-NO.d.ts +1 -0
  507. package/shared/locales/nb-NO.js +2 -1
  508. package/shared/locales/nb-NO.js.map +1 -1
  509. package/shared/useTheme.d.ts +4 -10
  510. package/shared/useTheme.js +7 -5
  511. package/shared/useTheme.js.map +1 -1
  512. package/style/core/scopes.scss +1 -1
  513. package/style/dnb-ui-basis.css +1 -1
  514. package/style/dnb-ui-basis.min.css +1 -1
  515. package/style/dnb-ui-body.css +1 -1
  516. package/style/dnb-ui-body.min.css +1 -1
  517. package/style/dnb-ui-components.css +15 -0
  518. package/style/dnb-ui-components.min.css +1 -1
  519. package/style/dnb-ui-core.css +1 -1
  520. package/style/dnb-ui-core.min.css +1 -1
  521. package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -0
  522. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  523. package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -0
  524. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  525. package/style/themes/theme-ui/ui-theme-components.css +15 -0
  526. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  527. package/umd/dnb-ui-basis.min.js +1 -1
  528. package/umd/dnb-ui-components.min.js +1 -1
  529. package/umd/dnb-ui-elements.min.js +1 -1
  530. package/umd/dnb-ui-extensions.min.js +5 -5
  531. package/umd/dnb-ui-lib.min.js +1 -1
  532. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  533. package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
  534. package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  535. package/extensions/forms/Iterate/IterateElementContext.js +0 -4
  536. package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
@@ -18,7 +18,7 @@ function Name(props) {
18
18
  const StringFieldProps = _objectSpread({
19
19
  trim: true,
20
20
  autoComplete: 'name',
21
- pattern: '^[\\p{L}\\p{M} \\-]+$'
21
+ pattern: '^(?!.*[\\-\\s]{2})[\\p{L}]+([ \\-][\\p{L}]+)*$'
22
22
  }, props);
23
23
  return _react.default.createElement(_String.default, StringFieldProps);
24
24
  }
@@ -60,7 +60,7 @@ Name.Company = function CompanyName(props) {
60
60
  });
61
61
  const StringFieldProps = _objectSpread(_objectSpread({
62
62
  label: translations.label,
63
- pattern: undefined,
63
+ pattern: '^(?!.*[-\\s]{2})(?!.*[\\.]{2})[\\p{L}\\p{N}][\\p{L}\\p{N}\\p{P}\\p{Zs}.]*[\\p{L}\\p{N}\\p{P}]$',
64
64
  autoComplete: 'organization'
65
65
  }, props), {}, {
66
66
  errorMessages
@@ -1 +1 @@
1
- {"version":3,"file":"Name.js","names":["_react","_interopRequireDefault","require","_String","_useErrorMessage","_useTranslation","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","Name","props","StringFieldProps","trim","autoComplete","pattern","createElement","_supportsSpacingProps","First","FirstName","translations","useTranslation","errorMessages","useErrorMessage","path","required","errorRequired","errorPattern","nameProps","label","Last","LastName","Company","CompanyName","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Name/Name.tsx"],"sourcesContent":["import React from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps\n\nfunction Name(props: Props) {\n const StringFieldProps: Props = {\n trim: true,\n autoComplete: 'name',\n pattern: '^[\\\\p{L}\\\\p{M} \\\\-]+$',\n ...props,\n }\n\n return <StringField {...StringFieldProps} />\n}\nName._supportsSpacingProps = true\n\nName.First = function FirstName(props: Props) {\n const translations = useTranslation().FirstName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'given-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Last = function LastName(props: Props) {\n const translations = useTranslation().LastName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'family-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Company = function CompanyName(props: Props) {\n const translations = useTranslation().CompanyName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const StringFieldProps: Props = {\n label: translations.label,\n pattern: undefined,\n autoComplete: 'organization',\n ...props,\n errorMessages,\n }\n\n return <Name {...StringFieldProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nexport default Name\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAxB,GAAA,EAAAuB,GAAA,EAAAK,KAAA,IAAAL,GAAA,GAAAM,cAAA,CAAAN,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAO,MAAA,CAAAoB,cAAA,CAAA3B,GAAA,EAAAuB,GAAA,IAAAK,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA/B,GAAA,CAAAuB,GAAA,IAAAK,KAAA,WAAA5B,GAAA;AAAA,SAAA6B,eAAAG,GAAA,QAAAT,GAAA,GAAAU,YAAA,CAAAD,GAAA,2BAAAT,GAAA,gBAAAA,GAAA,GAAAW,MAAA,CAAAX,GAAA;AAAA,SAAAU,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAIvD,SAASU,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAMC,gBAAuB,GAAA/B,aAAA;IAC3BgC,IAAI,EAAE,IAAI;IACVC,YAAY,EAAE,MAAM;IACpBC,OAAO,EAAE;EAAuB,GAC7BJ,KAAK,CACT;EAED,OAAOpD,MAAA,CAAAQ,OAAA,CAAAiD,aAAA,CAACtD,OAAA,CAAAK,OAAW,EAAK6C,gBAAmB,CAAC;AAC9C;AACAF,IAAI,CAACO,qBAAqB,GAAG,IAAI;AAEjCP,IAAI,CAACQ,KAAK,GAAG,SAASC,SAASA,CAACR,KAAY,EAAE;EAC5C,MAAMS,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACF,SAAS;EAC/C,MAAMG,aAAa,GAAG,IAAAC,wBAAe,EAACZ,KAAK,CAACa,IAAI,EAAEb,KAAK,CAACW,aAAa,EAAE;IACrEG,QAAQ,EAAEL,YAAY,CAACM,aAAa;IACpCX,OAAO,EAAEK,YAAY,CAACO;EACxB,CAAC,CAAC;EAEF,MAAMC,SAAgB,GAAA/C,aAAA,CAAAA,aAAA;IACpBgD,KAAK,EAAET,YAAY,CAACS,KAAK;IACzBf,YAAY,EAAE;EAAY,GACvBH,KAAK;IACRW;EAAa,EACd;EAED,OAAO/D,MAAA,CAAAQ,OAAA,CAAAiD,aAAA,CAACN,IAAI,EAAKkB,SAAY,CAAC;AAChC,CAAC;AACDlB,IAAI,CAACQ,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE1CR,IAAI,CAACoB,IAAI,GAAG,SAASC,QAAQA,CAACpB,KAAY,EAAE;EAC1C,MAAMS,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACU,QAAQ;EAC9C,MAAMT,aAAa,GAAG,IAAAC,wBAAe,EAACZ,KAAK,CAACa,IAAI,EAAEb,KAAK,CAACW,aAAa,EAAE;IACrEG,QAAQ,EAAEL,YAAY,CAACM,aAAa;IACpCX,OAAO,EAAEK,YAAY,CAACO;EACxB,CAAC,CAAC;EAEF,MAAMC,SAAgB,GAAA/C,aAAA,CAAAA,aAAA;IACpBgD,KAAK,EAAET,YAAY,CAACS,KAAK;IACzBf,YAAY,EAAE;EAAa,GACxBH,KAAK;IACRW;EAAa,EACd;EAED,OAAO/D,MAAA,CAAAQ,OAAA,CAAAiD,aAAA,CAACN,IAAI,EAAKkB,SAAY,CAAC;AAChC,CAAC;AACDlB,IAAI,CAACQ,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE1CR,IAAI,CAACsB,OAAO,GAAG,SAASC,WAAWA,CAACtB,KAAY,EAAE;EAChD,MAAMS,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACY,WAAW;EACjD,MAAMX,aAAa,GAAG,IAAAC,wBAAe,EAACZ,KAAK,CAACa,IAAI,EAAEb,KAAK,CAACW,aAAa,EAAE;IACrEG,QAAQ,EAAEL,YAAY,CAACM;EACzB,CAAC,CAAC;EAEF,MAAMd,gBAAuB,GAAA/B,aAAA,CAAAA,aAAA;IAC3BgD,KAAK,EAAET,YAAY,CAACS,KAAK;IACzBd,OAAO,EAAEV,SAAS;IAClBS,YAAY,EAAE;EAAc,GACzBH,KAAK;IACRW;EAAa,EACd;EAED,OAAO/D,MAAA,CAAAQ,OAAA,CAAAiD,aAAA,CAACN,IAAI,EAAKE,gBAAmB,CAAC;AACvC,CAAC;AACDF,IAAI,CAACQ,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAAA,IAAAgB,QAAA,GAE3BxB,IAAI;AAAAyB,OAAA,CAAApE,OAAA,GAAAmE,QAAA"}
1
+ {"version":3,"file":"Name.js","names":["_react","_interopRequireDefault","require","_String","_useErrorMessage","_useTranslation","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","Name","props","StringFieldProps","trim","autoComplete","pattern","createElement","_supportsSpacingProps","First","FirstName","translations","useTranslation","errorMessages","useErrorMessage","path","required","errorRequired","errorPattern","nameProps","label","Last","LastName","Company","CompanyName","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Name/Name.tsx"],"sourcesContent":["import React from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps\n\nfunction Name(props: Props) {\n const StringFieldProps: Props = {\n trim: true,\n autoComplete: 'name',\n pattern: '^(?!.*[\\\\-\\\\s]{2})[\\\\p{L}]+([ \\\\-][\\\\p{L}]+)*$',\n ...props,\n }\n\n return <StringField {...StringFieldProps} />\n}\nName._supportsSpacingProps = true\n\nName.First = function FirstName(props: Props) {\n const translations = useTranslation().FirstName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'given-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Last = function LastName(props: Props) {\n const translations = useTranslation().LastName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'family-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Company = function CompanyName(props: Props) {\n const translations = useTranslation().CompanyName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const StringFieldProps: Props = {\n label: translations.label,\n pattern:\n '^(?!.*[-\\\\s]{2})(?!.*[\\\\.]{2})[\\\\p{L}\\\\p{N}][\\\\p{L}\\\\p{N}\\\\p{P}\\\\p{Zs}.]*[\\\\p{L}\\\\p{N}\\\\p{P}]$',\n autoComplete: 'organization',\n ...props,\n errorMessages,\n }\n\n return <Name {...StringFieldProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nexport default Name\n"],"mappings":"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"}
@@ -58,5 +58,8 @@ declare namespace Selection {
58
58
  var _supportsSpacingProps: boolean;
59
59
  }
60
60
  export declare function getStatus(error: Error | FormError | undefined, info: React.ReactNode, warning: React.ReactNode): string;
61
+ export declare function mapOptions(children: React.ReactNode, { createOption }: {
62
+ createOption: any;
63
+ }): any;
61
64
  export declare function makeOptions<T = DrawerListProps['data']>(children: React.ReactNode): T;
62
65
  export default Selection;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  exports.getStatus = getStatus;
8
8
  exports.makeOptions = makeOptions;
9
+ exports.mapOptions = mapOptions;
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _classnames = _interopRequireDefault(require("classnames"));
11
12
  var _componentHelper = require("../../../../shared/component-helper");
@@ -175,7 +176,6 @@ function renderRadioItems(_ref5) {
175
176
  hasError
176
177
  } = _ref5;
177
178
  const optionsCount = _react.default.Children.count(children) + ((dataList === null || dataList === void 0 ? void 0 : dataList.length) || 0);
178
- const Component = variant === 'radio' ? _components.Radio : _components.ToggleButton;
179
179
  const createOption = (props, i) => {
180
180
  const {
181
181
  error,
@@ -190,6 +190,7 @@ function renderRadioItems(_ref5) {
190
190
  size: "small",
191
191
  title: help.title
192
192
  }, help.content) : undefined;
193
+ const Component = variant === 'radio' ? _components.Radio : _components.ToggleButton;
193
194
  return _react.default.createElement(Component, _extends({
194
195
  id: optionsCount === 1 ? id : undefined,
195
196
  key: `option-${i}-${value}`,
@@ -200,23 +201,30 @@ function renderRadioItems(_ref5) {
200
201
  suffix: suffix
201
202
  }, htmlAttributes, rest));
202
203
  };
203
- const mapOptions = children => {
204
- return _react.default.Children.map(children, (child, i) => {
205
- if (_react.default.isValidElement(child)) {
206
- if (child.type === _Option.default) {
207
- return createOption(child.props, i);
208
- }
209
- if (child.props.children) {
210
- const nestedChildren = mapOptions(child.props.children);
211
- return _react.default.cloneElement(child, child.props, nestedChildren);
212
- }
213
- }
214
- return child;
215
- });
216
- };
217
204
  return [...(dataList || []).map((props, i) => {
218
205
  return createOption(props, i);
219
- }), ...(mapOptions(children) || [])].filter(Boolean);
206
+ }), ...(mapOptions(children, {
207
+ createOption
208
+ }) || [])].filter(Boolean);
209
+ }
210
+ function mapOptions(children, _ref6) {
211
+ let {
212
+ createOption
213
+ } = _ref6;
214
+ return _react.default.Children.map(children, (child, i) => {
215
+ if (_react.default.isValidElement(child)) {
216
+ if (child.type === _Option.default) {
217
+ return createOption(child.props, i);
218
+ }
219
+ if (child.props.children) {
220
+ const nestedChildren = mapOptions(child.props.children, {
221
+ createOption
222
+ });
223
+ return _react.default.cloneElement(child, child.props, nestedChildren);
224
+ }
225
+ }
226
+ return child;
227
+ });
220
228
  }
221
229
  function makeOptions(children) {
222
230
  return _react.default.Children.map(children, child => {
@@ -225,9 +233,9 @@ function makeOptions(children) {
225
233
  child = child['props'].children;
226
234
  }
227
235
  if (_react.default.isValidElement(child) && child.type === _Option.default) {
228
- var _ref6, _props$children, _props$value;
236
+ var _ref7, _props$children, _props$value;
229
237
  const props = child.props;
230
- const title = (_ref6 = (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : props.title) !== null && _ref6 !== void 0 ? _ref6 : _em || (_em = _react.default.createElement("em", null, "Untitled"));
238
+ const title = (_ref7 = (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : props.title) !== null && _ref7 !== void 0 ? _ref7 : _em || (_em = _react.default.createElement("em", null, "Untitled"));
231
239
  const content = props.text ? [title, props.text] : title;
232
240
  const selectedKey = String((_props$value = props.value) !== null && _props$value !== void 0 ? _props$value : '');
233
241
  return {
@@ -243,12 +251,12 @@ function makeOptions(children) {
243
251
  });
244
252
  }
245
253
  function renderDropdownItems(data) {
246
- return (data === null || data === void 0 ? void 0 : data.map(_ref7 => {
254
+ return (data === null || data === void 0 ? void 0 : data.map(_ref8 => {
247
255
  let {
248
256
  value,
249
257
  title,
250
258
  text
251
- } = _ref7;
259
+ } = _ref8;
252
260
  return {
253
261
  selectedKey: value,
254
262
  content: (text ? [title, text] : title) || _em2 || (_em2 = _react.default.createElement("em", null, "Untitled"))
@@ -1 +1 @@
1
- {"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_utils","_FieldBlock","_types","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","_extends","assign","bind","arguments","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","clearValue","useMemo","makeUniqueId","id","className","variant","label","labelDescription","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","help","emptyValue","width","htmlAttributes","setHasFocus","handleChange","data","dataPath","children","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDropdownChange","useCallback","_ref","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","Component","Radio","ToggleButton","items","renderRadioItems","createElement","asFieldset","React","Children","count","Group","layout_direction","on_change","status","getStatus","renderDropdownItems","concat","makeOptions","Boolean","sharedProps","list_class","portal_class","title","suffix","HelpButton","content","on_show","on_hide","stretch","Autocomplete","convertCamelCaseProps","Dropdown","_error$message","message","Error","FormError","toString","_ref5","optionsCount","createOption","rest","size","text","mapOptions","map","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref6","_props$children","_props$value","_ref7","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n Autocomplete,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock from '../../FieldBlock'\nimport {\n FormError,\n FieldProps,\n FieldHelpProps,\n FieldBlockWidth,\n Path,\n} from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n }\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n label,\n labelDescription,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const status = getStatus(error, info, warning)\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status: (hasError || status) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\nexport function getStatus(\n error: Error | FormError | undefined,\n info: React.ReactNode,\n warning: React.ReactNode\n) {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n error?: Error | FormError | undefined\n title: React.ReactNode\n help?: HelpButtonProps\n children?: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const createOption = (props: OptionProps, i: number) => {\n const { error, title, help, children, ...rest } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? '')}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n const mapOptions = (children: React.ReactNode) => {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children)\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children) || []),\n ].filter(Boolean)\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => ({\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n })) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
1
+ {"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_utils","_FieldBlock","_types","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","_extends","assign","bind","arguments","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","clearValue","useMemo","makeUniqueId","id","className","variant","label","labelDescription","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","help","emptyValue","width","htmlAttributes","setHasFocus","handleChange","data","dataPath","children","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDropdownChange","useCallback","_ref","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","Component","Radio","ToggleButton","items","renderRadioItems","createElement","asFieldset","React","Children","count","Group","layout_direction","on_change","status","getStatus","renderDropdownItems","concat","makeOptions","Boolean","sharedProps","list_class","portal_class","title","suffix","HelpButton","content","on_show","on_hide","stretch","Autocomplete","convertCamelCaseProps","Dropdown","_error$message","message","Error","FormError","toString","_ref5","optionsCount","createOption","rest","size","text","map","mapOptions","_ref6","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref7","_props$children","_props$value","_ref8","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n Autocomplete,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock from '../../FieldBlock'\nimport {\n FormError,\n FieldProps,\n FieldHelpProps,\n FieldBlockWidth,\n Path,\n} from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n }\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n label,\n labelDescription,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const status = getStatus(error, info, warning)\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status: (hasError || status) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\nexport function getStatus(\n error: Error | FormError | undefined,\n info: React.ReactNode,\n warning: React.ReactNode\n) {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n error?: Error | FormError | undefined\n title: React.ReactNode\n help?: HelpButtonProps\n children?: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { error, title, help, children, ...rest } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? '')}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(children: React.ReactNode, { createOption }) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => ({\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n })) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _FieldBlockContext = _interopRequireDefault(require("./FieldBlockContext"));
11
11
  var _Context = _interopRequireDefault(require("../DataContext/Context"));
12
- var _IterateElementContext = _interopRequireDefault(require("../Iterate/IterateElementContext"));
12
+ var _IterateItemContext = _interopRequireDefault(require("../Iterate/IterateItemContext"));
13
13
  var _components = require("../../../components");
14
14
  var _elements = require("../../../elements");
15
15
  var _componentHelper = require("../../../shared/component-helper");
@@ -60,10 +60,10 @@ function FieldBlock(props) {
60
60
  children
61
61
  } = _Object$assign,
62
62
  rest = _objectWithoutProperties(_Object$assign, _excluded);
63
- const iterateElementContext = (0, _react.useContext)(_IterateElementContext.default);
63
+ const iterateItemContext = (0, _react.useContext)(_IterateItemContext.default);
64
64
  const {
65
65
  index: iterateIndex
66
- } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
66
+ } = iterateItemContext !== null && iterateItemContext !== void 0 ? iterateItemContext : {};
67
67
  const blockId = (0, _useId.default)(props.id);
68
68
  const [wasUpdated, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
69
69
  const mountedFieldsRef = (0, _react.useRef)({});
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateElementContext","_components","_elements","_componentHelper","_useId","_useUnmountEffect","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSrOnly","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateElementContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","convertJsxToString","replace","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","createElement","CombineMessages","useEffect","useUnmountEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","useTranslation","Field","Fragment","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSrOnly,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateElementContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateElementContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_useUnmountEffect","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSrOnly","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","convertJsxToString","replace","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","createElement","CombineMessages","useEffect","useUnmountEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","useTranslation","Field","Fragment","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSrOnly,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -5,12 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = FormElement;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
10
10
  var _Space = _interopRequireDefault(require("../../../../components/space/Space"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  const _excluded = ["children", "className", "onSubmit"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
17
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
18
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -21,14 +23,9 @@ function FormElement(_ref) {
21
23
  onSubmit = null
22
24
  } = _ref,
23
25
  rest = _objectWithoutProperties(_ref, _excluded);
24
- const dataContext = _react.default.useContext(_Context.default);
26
+ const dataContext = (0, _react.useContext)(_Context.default);
25
27
  dataContext.isInsideFormElement = true;
26
- return _react.default.createElement(_Space.default, _extends({
27
- element: "form",
28
- className: (0, _classnames.default)('dnb-forms-form', className),
29
- onSubmit: onSubmitHandler
30
- }, rest), children);
31
- function onSubmitHandler(event) {
28
+ const onSubmitHandler = (0, _react.useCallback)(event => {
32
29
  var _dataContext$handleSu;
33
30
  event === null || event === void 0 ? void 0 : event.preventDefault();
34
31
  const formElement = event.target;
@@ -38,6 +35,11 @@ function FormElement(_ref) {
38
35
  if (typeof onSubmit === 'function') {
39
36
  onSubmit(event);
40
37
  }
41
- }
38
+ }, [dataContext, onSubmit]);
39
+ return _react.default.createElement(_Space.default, _extends({
40
+ element: "form",
41
+ className: (0, _classnames.default)('dnb-forms-form', className),
42
+ onSubmit: onSubmitHandler
43
+ }, rest), children);
42
44
  }
43
45
  //# sourceMappingURL=Element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","names":["_react","_interopRequireDefault","require","_Context","_Space","_classnames","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormElement","_ref","children","className","onSubmit","rest","dataContext","React","useContext","Context","isInsideFormElement","createElement","element","classnames","onSubmitHandler","event","_dataContext$handleSu","preventDefault","formElement","handleSubmit"],"sources":["../../../../../../src/extensions/forms/Form/Element/Element.tsx"],"sourcesContent":["import React from 'react'\nimport Context from '../../DataContext/Context'\nimport Space from '../../../../components/space/Space'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../../../shared/types'\n\nexport type Props = React.HTMLAttributes<HTMLFormElement> & SpacingProps\n\nexport default function FormElement({\n children,\n className = null,\n onSubmit = null,\n ...rest\n}: Props) {\n const dataContext = React.useContext(Context)\n\n /**\n * Set to true,\n * this way we prevent \"handleSubmit\" to be called twice when the SubmitButton is pressed.\n */\n dataContext.isInsideFormElement = true\n\n return (\n <Space\n element=\"form\"\n className={classnames('dnb-forms-form', className)}\n onSubmit={onSubmitHandler}\n {...rest}\n >\n {children}\n </Space>\n )\n\n function onSubmitHandler(event: React.SyntheticEvent<HTMLFormElement>) {\n event?.preventDefault()\n\n const formElement = event.target as HTMLFormElement\n dataContext?.handleSubmit?.({ formElement })\n\n if (typeof onSubmit === 'function') {\n onSubmit(event)\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","names":["_react","_interopRequireWildcard","require","_Context","_interopRequireDefault","_Space","_classnames","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormElement","_ref","children","className","onSubmit","rest","dataContext","useContext","Context","isInsideFormElement","onSubmitHandler","useCallback","event","_dataContext$handleSu","preventDefault","formElement","handleSubmit","createElement","element","classnames"],"sources":["../../../../../../src/extensions/forms/Form/Element/Element.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport Context from '../../DataContext/Context'\nimport Space from '../../../../components/space/Space'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../../../shared/types'\n\nexport type Props = React.HTMLAttributes<HTMLFormElement> & SpacingProps\n\nexport default function FormElement({\n children,\n className = null,\n onSubmit = null,\n ...rest\n}: Props) {\n const dataContext = useContext(Context)\n\n /**\n * Set to true,\n * this way we prevent \"handleSubmit\" to be called twice when the SubmitButton is pressed.\n */\n dataContext.isInsideFormElement = true\n\n const onSubmitHandler = useCallback(\n (event: React.SyntheticEvent<HTMLFormElement>) => {\n event?.preventDefault()\n\n const formElement = event.target as HTMLFormElement\n dataContext?.handleSubmit?.({ formElement })\n\n if (typeof onSubmit === 'function') {\n onSubmit(event)\n }\n },\n [dataContext, onSubmit]\n )\n\n return (\n <Space\n element=\"form\"\n className={classnames('dnb-forms-form', className)}\n onSubmit={onSubmitHandler}\n {...rest}\n >\n {children}\n </Space>\n )\n}\n"],"mappings":"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"}