@dnb/eufemia 10.16.0 → 10.18.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 (591) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cjs/components/anchor/Anchor.js +9 -5
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
  5. package/cjs/components/anchor/style/dnb-anchor.css +0 -16
  6. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/button/style/dnb-button.css +13 -0
  15. package/cjs/components/button/style/dnb-button.min.css +1 -1
  16. package/cjs/components/button/style/dnb-button.scss +16 -0
  17. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  18. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  19. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  20. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  21. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  22. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  23. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  24. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  25. package/cjs/components/date-picker/DatePicker.d.ts +14 -1
  26. package/cjs/components/date-picker/DatePicker.js +0 -1
  27. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerCalc.js +2 -1
  29. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
  31. package/cjs/components/date-picker/DatePickerInput.js +9 -2
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/dropdown/Dropdown.js +3 -2
  34. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/flex/Container.js +15 -2
  36. package/cjs/components/flex/Container.js.map +1 -1
  37. package/cjs/components/flex/export.d.ts +1 -0
  38. package/cjs/components/flex/export.js +7 -0
  39. package/cjs/components/flex/export.js.map +1 -1
  40. package/cjs/components/flex/utils.d.ts +1 -1
  41. package/cjs/components/flex/utils.js +11 -1
  42. package/cjs/components/flex/utils.js.map +1 -1
  43. package/cjs/components/flex/withChildren.d.ts +6 -0
  44. package/cjs/components/flex/withChildren.js +13 -0
  45. package/cjs/components/flex/withChildren.js.map +1 -0
  46. package/cjs/components/input/Input.js +3 -3
  47. package/cjs/components/input/Input.js.map +1 -1
  48. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  49. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  50. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  51. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  52. package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  55. package/cjs/components/input-masked/MultiInputMask.js +41 -14
  56. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  57. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  58. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  59. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  60. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  61. package/cjs/components/number-format/NumberFormat.js +1 -1
  62. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  63. package/cjs/components/textarea/style/dnb-textarea.css +5 -0
  64. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  65. package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
  66. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  67. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  68. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  69. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  70. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  71. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  72. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  73. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  76. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
  78. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  79. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  80. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  81. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  82. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  83. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +47 -10
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
  89. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +109 -30
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  94. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  95. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  96. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  97. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  98. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  99. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  100. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  101. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  102. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  103. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  105. package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
  106. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  107. package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
  108. package/cjs/extensions/forms/Field/String/String.js +23 -9
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  113. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  115. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  118. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  119. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  120. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
  121. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
  124. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  125. package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
  126. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  127. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  128. package/cjs/extensions/forms/Form/index.js +14 -0
  129. package/cjs/extensions/forms/Form/index.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
  131. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  132. package/cjs/extensions/forms/hooks/useDataValue.js +26 -33
  133. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  134. package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
  135. package/cjs/extensions/forms/hooks/useId.js +18 -0
  136. package/cjs/extensions/forms/hooks/useId.js.map +1 -0
  137. package/cjs/extensions/forms/index.d.ts +6 -1
  138. package/cjs/extensions/forms/index.js +5 -8
  139. package/cjs/extensions/forms/index.js.map +1 -1
  140. package/cjs/extensions/forms/style/dnb-forms.css +214 -11
  141. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  142. package/cjs/extensions/forms/types.d.ts +16 -18
  143. package/cjs/extensions/forms/types.js.map +1 -1
  144. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  145. package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
  146. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  147. package/cjs/shared/Eufemia.d.ts +1 -1
  148. package/cjs/shared/Eufemia.js +2 -2
  149. package/cjs/shared/Eufemia.js.map +1 -1
  150. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  151. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  152. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  153. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  154. package/cjs/shared/helpers/useSharedState.d.ts +15 -0
  155. package/cjs/shared/helpers/useSharedState.js +71 -0
  156. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  157. package/cjs/style/core/utilities.scss +1 -2
  158. package/cjs/style/dnb-ui-components.css +232 -27
  159. package/cjs/style/dnb-ui-components.min.css +3 -3
  160. package/cjs/style/dnb-ui-extensions.css +214 -11
  161. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  162. package/cjs/style/dnb-ui-forms.css +214 -11
  163. package/cjs/style/dnb-ui-forms.min.css +1 -1
  164. package/cjs/style/dnb-ui-forms.scss +1 -0
  165. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  166. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  167. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  172. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  173. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  174. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  175. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  176. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  177. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  178. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  179. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  180. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  181. package/cjs/style/themes/theme-ui/ui-theme-components.css +496 -44
  182. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  183. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  184. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  185. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  186. package/cjs/style/themes/theme-ui/ui-theme-forms.css +230 -12
  187. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  188. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  189. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
  190. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  191. package/components/anchor/Anchor.js +9 -5
  192. package/components/anchor/Anchor.js.map +1 -1
  193. package/components/anchor/style/anchor-mixins.scss +0 -11
  194. package/components/anchor/style/dnb-anchor.css +0 -16
  195. package/components/anchor/style/dnb-anchor.min.css +1 -1
  196. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  197. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  198. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  199. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  200. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  201. package/components/autocomplete/Autocomplete.js +2 -2
  202. package/components/autocomplete/Autocomplete.js.map +1 -1
  203. package/components/button/style/dnb-button.css +13 -0
  204. package/components/button/style/dnb-button.min.css +1 -1
  205. package/components/button/style/dnb-button.scss +16 -0
  206. package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  207. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  208. package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  209. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  210. package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  211. package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  212. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  213. package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  214. package/components/date-picker/DatePicker.d.ts +14 -1
  215. package/components/date-picker/DatePicker.js +0 -1
  216. package/components/date-picker/DatePicker.js.map +1 -1
  217. package/components/date-picker/DatePickerCalc.js +2 -1
  218. package/components/date-picker/DatePickerCalc.js.map +1 -1
  219. package/components/date-picker/DatePickerInput.d.ts +3 -0
  220. package/components/date-picker/DatePickerInput.js +9 -2
  221. package/components/date-picker/DatePickerInput.js.map +1 -1
  222. package/components/dropdown/Dropdown.js +3 -2
  223. package/components/dropdown/Dropdown.js.map +1 -1
  224. package/components/flex/Container.js +15 -2
  225. package/components/flex/Container.js.map +1 -1
  226. package/components/flex/export.d.ts +1 -0
  227. package/components/flex/export.js +1 -0
  228. package/components/flex/export.js.map +1 -1
  229. package/components/flex/utils.d.ts +1 -1
  230. package/components/flex/utils.js +11 -1
  231. package/components/flex/utils.js.map +1 -1
  232. package/components/flex/withChildren.d.ts +6 -0
  233. package/components/flex/withChildren.js +6 -0
  234. package/components/flex/withChildren.js.map +1 -0
  235. package/components/input/Input.js +3 -3
  236. package/components/input/Input.js.map +1 -1
  237. package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  238. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  239. package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  240. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  241. package/components/input-masked/InputMaskedHooks.js +13 -8
  242. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  243. package/components/input-masked/MultiInputMask.d.ts +10 -2
  244. package/components/input-masked/MultiInputMask.js +39 -14
  245. package/components/input-masked/MultiInputMask.js.map +1 -1
  246. package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  247. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  248. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  249. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  250. package/components/number-format/NumberFormat.js +1 -1
  251. package/components/number-format/NumberFormat.js.map +1 -1
  252. package/components/textarea/style/dnb-textarea.css +5 -0
  253. package/components/textarea/style/dnb-textarea.min.css +1 -1
  254. package/components/textarea/style/dnb-textarea.scss +4 -0
  255. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  256. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  257. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  258. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  259. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  260. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  261. package/components/visually-hidden/VisuallyHidden.js +1 -1
  262. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  263. package/es/components/anchor/Anchor.js +9 -5
  264. package/es/components/anchor/Anchor.js.map +1 -1
  265. package/es/components/anchor/style/anchor-mixins.scss +0 -11
  266. package/es/components/anchor/style/dnb-anchor.css +0 -16
  267. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  268. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  269. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  270. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  271. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  272. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  273. package/es/components/autocomplete/Autocomplete.js +2 -2
  274. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  275. package/es/components/button/style/dnb-button.css +13 -0
  276. package/es/components/button/style/dnb-button.min.css +1 -1
  277. package/es/components/button/style/dnb-button.scss +16 -0
  278. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  279. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  280. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  281. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  282. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  283. package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  284. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  285. package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  286. package/es/components/date-picker/DatePicker.d.ts +14 -1
  287. package/es/components/date-picker/DatePicker.js +0 -1
  288. package/es/components/date-picker/DatePicker.js.map +1 -1
  289. package/es/components/date-picker/DatePickerCalc.js +2 -1
  290. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  291. package/es/components/date-picker/DatePickerInput.d.ts +3 -0
  292. package/es/components/date-picker/DatePickerInput.js +9 -2
  293. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  294. package/es/components/dropdown/Dropdown.js +3 -2
  295. package/es/components/dropdown/Dropdown.js.map +1 -1
  296. package/es/components/flex/Container.js +15 -2
  297. package/es/components/flex/Container.js.map +1 -1
  298. package/es/components/flex/export.d.ts +1 -0
  299. package/es/components/flex/export.js +1 -0
  300. package/es/components/flex/export.js.map +1 -1
  301. package/es/components/flex/utils.d.ts +1 -1
  302. package/es/components/flex/utils.js +11 -1
  303. package/es/components/flex/utils.js.map +1 -1
  304. package/es/components/flex/withChildren.d.ts +6 -0
  305. package/es/components/flex/withChildren.js +6 -0
  306. package/es/components/flex/withChildren.js.map +1 -0
  307. package/es/components/input/Input.js +3 -3
  308. package/es/components/input/Input.js.map +1 -1
  309. package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  310. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  311. package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  312. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  313. package/es/components/input-masked/InputMaskedHooks.js +13 -8
  314. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  315. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  316. package/es/components/input-masked/MultiInputMask.js +39 -13
  317. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  318. package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  319. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  320. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  321. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  322. package/es/components/number-format/NumberFormat.js +1 -1
  323. package/es/components/number-format/NumberFormat.js.map +1 -1
  324. package/es/components/textarea/style/dnb-textarea.css +5 -0
  325. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  326. package/es/components/textarea/style/dnb-textarea.scss +4 -0
  327. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  328. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  329. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  330. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  331. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  332. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  333. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  334. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  335. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  336. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  337. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  338. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  339. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  340. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  341. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  342. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  343. package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  344. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  345. package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
  346. package/es/extensions/forms/Field/Date/Date.js +45 -9
  347. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  348. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  349. package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
  350. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  351. package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
  352. package/es/extensions/forms/Field/Number/Number.js +109 -31
  353. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  354. package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  355. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  356. package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  357. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  358. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  359. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  360. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  361. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  362. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  363. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  364. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  365. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  366. package/es/extensions/forms/Field/Selection/Selection.js +4 -9
  367. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  368. package/es/extensions/forms/Field/String/String.d.ts +0 -1
  369. package/es/extensions/forms/Field/String/String.js +23 -9
  370. package/es/extensions/forms/Field/String/String.js.map +1 -1
  371. package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
  372. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  373. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  374. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -23
  375. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  376. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  377. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  378. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  379. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  380. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  381. package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  382. package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  383. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  384. package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
  385. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  386. package/es/extensions/forms/Form/hooks/useData.js +29 -0
  387. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  388. package/es/extensions/forms/Form/index.d.ts +2 -0
  389. package/es/extensions/forms/Form/index.js +2 -0
  390. package/es/extensions/forms/Form/index.js.map +1 -1
  391. package/es/extensions/forms/Iterate/Array/Array.js +0 -4
  392. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  393. package/es/extensions/forms/hooks/useDataValue.js +26 -33
  394. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  395. package/es/extensions/forms/hooks/useId.d.ts +1 -0
  396. package/es/extensions/forms/hooks/useId.js +11 -0
  397. package/es/extensions/forms/hooks/useId.js.map +1 -0
  398. package/es/extensions/forms/index.d.ts +6 -1
  399. package/es/extensions/forms/index.js +3 -1
  400. package/es/extensions/forms/index.js.map +1 -1
  401. package/es/extensions/forms/style/dnb-forms.css +214 -11
  402. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  403. package/es/extensions/forms/types.d.ts +16 -18
  404. package/es/extensions/forms/types.js.map +1 -1
  405. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  406. package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
  407. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  408. package/es/shared/Eufemia.d.ts +1 -1
  409. package/es/shared/Eufemia.js +2 -2
  410. package/es/shared/Eufemia.js.map +1 -1
  411. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  412. package/es/shared/helpers/EventEmitter.js.map +1 -1
  413. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  414. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  415. package/es/shared/helpers/useSharedState.d.ts +15 -0
  416. package/es/shared/helpers/useSharedState.js +63 -0
  417. package/es/shared/helpers/useSharedState.js.map +1 -0
  418. package/es/style/core/utilities.scss +1 -2
  419. package/es/style/dnb-ui-components.css +232 -27
  420. package/es/style/dnb-ui-components.min.css +3 -3
  421. package/es/style/dnb-ui-extensions.css +214 -11
  422. package/es/style/dnb-ui-extensions.min.css +1 -1
  423. package/es/style/dnb-ui-forms.css +214 -11
  424. package/es/style/dnb-ui-forms.min.css +1 -1
  425. package/es/style/dnb-ui-forms.scss +1 -0
  426. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  427. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  428. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  429. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  430. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  431. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  432. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  433. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  434. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  435. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  436. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  437. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  438. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  439. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  440. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  441. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  442. package/es/style/themes/theme-ui/ui-theme-components.css +496 -44
  443. package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  444. package/es/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  445. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  446. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  447. package/es/style/themes/theme-ui/ui-theme-forms.css +230 -12
  448. package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  449. package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  450. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
  451. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  452. package/esm/dnb-ui-basis.min.mjs +1 -1
  453. package/esm/dnb-ui-components.min.mjs +1 -1
  454. package/esm/dnb-ui-elements.min.mjs +1 -1
  455. package/esm/dnb-ui-extensions.min.mjs +3 -3
  456. package/esm/dnb-ui-lib.min.mjs +1 -1
  457. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  458. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  459. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  460. package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  461. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  462. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  463. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  464. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  465. package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  466. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  467. package/extensions/forms/Field/Date/Date.d.ts +3 -1
  468. package/extensions/forms/Field/Date/Date.js +48 -11
  469. package/extensions/forms/Field/Date/Date.js.map +1 -1
  470. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  471. package/extensions/forms/Field/Expiry/Expiry.js +21 -11
  472. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  473. package/extensions/forms/Field/Number/Number.d.ts +5 -1
  474. package/extensions/forms/Field/Number/Number.js +110 -31
  475. package/extensions/forms/Field/Number/Number.js.map +1 -1
  476. package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  477. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  478. package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  479. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  480. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  481. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  482. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  483. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  484. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  485. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  486. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  488. package/extensions/forms/Field/Selection/Selection.js +4 -9
  489. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  490. package/extensions/forms/Field/String/String.d.ts +0 -1
  491. package/extensions/forms/Field/String/String.js +23 -9
  492. package/extensions/forms/Field/String/String.js.map +1 -1
  493. package/extensions/forms/Field/Toggle/Toggle.js +0 -4
  494. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  495. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  496. package/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  497. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  498. package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  499. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  500. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  501. package/extensions/forms/Form/Handler/Handler.js +1 -0
  502. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  503. package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  504. package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  505. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  506. package/extensions/forms/Form/Visibility/index.js.map +1 -0
  507. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  508. package/extensions/forms/Form/hooks/useData.js +30 -0
  509. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  510. package/extensions/forms/Form/index.d.ts +2 -0
  511. package/extensions/forms/Form/index.js +2 -0
  512. package/extensions/forms/Form/index.js.map +1 -1
  513. package/extensions/forms/Iterate/Array/Array.js +0 -4
  514. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  515. package/extensions/forms/hooks/useDataValue.js +26 -33
  516. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  517. package/extensions/forms/hooks/useId.d.ts +1 -0
  518. package/extensions/forms/hooks/useId.js +11 -0
  519. package/extensions/forms/hooks/useId.js.map +1 -0
  520. package/extensions/forms/index.d.ts +6 -1
  521. package/extensions/forms/index.js +3 -1
  522. package/extensions/forms/index.js.map +1 -1
  523. package/extensions/forms/style/dnb-forms.css +214 -11
  524. package/extensions/forms/style/dnb-forms.min.css +1 -1
  525. package/extensions/forms/types.d.ts +16 -18
  526. package/extensions/forms/types.js.map +1 -1
  527. package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  528. package/extensions/forms/utils/TestElement/TestElement.js +1 -0
  529. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  530. package/package.json +1 -1
  531. package/shared/Eufemia.d.ts +1 -1
  532. package/shared/Eufemia.js +2 -2
  533. package/shared/Eufemia.js.map +1 -1
  534. package/shared/helpers/EventEmitter.d.ts +5 -0
  535. package/shared/helpers/EventEmitter.js.map +1 -1
  536. package/shared/helpers/useEventEmitter.d.ts +2 -0
  537. package/shared/helpers/useEventEmitter.js.map +1 -1
  538. package/shared/helpers/useSharedState.d.ts +15 -0
  539. package/shared/helpers/useSharedState.js +63 -0
  540. package/shared/helpers/useSharedState.js.map +1 -0
  541. package/style/core/utilities.scss +1 -2
  542. package/style/dnb-ui-components.css +232 -27
  543. package/style/dnb-ui-components.min.css +3 -3
  544. package/style/dnb-ui-extensions.css +214 -11
  545. package/style/dnb-ui-extensions.min.css +1 -1
  546. package/style/dnb-ui-forms.css +214 -11
  547. package/style/dnb-ui-forms.min.css +1 -1
  548. package/style/dnb-ui-forms.scss +1 -0
  549. package/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  550. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  551. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  552. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  553. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  554. package/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  555. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  556. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  557. package/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  558. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  559. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  560. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  561. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  562. package/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  563. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  564. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  565. package/style/themes/theme-ui/ui-theme-components.css +496 -44
  566. package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  567. package/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  568. package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  569. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  570. package/style/themes/theme-ui/ui-theme-forms.css +230 -12
  571. package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  572. package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  573. package/style/themes/theme-ui/ui-theme-tags.css +8 -10
  574. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  575. package/umd/dnb-ui-basis.min.js +1 -1
  576. package/umd/dnb-ui-components.min.js +1 -1
  577. package/umd/dnb-ui-elements.min.js +1 -1
  578. package/umd/dnb-ui-extensions.min.js +3 -3
  579. package/umd/dnb-ui-lib.min.js +1 -1
  580. package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
  581. package/cjs/extensions/forms/Visibility/index.js.map +0 -1
  582. package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
  583. package/es/extensions/forms/Visibility/index.js.map +0 -1
  584. package/extensions/forms/Visibility/Visibility.js.map +0 -1
  585. package/extensions/forms/Visibility/index.js.map +0 -1
  586. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  587. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  588. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  589. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  590. /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  591. /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}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}.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:30em){.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__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.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)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}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__grid{flex-wrap:wrap}.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:30em){.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__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.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)}}
