@dnb/eufemia 10.46.0 → 10.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (894) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/cjs/components/accordion/Accordion.d.ts +17 -1
  3. package/cjs/components/accordion/Accordion.js +4 -2
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContext.d.ts +4 -0
  6. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  7. package/cjs/components/accordion/AccordionDocs.js +6 -1
  8. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  9. package/cjs/components/accordion/AccordionGroup.js +5 -3
  10. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  11. package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
  12. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  13. package/cjs/components/accordion/AccordionStore.js +2 -1
  14. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  16. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  17. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  18. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  19. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  20. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  21. package/cjs/components/button/Button.d.ts +1 -1
  22. package/cjs/components/button/Button.js +5 -2
  23. package/cjs/components/button/Button.js.map +1 -1
  24. package/cjs/components/card/style/dnb-card.css +1 -1
  25. package/cjs/components/card/style/dnb-card.min.css +1 -1
  26. package/cjs/components/copy-on-click/CopyOnClick.d.ts +1 -1
  27. package/cjs/components/copy-on-click/CopyOnClick.js +5 -4
  28. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
  29. package/cjs/components/copy-on-click/CopyOnClickDocs.js +5 -0
  30. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  31. package/cjs/components/copy-on-click/types.d.ts +5 -0
  32. package/cjs/components/copy-on-click/types.js.map +1 -1
  33. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  34. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  35. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  36. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  37. package/cjs/components/flex/Container.js +9 -1
  38. package/cjs/components/flex/Container.js.map +1 -1
  39. package/cjs/components/flex/utils.d.ts +1 -1
  40. package/cjs/components/flex/utils.js +1 -1
  41. package/cjs/components/flex/utils.js.map +1 -1
  42. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  43. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  44. package/cjs/components/grid/style/dnb-grid.css +6 -6
  45. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  46. package/cjs/components/lib.d.ts +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  48. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  49. package/cjs/components/section/style/dnb-section.css +2 -2
  50. package/cjs/components/section/style/dnb-section.min.css +2 -2
  51. package/cjs/components/space/style/dnb-space.css +2 -2
  52. package/cjs/components/space/style/dnb-space.min.css +1 -1
  53. package/cjs/components/tabs/Tabs.js +2 -2
  54. package/cjs/components/tabs/Tabs.js.map +1 -1
  55. package/cjs/components/tag/Tag.js +2 -2
  56. package/cjs/components/tag/Tag.js.map +1 -1
  57. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  58. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  59. package/cjs/extensions/forms/DataContext/Context.d.ts +9 -5
  60. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  61. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  62. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  63. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  64. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  65. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
  66. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  67. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  68. package/cjs/extensions/forms/DataContext/Provider/Provider.js +36 -16
  69. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  70. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  71. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  72. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  73. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  74. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  75. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
  76. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  77. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  78. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
  80. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  81. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  82. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -11
  83. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  84. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  86. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  87. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  88. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  89. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  90. package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
  91. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  93. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  94. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +20 -1
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  97. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  98. package/cjs/extensions/forms/Form/Section/Section.d.ts +7 -2
  99. package/cjs/extensions/forms/Form/Section/Section.js +3 -1
  100. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  101. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  102. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  103. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  104. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  105. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  107. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  110. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  111. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  112. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  113. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  114. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  115. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/Array/Array.js +71 -28
  117. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  119. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  121. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.js → Array/ArrayItemArea.js} +66 -49
  122. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  123. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  124. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlockContext.js → Array/ArrayItemAreaContext.js} +3 -3
  125. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  126. package/cjs/extensions/forms/Iterate/Array/types.d.ts +7 -5
  127. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  129. package/cjs/extensions/forms/Iterate/EditContainer/{EditToolbarTools.js → CancelButton.js} +30 -56
  130. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  131. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  132. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +75 -0
  133. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  134. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  135. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +33 -12
  136. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Iterate/EditContainer/index.js +19 -1
  141. package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  142. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  143. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  145. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  146. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  148. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -24
  149. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  151. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  153. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  155. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -6
  156. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  158. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js +12 -0
  159. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  160. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  161. package/cjs/extensions/forms/Iterate/ViewContainer/{ViewToolbarTools.js → EditButton.js} +8 -11
  162. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  163. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  164. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +19 -0
  165. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  166. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  167. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +25 -10
  168. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  169. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  170. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  171. package/cjs/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  172. package/cjs/extensions/forms/Iterate/ViewContainer/index.js +19 -1
  173. package/cjs/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  174. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  175. package/cjs/extensions/forms/Iterate/hooks/index.js +21 -0
  176. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -0
  177. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  178. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +93 -0
  179. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  180. package/cjs/extensions/forms/Tools/Log.d.ts +6 -0
  181. package/cjs/extensions/forms/Tools/Log.js +29 -0
  182. package/cjs/extensions/forms/Tools/Log.js.map +1 -0
  183. package/cjs/extensions/forms/Tools/index.d.ts +1 -0
  184. package/cjs/extensions/forms/Tools/index.js +7 -0
  185. package/cjs/extensions/forms/Tools/index.js.map +1 -1
  186. package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
  187. package/cjs/extensions/forms/Value/Date/Date.js +15 -5
  188. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  189. package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
  190. package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  191. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  192. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  193. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
  194. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  195. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  196. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  197. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  198. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  199. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  200. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  201. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  202. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  203. package/cjs/extensions/forms/constants/countries.d.ts +5 -2
  204. package/cjs/extensions/forms/constants/countries.js +81 -25
  205. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  206. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  207. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  208. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  209. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  210. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  211. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  212. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  213. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  214. package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -5
  215. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
  217. package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
  218. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  219. package/cjs/extensions/forms/hooks/useExternalValue.js +8 -6
  220. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  222. package/cjs/extensions/forms/hooks/useFieldProps.js +317 -121
  223. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  224. package/cjs/extensions/forms/hooks/usePath.d.ts +1 -0
  225. package/cjs/extensions/forms/hooks/usePath.js +5 -1
  226. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  227. package/cjs/extensions/forms/style/dnb-forms.css +13 -10
  228. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  229. package/cjs/extensions/forms/types.d.ts +32 -2
  230. package/cjs/extensions/forms/types.js.map +1 -1
  231. package/cjs/shared/Eufemia.d.ts +1 -1
  232. package/cjs/shared/Eufemia.js +2 -2
  233. package/cjs/shared/Eufemia.js.map +1 -1
  234. package/cjs/style/core/scopes.scss +1 -1
  235. package/cjs/style/core/utilities.scss +3 -6
  236. package/cjs/style/dnb-ui-basis.css +1 -1
  237. package/cjs/style/dnb-ui-basis.min.css +1 -1
  238. package/cjs/style/dnb-ui-body.css +1 -1
  239. package/cjs/style/dnb-ui-body.min.css +1 -1
  240. package/cjs/style/dnb-ui-components.css +37 -34
  241. package/cjs/style/dnb-ui-components.min.css +5 -5
  242. package/cjs/style/dnb-ui-core.css +1 -1
  243. package/cjs/style/dnb-ui-core.min.css +1 -1
  244. package/cjs/style/dnb-ui-elements.css +1 -1
  245. package/cjs/style/dnb-ui-elements.min.css +1 -1
  246. package/cjs/style/dnb-ui-extensions.css +13 -10
  247. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  248. package/cjs/style/dnb-ui-forms.css +13 -10
  249. package/cjs/style/dnb-ui-forms.min.css +1 -1
  250. package/cjs/style/dnb-ui-fragments.css +2 -2
  251. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  252. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  253. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  254. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  264. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  272. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  273. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  274. package/cjs/style/themes/theme-ui/ui-theme-components.css +51 -45
  275. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  276. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  278. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  279. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-ui/ui-theme-forms.css +13 -10
  281. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  282. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  283. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  284. package/components/accordion/Accordion.d.ts +17 -1
  285. package/components/accordion/Accordion.js +4 -2
  286. package/components/accordion/Accordion.js.map +1 -1
  287. package/components/accordion/AccordionContext.d.ts +4 -0
  288. package/components/accordion/AccordionContext.js.map +1 -1
  289. package/components/accordion/AccordionDocs.js +6 -1
  290. package/components/accordion/AccordionDocs.js.map +1 -1
  291. package/components/accordion/AccordionGroup.js +5 -3
  292. package/components/accordion/AccordionGroup.js.map +1 -1
  293. package/components/accordion/AccordionProviderContext.d.ts +4 -0
  294. package/components/accordion/AccordionProviderContext.js.map +1 -1
  295. package/components/accordion/AccordionStore.js +2 -1
  296. package/components/accordion/AccordionStore.js.map +1 -1
  297. package/components/accordion/style/dnb-accordion.css +3 -3
  298. package/components/accordion/style/dnb-accordion.min.css +1 -1
  299. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  300. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  301. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  302. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  303. package/components/button/Button.d.ts +1 -1
  304. package/components/button/Button.js +5 -2
  305. package/components/button/Button.js.map +1 -1
  306. package/components/card/style/dnb-card.css +1 -1
  307. package/components/card/style/dnb-card.min.css +1 -1
  308. package/components/copy-on-click/CopyOnClick.d.ts +1 -1
  309. package/components/copy-on-click/CopyOnClick.js +5 -4
  310. package/components/copy-on-click/CopyOnClick.js.map +1 -1
  311. package/components/copy-on-click/CopyOnClickDocs.js +5 -0
  312. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  313. package/components/copy-on-click/types.d.ts +5 -0
  314. package/components/copy-on-click/types.js.map +1 -1
  315. package/components/drawer/style/dnb-drawer.css +3 -3
  316. package/components/drawer/style/dnb-drawer.min.css +1 -1
  317. package/components/dropdown/style/dnb-dropdown.css +1 -1
  318. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  319. package/components/flex/Container.js +10 -2
  320. package/components/flex/Container.js.map +1 -1
  321. package/components/flex/utils.d.ts +1 -1
  322. package/components/flex/utils.js +1 -1
  323. package/components/flex/utils.js.map +1 -1
  324. package/components/form-row/style/dnb-form-row.css +1 -1
  325. package/components/form-row/style/dnb-form-row.min.css +1 -1
  326. package/components/grid/style/dnb-grid.css +6 -6
  327. package/components/grid/style/dnb-grid.min.css +1 -1
  328. package/components/lib.d.ts +1 -1
  329. package/components/progress-indicator/ProgressIndicator.js +2 -2
  330. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  331. package/components/section/style/dnb-section.css +2 -2
  332. package/components/section/style/dnb-section.min.css +2 -2
  333. package/components/space/style/dnb-space.css +2 -2
  334. package/components/space/style/dnb-space.min.css +1 -1
  335. package/components/tabs/Tabs.js +2 -2
  336. package/components/tabs/Tabs.js.map +1 -1
  337. package/components/tag/Tag.js +2 -2
  338. package/components/tag/Tag.js.map +1 -1
  339. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  340. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  341. package/es/components/accordion/Accordion.d.ts +17 -1
  342. package/es/components/accordion/Accordion.js +4 -2
  343. package/es/components/accordion/Accordion.js.map +1 -1
  344. package/es/components/accordion/AccordionContext.d.ts +4 -0
  345. package/es/components/accordion/AccordionContext.js.map +1 -1
  346. package/es/components/accordion/AccordionDocs.js +6 -1
  347. package/es/components/accordion/AccordionDocs.js.map +1 -1
  348. package/es/components/accordion/AccordionGroup.js +5 -3
  349. package/es/components/accordion/AccordionGroup.js.map +1 -1
  350. package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
  351. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  352. package/es/components/accordion/AccordionStore.js +2 -1
  353. package/es/components/accordion/AccordionStore.js.map +1 -1
  354. package/es/components/accordion/style/dnb-accordion.css +3 -3
  355. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  356. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  357. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  358. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  359. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  360. package/es/components/button/Button.d.ts +1 -1
  361. package/es/components/button/Button.js +5 -2
  362. package/es/components/button/Button.js.map +1 -1
  363. package/es/components/card/style/dnb-card.css +1 -1
  364. package/es/components/card/style/dnb-card.min.css +1 -1
  365. package/es/components/copy-on-click/CopyOnClick.d.ts +1 -1
  366. package/es/components/copy-on-click/CopyOnClick.js +5 -4
  367. package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
  368. package/es/components/copy-on-click/CopyOnClickDocs.js +5 -0
  369. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  370. package/es/components/copy-on-click/types.d.ts +5 -0
  371. package/es/components/copy-on-click/types.js.map +1 -1
  372. package/es/components/drawer/style/dnb-drawer.css +3 -3
  373. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  374. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  375. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  376. package/es/components/flex/Container.js +10 -2
  377. package/es/components/flex/Container.js.map +1 -1
  378. package/es/components/flex/utils.d.ts +1 -1
  379. package/es/components/flex/utils.js +1 -1
  380. package/es/components/flex/utils.js.map +1 -1
  381. package/es/components/form-row/style/dnb-form-row.css +1 -1
  382. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  383. package/es/components/grid/style/dnb-grid.css +6 -6
  384. package/es/components/grid/style/dnb-grid.min.css +1 -1
  385. package/es/components/lib.d.ts +1 -1
  386. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  387. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  388. package/es/components/section/style/dnb-section.css +2 -2
  389. package/es/components/section/style/dnb-section.min.css +2 -2
  390. package/es/components/space/style/dnb-space.css +2 -2
  391. package/es/components/space/style/dnb-space.min.css +1 -1
  392. package/es/components/tabs/Tabs.js +2 -2
  393. package/es/components/tabs/Tabs.js.map +1 -1
  394. package/es/components/tag/Tag.js +2 -2
  395. package/es/components/tag/Tag.js.map +1 -1
  396. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  397. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  398. package/es/extensions/forms/DataContext/Context.d.ts +9 -5
  399. package/es/extensions/forms/DataContext/Context.js +0 -1
  400. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  401. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  402. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  403. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  404. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -5
  405. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  406. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  407. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -16
  408. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  409. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  410. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  411. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  412. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  413. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  414. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  415. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  416. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  417. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  418. package/es/extensions/forms/Field/Slider/Slider.js +7 -7
  419. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  420. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  421. package/es/extensions/forms/FieldBlock/FieldBlock.js +33 -11
  422. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  423. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  424. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  425. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  426. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  427. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  428. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  429. package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
  430. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  431. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  432. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  433. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  434. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  435. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  436. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  437. package/es/extensions/forms/Form/Section/Section.d.ts +7 -2
  438. package/es/extensions/forms/Form/Section/Section.js +3 -1
  439. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  440. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  441. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  442. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  443. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  444. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  445. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  446. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  447. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  448. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  449. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  450. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  451. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  452. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  453. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  454. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  455. package/es/extensions/forms/Iterate/Array/Array.js +71 -29
  456. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  457. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  458. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  459. package/es/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  460. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  461. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  462. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  463. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  464. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  465. package/es/extensions/forms/Iterate/Array/types.d.ts +7 -5
  466. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  467. package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  468. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +87 -0
  469. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  470. package/es/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  471. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
  472. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  473. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  474. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  475. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  476. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  477. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  478. package/es/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  479. package/es/extensions/forms/Iterate/EditContainer/index.js +2 -0
  480. package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  481. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  482. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  483. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  484. package/es/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  485. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  486. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  487. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -23
  488. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  489. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  490. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  491. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  492. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  493. package/es/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  494. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +51 -7
  495. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  496. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  497. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  498. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  499. package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  500. package/{extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → es/extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  501. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  502. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  503. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  504. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  505. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  506. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  507. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  508. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  509. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  510. package/es/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  511. package/es/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  512. package/es/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  513. package/es/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  514. package/es/extensions/forms/Iterate/hooks/index.js +3 -0
  515. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -0
  516. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  517. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +85 -0
  518. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  519. package/es/extensions/forms/Tools/Log.d.ts +6 -0
  520. package/es/extensions/forms/Tools/Log.js +22 -0
  521. package/es/extensions/forms/Tools/Log.js.map +1 -0
  522. package/es/extensions/forms/Tools/index.d.ts +1 -0
  523. package/es/extensions/forms/Tools/index.js +1 -0
  524. package/es/extensions/forms/Tools/index.js.map +1 -1
  525. package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
  526. package/es/extensions/forms/Value/Date/Date.js +15 -5
  527. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  528. package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
  529. package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  530. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  531. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  532. package/es/extensions/forms/Wizard/Container/WizardContainer.js +18 -7
  533. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  534. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  535. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  536. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  537. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  538. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  539. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  540. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  541. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  542. package/es/extensions/forms/constants/countries.d.ts +5 -2
  543. package/es/extensions/forms/constants/countries.js +81 -25
  544. package/es/extensions/forms/constants/countries.js.map +1 -1
  545. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  546. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  547. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  548. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  549. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  550. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  551. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  552. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  553. package/es/extensions/forms/hooks/DataValueDocs.js +10 -5
  554. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  555. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
  556. package/es/extensions/forms/hooks/useDataValue.js +7 -7
  557. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  558. package/es/extensions/forms/hooks/useExternalValue.js +8 -6
  559. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  560. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  561. package/es/extensions/forms/hooks/useFieldProps.js +309 -119
  562. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  563. package/es/extensions/forms/hooks/usePath.d.ts +1 -0
  564. package/es/extensions/forms/hooks/usePath.js +5 -1
  565. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  566. package/es/extensions/forms/style/dnb-forms.css +13 -10
  567. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  568. package/es/extensions/forms/types.d.ts +32 -2
  569. package/es/extensions/forms/types.js.map +1 -1
  570. package/es/shared/Eufemia.d.ts +1 -1
  571. package/es/shared/Eufemia.js +2 -2
  572. package/es/shared/Eufemia.js.map +1 -1
  573. package/es/style/core/scopes.scss +1 -1
  574. package/es/style/core/utilities.scss +3 -6
  575. package/es/style/dnb-ui-basis.css +1 -1
  576. package/es/style/dnb-ui-basis.min.css +1 -1
  577. package/es/style/dnb-ui-body.css +1 -1
  578. package/es/style/dnb-ui-body.min.css +1 -1
  579. package/es/style/dnb-ui-components.css +37 -34
  580. package/es/style/dnb-ui-components.min.css +5 -5
  581. package/es/style/dnb-ui-core.css +1 -1
  582. package/es/style/dnb-ui-core.min.css +1 -1
  583. package/es/style/dnb-ui-elements.css +1 -1
  584. package/es/style/dnb-ui-elements.min.css +1 -1
  585. package/es/style/dnb-ui-extensions.css +13 -10
  586. package/es/style/dnb-ui-extensions.min.css +1 -1
  587. package/es/style/dnb-ui-forms.css +13 -10
  588. package/es/style/dnb-ui-forms.min.css +1 -1
  589. package/es/style/dnb-ui-fragments.css +2 -2
  590. package/es/style/dnb-ui-fragments.min.css +1 -1
  591. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  592. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  593. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  594. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  595. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  596. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  597. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  598. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  599. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  600. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  601. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  602. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  603. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  604. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  605. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  606. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  607. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  608. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  609. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  610. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  611. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  612. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  613. package/es/style/themes/theme-ui/ui-theme-components.css +51 -45
  614. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  615. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  616. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  618. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  619. package/es/style/themes/theme-ui/ui-theme-forms.css +13 -10
  620. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  621. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  622. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  623. package/esm/dnb-ui-basis.min.mjs +1 -1
  624. package/esm/dnb-ui-components.min.mjs +1 -1
  625. package/esm/dnb-ui-elements.min.mjs +1 -1
  626. package/esm/dnb-ui-extensions.min.mjs +5 -5
  627. package/esm/dnb-ui-lib.min.mjs +1 -1
  628. package/extensions/forms/DataContext/Context.d.ts +9 -5
  629. package/extensions/forms/DataContext/Context.js +0 -1
  630. package/extensions/forms/DataContext/Context.js.map +1 -1
  631. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  632. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  633. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  634. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
  635. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  636. package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  637. package/extensions/forms/DataContext/Provider/Provider.js +36 -16
  638. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  639. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  640. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  641. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  642. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  643. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  644. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  645. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  646. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  647. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  648. package/extensions/forms/Field/Slider/Slider.js +7 -7
  649. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  650. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  651. package/extensions/forms/FieldBlock/FieldBlock.js +33 -11
  652. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  653. package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  654. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  655. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  656. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  657. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  658. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  659. package/extensions/forms/Form/Isolation/Isolation.js +2 -3
  660. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  661. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  662. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  663. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  664. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  665. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  666. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  667. package/extensions/forms/Form/Section/Section.d.ts +7 -2
  668. package/extensions/forms/Form/Section/Section.js +3 -1
  669. package/extensions/forms/Form/Section/Section.js.map +1 -1
  670. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  671. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  672. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  673. package/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  674. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  675. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  676. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  677. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  678. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  679. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  680. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  681. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  682. package/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  683. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  684. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  685. package/extensions/forms/Iterate/Array/Array.js +72 -29
  686. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  687. package/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  688. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  689. package/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  690. package/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  691. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  692. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  693. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  694. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  695. package/extensions/forms/Iterate/Array/types.d.ts +7 -5
  696. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  697. package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  698. package/extensions/forms/Iterate/EditContainer/CancelButton.js +88 -0
  699. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  700. package/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  701. package/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
  702. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  703. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  704. package/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  705. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  706. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  707. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  708. package/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  709. package/extensions/forms/Iterate/EditContainer/index.js +2 -0
  710. package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  711. package/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  712. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  713. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  714. package/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  715. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  716. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  717. package/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -26
  718. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  719. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  720. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  721. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  722. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  723. package/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  724. package/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -7
  725. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  726. package/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  727. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  728. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  729. package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  730. package/{es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  731. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  732. package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  733. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  734. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  735. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  736. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  737. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  738. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  739. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  740. package/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  741. package/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  742. package/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  743. package/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  744. package/extensions/forms/Iterate/hooks/index.js +3 -0
  745. package/extensions/forms/Iterate/hooks/index.js.map +1 -0
  746. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  747. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +87 -0
  748. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  749. package/extensions/forms/Tools/Log.d.ts +6 -0
  750. package/extensions/forms/Tools/Log.js +22 -0
  751. package/extensions/forms/Tools/Log.js.map +1 -0
  752. package/extensions/forms/Tools/index.d.ts +1 -0
  753. package/extensions/forms/Tools/index.js +1 -0
  754. package/extensions/forms/Tools/index.js.map +1 -1
  755. package/extensions/forms/Value/Date/Date.d.ts +1 -1
  756. package/extensions/forms/Value/Date/Date.js +15 -5
  757. package/extensions/forms/Value/Date/Date.js.map +1 -1
  758. package/extensions/forms/Value/Date/DateDocs.js +1 -1
  759. package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  760. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  761. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  762. package/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
  763. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  764. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  765. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  766. package/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  767. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  768. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  769. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  770. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  771. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  772. package/extensions/forms/constants/countries.d.ts +5 -2
  773. package/extensions/forms/constants/countries.js +81 -25
  774. package/extensions/forms/constants/countries.js.map +1 -1
  775. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  776. package/extensions/forms/constants/locales/en-GB.js +3 -2
  777. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  778. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  779. package/extensions/forms/constants/locales/index.d.ts +4 -2
  780. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  781. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  782. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  783. package/extensions/forms/hooks/DataValueDocs.js +10 -5
  784. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  785. package/extensions/forms/hooks/useDataValue.d.ts +2 -1
  786. package/extensions/forms/hooks/useDataValue.js +7 -7
  787. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  788. package/extensions/forms/hooks/useExternalValue.js +8 -6
  789. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  790. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  791. package/extensions/forms/hooks/useFieldProps.js +318 -122
  792. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  793. package/extensions/forms/hooks/usePath.d.ts +1 -0
  794. package/extensions/forms/hooks/usePath.js +5 -1
  795. package/extensions/forms/hooks/usePath.js.map +1 -1
  796. package/extensions/forms/style/dnb-forms.css +13 -10
  797. package/extensions/forms/style/dnb-forms.min.css +1 -1
  798. package/extensions/forms/types.d.ts +32 -2
  799. package/extensions/forms/types.js.map +1 -1
  800. package/package.json +1 -1
  801. package/shared/Eufemia.d.ts +1 -1
  802. package/shared/Eufemia.js +2 -2
  803. package/shared/Eufemia.js.map +1 -1
  804. package/style/core/scopes.scss +1 -1
  805. package/style/core/utilities.scss +3 -6
  806. package/style/dnb-ui-basis.css +1 -1
  807. package/style/dnb-ui-basis.min.css +1 -1
  808. package/style/dnb-ui-body.css +1 -1
  809. package/style/dnb-ui-body.min.css +1 -1
  810. package/style/dnb-ui-components.css +37 -34
  811. package/style/dnb-ui-components.min.css +5 -5
  812. package/style/dnb-ui-core.css +1 -1
  813. package/style/dnb-ui-core.min.css +1 -1
  814. package/style/dnb-ui-elements.css +1 -1
  815. package/style/dnb-ui-elements.min.css +1 -1
  816. package/style/dnb-ui-extensions.css +13 -10
  817. package/style/dnb-ui-extensions.min.css +1 -1
  818. package/style/dnb-ui-forms.css +13 -10
  819. package/style/dnb-ui-forms.min.css +1 -1
  820. package/style/dnb-ui-fragments.css +2 -2
  821. package/style/dnb-ui-fragments.min.css +1 -1
  822. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  823. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  824. package/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  825. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  826. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  827. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  828. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  829. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  830. package/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  831. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  832. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  833. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  834. package/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  835. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  836. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  837. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  838. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  839. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  840. package/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  841. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  842. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  843. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  844. package/style/themes/theme-ui/ui-theme-components.css +51 -45
  845. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  846. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  847. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  848. package/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  849. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  850. package/style/themes/theme-ui/ui-theme-forms.css +13 -10
  851. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  852. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  853. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  854. package/umd/dnb-ui-basis.min.js +1 -1
  855. package/umd/dnb-ui-components.min.js +1 -1
  856. package/umd/dnb-ui-elements.min.js +1 -1
  857. package/umd/dnb-ui-extensions.min.js +5 -5
  858. package/umd/dnb-ui-lib.min.js +1 -1
  859. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  860. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  861. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  862. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  863. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  864. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  865. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  866. package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
  867. package/cjs/shared/helpers/useUnmountEffect.js +0 -14
  868. package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
  869. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  870. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  871. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  872. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  873. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  874. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  875. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -113
  876. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  877. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  878. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  879. package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
  880. package/es/shared/helpers/useUnmountEffect.js +0 -9
  881. package/es/shared/helpers/useUnmountEffect.js.map +0 -1
  882. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  883. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  884. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  885. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  886. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  887. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  888. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -114
  889. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  890. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  891. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  892. package/shared/helpers/useUnmountEffect.d.ts +0 -4
  893. package/shared/helpers/useUnmountEffect.js +0 -9
  894. package/shared/helpers/useUnmountEffect.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_components","_utils","_countries","_hooks","_FieldBlock","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SelectCountry","props","_sharedContext$locale","sharedContext","useContext","SharedContext","translations","useTranslation","lang","locale","split","transformAdditionalArgs","additionalArgs","country","countries","find","_ref","iso","errorMessages","useErrorMessage","path","required","errorRequired","defaultProps","preparedProps","className","placeholder","label","ccFilter","info","warning","error","hasError","disabled","width","help","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","forceUpdate","filterCountries","makeCountryFilterSet","useFieldProps","dataRef","React","useRef","langRef","wasFilled","useMemo","isLangChange","current","getCountryData","sort","window","requestAnimationFrame","handleCountryChange","useCallback","_ref2","data","newValue","selectedKey","_ref3","fillData","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref6","i18n","values","some","s","includes","createElement","classnames","pickSpacingProps","Autocomplete","label_direction","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","status","show_submit_button","keep_selection","suffix","HelpButton","title","content","autoComplete","no_animation","noAnimation","makeObject","_country$i18n$lang","en","_ref7","_ref8","a","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","_country$regions","regions","continent","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport { Autocomplete, HelpButton } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n type CountryType,\n type CountryLang,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldPropsWithExtraValue,\n} from '../../types'\nimport FieldBlock from '../../FieldBlock'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\n\nexport type Props = FieldHelpProps &\n FieldPropsWithExtraValue<string, CountryType, undefined | string> & {\n countries?: CountryFilterSet\n\n // Styling\n width?: FieldBlockWidth\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation().SelectCountry\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const transformAdditionalArgs = (additionalArgs: CountryType, value) => {\n const country = countries.find(({ iso }) => value === iso)\n if (country?.iso) {\n return country\n } else {\n return additionalArgs\n }\n }\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n transformAdditionalArgs,\n }\n\n const {\n className,\n placeholder = translations.placeholder,\n label = translations.label,\n countries: ccFilter = 'Prioritized',\n info,\n warning,\n error,\n hasError,\n disabled,\n value,\n width = 'large',\n help,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === value\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(value)\n })\n }\n }\n }, [lang, filterCountries, ccFilter, updateValue, value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = countries.find(({ iso }) => newValue === iso)\n if (country?.iso) {\n handleChange(country.iso)\n }\n },\n [handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter: filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filterCountries, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso)\n }\n }\n },\n [handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-select-country', className)}\n width={width}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Autocomplete\n placeholder={placeholder}\n label_direction=\"vertical\"\n label={label}\n input_icon={false}\n data={dataRef.current}\n value={value}\n disabled={disabled}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n status={hasError ? 'error' : undefined}\n show_submit_button\n keep_selection\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n autoComplete=\"country-name\"\n no_animation={props.noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: CountryLang\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n selected_value?: string\n content: string\n }\n}\n\nexport function getCountryData({\n lang = 'nb',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n return countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return a[lang].localeCompare(b[lang])\n })\n .map((country) => makeObject(country, lang))\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_components","_utils","_countries","_hooks","_FieldBlock","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SelectCountry","props","_sharedContext$locale","sharedContext","useContext","SharedContext","translations","useTranslation","lang","locale","split","transformAdditionalArgs","additionalArgs","country","countries","find","_ref","iso","errorMessages","useErrorMessage","path","required","errorRequired","defaultProps","preparedProps","className","placeholder","label","ccFilter","info","warning","error","hasError","disabled","width","help","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","forceUpdate","filterCountries","makeCountryFilterSet","useFieldProps","dataRef","React","useRef","langRef","wasFilled","useMemo","isLangChange","current","getCountryData","sort","window","requestAnimationFrame","handleCountryChange","useCallback","_ref2","data","newValue","selectedKey","_ref3","fillData","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref6","i18n","values","some","s","includes","createElement","classnames","pickSpacingProps","Autocomplete","label_direction","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","status","show_submit_button","keep_selection","suffix","HelpButton","title","content","autoComplete","no_animation","noAnimation","makeObject","_country$i18n$lang","en","_ref7","_ref8","a","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","_country$regions","regions","continent","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport { Autocomplete, HelpButton } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n type CountryType,\n type CountryLang,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldPropsWithExtraValue,\n} from '../../types'\nimport FieldBlock from '../../FieldBlock'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\n\nexport type Props = FieldHelpProps &\n FieldPropsWithExtraValue<string, CountryType, undefined | string> & {\n countries?: CountryFilterSet\n\n // Styling\n width?: FieldBlockWidth\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation().SelectCountry\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const transformAdditionalArgs = (additionalArgs: CountryType, value) => {\n const country = countries.find(({ iso }) => value === iso)\n if (country?.iso) {\n return country\n } else {\n return additionalArgs\n }\n }\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n transformAdditionalArgs,\n }\n\n const {\n className,\n placeholder = translations.placeholder,\n label = translations.label,\n countries: ccFilter = 'Prioritized',\n info,\n warning,\n error,\n hasError,\n disabled,\n value,\n width = 'large',\n help,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useFieldProps(preparedProps)\n\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === value\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(value)\n })\n }\n }\n }, [lang, filterCountries, ccFilter, updateValue, value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = countries.find(({ iso }) => newValue === iso)\n if (country?.iso) {\n handleChange(country.iso)\n }\n },\n [handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter: filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filterCountries, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso)\n }\n }\n },\n [handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-select-country', className)}\n width={width}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <Autocomplete\n placeholder={placeholder}\n label_direction=\"vertical\"\n label={label}\n input_icon={false}\n data={dataRef.current}\n value={typeof value === 'string' ? value : null}\n disabled={disabled}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n status={hasError ? 'error' : undefined}\n show_submit_button\n keep_selection\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n autoComplete=\"country-name\"\n no_animation={props.noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: CountryLang\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n selected_value?: string\n content: string\n }\n}\n\nexport function getCountryData({\n lang = 'nb',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n return countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return a[lang].localeCompare(b[lang])\n })\n .map((country) => makeObject(country, lang))\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAP,uBAAA,CAAAC,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAMA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,gBAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,eAAA,GAAAR,sBAAA,CAAAF,OAAA;AAAuD,SAAAE,uBAAAS,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,SAAAhB,wBAAAY,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,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAArB,MAAA,CAAAqB,IAAA,CAAAF,MAAA,OAAAnB,MAAA,CAAAsB,qBAAA,QAAAC,OAAA,GAAAvB,MAAA,CAAAsB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAzB,MAAA,CAAAE,wBAAA,CAAAiB,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAV,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAhB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAK,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,OAAAa,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAlB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAApB,MAAA,EAAAZ,MAAA,CAAA+B,yBAAA,CAAAf,MAAA,KAAAE,OAAA,CAAAlB,MAAA,CAAAgB,MAAA,GAAAa,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAkB,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,2BAAAlC,GAAA,gBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,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,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AA6BvD,SAASS,aAAaA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA;EACnC,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAC/C,MAAMC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACP,aAAa;EACnD,MAAMQ,IAAI,IAAAN,qBAAA,GAAGC,aAAa,CAACM,MAAM,cAAAP,qBAAA,uBAApBA,qBAAA,CAAsBQ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAgB;EAE/D,MAAMC,uBAAuB,GAAGA,CAACC,cAA2B,EAAE5B,KAAK,KAAK;IACtE,MAAM6B,OAAO,GAAGC,kBAAS,CAACC,IAAI,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKhC,KAAK,KAAKiC,GAAG;IAAA,EAAC;IAC1D,IAAIJ,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;MAChB,OAAOJ,OAAO;IAChB,CAAC,MAAM;MACL,OAAOD,cAAc;IACvB;EACF,CAAC;EAED,MAAMM,aAAa,GAAG,IAAAC,wBAAe,EAAClB,KAAK,CAACmB,IAAI,EAAEnB,KAAK,CAACiB,aAAa,EAAE;IACrEG,QAAQ,EAAEf,YAAY,CAACgB;EACzB,CAAC,CAAC;EAEF,MAAMC,YAA4B,GAAG;IACnCL;EACF,CAAC;EACD,MAAMM,aAAoB,GAAA7C,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACrB4C,YAAY,GACZtB,KAAK;IACRU;EAAuB,EACxB;EAED,MAAM;IACJc,SAAS;IACTC,WAAW,GAAGpB,YAAY,CAACoB,WAAW;IACtCC,KAAK,GAAGrB,YAAY,CAACqB,KAAK;IAC1Bb,SAAS,EAAEc,QAAQ,GAAG,aAAa;IACnCC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,QAAQ;IACRjD,KAAK;IACLkD,KAAK,GAAG,OAAO;IACfC,IAAI;IACJC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,WAAW;IACXC,eAAe,GAAGd,QAAQ,KAAK,aAAa,GACxCe,oBAAoB,CAACf,QAAQ,CAAC,GAC9BhC;EACN,CAAC,GAAG,IAAAgD,oBAAa,EAACpB,aAAa,CAAC;EAEhC,MAAMqB,OAAO,GAAGC,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC;EAClC,MAAMC,OAAO,GAAGF,cAAK,CAACC,MAAM,CAACvC,IAAI,CAAC;EAClC,MAAMyC,SAAS,GAAGH,cAAK,CAACC,MAAM,CAAC,KAAK,CAAC;EAUrC,IAAAG,cAAO,EAAC,MAAM;IACZ,MAAMC,YAAY,GAAG3C,IAAI,KAAKwC,OAAO,CAACI,OAAO;IAE7C,IAAID,YAAY,IAAI,CAACF,SAAS,CAACG,OAAO,EAAE;MACtCJ,OAAO,CAACI,OAAO,GAAG5C,IAAI;MACtBqC,OAAO,CAACO,OAAO,GAAGC,cAAc,CAAC;QAC/B7C,IAAI;QACJjC,MAAM,EAAE,CAAC0E,SAAS,CAACG,OAAO,GACrBvC,OAAO,IAAKA,OAAO,CAACI,GAAG,KAAKjC,KAAK,GAClC0D,eAAe;QACnBY,IAAI,EAAE1B;MACR,CAAC,CAAC;MAGF,IAAIuB,YAAY,IAAInE,KAAK,IAAI,OAAOuE,MAAM,KAAK,WAAW,EAAE;QAC1Df,WAAW,CAAC,IAAI,CAAC;QACjBe,MAAM,CAACC,qBAAqB,CAAC,MAAM;UACjChB,WAAW,CAACxD,KAAK,CAAC;QACpB,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EAAE,CAACwB,IAAI,EAAEkC,eAAe,EAAEd,QAAQ,EAAEY,WAAW,EAAExD,KAAK,CAAC,CAAC;EAEzD,MAAMyE,mBAAmB,GAAG,IAAAC,kBAAW,EACrCC,KAAA,IAAiD;IAAA,IAAhD;MAAEC;IAAwC,CAAC,GAAAD,KAAA;IAC1C,MAAME,QAAQ,GAAGD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,WAAW;IAClC,MAAMjD,OAAO,GAAGC,kBAAS,CAACC,IAAI,CAACgD,KAAA;MAAA,IAAC;QAAE9C;MAAI,CAAC,GAAA8C,KAAA;MAAA,OAAKF,QAAQ,KAAK5C,GAAG;IAAA,EAAC;IAC7D,IAAIJ,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;MAChBsB,YAAY,CAAC1B,OAAO,CAACI,GAAG,CAAC;IAC3B;EACF,CAAC,EACD,CAACsB,YAAY,CACf,CAAC;EAED,MAAMyB,QAAQ,GAAG,IAAAN,kBAAW,EAAC,MAAM;IACjC,IAAI,CAACT,SAAS,CAACG,OAAO,EAAE;MACtBH,SAAS,CAACG,OAAO,GAAG,IAAI;MACxBP,OAAO,CAACO,OAAO,GAAGC,cAAc,CAAC;QAC/B7C,IAAI,EAAEwC,OAAO,CAACI,OAAO;QACrB7E,MAAM,EAAEmE,eAAe;QACvBY,IAAI,EAAE1B;MACR,CAAC,CAAC;MACFa,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACb,QAAQ,EAAEc,eAAe,EAAED,WAAW,CAAC,CAAC;EAE5C,MAAMwB,cAAc,GAAG,IAAAP,kBAAW,EAChCQ,KAAA,IAAoB;IAAA,IAAnB;MAAEC;IAAW,CAAC,GAAAD,KAAA;IACbF,QAAQ,CAAC,CAAC;IACVG,UAAU,CAACtB,OAAO,CAACO,OAAO,CAAC;IAC3Bf,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CAAC2B,QAAQ,EAAE3B,WAAW,CACxB,CAAC;EAED,MAAM+B,aAAa,GAAG,IAAAV,kBAAW,EAC/BW,KAAA,IAA+C;IAAA,IAAAC,kBAAA;IAAA,IAA9C;MAAEtF,KAAK,EAAEuF,YAAY;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAAJ,KAAA;IAExC,IAAI,QAAOI,KAAK,aAALA,KAAK,wBAAAH,kBAAA,GAALG,KAAK,CAAEC,WAAW,cAAAJ,kBAAA,uBAAlBA,kBAAA,CAAoBV,IAAI,MAAK,WAAW,EAAE;MACnD,MAAMe,MAAM,GAAGJ,YAAY,CAACK,WAAW,CAAC,CAAC;MACzC,MAAM/D,OAAO,GAAGC,kBAAS,CAACC,IAAI,CAAC8D,KAAA;QAAA,IAAC;UAAEC;QAAK,CAAC,GAAAD,KAAA;QAAA,OACtC9H,MAAM,CAACgI,MAAM,CAACD,IAAI,CAAC,CAACE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACL,WAAW,CAAC,CAAC,CAACM,QAAQ,CAACP,MAAM,CAAC,CAAC;MAAA,CACnE,CAAC;MACD,IAAI9D,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;QAChBuD,SAAS,CAAC,CAAC;QACXjC,YAAY,CAAC1B,OAAO,CAACI,GAAG,CAAC;MAC3B;IACF;EACF,CAAC,EACD,CAACsB,YAAY,CACf,CAAC;EAED,OACElH,MAAA,CAAAe,OAAA,CAAA+I,aAAA,CAACpJ,WAAA,CAAAK,OAAU,EAAAoB,QAAA;IACTiE,SAAS,EAAE,IAAA2D,mBAAU,EAAC,gCAAgC,EAAE3D,SAAS,CAAE;IACnES,KAAK,EAAEA,KAAM;IACbL,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA;EAAM,GACT,IAAAsD,uBAAgB,EAACpF,KAAK,CAAC,GAE3B5E,MAAA,CAAAe,OAAA,CAAA+I,aAAA,CAACxJ,WAAA,CAAA2J,YAAY,EAAA9H,QAAA;IACXkE,WAAW,EAAEA,WAAY;IACzB6D,eAAe,EAAC,UAAU;IAC1B5D,KAAK,EAAEA,KAAM;IACb6D,UAAU,EAAE,KAAM;IAClB5B,IAAI,EAAEf,OAAO,CAACO,OAAQ;IACtBpE,KAAK,EAAE,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,IAAK;IAChDiD,QAAQ,EAAEA,QAAS;IACnBwD,OAAO,EAAEzB,QAAS;IAClB0B,QAAQ,EAAEzB,cAAe;IACzB0B,OAAO,EAAErD,UAAW;IACpBsD,SAAS,EAAEnC,mBAAoB;IAC/BoC,OAAO,EAAEzB,aAAc;IACvB0B,OAAO;IACPC,MAAM,EAAE/D,QAAQ,GAAG,OAAO,GAAGpC,SAAU;IACvCoG,kBAAkB;IAClBC,cAAc;IACdC,MAAM,EACJ/D,IAAI,GACF9G,MAAA,CAAAe,OAAA,CAAA+I,aAAA,CAACxJ,WAAA,CAAAwK,UAAU;MAACC,KAAK,EAAEjE,IAAI,CAACiE;IAAM,GAAEjE,IAAI,CAACkE,OAAoB,CAAC,GACxDzG,SACL;IACD0G,YAAY,EAAC,cAAc;IAC3BC,YAAY,EAAEtG,KAAK,CAACuG;EAAY,GAC5BpE,cAAc,CACnB,CACS,CAAC;AAEjB;AAgBO,SAASiB,cAAcA,CAAA,EAWN;EAAA,IAXO;IAC7B7C,IAAI,GAAG,IAAI;IACXjC,MAAM,GAAG,IAAI;IACb+E,IAAI,GAAG,IAAI;IACXmD,UAAU,GAAGA,CAAC5F,OAAoB,EAAEL,IAAY,KAAK;MAAA,IAAAkG,kBAAA;MACnD,MAAML,OAAO,IAAAK,kBAAA,GAAG7F,OAAO,CAACiE,IAAI,CAACtE,IAAI,CAAC,cAAAkG,kBAAA,cAAAA,kBAAA,GAAI7F,OAAO,CAACiE,IAAI,CAAC6B,EAAE;MACrD,OAAO;QACL7C,WAAW,EAAEjD,OAAO,CAACI,GAAG;QACxBoF;MACF,CAAC;IACH;EACc,CAAC,GAAAxI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC,CAAC;EACpB,OAAOiD,kBAAS,CACbvC,MAAM,CAAEsC,OAAO,IAAK;IACnB,IAAI,OAAOtC,MAAM,KAAK,UAAU,EAAE;MAChC,OAAOA,MAAM,CAACsC,OAAO,CAAC;IACxB;IAEA,OAAO,CAACtC,MAAM;EAChB,CAAC,CAAC,CACD+E,IAAI,CAAC,CAAAsD,KAAA,EAAAC,KAAA,KAA8B;IAAA,IAA7B;MAAE/B,IAAI,EAAEgC;IAAE,CAAC,GAAAF,KAAA;IAAA,IAAE;MAAE9B,IAAI,EAAEiC;IAAE,CAAC,GAAAF,KAAA;IAC7B,IAAIvD,IAAI,KAAK,aAAa,EAAE;MAC1B,MAAM0D,MAAM,GAAGC,+BAAoB,CAACC,OAAO,CAACJ,CAAC,CAAC,IAAI,CAAC,CAAC;MACpD,MAAMK,MAAM,GAAGF,+BAAoB,CAACC,OAAO,CAACH,CAAC,CAAC,IAAI,CAAC,CAAC;MAEpD,MAAMK,SAAS,GAAGJ,MAAM,KAAK,CAAC,CAAC;MAC/B,MAAMK,SAAS,GAAGF,MAAM,KAAK,CAAC,CAAC;MAE/B,IAAIC,SAAS,IAAIC,SAAS,EAAE;QAC1B,OAAOL,MAAM,GAAGG,MAAM;MACxB,CAAC,MAAM,IAAIC,SAAS,EAAE;QACpB,OAAO,CAAC,CAAC;MACX,CAAC,MAAM,IAAIC,SAAS,EAAE;QACpB,OAAO,CAAC;MACV;IACF;IAEA,OAAOP,CAAC,CAACtG,IAAI,CAAC,CAAC8G,aAAa,CAACP,CAAC,CAACvG,IAAI,CAAC,CAAC;EACvC,CAAC,CAAC,CACD+G,GAAG,CAAE1G,OAAO,IAAK4F,UAAU,CAAC5F,OAAO,EAAEL,IAAI,CAAC,CAAC;AAChD;AAEO,SAASmC,oBAAoBA,CAACf,QAA0B,EAAE;EAC/D,OAAQf,OAAoB,IAAK;IAAA,IAAA2G,gBAAA;IAC/B,QAAQ5F,QAAQ;MACd,KAAK,aAAa;MAClB,KAAK,QAAQ;QACX,QAAA4F,gBAAA,GAAO3G,OAAO,CAAC4G,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBtC,QAAQ,CAACtD,QAAQ,CAAC;MAC5C,KAAK,QAAQ;QACX,OAAOf,OAAO,CAAC6G,SAAS,CAACxC,QAAQ,CAACtD,QAAQ,CAAC;IAC/C;IACA,OAAO,IAAI;EACb,CAAC;AACH;AAEA5B,aAAa,CAAC2H,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC3B5H,aAAa;AAAA6H,OAAA,CAAAzL,OAAA,GAAAwL,QAAA"}
@@ -26,19 +26,19 @@ function SliderComponent(props) {
26
26
  const dataContextRef = (0, _react.useRef)();
27
27
  dataContextRef.current = (0, _react.useContext)(_Context.default);
28
28
  const {
29
- getValue
29
+ getSourceValue
30
30
  } = (0, _useDataValue.default)();
31
31
  const getValues = (0, _react.useCallback)(source => {
32
32
  if (Array.isArray(source)) {
33
- return source.map(s => getValue(s) || 0);
33
+ return source.map(s => getSourceValue(s) || 0);
34
34
  }
35
- return getValue(source) || 0;
36
- }, [getValue]);
35
+ return getSourceValue(source) || 0;
36
+ }, [getSourceValue]);
37
37
  const value = getValues((_ref = (_props$paths = props.paths) !== null && _props$paths !== void 0 ? _props$paths : props.path) !== null && _ref !== void 0 ? _ref : props.value);
38
38
  const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
39
- step: getValue(props.step),
40
- min: getValue(props.min),
41
- max: getValue(props.max)
39
+ step: getSourceValue(props.step),
40
+ min: getSourceValue(props.min),
41
+ max: getSourceValue(props.max)
42
42
  });
