@dnb/eufemia 10.65.1 → 10.66.1

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 (483) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/components/card/Card.js +1 -1
  3. package/cjs/components/card/Card.js.map +1 -1
  4. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  5. package/cjs/components/date-picker/DatePickerInput.js +103 -76
  6. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  8. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  9. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  10. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  11. package/cjs/components/flex/Container.d.ts +2 -1
  12. package/cjs/components/flex/Container.js +31 -24
  13. package/cjs/components/flex/Container.js.map +1 -1
  14. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  15. package/cjs/components/flex/ContainerDocs.js +81 -0
  16. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  17. package/cjs/components/flex/style/dnb-flex.css +36 -4
  18. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  19. package/cjs/components/flex/style/flex-container.scss +39 -4
  20. package/cjs/components/help-button/HelpButtonInline.d.ts +7 -0
  21. package/cjs/components/help-button/HelpButtonInline.js +53 -20
  22. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  23. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  24. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  25. package/cjs/components/slider/SliderDocs.js +2 -2
  26. package/cjs/components/slider/SliderDocs.js.map +1 -1
  27. package/cjs/components/slider/SliderProvider.js +0 -2
  28. package/cjs/components/slider/SliderProvider.js.map +1 -1
  29. package/cjs/components/slider/types.d.ts +2 -2
  30. package/cjs/components/slider/types.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  32. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  34. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  36. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  37. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  38. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  39. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  40. package/cjs/components/upload/Upload.js +4 -5
  41. package/cjs/components/upload/Upload.js.map +1 -1
  42. package/cjs/components/upload/UploadFileInput.d.ts +4 -1
  43. package/cjs/components/upload/UploadFileInput.js +11 -3
  44. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  45. package/cjs/components/upload/types.d.ts +1 -1
  46. package/cjs/components/upload/types.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -4
  48. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +44 -40
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/Composition/Composition.js +2 -1
  55. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  57. package/cjs/extensions/forms/Field/Date/Date.js +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  60. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Upload/Upload.js +2 -1
  62. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  64. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  65. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  66. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  67. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  68. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  69. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  70. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  71. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  72. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  73. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  74. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  75. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  76. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  77. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  78. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  79. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  81. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  82. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  83. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  84. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  85. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  86. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  87. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  88. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  89. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  90. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  91. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  92. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  93. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  94. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  95. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  96. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  97. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  99. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  100. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  101. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  102. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  103. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  104. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  105. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  107. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  108. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  109. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  110. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  111. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  112. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  113. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  114. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  115. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  116. package/cjs/extensions/forms/hooks/useFieldProps.js +35 -17
  117. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  118. package/cjs/extensions/forms/style/dnb-forms.css +22 -0
  119. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  120. package/cjs/extensions/forms/types.d.ts +9 -1
  121. package/cjs/extensions/forms/types.js.map +1 -1
  122. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  123. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  124. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  125. package/cjs/shared/Eufemia.d.ts +1 -1
  126. package/cjs/shared/Eufemia.js +2 -2
  127. package/cjs/shared/Eufemia.js.map +1 -1
  128. package/cjs/style/core/scopes.scss +1 -1
  129. package/cjs/style/dnb-ui-basis.css +1 -1
  130. package/cjs/style/dnb-ui-basis.min.css +1 -1
  131. package/cjs/style/dnb-ui-body.css +1 -1
  132. package/cjs/style/dnb-ui-body.min.css +1 -1
  133. package/cjs/style/dnb-ui-components.css +58 -4
  134. package/cjs/style/dnb-ui-components.min.css +2 -2
  135. package/cjs/style/dnb-ui-core.css +1 -1
  136. package/cjs/style/dnb-ui-core.min.css +1 -1
  137. package/cjs/style/dnb-ui-extensions.css +22 -0
  138. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  139. package/cjs/style/dnb-ui-forms.css +22 -0
  140. package/cjs/style/dnb-ui-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  144. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  146. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  153. package/cjs/style/themes/theme-ui/ui-theme-components.css +80 -4
  154. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  155. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  156. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  157. package/cjs/style/themes/theme-ui/ui-theme-forms.css +22 -0
  158. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  159. package/components/card/Card.js +1 -1
  160. package/components/card/Card.js.map +1 -1
  161. package/components/date-picker/DatePickerInput.d.ts +5 -0
  162. package/components/date-picker/DatePickerInput.js +103 -76
  163. package/components/date-picker/DatePickerInput.js.map +1 -1
  164. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  165. package/components/date-picker/DatePickerProvider.js +7 -2
  166. package/components/date-picker/DatePickerProvider.js.map +1 -1
  167. package/components/date-picker/hooks/useDates.js.map +1 -1
  168. package/components/flex/Container.d.ts +2 -1
  169. package/components/flex/Container.js +32 -25
  170. package/components/flex/Container.js.map +1 -1
  171. package/components/flex/ContainerDocs.d.ts +2 -0
  172. package/components/flex/ContainerDocs.js +74 -0
  173. package/components/flex/ContainerDocs.js.map +1 -0
  174. package/components/flex/style/dnb-flex.css +36 -4
  175. package/components/flex/style/dnb-flex.min.css +1 -1
  176. package/components/flex/style/flex-container.scss +39 -4
  177. package/components/help-button/HelpButtonInline.d.ts +7 -0
  178. package/components/help-button/HelpButtonInline.js +53 -20
  179. package/components/help-button/HelpButtonInline.js.map +1 -1
  180. package/components/help-button/HelpButtonInstance.js +1 -1
  181. package/components/help-button/HelpButtonInstance.js.map +1 -1
  182. package/components/slider/SliderDocs.js +2 -2
  183. package/components/slider/SliderDocs.js.map +1 -1
  184. package/components/slider/SliderProvider.js +0 -2
  185. package/components/slider/SliderProvider.js.map +1 -1
  186. package/components/slider/types.d.ts +2 -2
  187. package/components/slider/types.js.map +1 -1
  188. package/components/step-indicator/StepIndicator.d.ts +6 -0
  189. package/components/step-indicator/StepIndicator.js.map +1 -1
  190. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  191. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  192. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  193. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  194. package/components/toggle-button/ToggleButton.d.ts +9 -1
  195. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  196. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  197. package/components/upload/Upload.js +3 -4
  198. package/components/upload/Upload.js.map +1 -1
  199. package/components/upload/UploadFileInput.d.ts +4 -1
  200. package/components/upload/UploadFileInput.js +10 -3
  201. package/components/upload/UploadFileInput.js.map +1 -1
  202. package/components/upload/types.d.ts +1 -1
  203. package/components/upload/types.js.map +1 -1
  204. package/es/components/card/Card.js +1 -1
  205. package/es/components/card/Card.js.map +1 -1
  206. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  207. package/es/components/date-picker/DatePickerInput.js +103 -76
  208. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  209. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  210. package/es/components/date-picker/DatePickerProvider.js +7 -2
  211. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  212. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  213. package/es/components/flex/Container.d.ts +2 -1
  214. package/es/components/flex/Container.js +32 -25
  215. package/es/components/flex/Container.js.map +1 -1
  216. package/es/components/flex/ContainerDocs.d.ts +2 -0
  217. package/es/components/flex/ContainerDocs.js +74 -0
  218. package/es/components/flex/ContainerDocs.js.map +1 -0
  219. package/es/components/flex/style/dnb-flex.css +36 -4
  220. package/es/components/flex/style/dnb-flex.min.css +1 -1
  221. package/es/components/flex/style/flex-container.scss +39 -4
  222. package/es/components/help-button/HelpButtonInline.d.ts +7 -0
  223. package/es/components/help-button/HelpButtonInline.js +52 -19
  224. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  225. package/es/components/help-button/HelpButtonInstance.js +1 -1
  226. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  227. package/es/components/slider/SliderDocs.js +2 -2
  228. package/es/components/slider/SliderDocs.js.map +1 -1
  229. package/es/components/slider/SliderProvider.js +0 -2
  230. package/es/components/slider/SliderProvider.js.map +1 -1
  231. package/es/components/slider/types.d.ts +2 -2
  232. package/es/components/slider/types.js.map +1 -1
  233. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  234. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  235. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  236. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  237. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  238. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  239. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  240. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  241. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  242. package/es/components/upload/Upload.js +3 -4
  243. package/es/components/upload/Upload.js.map +1 -1
  244. package/es/components/upload/UploadFileInput.d.ts +4 -1
  245. package/es/components/upload/UploadFileInput.js +10 -3
  246. package/es/components/upload/UploadFileInput.js.map +1 -1
  247. package/es/components/upload/types.d.ts +1 -1
  248. package/es/components/upload/types.js.map +1 -1
  249. package/es/extensions/forms/DataContext/Context.d.ts +10 -4
  250. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  251. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  252. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -33
  253. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  254. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  255. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  256. package/es/extensions/forms/Field/Composition/Composition.js +2 -1
  257. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  258. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  259. package/es/extensions/forms/Field/Date/Date.js +1 -1
  260. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  261. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  262. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  263. package/es/extensions/forms/Field/Upload/Upload.js +2 -1
  264. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  265. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  266. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  267. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  268. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  269. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  270. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  271. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  272. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  273. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  274. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  275. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  276. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  277. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  278. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  279. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  280. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  281. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  282. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  283. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  284. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  285. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  286. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  287. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  288. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  289. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  290. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  291. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  292. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  293. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  294. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  295. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  296. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  297. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  298. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  299. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  300. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  301. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  302. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  303. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  304. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  305. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  306. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  307. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  308. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  309. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  310. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  311. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  312. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  313. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  314. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  315. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  316. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  317. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  318. package/es/extensions/forms/hooks/useFieldProps.js +36 -16
  319. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  320. package/es/extensions/forms/style/dnb-forms.css +22 -0
  321. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  322. package/es/extensions/forms/types.d.ts +9 -1
  323. package/es/extensions/forms/types.js.map +1 -1
  324. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  325. package/es/fragments/drawer-list/DrawerList.js +1 -0
  326. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  327. package/es/shared/Eufemia.d.ts +1 -1
  328. package/es/shared/Eufemia.js +2 -2
  329. package/es/shared/Eufemia.js.map +1 -1
  330. package/es/style/core/scopes.scss +1 -1
  331. package/es/style/dnb-ui-basis.css +1 -1
  332. package/es/style/dnb-ui-basis.min.css +1 -1
  333. package/es/style/dnb-ui-body.css +1 -1
  334. package/es/style/dnb-ui-body.min.css +1 -1
  335. package/es/style/dnb-ui-components.css +58 -4
  336. package/es/style/dnb-ui-components.min.css +2 -2
  337. package/es/style/dnb-ui-core.css +1 -1
  338. package/es/style/dnb-ui-core.min.css +1 -1
  339. package/es/style/dnb-ui-extensions.css +22 -0
  340. package/es/style/dnb-ui-extensions.min.css +1 -1
  341. package/es/style/dnb-ui-forms.css +22 -0
  342. package/es/style/dnb-ui-forms.min.css +1 -1
  343. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  344. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  345. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  346. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  348. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  349. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  350. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  351. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  352. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  354. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  355. package/es/style/themes/theme-ui/ui-theme-components.css +80 -4
  356. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  357. package/es/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  358. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  359. package/es/style/themes/theme-ui/ui-theme-forms.css +22 -0
  360. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  361. package/esm/dnb-ui-basis.min.mjs +1 -1
  362. package/esm/dnb-ui-components.min.mjs +1 -1
  363. package/esm/dnb-ui-elements.min.mjs +1 -1
  364. package/esm/dnb-ui-extensions.min.mjs +2 -2
  365. package/esm/dnb-ui-lib.min.mjs +1 -1
  366. package/extensions/forms/DataContext/Context.d.ts +10 -4
  367. package/extensions/forms/DataContext/Context.js.map +1 -1
  368. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  369. package/extensions/forms/DataContext/Provider/Provider.js +44 -40
  370. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  371. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  372. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  373. package/extensions/forms/Field/Composition/Composition.js +2 -1
  374. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  375. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  376. package/extensions/forms/Field/Date/Date.js +1 -1
  377. package/extensions/forms/Field/Date/Date.js.map +1 -1
  378. package/extensions/forms/Field/Slider/Slider.js +13 -4
  379. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  380. package/extensions/forms/Field/Upload/Upload.js +2 -1
  381. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  382. package/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  383. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  384. package/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  385. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  386. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  388. package/extensions/forms/Value/ValueDocs.js +5 -0
  389. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  390. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  391. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  392. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  393. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  394. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  395. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  396. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  397. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  398. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  399. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  400. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  401. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  402. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  403. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  404. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  405. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  406. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  407. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  408. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  409. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  410. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  411. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  412. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  413. package/extensions/forms/Wizard/Context/types.js +1 -0
  414. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  415. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  416. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  417. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  418. package/extensions/forms/Wizard/Step/Step.js +29 -10
  419. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  420. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  421. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  422. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  423. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  424. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  425. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  426. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  427. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  428. package/extensions/forms/constants/locales/en-GB.js +2 -1
  429. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  430. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  431. package/extensions/forms/constants/locales/index.d.ts +2 -0
  432. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  433. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  434. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  435. package/extensions/forms/hooks/useFieldProps.js +35 -17
  436. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  437. package/extensions/forms/style/dnb-forms.css +22 -0
  438. package/extensions/forms/style/dnb-forms.min.css +1 -1
  439. package/extensions/forms/types.d.ts +9 -1
  440. package/extensions/forms/types.js.map +1 -1
  441. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  442. package/fragments/drawer-list/DrawerList.js +1 -0
  443. package/fragments/drawer-list/DrawerList.js.map +1 -1
  444. package/package.json +1 -1
  445. package/shared/Eufemia.d.ts +1 -1
  446. package/shared/Eufemia.js +2 -2
  447. package/shared/Eufemia.js.map +1 -1
  448. package/style/core/scopes.scss +1 -1
  449. package/style/dnb-ui-basis.css +1 -1
  450. package/style/dnb-ui-basis.min.css +1 -1
  451. package/style/dnb-ui-body.css +1 -1
  452. package/style/dnb-ui-body.min.css +1 -1
  453. package/style/dnb-ui-components.css +58 -4
  454. package/style/dnb-ui-components.min.css +2 -2
  455. package/style/dnb-ui-core.css +1 -1
  456. package/style/dnb-ui-core.min.css +1 -1
  457. package/style/dnb-ui-extensions.css +22 -0
  458. package/style/dnb-ui-extensions.min.css +1 -1
  459. package/style/dnb-ui-forms.css +22 -0
  460. package/style/dnb-ui-forms.min.css +1 -1
  461. package/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  462. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  463. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  464. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  466. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  467. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  468. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  469. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  470. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  471. package/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  472. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  473. package/style/themes/theme-ui/ui-theme-components.css +80 -4
  474. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  475. package/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  476. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  477. package/style/themes/theme-ui/ui-theme-forms.css +22 -0
  478. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  479. package/umd/dnb-ui-basis.min.js +1 -1
  480. package/umd/dnb-ui-components.min.js +1 -1
  481. package/umd/dnb-ui-elements.min.js +1 -1
  482. package/umd/dnb-ui-extensions.min.js +2 -2
  483. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDocs.js","names":["ProviderProperties","defaultData","doc","type","status","data","id","schema","errorMessages","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","ajvInstance","transformIn","transformOut","globalStatusId","required","disabled","locale","children","exports","ProviderEvents","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/ProviderDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ProviderProperties: PropertiesTableProps = {\n defaultData: {\n doc: 'Default source data, only used if no other source is available, and not leading to updates if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Dynamic source data used as both initial data, and updates internal data if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n id: {\n doc: 'Unique id for connecting Form.Handler and helper tools such as Form.useData.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n schema: {\n doc: 'JSON Schema for validation of the data set.',\n type: 'object',\n status: 'optional',\n },\n errorMessages: {\n doc: 'Object containing error messages by either type of JSON Pointer path and type.',\n type: 'object',\n status: 'optional',\n },\n minimumAsyncBehaviorTime: {\n doc: 'Minimum time to display the submit indicator. Default is 1s.',\n type: 'boolean',\n status: 'optional',\n },\n asyncSubmitTimeout: {\n doc: 'The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission. Default is 30s.',\n type: 'boolean',\n status: 'optional',\n },\n scrollTopOnSubmit: {\n doc: 'True for the UI to scroll to the top of the page when data is submitted.',\n type: 'boolean',\n status: 'optional',\n },\n sessionStorageId: {\n doc: 'Key for saving active data to session storage and loading it on mount.',\n type: 'string',\n status: 'optional',\n },\n ajvInstance: {\n doc: 'Provide your own custom Ajv instance. More info in the [Schema validation](/uilib/extensions/forms/Form/schema-validation/#custom-ajv-instance-and-keywords) section.',\n type: 'ajv',\n status: 'optional',\n },\n transformIn: {\n doc: \"Mutate the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n transformOut: {\n doc: \"Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n globalStatusId: {\n doc: 'If needed, you can define a custom [GlobalStatus](/uilib/components/global-status) id. Defaults to `main`.',\n type: 'string',\n status: 'optional',\n },\n required: {\n doc: 'Make all fields required.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'Disable all fields.',\n type: 'boolean',\n status: 'optional',\n },\n locale: {\n doc: 'Locale (language) to use for all nested Eufemia components.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const ProviderEvents: PropertiesTableProps = {\n onChange: {\n doc: \"Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument. When an async function is provided, it will show an indicator on the current label during a field change. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` in addition to { success: 'saved' } indicate the field was saved. Will emit unvalidated by default and validated when an async function is provided (like `onSubmit`). The second parameter is an object containing the `filterData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onPathChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the `path` (JSON Pointer) and new `value` as arguments. Can be an async function. Will emit unvalidated by default and validated when `onChange` is an async function.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: \"Will be called (on validation success) when the user submit the form (i.e by clicking a [SubmitButton](/uilib/extensions/forms/Form/SubmitButton) component inside), with the data set as argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ status: 'pending', info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` to be shown in a [FormStatus](/uilib/components/form-status). Will only emit when every validation has passed. The second parameter is an object containing the `filterData`, `reduceToVisibleFields`, `transformData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onSubmitRequest: {\n doc: 'Will be called when the user tries to submit, but errors stop the data from being submitted.',\n type: 'function',\n status: 'optional',\n },\n onSubmitComplete: {\n doc: 'Will be called after onSubmit has finished and had not errors. It supports the same return values as `onSubmit` and will be merged together.',\n type: 'function',\n status: 'optional',\n },\n onClear: {\n doc: 'Will be called when the form is cleared via `Form.clearData` or via the `onSubmit` event (or `onCommit`) argument `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProviderDocs.js","names":["ProviderProperties","defaultData","doc","type","status","data","id","schema","errorMessages","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","ajvInstance","transformIn","transformOut","globalStatusId","required","disabled","locale","children","exports","ProviderEvents","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/ProviderDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ProviderProperties: PropertiesTableProps = {\n defaultData: {\n doc: 'Default source data, only used if no other source is available, and not leading to updates if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Dynamic source data used as both initial data, and updates internal data if changed after mount.',\n type: 'object',\n status: 'optional',\n },\n id: {\n doc: 'Unique id for connecting Form.Handler and helper tools such as Form.useData.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n schema: {\n doc: 'JSON Schema for validation of the data set.',\n type: 'object',\n status: 'optional',\n },\n errorMessages: {\n doc: 'Object containing error messages by either type of JSON Pointer path and type.',\n type: 'object',\n status: 'optional',\n },\n minimumAsyncBehaviorTime: {\n doc: 'Minimum time to display the submit indicator. Default is 1s.',\n type: 'boolean',\n status: 'optional',\n },\n asyncSubmitTimeout: {\n doc: 'The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission. Default is 30s.',\n type: 'boolean',\n status: 'optional',\n },\n scrollTopOnSubmit: {\n doc: 'True for the UI to scroll to the top of the page when data is submitted.',\n type: 'boolean',\n status: 'optional',\n },\n sessionStorageId: {\n doc: 'Key for saving active data to session storage and loading it on mount.',\n type: 'string',\n status: 'optional',\n },\n ajvInstance: {\n doc: 'Provide your own custom Ajv instance. More info in the [Schema validation](/uilib/extensions/forms/Form/schema-validation/#custom-ajv-instance-and-keywords) section.',\n type: 'ajv',\n status: 'optional',\n },\n transformIn: {\n doc: \"Mutate the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n transformOut: {\n doc: \"Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\",\n type: 'function',\n status: 'optional',\n },\n globalStatusId: {\n doc: 'If needed, you can define a custom [GlobalStatus](/uilib/components/global-status) id. Defaults to `main`.',\n type: 'string',\n status: 'optional',\n },\n required: {\n doc: 'Make all fields required.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'Disable all fields.',\n type: 'boolean',\n status: 'optional',\n },\n locale: {\n doc: 'Locale (language) to use for all nested Eufemia components.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const ProviderEvents: PropertiesTableProps = {\n onChange: {\n doc: \"Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument. When an async function is provided, it will show an indicator on the current label during a field change. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` in addition to { success: 'saved' } indicate the field was saved. Will emit unvalidated by default and validated when an async function is provided (like `onSubmit`). The second parameter is an object containing the `filterData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onPathChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the `path` (JSON Pointer) and new `value` as arguments. Can be an async function. Will emit unvalidated by default and validated when `onChange` is an async function.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: \"Will be called (on validation success) when the user submit the form (i.e by clicking a [SubmitButton](/uilib/extensions/forms/Form/SubmitButton) component inside), with the data set as argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`. You can return an error or an object with these keys `{ status: 'pending', info: 'Info message', warning: 'Warning message', error: Error('My error') } as const` to be shown in a [FormStatus](/uilib/components/form-status). Will only emit when every validation has passed. The second parameter is an object containing the `filterData`, `reduceToVisibleFields`, `transformData`, `resetForm` and `clearData` functions.\",\n type: 'function',\n status: 'optional',\n },\n onSubmitRequest: {\n doc: 'Will be called when the user tries to submit, but errors stop the data from being submitted. The first parameter is aa object containing the `getErrors` method, returning an array with field errors. Each error object contains the `path`, `error` and `props` of the field. You can use this to log the errors before the form is submitted.',\n type: 'function',\n status: 'optional',\n },\n onSubmitComplete: {\n doc: 'Will be called after onSubmit has finished and had not errors. It supports the same return values as `onSubmit` and will be merged together.',\n type: 'function',\n status: 'optional',\n },\n onClear: {\n doc: 'Will be called when the form is cleared via `Form.clearData` or via the `onSubmit` event (or `onCommit`) argument `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
@@ -10,7 +10,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10
10
  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); }
11
11
  function CompositionField(props) {
12
12
  return _react.default.createElement(_FieldBlock.default, _extends({}, props, {
13
- composition: true
13
+ composition: true,
14
+ asFieldset: true
14
15
  }));
15
16
  }
16
17
  CompositionField._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Composition.js","names":["_react","_interopRequireDefault","require","_FieldBlock","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","CompositionField","props","createElement","composition","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Composition/Composition.tsx"],"sourcesContent":["import React from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\n\nfunction CompositionField(\n props: Pick<\n FieldBlockProps,\n | 'label'\n | 'labelDescription'\n | 'labelSrOnly'\n | 'width'\n | 'align'\n | 'contentWidth'\n | 'disabled'\n | 'error'\n | 'warning'\n | 'info'\n | 'children'\n >\n) {\n return <FieldBlock {...props} composition />\n}\n\nCompositionField._supportsSpacingProps = true\nexport default CompositionField\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAuE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEvE,SAASQ,gBAAgBA,CACvBC,KAaC,EACD;EACA,OAAOtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACpB,WAAA,CAAAG,OAAU,EAAAC,QAAA,KAAKe,KAAK;IAAEE,WAAW;EAAA,EAAE,CAAC;AAC9C;AAEAH,gBAAgB,CAACI,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BL,gBAAgB;AAAAM,OAAA,CAAArB,OAAA,GAAAoB,QAAA"}
1
+ {"version":3,"file":"Composition.js","names":["_react","_interopRequireDefault","require","_FieldBlock","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","CompositionField","props","createElement","composition","asFieldset","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Composition/Composition.tsx"],"sourcesContent":["import React from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\n\nfunction CompositionField(\n props: Pick<\n FieldBlockProps,\n | 'label'\n | 'labelDescription'\n | 'labelSrOnly'\n | 'width'\n | 'align'\n | 'contentWidth'\n | 'disabled'\n | 'error'\n | 'warning'\n | 'info'\n | 'children'\n >\n) {\n return <FieldBlock {...props} composition asFieldset />\n}\n\nCompositionField._supportsSpacingProps = true\nexport default CompositionField\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAuE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEvE,SAASQ,gBAAgBA,CACvBC,KAaC,EACD;EACA,OAAOtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACpB,WAAA,CAAAG,OAAU,EAAAC,QAAA,KAAKe,KAAK;IAAEE,WAAW;IAACC,UAAU;EAAA,EAAE,CAAC;AACzD;AAEAJ,gBAAgB,CAACK,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BN,gBAAgB;AAAAO,OAAA,CAAAtB,OAAA,GAAAqB,QAAA"}
@@ -21,7 +21,7 @@ export type DateProps = Omit<FieldProps<string, undefined | string>, 'onBlurVali
21
21
  */
22
22
  showResetButton?: DatePickerProps['showResetButton'];
23
23
  onBlurValidator?: ValidatorDisableable<string>;
24
- } & Pick<DatePickerProps, 'month' | 'startMonth' | 'endMonth' | 'minDate' | 'maxDate' | 'correctInvalidDate' | 'maskOrder' | 'maskPlaceholder' | 'dateFormat' | 'returnFormat' | 'hideNavigation' | 'hideDays' | 'onlyMonth' | 'hideLastWeek' | 'disableAutofocus' | 'showSubmitButton' | 'submitButtonText' | 'cancelButtonText' | 'resetButtonText' | 'firstDay' | 'link' | 'size' | 'sync' | 'addonElement' | 'shortcuts' | 'opened' | 'direction' | 'alignPicker' | 'onDaysRender' | 'onType' | 'onShow' | 'onHide' | 'onSubmit' | 'onCancel' | 'onReset'>;
24
+ } & Pick<DatePickerProps, 'month' | 'startMonth' | 'endMonth' | 'minDate' | 'maxDate' | 'correctInvalidDate' | 'maskOrder' | 'maskPlaceholder' | 'dateFormat' | 'returnFormat' | 'hideNavigation' | 'hideDays' | 'onlyMonth' | 'hideLastWeek' | 'disableAutofocus' | 'showSubmitButton' | 'submitButtonText' | 'cancelButtonText' | 'resetButtonText' | 'firstDay' | 'link' | 'size' | 'sync' | 'addonElement' | 'shortcuts' | 'opened' | 'direction' | 'alignPicker' | 'onDaysRender' | 'onType' | 'onShow' | 'onHide' | 'onSubmit' | 'onCancel' | 'onReset' | 'skipPortal'>;
25
25
  declare function DateComponent(props: DateProps): import("react/jsx-runtime").JSX.Element;
26
26
  declare namespace DateComponent {
27
27
  var _supportsSpacingProps: boolean;
@@ -254,7 +254,7 @@ function validateDateLimit(_ref3) {
254
254
  }
255
255
  return messages;
256
256
  }
257
- const datePickerPropKeys = ['month', 'startMonth', 'endMonth', 'minDate', 'maxDate', 'correctInvalidDate', 'maskOrder', 'maskPlaceholder', 'dateFormat', 'returnFormat', 'hideNavigation', 'hideDays', 'onlyMonth', 'hideLastWeek', 'disableAutofocus', 'showSubmitButton', 'submitButtonText', 'cancelButtonText', 'resetButtonText', 'firstDay', 'link', 'size', 'sync', 'addonElement', 'shortcuts', 'opened', 'direction', 'alignPicker', 'onDaysRender', 'showInput', 'onDaysRender', 'onType', 'onShow', 'onHide', 'onSubmit', 'onCancel', 'onReset'];
257
+ const datePickerPropKeys = ['month', 'startMonth', 'endMonth', 'minDate', 'maxDate', 'correctInvalidDate', 'maskOrder', 'maskPlaceholder', 'dateFormat', 'returnFormat', 'hideNavigation', 'hideDays', 'onlyMonth', 'hideLastWeek', 'disableAutofocus', 'showSubmitButton', 'submitButtonText', 'cancelButtonText', 'resetButtonText', 'firstDay', 'link', 'size', 'sync', 'addonElement', 'shortcuts', 'opened', 'direction', 'alignPicker', 'onDaysRender', 'showInput', 'onDaysRender', 'onType', 'onShow', 'onHide', 'onSubmit', 'onCancel', 'onReset', 'skipPortal'];
258
258
  function pickDatePickerProps(props) {
259
259
  const datePickerProps = Object.keys(props).reduce((datePickerProps, key) => {
260
260
  if (datePickerPropKeys.includes(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_Date","_DatePickerCalc","_utils2","_excluded","_excluded2","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","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","DateComponent","props","_props$validateInitia","errorRequired","label","defaultLabel","useTranslation","Date","locale","useContext","SharedContext","errorMessages","useMemo","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","dateLimitValidator","validateDateLimit","minDate","maxDate","isRange","range","onBlurValidator","hasDateLimitAndValue","Boolean","preparedProps","fromInput","_ref2","date","start_date","end_date","validateInitially","exportValidators","_useFieldProps","useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","parseRangeValue","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","split","map","test","_ref3","dates","startDateParsed","endDateParsed","convertStringToDate","isoDates","toISOString","options","variant","isBefore","FormError","messageValues","isAfter","messages","datePickerPropKeys","reduce","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FormatDateOptions, formatDate } from '../../Value/Date'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const dateLimitValidator = useCallback(\n (value: string) => {\n const res = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return res\n },\n [props.maxDate, props.minDate, props.range, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateLimitValidator\n }, [props.onBlurValidator, dateLimitValidator])\n\n const hasDateLimitAndValue = useMemo(() => {\n return (props.minDate || props.maxDate) && Boolean(props.value)\n }, [props.minDate, props.maxDate, props.value])\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({\n date,\n start_date,\n end_date,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n return range ? `${start_date}|${end_date}` : date\n },\n validateRequired,\n validateInitially: props.validateInitially ?? hasDateLimitAndValue,\n onBlurValidator,\n exportValidators: { dateLimitValidator },\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nfunction parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n const minDate = convertStringToDate(dates.minDate)\n const maxDate = convertStringToDate(dates.maxDate)\n\n const startDate = convertStringToDate(startDateParsed)\n const endDate = convertStringToDate(endDateParsed)\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n return new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n }\n\n if (isAfter(startDate, maxDate)) {\n return new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n }\n\n return\n }\n\n const messages: Array<FormError> = []\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_Date","_DatePickerCalc","_utils2","_excluded","_excluded2","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","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","DateComponent","props","_props$validateInitia","errorRequired","label","defaultLabel","useTranslation","Date","locale","useContext","SharedContext","errorMessages","useMemo","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","dateLimitValidator","validateDateLimit","minDate","maxDate","isRange","range","onBlurValidator","hasDateLimitAndValue","Boolean","preparedProps","fromInput","_ref2","date","start_date","end_date","validateInitially","exportValidators","_useFieldProps","useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","parseRangeValue","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","split","map","test","_ref3","dates","startDateParsed","endDateParsed","convertStringToDate","isoDates","toISOString","options","variant","isBefore","FormError","messageValues","isAfter","messages","datePickerPropKeys","reduce","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FormatDateOptions, formatDate } from '../../Value/Date'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n | 'skipPortal'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const dateLimitValidator = useCallback(\n (value: string) => {\n const res = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return res\n },\n [props.maxDate, props.minDate, props.range, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateLimitValidator\n }, [props.onBlurValidator, dateLimitValidator])\n\n const hasDateLimitAndValue = useMemo(() => {\n return (props.minDate || props.maxDate) && Boolean(props.value)\n }, [props.minDate, props.maxDate, props.value])\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({\n date,\n start_date,\n end_date,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n return range ? `${start_date}|${end_date}` : date\n },\n validateRequired,\n validateInitially: props.validateInitially ?? hasDateLimitAndValue,\n onBlurValidator,\n exportValidators: { dateLimitValidator },\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nfunction parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n const minDate = convertStringToDate(dates.minDate)\n const maxDate = convertStringToDate(dates.maxDate)\n\n const startDate = convertStringToDate(startDateParsed)\n const endDate = convertStringToDate(endDateParsed)\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n return new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n }\n\n if (isAfter(startDate, maxDate)) {\n return new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n }\n\n return\n }\n\n const messages: Array<FormError> = []\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n 'skipPortal',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAMA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,WAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,QAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAJ,sBAAA,CAAAL,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AAKA,IAAAW,eAAA,GAAAX,OAAA;AAEA,IAAAY,OAAA,GAAAZ,OAAA;AAAuC,MAAAa,SAAA;EAAAC,UAAA;AAAA,SAAAT,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAApB,wBAAAgB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAe,QAAAC,MAAA,EAAAC,cAAA,QAAAH,IAAA,GAAA1B,MAAA,CAAA0B,IAAA,CAAAE,MAAA,OAAA5B,MAAA,CAAAqB,qBAAA,QAAAS,OAAA,GAAA9B,MAAA,CAAAqB,qBAAA,CAAAO,MAAA,GAAAC,cAAA,KAAAC,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhC,MAAA,CAAAE,wBAAA,CAAA0B,MAAA,EAAAI,GAAA,EAAAC,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAjB,KAAA,CAAAS,IAAA,EAAAI,OAAA,YAAAJ,IAAA;AAAA,SAAAS,cAAAvB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAc,OAAA,CAAA3B,MAAA,CAAAgB,MAAA,OAAAoB,OAAA,WAAAjC,GAAA,IAAAkC,eAAA,CAAAzB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAAsC,yBAAA,GAAAtC,MAAA,CAAAuC,gBAAA,CAAA3B,MAAA,EAAAZ,MAAA,CAAAsC,yBAAA,CAAAtB,MAAA,KAAAW,OAAA,CAAA3B,MAAA,CAAAgB,MAAA,GAAAoB,OAAA,WAAAjC,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAyB,gBAAAlD,GAAA,EAAAgB,GAAA,EAAAqC,KAAA,IAAArC,GAAA,GAAAsC,cAAA,CAAAtC,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAqC,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAxD,GAAA,CAAAgB,GAAA,IAAAqC,KAAA,WAAArD,GAAA;AAAA,SAAAsD,eAAAG,GAAA,QAAAzC,GAAA,GAAA0C,YAAA,CAAAD,GAAA,2BAAAzC,GAAA,gBAAAA,GAAA,GAAA2C,MAAA,CAAA3C,GAAA;AAAA,SAAA0C,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,CAAA3C,IAAA,CAAAyC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAsEvC,SAASS,aAAaA,CAACC,KAAgB,EAAE;EAAA,IAAAC,qBAAA;EACvC,MAAM;IAAEC,aAAa;IAAEC,KAAK,EAAEC;EAAa,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,IAAI;EACpE,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAE5C,MAAMC,aAAa,GAAG,IAAAC,cAAO,EAAC,MAAM;IAClC,OAAAjC,aAAA;MACE,qBAAqB,EAAEwB,aAAa;MACpC,oBAAoB,EAAEA;IAAa,GAChCF,KAAK,CAACU,aAAa;EAE1B,CAAC,EAAE,CAACV,KAAK,CAACU,aAAa,EAAER,aAAa,CAAC,CAAC;EAExC,MAAMU,MAAM,GAAG,IAAAD,cAAO,EACpB;IAAA,IAAAE,aAAA;IAAA,QAAAA,aAAA,GACEb,KAAK,CAACY,MAAM,cAAAC,aAAA,cAAAA,aAAA,GAAI;MACdC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEf,KAAK,CAACe;IACjB,CAAC;EAAA,GACH,CAACf,KAAK,CAACY,MAAM,EAAEZ,KAAK,CAACe,OAAO,CAC9B,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAClC,CAAClC,KAAa,EAAAmC,IAAA,KAA0B;IAAA,IAAxB;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAAF,IAAA;IACjC,IAAIC,QAAQ,KAAK,CAACpC,KAAK,IAAI,CAAC,IAAAsC,gBAAO,EAAC,IAAAC,iBAAQ,EAACvC,KAAK,CAAC,CAAC,CAAC,EAAE;MACrD,OAAOqC,KAAK;IACd;IAEA,OAAOzB,SAAS;EAClB,CAAC,EACD,EACF,CAAC;EAED,MAAM4B,kBAAkB,GAAG,IAAAN,kBAAW,EACnClC,KAAa,IAAK;IACjB,MAAMa,GAAG,GAAG4B,iBAAiB,CAAC;MAC5BzC,KAAK;MACLwB,MAAM;MACNkB,OAAO,EAAEzB,KAAK,CAACyB,OAAO;MACtBC,OAAO,EAAE1B,KAAK,CAAC0B,OAAO;MACtBC,OAAO,EAAE3B,KAAK,CAAC4B;IACjB,CAAC,CAAC;IAEF,OAAOhC,GAAG;EACZ,CAAC,EACD,CAACI,KAAK,CAAC0B,OAAO,EAAE1B,KAAK,CAACyB,OAAO,EAAEzB,KAAK,CAAC4B,KAAK,EAAErB,MAAM,CACpD,CAAC;EAED,MAAMsB,eAAe,GAAG,IAAAlB,cAAO,EAAC,MAAM;IACpC,IAAIX,KAAK,CAAC6B,eAAe,KAAK,KAAK,EAAE;MACnC,OAAOlC,SAAS;IAClB;IAEA,IAAIK,KAAK,CAAC6B,eAAe,EAAE;MACzB,OAAO7B,KAAK,CAAC6B,eAAe;IAC9B;IAEA,OAAON,kBAAkB;EAC3B,CAAC,EAAE,CAACvB,KAAK,CAAC6B,eAAe,EAAEN,kBAAkB,CAAC,CAAC;EAE/C,MAAMO,oBAAoB,GAAG,IAAAnB,cAAO,EAAC,MAAM;IACzC,OAAO,CAACX,KAAK,CAACyB,OAAO,IAAIzB,KAAK,CAAC0B,OAAO,KAAKK,OAAO,CAAC/B,KAAK,CAACjB,KAAK,CAAC;EACjE,CAAC,EAAE,CAACiB,KAAK,CAACyB,OAAO,EAAEzB,KAAK,CAAC0B,OAAO,EAAE1B,KAAK,CAACjB,KAAK,CAAC,CAAC;EAE/C,MAAMiD,aAAa,GAAAtD,aAAA,CAAAA,aAAA,KACdsB,KAAK;IACRU,aAAa;IACbE,MAAM;IACNqB,SAAS,EAAEC,KAAA,IAIiD;MAAA,IAJhD;QACVC,IAAI;QACJC,UAAU;QACVC;MACoD,CAAC,GAAAH,KAAA;MACrD,OAAON,KAAK,GAAI,GAAEQ,UAAW,IAAGC,QAAS,EAAC,GAAGF,IAAI;IACnD,CAAC;IACDnB,gBAAgB;IAChBsB,iBAAiB,GAAArC,qBAAA,GAAED,KAAK,CAACsC,iBAAiB,cAAArC,qBAAA,cAAAA,qBAAA,GAAI6B,oBAAoB;IAClED,eAAe;IACfU,gBAAgB,EAAE;MAAEhB;IAAmB;EAAC,EACzC;EAED,MAAAiB,cAAA,GAsBI,IAAAC,oBAAa,EAACT,aAAa,CAAC;IAtB1B;MACJU,EAAE;MACFC,IAAI;MACJC,QAAQ;MACRC,SAAS;MACT1C,KAAK;MACLpB,KAAK,EAAE+D,SAAS;MAChBC,QAAQ;MACRC,QAAQ;MACRC,cAAc;MACdC,WAAW;MACXC,UAAU;MACVC,YAAY;MACZC,eAAe;MACfzB,KAAK;MACL0B,gBAAgB,GAAG,IAAI;MACvBC,eAAe,GAAG,IAAI;MACtBC,SAAS,GAAG,IAAI;MAChBC,OAAO;MACPhC,OAAO;MACPC;IAEF,CAAC,GAAAc,cAAA;IADIkB,IAAI,GAAAjG,wBAAA,CAAA+E,cAAA,EAAAhH,SAAA;EAGT,MAAMmI,eAAe,GAAGC,mBAAmB,CAACF,IAAI,CAAC;EAEjD,MAAM;IAAE3E,KAAK;IAAE8E,SAAS;IAAEC;EAAQ,CAAC,GAAG,IAAAnD,cAAO,EAAC,MAAM;IAClD,IAAI,CAACiB,KAAK,IAAI,CAACkB,SAAS,EAAE;MACxB,OAAO;QAEL/D,KAAK,EAAE+D,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,IAAI;QACxBe,SAAS,EAAElE,SAAS;QACpBmE,OAAO,EAAEnE;MACX,CAAC;IACH;IAEA,MAAM,CAACkE,SAAS,EAAEC,OAAO,CAAC,GAAGC,eAAe,CAACjB,SAAS,CAAC;IAEvD,OAAO;MACL/D,KAAK,EAAEY,SAAS;MAChBkE,SAAS;MACTC;IACF,CAAC;EACH,CAAC,EAAE,CAAClC,KAAK,EAAEkB,SAAS,CAAC,CAAC;EAEtB,IAAAnC,cAAO,EAAC,MAAM;IACZ,IAAI,CAACgC,IAAI,IAAIC,QAAQ,KAAKE,SAAS,EAAE;MACnCO,eAAe,CAAC,IAAAW,gBAAU,EAAClB,SAAS,EAAE;QAAEvC;MAAO,CAAC,CAAC,EAAEZ,SAAS,CAAC;IAC/D;EACF,CAAC,EAAE,CAACiD,QAAQ,EAAErC,MAAM,EAAEoC,IAAI,EAAEU,eAAe,EAAEP,SAAS,CAAC,CAAC;EAExD,MAAMmB,eAAgC,GAAAvF,aAAA;IACpCwF,KAAK,EAAExB,EAAE;IACTvC,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIC,YAAY;IAC5ByC,SAAS,EAAE,IAAAsB,mBAAU,EAAC,wBAAwB,EAAEtB,SAAS;EAAC,GACvD,IAAAuB,uBAAgB,EAACpE,KAAK,CAAC,CAC3B;EAED,OACEvF,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACpJ,WAAA,CAAAW,OAAU,EAAKqI,eAAe,EAC7BxJ,MAAA,CAAAmB,OAAA,CAAAyI,aAAA,CAACzJ,WAAA,CAAA0J,UAAU,EAAAtH,QAAA;IACT0F,EAAE,EAAEA,EAAG;IACPP,IAAI,EAAEpD,KAAM;IACZiE,QAAQ,EAAEA,QAAS;IACnBQ,SAAS,EAAEA,SAAU;IACrBF,gBAAgB,EAAEA,gBAAiB;IACnCC,eAAe,EAAEA,eAAgB;IACjCM,SAAS,EAAEA,SAAU;IACrBC,OAAO,EAAEA,OAAQ;IACjBrC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjB6C,MAAM,EAAExB,QAAQ,GAAG,OAAO,GAAGpD,SAAU;IACvCiC,KAAK,EAAEA,KAAM;IACb4C,QAAQ,EAAEpB,YAAa;IACvBK,OAAO,EAAGgB,KAAK,IAAK;MAClBrB,YAAY,CAACqB,KAAK,CAAC;MACnBhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGgB,KAAK,CAAC;IAClB,CAAE;IACFC,OAAO,EAAExB,WAAY;IACrByB,MAAM,EAAExB;EAAW,GACfQ,eAAe,EACfV,cAAc,CACnB,CACS,CAAC;AAEjB;AAEA,SAASc,eAAeA,CAAChF,KAAyB,EAAE;EAClD,OACEA,KAAK,CACF6F,KAAK,CAAC,GAAG,CAAC,CAEVC,GAAG,CAAE9F,KAAK,IAAM,kBAAkB,CAAC+F,IAAI,CAAC/F,KAAK,CAAC,GAAG,IAAI,GAAGA,KAAM,CAAC;AAEtE;AAEA,SAASyC,iBAAiBA,CAAAuD,KAAA,EAWvB;EAAA,IAXwB;MACzBhG,KAAK;MACL4C,OAAO;MACPpB;IAQF,CAAC,GAAAwE,KAAA;IAPIC,KAAK,GAAAvH,wBAAA,CAAAsH,KAAA,EAAAtJ,UAAA;EAQR,IAAK,CAACuJ,KAAK,CAACvD,OAAO,IAAI,CAACuD,KAAK,CAACtD,OAAO,IAAK,CAAC3C,KAAK,EAAE;IAChD;EACF;EAEA,MAAM,CAACkG,eAAe,EAAEC,aAAa,CAAC,GAAGnB,eAAe,CAAChF,KAAK,CAAC;EAE/D,MAAM0C,OAAO,GAAG,IAAA0D,mCAAmB,EAACH,KAAK,CAACvD,OAAO,CAAC;EAClD,MAAMC,OAAO,GAAG,IAAAyD,mCAAmB,EAACH,KAAK,CAACtD,OAAO,CAAC;EAElD,MAAMmC,SAAS,GAAG,IAAAsB,mCAAmB,EAACF,eAAe,CAAC;EACtD,MAAMnB,OAAO,GAAG,IAAAqB,mCAAmB,EAACD,aAAa,CAAC;EAElD,MAAME,QAAQ,GAAG;IACf3D,OAAO,EACLuD,KAAK,CAACvD,OAAO,YAAYnB,IAAI,GACzB0E,KAAK,CAACvD,OAAO,CAAC4D,WAAW,CAAC,CAAC,GAC3BL,KAAK,CAACvD,OAAO;IACnBC,OAAO,EACLsD,KAAK,CAACtD,OAAO,YAAYpB,IAAI,GACzB0E,KAAK,CAACtD,OAAO,CAAC2D,WAAW,CAAC,CAAC,GAC3BL,KAAK,CAACtD;EACd,CAAC;EAED,MAAM4D,OAA0B,GAAG;IACjC/E,MAAM;IACNgF,OAAO,EAAE;EACX,CAAC;EAGD,IAAI,CAAC5D,OAAO,EAAE;IACZ,IAAI,IAAA6D,iBAAQ,EAAC3B,SAAS,EAAEpC,OAAO,CAAC,EAAE;MAChC,OAAO,IAAIgE,iBAAS,CAAC,mBAAmB,EAAE;QACxCC,aAAa,EAAE;UAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC3D,OAAO,EAAE6D,OAAO;QAAE;MAC/D,CAAC,CAAC;IACJ;IAEA,IAAI,IAAAK,gBAAO,EAAC9B,SAAS,EAAEnC,OAAO,CAAC,EAAE;MAC/B,OAAO,IAAI+D,iBAAS,CAAC,mBAAmB,EAAE;QACxCC,aAAa,EAAE;UAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC1D,OAAO,EAAE4D,OAAO;QAAE;MAC/D,CAAC,CAAC;IACJ;IAEA;EACF;EAEA,MAAMM,QAA0B,GAAG,EAAE;EAGrC,IAAI,IAAAJ,iBAAQ,EAAC3B,SAAS,EAAEpC,OAAO,CAAC,EAAE;IAChCmE,QAAQ,CAACnH,IAAI,CACX,IAAIgH,iBAAS,CAAC,4BAA4B,EAAE;MAC1CC,aAAa,EAAE;QAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC3D,OAAO,EAAE6D,OAAO;MAAE;IAC/D,CAAC,CACH,CAAC;EACH;EAEA,IAAI,IAAAK,gBAAO,EAAC9B,SAAS,EAAEnC,OAAO,CAAC,EAAE;IAC/BkE,QAAQ,CAACnH,IAAI,CACX,IAAIgH,iBAAS,CAAC,4BAA4B,EAAE;MAC1CC,aAAa,EAAE;QAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC1D,OAAO,EAAE4D,OAAO;MAAE;IAC/D,CAAC,CACH,CAAC;EACH;EAGA,IAAI,IAAAE,iBAAQ,EAAC1B,OAAO,EAAErC,OAAO,CAAC,EAAE;IAC9BmE,QAAQ,CAACnH,IAAI,CACX,IAAIgH,iBAAS,CAAC,0BAA0B,EAAE;MACxCC,aAAa,EAAE;QAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC3D,OAAO,EAAE6D,OAAO;MAAE;IAC/D,CAAC,CACH,CAAC;EACH;EAEA,IAAI,IAAAK,gBAAO,EAAC7B,OAAO,EAAEpC,OAAO,CAAC,EAAE;IAC7BkE,QAAQ,CAACnH,IAAI,CACX,IAAIgH,iBAAS,CAAC,0BAA0B,EAAE;MACxCC,aAAa,EAAE;QAAEvD,IAAI,EAAE,IAAA6B,gBAAU,EAACoB,QAAQ,CAAC1D,OAAO,EAAE4D,OAAO;MAAE;IAC/D,CAAC,CACH,CAAC;EACH;EAEA,OAAOM,QAAQ;AACjB;AAIA,MAAMC,kBAAkB,GAAG,CACzB,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,cAAc,EACd,WAAW,EACX,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,CACb;AAED,SAASjC,mBAAmBA,CAAC5D,KAAgB,EAAE;EAC7C,MAAM2D,eAAe,GAAGpH,MAAM,CAAC0B,IAAI,CAAC+B,KAAK,CAAC,CAAC8F,MAAM,CAC/C,CAACnC,eAAe,EAAEjH,GAAG,KAAK;IACxB,IAAImJ,kBAAkB,CAACE,QAAQ,CAACrJ,GAAG,CAAC,EAAE;MACpCiH,eAAe,CAACjH,GAAG,CAAC,GAAGsD,KAAK,CAACtD,GAAG,CAAC;IACnC;IAEA,OAAOiH,eAAe;EACxB,CAAC,EACD,CAAC,CACH,CAAC;EAED,OAAOA,eAAe;AACxB;AAEA5D,aAAa,CAACiG,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC3BlG,aAAa;AAAAmG,OAAA,CAAAtK,OAAA,GAAAqK,QAAA"}
@@ -13,6 +13,7 @@ var _Slider = _interopRequireDefault(require("../../../../components/Slider"));
13
13
  var _utils = require("../../../../components/flex/utils");
14
14
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
15
15
  var _useDataValue = _interopRequireDefault(require("../../hooks/useDataValue"));
16
+ var _shared = require("../../../../shared");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
@@ -25,6 +26,12 @@ function SliderComponent(props) {
25
26
  var _ref, _ref2, _props$paths;
26
27
  const dataContextRef = (0, _react.useRef)();
27
28
  dataContextRef.current = (0, _react.useContext)(_Context.default);
29
+ const {
30
+ Slider: {
31
+ addTitle: addTitleLabel,
32
+ subtractTitle: subtractTitleLabel
33
+ }
34
+ } = (0, _shared.useTranslation)();
28
35
  const {
29
36
  getSourceValue
30
37
  } = (0, _useDataValue.default)();
@@ -53,10 +60,10 @@ function SliderComponent(props) {
53
60
  vertical,
54
61
  reverse,
55
62
  hideButtons,
56
- multiThumbBehavior,
63
+ multiThumbBehavior = 'swap',
57
64
  thumbTitle,
58
- subtractTitle,
59
- addTitle,
65
+ subtractTitle = subtractTitleLabel,
66
+ addTitle = addTitleLabel,
60
67
  numberFormat,
61
68
  tooltip,
62
69
  alwaysShowTooltip,
@@ -88,10 +95,12 @@ function SliderComponent(props) {
88
95
  handleChange === null || handleChange === void 0 ? void 0 : handleChange(value);
89
96
  }, [handleChange, props.paths]);
90
97
  const fieldBlockProps = _objectSpread({
91
- forId: id,
98
+ id: id,
99
+ forId: `${id}-slider-thumb-0`,
92
100
  width
93
101
  }, (0, _utils.pickSpacingProps)(props));
94
102
  const sliderProps = {
103
+ id: `${id}-slider`,
95
104
  value,
96
105
  step,
97
106
  min,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_SliderHelpers","_Slider","_utils","_Context","_useDataValue","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SliderComponent","props","_ref","_ref2","_props$paths","dataContextRef","useRef","current","useContext","DataContext","getSourceValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","defaultValue","preparedProps","step","min","max","id","itemPath","width","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","useFieldProps","omitMultiplePathWarning","useMemo","number","getFormattedNumber","handleLocalChange","_ref3","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","on_change","on_drag_start","on_drag_end","stretch","createElement","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n}\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(\n props.paths ?? props.path ?? props.value ?? props.defaultValue\n )\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n itemPath,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if ((path || itemPath) && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(number)\n }\n }, [itemPath, numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_SliderHelpers","_Slider","_utils","_Context","_useDataValue","_shared","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SliderComponent","props","_ref","_ref2","_props$paths","dataContextRef","useRef","current","useContext","DataContext","Slider","addTitle","addTitleLabel","subtractTitle","subtractTitleLabel","useSharedTranslation","getSourceValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","defaultValue","preparedProps","step","min","max","id","itemPath","width","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","useFieldProps","omitMultiplePathWarning","useMemo","number","getFormattedNumber","handleLocalChange","_ref3","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","on_change","on_drag_start","on_drag_end","stretch","createElement","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n}\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n const {\n Slider: { addTitle: addTitleLabel, subtractTitle: subtractTitleLabel },\n } = useSharedTranslation()\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(\n props.paths ?? props.path ?? props.value ?? props.defaultValue\n )\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n itemPath,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior = 'swap',\n thumbTitle,\n subtractTitle = subtractTitleLabel,\n addTitle = addTitleLabel,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if ((path || itemPath) && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(number)\n }\n }, [itemPath, numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n id: id,\n forId: `${id}-slider-thumb-0`,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n id: `${id}-slider`,\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -175,7 +175,8 @@ function UploadComponent(props) {
175
175
  })) : labelDescription !== null && labelDescription !== void 0 ? labelDescription : text