@@ -8,6 +8,8 @@ fieldset.dnb-forms-field-block {
8
8
  .dnb-forms-field-block {
9
9
  &__grid {
10
10
  display: grid;
11
+
12
+ @include formLabelWrap();
11
13
  }
12
14
 
13
15
  &--layout {
@@ -52,17 +54,6 @@ fieldset.dnb-forms-field-block {
52
54
  align-items: center;
53
55
  }
54
56
 
55
- &__label-description {
56
- margin-left: 0.3em;
57
- color: var(--color-black-55);
58
- font-size: var(--font-size-small);
59
- }
60
-
61
- &__label-secondary {
62
- color: var(--color-black-55);
63
- font-size: var(--font-size-small);
64
- }
65
-
66
57
  &__status {
67
58
  grid-area: status;
68
59
  }
@@ -28,6 +28,7 @@ function FormHandler(_ref) {
28
28
  } = _ref,
29
29
  rest = _objectWithoutProperties(_ref, _excluded);
30
30
  const providerProps = {
31
+ id: rest.id,
31
32
  defaultData,
32
33
  data,
33
34
  schema,
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["_react","_interopRequireDefault","require","_Provider","_Element","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","providerProps","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAarB,SAASc,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAA9B,wBAAA,CAAAkB,IAAA,EAAAtB,SAAA;EAEP,MAAMmC,aAAa,GAAG;IACpBX,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAO,SAAO,CAAC;MACnB;IACF,CAAC;IACDN,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEtC,MAAA,CAAAQ,OAAA,CAAAkC,aAAA,CAACvC,SAAA,CAAAK,OAAQ,EAAKgC,aAAa,EACzBxC,MAAA,CAAAQ,OAAA,CAAAkC,aAAA,CAACtC,QAAA,CAAAI,OAAW,EAAK+B,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
1
+ {"version":3,"file":"Handler.js","names":["_react","_interopRequireDefault","require","_Provider","_Element","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","providerProps","id","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAarB,SAASc,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAA9B,wBAAA,CAAAkB,IAAA,EAAAtB,SAAA;EAEP,MAAMmC,aAAa,GAAG;IACpBC,EAAE,EAAEF,IAAI,CAACE,EAAE;IACXZ,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAQ,SAAO,CAAC;MACnB;IACF,CAAC;IACDP,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEtC,MAAA,CAAAQ,OAAA,CAAAmC,aAAA,CAACxC,SAAA,CAAAK,OAAQ,EAAKgC,aAAa,EACzBxC,MAAA,CAAAQ,OAAA,CAAAmC,aAAA,CAACvC,QAAA,CAAAI,OAAW,EAAK+B,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
@@ -13,12 +13,15 @@ export type Props = {
13
13
  pathTrue?: string;
14
14
  /** Given data context path must be false to show children */
15
15
  pathFalse?: string;
16
+ /** Given data context path must match, as well as the "whenValue" value */
17
+ pathValue?: string;
18
+ whenValue?: unknown;
16
19
  /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */
17
20
  inferData?: (data: unknown) => boolean;
18
21
  children: React.ReactNode;
19
22
  };
20
- declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, inferData, children, }: Props): import("react/jsx-runtime").JSX.Element;
23
+ declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, children, }: Props): import("react/jsx-runtime").JSX.Element;
21
24
  declare namespace Visibility {
22
- var _supportsSpacingProps: boolean;
25
+ var _supportsSpacingProps: string;
23
26
  }
24
27
  export default Visibility;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _jsonPointer = _interopRequireDefault(require("json-pointer"));
10
- var DataContext = _interopRequireWildcard(require("../DataContext"));
10
+ var DataContext = _interopRequireWildcard(require("../../DataContext"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  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); }
13
13
  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; }
@@ -20,6 +20,8 @@ function Visibility(_ref) {
20
20
  pathFalsy,
21
21
  pathTrue,
22
22
  pathFalse,
23
+ pathValue,
24
+ whenValue,
23
25
  inferData,
24
26
  children
25
27
  } = _ref;
@@ -45,12 +47,15 @@ function Visibility(_ref) {
45
47
  if (pathFalse && (!_jsonPointer.default.has(dataContext.data, pathFalse) || _jsonPointer.default.get(dataContext.data, pathFalse) !== false)) {
46
48
  return null;
47
49
  }
50
+ if (pathValue && !(_jsonPointer.default.has(dataContext.data, pathValue) && _jsonPointer.default.get(dataContext.data, pathValue) === whenValue)) {
51
+ return null;
52
+ }
48
53
  if (inferData && !inferData(dataContext.data)) {
49
54
  return null;
50
55
  }
51
56
  return _react.default.createElement(_react.default.Fragment, null, children);
52
57
  }
53
- Visibility._supportsSpacingProps = true;
58
+ Visibility._supportsSpacingProps = 'children';
54
59
  var _default = Visibility;
55
60
  exports.default = _default;
56
61
  //# sourceMappingURL=Visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Visibility.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","DataContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","children","dataContext","useContext","Context","pointer","data","Boolean","createElement","Fragment","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport * as DataContext from '../../DataContext'\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Given data context path must match, as well as the \"whenValue\" value */\n pathValue?: string\n whenValue?: unknown\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n children: React.ReactNode\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n children,\n}: Props) {\n const dataContext = useContext(DataContext.Context)\n\n if (visible === false) {\n return null\n }\n\n if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {\n return null\n }\n if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {\n return null\n }\n\n if (\n pathTruthy &&\n (!pointer.has(dataContext.data, pathTruthy) ||\n !pointer.get(dataContext.data, pathTruthy))\n ) {\n return null\n }\n if (\n pathFalsy &&\n pointer.has(dataContext.data, pathFalsy) &&\n Boolean(pointer.get(dataContext.data, pathFalsy))\n ) {\n return null\n }\n\n if (\n pathTrue &&\n (!pointer.has(dataContext.data, pathTrue) ||\n pointer.get(dataContext.data, pathTrue) !== true)\n ) {\n return null\n }\n if (\n pathFalse &&\n (!pointer.has(dataContext.data, pathFalse) ||\n pointer.get(dataContext.data, pathFalse) !== false)\n ) {\n return null\n }\n\n if (\n pathValue &&\n !(\n pointer.has(dataContext.data, pathValue) &&\n pointer.get(dataContext.data, pathValue) === whenValue\n )\n ) {\n return null\n }\n\n if (inferData && !inferData(dataContext.data)) {\n return null\n }\n\n return <>{children}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Visibility","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/index.ts"],"sourcesContent":["export { default } from './Visibility'\nexport * from './Visibility'\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,WAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,WAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,WAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAA4B,SAAAS,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,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Path } from '../../DataContext/Provider';
2
+ type PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}` ? Key extends keyof T ? Rest extends '' ? T[Key] : PathImpl<T[Key], Rest> : never : T[P & keyof T];
3
+ type PathType<T, P extends string> = P extends `/${infer Rest}` ? PathImpl<T, Rest> : never;
4
+ type UseDataReturnUpdate<Data> = <P extends Path>(path: P, fn: (value: PathType<Data, P>) => unknown) => void;
5
+ type UseDataReturn<Data> = {
6
+ data: Data;
7
+ update: UseDataReturnUpdate<Data>;
8
+ };
9
+ export default function useData<Data>(id: string, data?: Data): UseDataReturn<Data>;
10
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = useData;
8
+ var _react = require("react");
9
+ var _jsonPointer = _interopRequireDefault(require("json-pointer"));
10
+ var _useSharedState = require("../../../../shared/helpers/useSharedState");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function useData(id) {
13
+ let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
14
+ const initialDataRef = (0, _react.useRef)(data);
15
+ const sharedState = (0, _useSharedState.useSharedState)(id, data);
16
+ const updatePath = (0, _react.useCallback)((path, fn) => {
17
+ var _sharedState$update;
18
+ const existingData = sharedState.data || {};
19
+ const existingValue = _jsonPointer.default.has(existingData, path) ? _jsonPointer.default.get(existingData, path) : undefined;
20
+ const newValue = fn(existingValue);
21
+ _jsonPointer.default.set(existingData, path, newValue);
22
+ (_sharedState$update = sharedState.update) === null || _sharedState$update === void 0 ? void 0 : _sharedState$update.call(sharedState, existingData);
23
+ }, [sharedState]);
24
+ (0, _react.useEffect)(() => {
25
+ if (data && data !== initialDataRef.current) {
26
+ var _sharedState$update2;
27
+ initialDataRef.current = data;
28
+ (_sharedState$update2 = sharedState.update) === null || _sharedState$update2 === void 0 ? void 0 : _sharedState$update2.call(sharedState, data);
29
+ }
30
+ }, [data, sharedState]);
31
+ return {
32
+ data: sharedState.data,
33
+ update: updatePath
34
+ };
35
+ }
36
+ //# sourceMappingURL=useData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useData.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_useSharedState","obj","__esModule","default","useData","id","data","arguments","length","undefined","initialDataRef","useRef","sharedState","useSharedState","updatePath","useCallback","path","fn","_sharedState$update","existingData","existingValue","pointer","has","get","newValue","set","update","call","useEffect","current","_sharedState$update2"],"sources":["../../../../../../src/extensions/forms/Form/hooks/useData.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\nimport pointer from 'json-pointer'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\nimport type { Path } from '../../DataContext/Provider'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n fn: (value: PathType<Data, P>) => unknown\n) => void\n\ntype UseDataReturn<Data> = {\n data: Data\n update: UseDataReturnUpdate<Data>\n}\n\nexport default function useData<Data>(\n id: string,\n data: Data = undefined\n): UseDataReturn<Data> {\n const initialDataRef = useRef(data)\n const sharedState = useSharedState<Data>(id, data)\n\n const updatePath = useCallback<UseDataReturnUpdate<Data>>(\n (path, fn) => {\n const existingData = sharedState.data || ({} as Data)\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // get new value\n const newValue = fn(existingValue)\n\n // update existing data\n pointer.set(existingData, path, newValue)\n\n // update provider\n sharedState.update?.(existingData)\n },\n [sharedState]\n )\n\n // when initial data changes, update the shared state\n useEffect(() => {\n if (data && data !== initialDataRef.current) {\n initialDataRef.current = data\n sharedState.update?.(data)\n }\n }, [data, sharedState])\n\n return { data: sharedState.data, update: updatePath }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAA0E,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAyB3D,SAASG,OAAOA,CAC7BC,EAAU,EAEW;EAAA,IADrBC,IAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAEtB,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAACL,IAAI,CAAC;EACnC,MAAMM,WAAW,GAAG,IAAAC,8BAAc,EAAOR,EAAE,EAAEC,IAAI,CAAC;EAElD,MAAMQ,UAAU,GAAG,IAAAC,kBAAW,EAC5B,CAACC,IAAI,EAAEC,EAAE,KAAK;IAAA,IAAAC,mBAAA;IACZ,MAAMC,YAAY,GAAGP,WAAW,CAACN,IAAI,IAAK,CAAC,CAAU;IACrD,MAAMc,aAAa,GAAGC,oBAAO,CAACC,GAAG,CAACH,YAAY,EAAEH,IAAI,CAAC,GACjDK,oBAAO,CAACE,GAAG,CAACJ,YAAY,EAAEH,IAAI,CAAC,GAC/BP,SAAS;IAGb,MAAMe,QAAQ,GAAGP,EAAE,CAACG,aAAa,CAAC;IAGlCC,oBAAO,CAACI,GAAG,CAACN,YAAY,EAAEH,IAAI,EAAEQ,QAAQ,CAAC;IAGzC,CAAAN,mBAAA,GAAAN,WAAW,CAACc,MAAM,cAAAR,mBAAA,uBAAlBA,mBAAA,CAAAS,IAAA,CAAAf,WAAW,EAAUO,YAAY,CAAC;EACpC,CAAC,EACD,CAACP,WAAW,CACd,CAAC;EAGD,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAItB,IAAI,IAAIA,IAAI,KAAKI,cAAc,CAACmB,OAAO,EAAE;MAAA,IAAAC,oBAAA;MAC3CpB,cAAc,CAACmB,OAAO,GAAGvB,IAAI;MAC7B,CAAAwB,oBAAA,GAAAlB,WAAW,CAACc,MAAM,cAAAI,oBAAA,uBAAlBA,oBAAA,CAAAH,IAAA,CAAAf,WAAW,EAAUN,IAAI,CAAC;IAC5B;EACF,CAAC,EAAE,CAACA,IAAI,EAAEM,WAAW,CAAC,CAAC;EAEvB,OAAO;IAAEN,IAAI,EAAEM,WAAW,CAACN,IAAI;IAAEoB,MAAM,EAAEZ;EAAW,CAAC;AACvD"}
@@ -4,3 +4,5 @@ export { default as SubmitButton } from './SubmitButton';
4
4
  export { default as ButtonRow } from './ButtonRow';
5
5
  export { default as MainHeading } from './MainHeading';
6
6
  export { default as SubHeading } from './SubHeading';
7
+ export { default as Visibility } from './Visibility';
8
+ export { default as useData } from './hooks/useData';
@@ -39,11 +39,25 @@ Object.defineProperty(exports, "SubmitButton", {
39
39
  return _SubmitButton.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "Visibility", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _Visibility.default;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "useData", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _useData.default;
52
+ }
53
+ });
42
54
  var _Handler = _interopRequireDefault(require("./Handler"));
43
55
  var _Element = _interopRequireDefault(require("./Element"));
44
56
  var _SubmitButton = _interopRequireDefault(require("./SubmitButton"));
45
57
  var _ButtonRow = _interopRequireDefault(require("./ButtonRow"));
46
58
  var _MainHeading = _interopRequireDefault(require("./MainHeading"));
47
59
  var _SubHeading = _interopRequireDefault(require("./SubHeading"));
60
+ var _Visibility = _interopRequireDefault(require("./Visibility"));
61
+ var _useData = _interopRequireDefault(require("./hooks/useData"));
48
62
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Handler","_interopRequireDefault","require","_Element","_SubmitButton","_ButtonRow","_MainHeading","_SubHeading","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_Handler","_interopRequireDefault","require","_Element","_SubmitButton","_ButtonRow","_MainHeading","_SubHeading","_Visibility","_useData","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as useData } from './hooks/useData'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,QAAA,GAAAR,sBAAA,CAAAC,OAAA;AAAoD,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -23,8 +23,6 @@ function ArrayComponent(props) {
23
23
  layout = 'vertical',
24
24
  placeholder,
25
25
  label,
26
- labelDescription,
27
- labelSecondary,
28
26
  path,
29
27
  value: arrayValue,
30
28
  info,
@@ -57,8 +55,6 @@ function ArrayComponent(props) {
57
55
  className: (0, _classnames.default)('dnb-forms-field-number', className),
58
56
  layout: layout,
59
57
  label: label,
60
- labelDescription: labelDescription,
61
- labelSecondary: labelSecondary,
62
58
  info: info,
63
59
  warning: warning,
64
60
  error: error,
@@ -1 +1 @@
1
- {"version":3,"file":"Array.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_jsonPointer","_IterateElementContext","_FieldBlock","_hooks","_utils","_Container","_Flex","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","ArrayComponent","props","className","layout","placeholder","label","labelDescription","labelSecondary","path","value","arrayValue","info","warning","error","emptyValue","width","handleChange","children","useDataValue","elementData","useMemo","map","elementValue","elementIndex","handleElementChange","newArrayValue","structuredClone","pointer","handleRemoveElement","splice","handlePush","useCallback","element","createElement","classnames","contentsWidth","undefined","pickSpacingProps","Container","pickFlexContainerProps","spacing","_ref","Provider","index","handleRemove","Array","isArray","childElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport IterateElementContext from '../IterateElementContext'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport Flex from '../../../../components/flex/Flex'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<unknown[], undefined, ErrorMessages> &\n Omit<FieldBlockProps, 'children'> &\n Omit<FlexContainerProps, 'children' | 'width'> & {\n children:\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n | Array<\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n >\n }\n\nfunction ArrayComponent(props: Props) {\n const {\n className,\n layout = 'vertical',\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n path,\n value: arrayValue,\n info,\n warning,\n error,\n emptyValue,\n width,\n handleChange,\n children,\n } = useDataValue(props)\n\n const elementData: {\n elementValue: unknown\n handleElementChange: (path: string, value: unknown) => void\n handleRemoveElement: () => void\n }[] = useMemo(() => {\n return (arrayValue ?? []).map((elementValue, elementIndex) => ({\n elementValue,\n handleElementChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n pointer.set(newArrayValue, path, value)\n handleChange?.(newArrayValue)\n },\n handleRemoveElement: () => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(elementIndex, 1)\n handleChange?.(newArrayValue)\n },\n }))\n }, [arrayValue, handleChange])\n\n const handlePush = useCallback(\n (element: unknown) => {\n handleChange([...(arrayValue ?? []), element])\n },\n [arrayValue, handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary}\n info={info}\n warning={warning}\n error={error}\n width={width}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <Flex.Container\n {...pickFlexContainerProps(props as FlexContainerProps, {\n spacing: 'small',\n })}\n >\n {arrayValue === emptyValue ? (\n <em>{placeholder}</em>\n ) : (\n elementData.map(\n (\n { elementValue, handleElementChange, handleRemoveElement },\n elementIndex\n ) => {\n return (\n <IterateElementContext.Provider\n key={`element-${elementIndex}`}\n value={{\n index: elementIndex,\n value: elementValue,\n path,\n handleChange: handleElementChange,\n handleRemove: handleRemoveElement,\n handlePush,\n }}\n >\n {Array.isArray(children)\n ? children.map((childElement) =>\n typeof childElement === 'function'\n ? childElement(elementValue, elementIndex)\n : childElement\n )\n : typeof children === 'function'\n ? children(elementValue, elementIndex)\n : children}\n </IterateElementContext.Provider>\n )\n }\n )\n )}\n </Flex.Container>\n </FieldBlock>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAIA,IAAAS,KAAA,GAAAP,sBAAA,CAAAF,OAAA;AAAmD,SAAAE,uBAAAQ,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,SAAAf,wBAAAW,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;AAoBnD,SAASI,cAAcA,CAACC,KAAY,EAAE;EACpC,MAAM;IACJC,SAAS;IACTC,MAAM,GAAG,UAAU;IACnBC,WAAW;IACXC,KAAK;IACLC,gBAAgB;IAChBC,cAAc;IACdC,IAAI;IACJC,KAAK,EAAEC,UAAU;IACjBC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,UAAU;IACVC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,mBAAY,EAACjB,KAAK,CAAC;EAEvB,MAAMkB,WAIH,GAAG,IAAAC,cAAO,EAAC,MAAM;IAClB,OAAO,CAACV,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EAAEW,GAAG,CAAC,CAACC,YAAY,EAAEC,YAAY,MAAM;MAC7DD,YAAY;MACZE,mBAAmB,EAAEA,CAAChB,IAAI,EAAEC,KAAK,KAAK;QACpC,MAAMgB,aAAa,GAAGC,eAAe,CAAChB,UAAU,CAAC;QACjDiB,oBAAO,CAACrC,GAAG,CAACmC,aAAa,EAAEjB,IAAI,EAAEC,KAAK,CAAC;QACvCO,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGS,aAAa,CAAC;MAC/B,CAAC;MACDG,mBAAmB,EAAEA,CAAA,KAAM;QACzB,MAAMH,aAAa,GAAGC,eAAe,CAAChB,UAAU,CAAC;QACjDe,aAAa,CAACI,MAAM,CAACN,YAAY,EAAE,CAAC,CAAC;QACrCP,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGS,aAAa,CAAC;MAC/B;IACF,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACf,UAAU,EAAEM,YAAY,CAAC,CAAC;EAE9B,MAAMc,UAAU,GAAG,IAAAC,kBAAW,EAC3BC,OAAgB,IAAK;IACpBhB,YAAY,CAAC,CAAC,IAAIN,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,CAAC,EAAEsB,OAAO,CAAC,CAAC;EAChD,CAAC,EACD,CAACtB,UAAU,EAAEM,YAAY,CAC3B,CAAC;EAED,OACE3D,MAAA,CAAAc,OAAA,CAAA8D,aAAA,CAACrE,WAAA,CAAAO,OAAU,EAAAoB,QAAA;IACTW,SAAS,EAAE,IAAAgC,mBAAU,EAAC,wBAAwB,EAAEhC,SAAS,CAAE;IAC3DC,MAAM,EAAEA,MAAO;IACfE,KAAK,EAAEA,KAAM;IACbC,gBAAgB,EAAEA,gBAAiB;IACnCC,cAAc,EAAEA,cAAe;IAC/BI,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA,KAAM;IACbE,KAAK,EAAEA,KAAM;IACboB,aAAa,EAAEpB,KAAK,KAAK,KAAK,GAAGA,KAAK,GAAGqB;EAAU,GAC/C,IAAAC,uBAAgB,EAACpC,KAAK,CAAC,GAE3B5C,MAAA,CAAAc,OAAA,CAAA8D,aAAA,CAACjE,KAAA,CAAAG,OAAI,CAACmE,SAAS,EACT,IAAAC,iCAAsB,EAACtC,KAAK,EAAwB;IACtDuC,OAAO,EAAE;EACX,CAAC,CAAC,EAED9B,UAAU,KAAKI,UAAU,GACxBzD,MAAA,CAAAc,OAAA,CAAA8D,aAAA,aAAK7B,WAAgB,CAAC,GAEtBe,WAAW,CAACE,GAAG,CACb,CAAAoB,IAAA,EAEElB,YAAY,KACT;IAAA,IAFH;MAAED,YAAY;MAAEE,mBAAmB;MAAEI;IAAoB,CAAC,GAAAa,IAAA;IAG1D,OACEpF,MAAA,CAAAc,OAAA,CAAA8D,aAAA,CAACtE,sBAAA,CAAAQ,OAAqB,CAACuE,QAAQ;MAC7BzD,GAAG,EAAG,WAAUsC,YAAa,EAAE;MAC/Bd,KAAK,EAAE;QACLkC,KAAK,EAAEpB,YAAY;QACnBd,KAAK,EAAEa,YAAY;QACnBd,IAAI;QACJQ,YAAY,EAAEQ,mBAAmB;QACjCoB,YAAY,EAAEhB,mBAAmB;QACjCE;MACF;IAAE,GAEDe,KAAK,CAACC,OAAO,CAAC7B,QAAQ,CAAC,GACpBA,QAAQ,CAACI,GAAG,CAAE0B,YAAY,IACxB,OAAOA,YAAY,KAAK,UAAU,GAC9BA,YAAY,CAACzB,YAAY,EAAEC,YAAY,CAAC,GACxCwB,YACN,CAAC,GACD,OAAO9B,QAAQ,KAAK,UAAU,GAC9BA,QAAQ,CAACK,YAAY,EAAEC,YAAY,CAAC,GACpCN,QAC0B,CAAC;EAErC,CACF,CAEY,CACN,CAAC;AAEjB;AAEAjB,cAAc,CAACgD,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC5BjD,cAAc;AAAAkD,OAAA,CAAA/E,OAAA,GAAA8E,QAAA"}
1
+ {"version":3,"file":"Array.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_jsonPointer","_IterateElementContext","_FieldBlock","_hooks","_utils","_Container","_Flex","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","ArrayComponent","props","className","layout","placeholder","label","path","value","arrayValue","info","warning","error","emptyValue","width","handleChange","children","useDataValue","elementData","useMemo","map","elementValue","elementIndex","handleElementChange","newArrayValue","structuredClone","pointer","handleRemoveElement","splice","handlePush","useCallback","element","createElement","classnames","contentsWidth","undefined","pickSpacingProps","Container","pickFlexContainerProps","spacing","_ref","Provider","index","handleRemove","Array","isArray","childElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport IterateElementContext from '../IterateElementContext'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport Flex from '../../../../components/flex/Flex'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<unknown[], undefined, ErrorMessages> &\n Omit<FieldBlockProps, 'children'> &\n Omit<FlexContainerProps, 'children' | 'width'> & {\n children:\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n | Array<\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n >\n }\n\nfunction ArrayComponent(props: Props) {\n const {\n className,\n layout = 'vertical',\n placeholder,\n label,\n path,\n value: arrayValue,\n info,\n warning,\n error,\n emptyValue,\n width,\n handleChange,\n children,\n } = useDataValue(props)\n\n const elementData: {\n elementValue: unknown\n handleElementChange: (path: string, value: unknown) => void\n handleRemoveElement: () => void\n }[] = useMemo(() => {\n return (arrayValue ?? []).map((elementValue, elementIndex) => ({\n elementValue,\n handleElementChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n pointer.set(newArrayValue, path, value)\n handleChange?.(newArrayValue)\n },\n handleRemoveElement: () => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(elementIndex, 1)\n handleChange?.(newArrayValue)\n },\n }))\n }, [arrayValue, handleChange])\n\n const handlePush = useCallback(\n (element: unknown) => {\n handleChange([...(arrayValue ?? []), element])\n },\n [arrayValue, handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n layout={layout}\n label={label}\n info={info}\n warning={warning}\n error={error}\n width={width}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <Flex.Container\n {...pickFlexContainerProps(props as FlexContainerProps, {\n spacing: 'small',\n })}\n >\n {arrayValue === emptyValue ? (\n <em>{placeholder}</em>\n ) : (\n elementData.map(\n (\n { elementValue, handleElementChange, handleRemoveElement },\n elementIndex\n ) => {\n return (\n <IterateElementContext.Provider\n key={`element-${elementIndex}`}\n value={{\n index: elementIndex,\n value: elementValue,\n path,\n handleChange: handleElementChange,\n handleRemove: handleRemoveElement,\n handlePush,\n }}\n >\n {Array.isArray(children)\n ? children.map((childElement) =>\n typeof childElement === 'function'\n ? childElement(elementValue, elementIndex)\n : childElement\n )\n : typeof children === 'function'\n ? children(elementValue, elementIndex)\n : children}\n </IterateElementContext.Provider>\n )\n }\n )\n )}\n </Flex.Container>\n </FieldBlock>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
@@ -13,10 +13,10 @@ var _types = require("../types");
13
13
  var _DataContext = require("../DataContext");
14
14
  var _FieldBlockContext = _interopRequireDefault(require("../FieldBlock/FieldBlockContext"));
15
15
  var _IterateElementContext = _interopRequireDefault(require("../Iterate/IterateElementContext"));
16
- var _componentHelper = require("../../../shared/component-helper");
17
16
  var _useMountEffect = _interopRequireDefault(require("./useMountEffect"));
18
17
  var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
19
18
  var _useProcessManager = _interopRequireDefault(require("./useProcessManager"));
19
+ var _useId = _interopRequireDefault(require("./useId"));
20
20
  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); }
21
21
  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; }
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -49,15 +49,15 @@ function useDataValue(props) {
49
49
  toInput = value => value,
50
50
  fromInput = value => value,
51
51
  toEvent = value => value,
52
+ transformValue = value => value,
52
53
  fromExternal = value => value,
53
54
  validateRequired = (value, _ref) => {
54
55
  let {
55
56
  emptyValue,
56
- required
57
+ required,
58
+ error
57
59
  } = _ref;
58
- const res = required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '') ? new _types.FormError('The value is required', {
59
- validationRule: 'required'
60
- }) : undefined;
60
+ const res = required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '') ? error : undefined;
61
61
  return res;
62
62
  }
63
63
  } = props;
@@ -65,10 +65,7 @@ function useDataValue(props) {
65
65
  const {
66
66
  startProcess
67
67
  } = (0, _useProcessManager.default)();
68
- const id = (0, _react.useMemo)(() => {
69
- var _props$id;
70
- return (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : (0, _componentHelper.makeUniqueId)();
71
- }, [props.id]);
68
+ const id = (0, _useId.default)(props.id);
72
69
  const dataContext = (0, _react.useContext)(_DataContext.Context);
73
70
  const fieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
74
71
  const iterateElementContext = (0, _react.useContext)(_IterateElementContext.default);
@@ -77,6 +74,7 @@ function useDataValue(props) {
77
74
  fromInput,
78
75
  toEvent,
79
76
  fromExternal,
77
+ transformValue,
80
78
  validateRequired
81
79
  });
82
80
  const {
@@ -111,11 +109,7 @@ function useDataValue(props) {
111
109
  }, [path, id]);
112
110
  const externalValue = (0, _react.useMemo)(() => {
113
111
  if (props.value !== undefined) {
114
- let value = transformers.current.fromExternal(props.value);
115
- if (props.capitalize) {
116
- value = (0, _componentHelper.toCapitalized)(String(value || ''));
117
- }
118
- return value;
112
+ return transformers.current.fromExternal(props.value);
119
113
  }
120
114
  if (inIterate && itemPath) {
121
115
  if (itemPath === '/') {
@@ -130,7 +124,7 @@ function useDataValue(props) {
130
124
  return _jsonPointer.default.has(dataContext.data, path) ? _jsonPointer.default.get(dataContext.data, path) : undefined;
131
125
  }
132
126
  return undefined;
133
- }, [props.value, props.capitalize, inIterate, itemPath, dataContext.data, path, iterateElementValue]);
127
+ }, [props.value, inIterate, itemPath, dataContext.data, path, iterateElementValue]);
134
128
  const valueRef = (0, _react.useRef)(externalValue);
135
129
  const changedRef = (0, _react.useRef)(false);
136
130
  const hasFocusRef = (0, _react.useRef)(false);
@@ -187,7 +181,10 @@ function useDataValue(props) {
187
181
  const requiredError = transformers.current.validateRequired(valueRef.current, {
188
182
  emptyValue,
189
183
  required,
190
- isChanged: changedRef.current
184
+ isChanged: changedRef.current,
185
+ error: new _types.FormError('The value is required', {
186
+ validationRule: 'required'
187
+ })
191
188
  });
192
189
  if (requiredError instanceof Error) {
193
190
  throw requiredError;
@@ -239,7 +236,7 @@ function useDataValue(props) {
239
236
  }
240
237
  }, [dataContext.showAllErrors, showError]);
241
238
  (0, _react.useEffect)(() => {
242
- if (path && props.value) {
239
+ if (path && typeof props.value !== 'undefined') {
243
240
  const hasValue = _jsonPointer.default.has(dataContext.data, path);
244
241
  const value = hasValue ? _jsonPointer.default.get(dataContext.data, path) : undefined;
245
242
  if (!hasValue || props.value !== value && valueRef.current !== value) {
@@ -257,15 +254,18 @@ function useDataValue(props) {
257
254
  const setHasFocus = (0, _react.useCallback)((hasFocus, valueOverride) => {
258
255
  if (hasFocus) {
259
256
  hasFocusRef.current = true;
260
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current));
257
+ const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onFocus');
258
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(value);
261
259
  } else {
262
260
  hasFocusRef.current = false;
263
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current));
261
+ const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlur');
262
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(value);
264
263
  if (!changedRef.current && !validateUnchanged) {
265
264
  return;
266
265
  }
267
266
  if (typeof onBlurValidator === 'function') {
268
- Promise.resolve(onBlurValidator(transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current))).then(persistErrorState);
267
+ const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlurValidator');
268
+ Promise.resolve(onBlurValidator(value)).then(persistErrorState);
269
269
  }
270
270
  showError();
271
271
  forceUpdate();
@@ -285,30 +285,23 @@ function useDataValue(props) {
285
285
  }, [dataContextHandlePathChange, handleError, path, validateValue]);
286
286
  const handleChange = (0, _react.useCallback)(function (argFromInput) {
287
287
  let additionalArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
288
+ const currentValue = valueRef.current;
288
289
  let newValue = transformers.current.fromInput(argFromInput);
289
- if (newValue === valueRef.current) {
290
+ if (newValue === currentValue) {
290
291
  return;
291
292
  }
292
- if (props.capitalize) {
293
- newValue = (0, _componentHelper.toCapitalized)(String(newValue || ''));
294
- }
293
+ newValue = transformers.current.transformValue(newValue, currentValue);
295
294
  updateValue(newValue);
296
295
  changedRef.current = true;
297
- const value = transformers.current.toEvent(newValue);
296
+ const value = transformers.current.toEvent(newValue, 'onChange');
298
297
  onChange === null || onChange === void 0 ? void 0 : onChange.apply(_this, typeof additionalArgs !== 'undefined' ? [value, additionalArgs] : [value]);
299
298
  if (itemPath) {
300
299
  const iterateValuePath = `/${iterateElementIndex}${itemPath && itemPath !== '/' ? itemPath : ''}`;
301
300
  handleIterateElementChange === null || handleIterateElementChange === void 0 ? void 0 : handleIterateElementChange(iterateValuePath, newValue);
302
301
  }
303
- }, [props.capitalize, updateValue, onChange, itemPath, iterateElementIndex, handleIterateElementChange]);
302
+ }, [updateValue, onChange, itemPath, iterateElementIndex, handleIterateElementChange]);
304
303
  const handleFocus = (0, _react.useCallback)(() => setHasFocus(true), [setHasFocus]);
305
- const handleBlur = (0, _react.useCallback)(() => {
306
- if (props.trim && /^\s|\s$/.test(String(valueRef.current))) {
307
- const value = String(valueRef.current).trim();
308
- handleChange(value);
309
- }
310
- setHasFocus(false);
311
- }, [props.trim, setHasFocus, handleChange]);
304
+ const handleBlur = (0, _react.useCallback)(() => setHasFocus(false), [setHasFocus]);
312
305
  (0, _useMountEffect.default)(() => {
313
306
  dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleMountField(identifier);
314
307
  validateValue();