43
43
  const {
44
44
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_Slider","_utils","_components","_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","_props$paths","dataContextRef","useRef","current","useContext","DataContext","getValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","preparedProps","step","min","max","id","width","layout","label","help","labelDescription","info","warning","error","hasError","disabled","handleChange","handleFocus","handleBlur","useFieldProps","handleLocalChange","_ref2","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","suffix","createElement","HelpButton","title","content","on_change","on_drag_start","on_drag_end","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","stretch","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldProps,\n Path,\n} from '../../types'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\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 = FieldHelpProps &\n 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 { getValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getValue(s) || 0)\n }\n\n return getValue(source) || 0\n },\n [getValue]\n )\n\n const value = getValues(props.paths ?? props.path ?? props.value)\n const preparedProps = {\n ...props,\n step: getValue(props.step),\n min: getValue(props.min),\n max: getValue(props.max),\n }\n\n const {\n id,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n layout,\n label,\n help,\n labelDescription,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n } = useFieldProps(preparedProps)\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 layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\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 suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical: props.vertical,\n reverse: props.reverse,\n hideButtons: props.hideButtons,\n multiThumbBehavior: props.multiThumbBehavior,\n thumbTitle: props.thumbTitle,\n subtractTitle: props.subtractTitle,\n addTitle: props.addTitle,\n numberFormat: props.numberFormat,\n tooltip: props.tooltip,\n alwaysShowTooltip: props.alwaysShowTooltip,\n extensions: props.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","_Slider","_utils","_components","_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","_props$paths","dataContextRef","useRef","current","useContext","DataContext","getSourceValue","useDataValue","getValues","useCallback","Array","isArray","map","s","paths","path","preparedProps","step","min","max","id","width","layout","label","help","labelDescription","info","warning","error","hasError","disabled","handleChange","handleFocus","handleBlur","useFieldProps","handleLocalChange","_ref2","updateDataValue","fieldBlockProps","forId","pickSpacingProps","sliderProps","status","suffix","createElement","HelpButton","title","content","on_change","on_drag_start","on_drag_end","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","stretch","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldProps,\n Path,\n} from '../../types'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\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 = FieldHelpProps &\n 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(props.paths ?? props.path ?? props.value)\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 step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n layout,\n label,\n help,\n labelDescription,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n } = useFieldProps(preparedProps)\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 layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\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 suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical: props.vertical,\n reverse: props.reverse,\n hideButtons: props.hideButtons,\n multiThumbBehavior: props.multiThumbBehavior,\n thumbTitle: props.thumbTitle,\n subtractTitle: props.subtractTitle,\n addTitle: props.addTitle,\n numberFormat: props.numberFormat,\n tooltip: props.tooltip,\n alwaysShowTooltip: props.alwaysShowTooltip,\n extensions: props.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,8 +1,8 @@
1
1
  import React from 'react';