176
176
  }, htmlAttributes), help && _react.default.createElement(_HelpButtonInline.HelpButtonInlineContent, {
177
177
  contentId: `${id}-help`,
178
- help: help
178
+ help: help,
179
+ roundedCorner: false
179
180
  })));
180
181
  }
181
182
  var _default = UploadComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_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","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","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","newFiles","includes","newValidFiles","newFilesLoading","isLoading","incomingFiles","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","_default","exports","_supportsSpacingProps","Array","isArray","File"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...newFilesLoading,\n ...filesRef.current.slice(\n indexOfFirstNewFile + newFilesLoading.length\n ),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'])\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_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","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","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","newFiles","includes","newValidFiles","newFilesLoading","isLoading","incomingFiles","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","roundedCorner","_default","exports","_supportsSpacingProps","Array","isArray","File"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...newFilesLoading,\n ...filesRef.current.slice(\n indexOfFirstNewFile + newFilesLoading.length\n ),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n help={help}\n roundedCorner={false}\n />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'])\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  .dnb-forms-field-upload .dnb-help-button__content .dnb-section {
2
+ --outset-left: calc(var(--spacing-medium));
3
+ --outset-right: calc(var(--spacing-medium));
2
4
  margin-left: var(--upload-border-width);
3
5
  margin-right: var(--upload-border-width);