2
- import { StateTypes, FieldBlockContextProps } from './FieldBlockContext';
2
+ import { StateWithMessage, StateMessage, StateTypes, FieldBlockContextProps } from './FieldBlockContext';
3
3
  import { ComponentProps, FieldProps, SubmitState, FieldBlockWidth } from '../types';
4
4
  export declare const states: Array<StateTypes>;
5
- export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' | 'labelDescription' | 'info' | 'warning' | 'error' | 'disabled'> & {
5
+ export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' | 'labelSuffix' | 'labelDescription' | 'info' | 'warning' | 'error' | 'disabled'> & {
6
6
  /** The id to link a element with */
7
7
  forId?: string;
8
8
  /** Use true if you have more than one form element */
@@ -23,10 +23,13 @@ export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' |
23
23
  fieldState?: SubmitState;
24
24
  /** Typography size */
25
25
  labelSize?: 'medium' | 'large';
26
+ /** For internal use only */
27
+ required?: boolean;
26
28
  children?: React.ReactNode;
27
29
  } & React.HTMLAttributes<HTMLDivElement>;
28
30
  declare function FieldBlock(props: Props): import("react/jsx-runtime").JSX.Element;
29
31
  declare namespace FieldBlock {
30
32
  var _supportsSpacingProps: boolean;
31
33
  }