6
+ }
7
+ .dnb-forms-field-upload .dnb-help-button__content .dnb-section::before {
8
+ z-index: 0;
4
9
  }
@@ -1 +1 @@
1
- .dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}
1
+ .dnb-forms-field-upload .dnb-help-button__content .dnb-section{--outset-left:calc(var(--spacing-medium));--outset-right:calc(var(--spacing-medium));margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}.dnb-forms-field-upload .dnb-help-button__content .dnb-section:before{z-index:0}
@@ -1,8 +1,14 @@
1
1
  .dnb-forms-field-upload {
2
2
  .dnb-help-button__content {
3
3
  .dnb-section {
4
+ --outset-left: calc(var(--spacing-medium));
5
+ --outset-right: calc(var(--spacing-medium));
6
+
4
7
  margin-left: var(--upload-border-width);
5
8
  margin-right: var(--upload-border-width);
9
+ &::before {
10
+ z-index: 0;
11
+ }
6
12
  }
7
13
  }
8
14
  }
@@ -58,7 +58,7 @@ function FieldBlock(props) {
58
58
  required,
59
59
  info,
60
60
  warning,
61
- error: errorProp,
61
+ error,
62
62
  disableStatusSummary,
63
63
  fieldState,
64
64
  disabled,
@@ -73,6 +73,9 @@ function FieldBlock(props) {
73
73
  rest = _objectWithoutProperties(_Object$assign, _excluded);
74
74
  const hasCustomWidth = /\d(rem)$/.test(String(width));
75
75
  const hasCustomContentWidth = /\d(rem)$/.test(String(contentWidth));
76
+ const infoRef = (0, _react.useRef)();
77
+ const warningRef = (0, _react.useRef)();
78
+ const errorRef = (0, _react.useRef)();
76
79
  const blockId = (0, _useId.default)(props.id);
77
80
  const [salt, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
78
81
  const mountedFieldsRef = (0, _react.useRef)({});
@@ -80,9 +83,7 @@ function FieldBlock(props) {
80
83
  const stateRecordRef = (0, _react.useRef)({});
81
84
  const fieldStateIdsRef = (0, _react.useRef)(null);
82
85
  const contentsRef = (0, _react.useRef)(null);
83
- const hasInitiallyErrorProp = (0, _react.useMemo)(() => {
84
- return Boolean(errorProp);
85
- }, []);
86
+ const hasInitiallyErrorPropRef = (0, _react.useRef)(Boolean(error));
86
87
  const label = (0, _useIItemNo.useIterateItemNo)({
87
88
  label: labelProp,
88
89
  labelSuffix,
@@ -144,15 +145,17 @@ function FieldBlock(props) {
144
145
  }
145
146
  }, [nestedFieldBlockContext]);
146
147
  const statusContent = (0, _react.useMemo)(() => {
147
- if (typeof errorProp !== 'undefined') {
148
+ if (typeof error !== 'undefined' || errorRef.current && !error) {
149
+ errorRef.current = error;
148
150
  setInternalRecord({
149
151
  identifier: blockId,
150
- showInitially: hasInitiallyErrorProp,
152
+ showInitially: hasInitiallyErrorPropRef.current,
151
153
  type: 'error',
152
- content: errorProp
154
+ content: error
153
155
  });
154
156
  }
155
- if (typeof warning !== 'undefined') {
157
+ if (typeof warning !== 'undefined' || warningRef.current !== warning) {
158
+ warningRef.current = warning;
156
159
  setInternalRecord({
157
160
  identifier: blockId,
158
161
  showInitially: true,
@@ -160,7 +163,8 @@ function FieldBlock(props) {
160
163
  content: warning
161
164
  });
162
165
  }
163
- if (typeof info !== 'undefined') {
166
+ if (typeof info !== 'undefined' || infoRef.current !== info) {
167
+ infoRef.current = info;
164
168
  setInternalRecord({
165
169
  identifier: blockId,
166
170
  showInitially: true,
@@ -242,12 +246,12 @@ function FieldBlock(props) {
242
246
  }
243
247
  return acc;
244
248
  }, salt);
245
- }, [errorProp, warning, info, salt, setInternalRecord, blockId, hasInitiallyErrorProp, props.id, forId, label]);
249
+ }, [error, warning, info, salt, setInternalRecord, blockId, props.id, forId, label]);
246
250
  (0, _react.useEffect)(() => {
247
251
  if (!nestedFieldBlockContext) {
248
- showFieldError(blockId, Boolean(errorProp));
252
+ showFieldError(blockId, Boolean(error));
249
253
  }
250
- }, [errorProp, blockId, showFieldError, nestedFieldBlockContext]);
254
+ }, [error, blockId, showFieldError, nestedFieldBlockContext]);
251
255
  (0, _react.useEffect)(() => () => {
252
256
  mountedFieldsRef.current = {};
253
257
  stateRecordRef.current = {};
@@ -300,7 +304,7 @@ function FieldBlock(props) {
300
304
  setBlockRecord,
301
305
  setFieldState,
302
306
  showFieldError,
303
- hasErrorProp: Boolean(errorProp),
307
+ hasErrorProp: Boolean(error),
304
308
  fieldStateIdsRef,
305
309
  mountedFieldsRef,
306
310
  composition,