34
+ export declare function getMessage(item: Partial<StateWithMessage>): StateMessage;
32
35
  export default FieldBlock;
@@ -4,7 +4,9 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.states = exports.default = void 0;
7
+ exports.default = void 0;
8
+ exports.getMessage = getMessage;
9
+ exports.states = void 0;
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
  var _classnames = _interopRequireDefault(require("classnames"));
10
12
  var _FieldBlockContext = _interopRequireDefault(require("./FieldBlockContext"));
@@ -14,12 +16,11 @@ var _components = require("../../../components");
14
16
  var _elements = require("../../../elements");
15
17
  var _componentHelper = require("../../../shared/component-helper");
16
18
  var _useId = _interopRequireDefault(require("../../../shared/helpers/useId"));
17
- var _useUnmountEffect = _interopRequireDefault(require("../../../shared/helpers/useUnmountEffect"));
18
19
  var _types = require("../types");
19
20
  var _SubmitIndicator = _interopRequireDefault(require("../Form/SubmitIndicator/SubmitIndicator"));
20
21
  var _useSharedState = require("../../../shared/helpers/useSharedState");
21
22
  var _useTranslation = _interopRequireDefault(require("../hooks/useTranslation"));
22
- const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "labelSrOnly", "asFieldset", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "align", "labelSize", "contentClassName", "children"];
23
+ const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "labelSuffix", "labelSrOnly", "asFieldset", "required", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "align", "labelSize", "contentClassName", "children"];
23
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25
  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); }
25
26
  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; }
@@ -45,8 +46,10 @@ function FieldBlock(props) {
45
46
  composition,
46
47
  label: labelProp,
47
48
  labelDescription,
49
+ labelSuffix,
48
50
  labelSrOnly,
49
51
  asFieldset,
52
+ required,
50
53
  info,
51
54
  warning,
52
55
  error: errorProp,
@@ -73,12 +76,33 @@ function FieldBlock(props) {
73
76
  const hasInitiallyErrorProp = (0, _react.useMemo)(() => {
74
77
  return Boolean(errorProp);
75
78
  }, []);
79
+ const {
80
+ optionalLabelSuffix
81
+ } = (0, _useTranslation.default)().Field;
82
+ const labelSuffixText = (0, _react.useMemo)(() => {
83
+ if (required === false || typeof labelSuffix !== 'undefined') {
84
+ return labelSuffix !== null && labelSuffix !== void 0 ? labelSuffix : optionalLabelSuffix;
85
+ }
86
+ return '';
87
+ }, [required, labelSuffix, optionalLabelSuffix]);
76
88
  const label = (0, _react.useMemo)(() => {
89
+ let content = labelProp;
77
90
  if (iterateIndex !== undefined) {
78
- return (0, _componentHelper.convertJsxToString)(labelProp).replace('{itemNr}', String(iterateIndex + 1));
91
+ content = (0, _componentHelper.convertJsxToString)(labelProp).replace('{itemNr}', String(iterateIndex + 1));
92
+ }
93
+ if (labelSuffixText) {
94
+ if ((0, _componentHelper.convertJsxToString)(content).includes(optionalLabelSuffix)) {
95
+ return content;
96
+ }
97
+ if (typeof content === 'string') {
98
+ return content + ' ' + labelSuffixText;
99
+ }
100
+ if (_react.default.isValidElement(content)) {
101
+ return _react.default.createElement(_react.default.Fragment, null, content, ' ', labelSuffixText);
102
+ }
79
103
  }
80
- return labelProp;
81
- }, [iterateIndex, labelProp]);
104
+ return content;
105
+ }, [iterateIndex, labelProp, labelSuffixText]);
82
106
  const setInternalRecord = (0, _react.useCallback)(props => {
83
107
  const {
84
108
  stateId,
@@ -232,10 +256,10 @@ function FieldBlock(props) {
232
256
  showFieldError(blockId, Boolean(errorProp));
233
257
  }
234
258
  }, [errorProp, blockId, showFieldError, nestedFieldBlockContext]);
235
- (0, _useUnmountEffect.default)(() => () => {
259
+ (0, _react.useEffect)(() => () => {
236
260
  mountedFieldsRef.current = {};
237
261
  stateRecordRef.current = {};
238
- });
262
+ }, []);
239
263
  const mainClasses = (0, _classnames.default)('dnb-forms-field-block', className, width !== undefined && `dnb-forms-field-block--width-${width}`);
240
264
  const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
241
265
  const enableFieldset = useEnableFieldset({
@@ -258,8 +282,8 @@ function FieldBlock(props) {
258
282
  if (dataContext !== null && dataContext !== void 0 && dataContext.prerenderFieldProps) {
259
283
  return null;
260
284
  }
261
- if (fieldState && !label) {
262
- (0, _componentHelper.warn)('You have to provide a label to use show an indicator.');
285
+ if (fieldState && typeof label === 'undefined') {
286
+ (0, _componentHelper.warn)('Provide a label when using an async validator or onChange event.');
263
287
  }
264
288
  return _react.default.createElement(_FieldBlockContext.default.Provider, {
265
289
  value: {
@@ -339,7 +363,7 @@ function LabelDescription(_ref6) {
339
363
  children
340
364
  } = _ref6;
341
365
  if (!labelDescription) {
342
- return children;
366
+ return children !== null && children !== void 0 ? children : null;
343
367
  }
344
368
  return _react.default.createElement("div", {
345
369
  className: "dnb-forms-field-block__label"
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_useUnmountEffect","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSrOnly","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","convertJsxToString","replace","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","createElement","CombineMessages","useEffect","useUnmountEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","useTranslation","Field","Fragment","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSrOnly,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","optionalLabelSuffix","useTranslation","Field","labelSuffixText","content","convertJsxToString","replace","includes","React","isValidElement","createElement","Fragment","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelSuffix'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const { optionalLabelSuffix } = useTranslation().Field\n const labelSuffixText = useMemo(() => {\n if (required === false || typeof labelSuffix !== 'undefined') {\n return labelSuffix ?? optionalLabelSuffix\n }\n return ''\n }, [required, labelSuffix, optionalLabelSuffix])\n\n const label = useMemo(() => {\n let content = labelProp\n\n if (iterateIndex !== undefined) {\n content = convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n\n if (labelSuffixText) {\n if (convertJsxToString(content).includes(optionalLabelSuffix)) {\n return content\n }\n\n if (typeof content === 'string') {\n return content + ' ' + labelSuffixText\n }\n\n if (React.isValidElement(content)) {\n return (\n <>\n {content}\n {' '}\n {labelSuffixText}\n </>\n )\n }\n }\n\n return content\n }, [iterateIndex, labelProp, labelSuffixText])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && typeof label === 'undefined') {\n warn(\n 'Provide a label when using an async validator or onChange event.'\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children ?? null\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nexport function getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -49,7 +49,7 @@ const fieldBlockSharedProperties = {
49
49
  exports.fieldBlockSharedProperties = fieldBlockSharedProperties;
50
50
  const fieldBlockProperties = _objectSpread(_objectSpread({}, fieldBlockSharedProperties), {}, {
51
51
  labelSize: {
52
- doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',
52
+ doc: 'Define one of the following [heading sizes](/uilib/elements/heading/): `medium` or `large`.',
53
53
  type: ['string', 'false'],
54
54
  status: 'optional'
55
55
  },
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","labelSrOnly","layout","width","contentWidth","exports","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;;;;;;AAEO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,0BAAA,GAAAA,0BAAA;AAEM,MAAMW,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDZ,0BAA0B;EAC7Ba,SAAS,EAAE;IACTX,GAAG,EAAE,4FAA4F;IACjGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,UAAU,EAAE;IACVZ,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,KAAK,EAAE;IACLb,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDY,WAAW,EAAE;IACXd,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,QAAQ,EAAE;IACRf,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF;AAAAM,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","labelSrOnly","layout","width","contentWidth","exports","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading sizes](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;;;;;;AAEO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,0BAAA,GAAAA,0BAAA;AAEM,MAAMW,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDZ,0BAA0B;EAC7Ba,SAAS,EAAE;IACTX,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,UAAU,EAAE;IACVZ,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,KAAK,EAAE;IACLb,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDY,WAAW,EAAE;IACXd,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,QAAQ,EAAE;IACRf,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF;AAAAM,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
@@ -54,7 +54,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
54
54
  .dnb-forms-field-block--width-stretch {
55
55
  flex-grow: 1;
56
56
  }
57
- @media screen and (min-width: 25em) {
57
+ @media screen and (min-width: 25.0625em) {
58
58
  .dnb-forms-field-block--width-small {
59
59
  width: var(--forms-field-width--small);
60
60
  }
@@ -93,7 +93,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
93
93
  .dnb-forms-field-block__contents--width-stretch {
94
94
  width: 100%;
95
95
  }
96
- @media screen and (min-width: 25em) {
96
+ @media screen and (min-width: 25.0625em) {
97
97
  .dnb-forms-field-block__contents--width-small {
98
98
  width: var(--forms-field-width--small);
99
99
  }
@@ -115,7 +115,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
115
115
  -moz-column-gap: var(--spacing-small);
116
116
  column-gap: var(--spacing-small);
117
117
  }
118
- @media screen and (min-width: 25em) {
118
+ @media screen and (min-width: 25.0625em) {
119
119
  .dnb-forms-field-block__contents__composition--horizontal {
120
120
  align-items: flex-end;
121
121
  }
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.0625em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.0625em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.0625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
@@ -16,7 +16,7 @@
16
16
  .dnb-card + .dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top] {
17
17
  margin-top: 0;
18
18
  }
19
- @media screen and (min-width: 40em) {
19
+ @media screen and (min-width: 40.0625em) {
20
20
  .dnb-card + .dnb-forms-button-row:not([class*=space__left]),
21
21
  .dnb-card + .dnb-button--primary:not([class*=space__left]) {
22
22
  margin-left: var(--spacing-medium);