@dnb/eufemia 10.17.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 (321) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/cjs/components/flex/Container.js +4 -0
  3. package/cjs/components/flex/Container.js.map +1 -1
  4. package/cjs/components/flex/utils.d.ts +1 -1
  5. package/cjs/components/flex/utils.js +11 -1
  6. package/cjs/components/flex/utils.js.map +1 -1
  7. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  8. package/cjs/components/input-masked/MultiInputMask.js +41 -14
  9. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  10. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  11. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  12. package/cjs/components/number-format/NumberFormat.js +1 -1
  13. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  14. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  15. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  16. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  17. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  18. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  19. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  20. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  21. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  22. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  23. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  24. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  25. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
  26. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  27. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  28. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  29. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  30. package/cjs/extensions/forms/Field/Date/Date.js +1 -5
  31. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  32. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  33. package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
  34. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  35. package/cjs/extensions/forms/Field/Number/Number.js +0 -5
  36. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  37. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  38. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  39. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  40. package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
  41. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  42. package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
  43. package/cjs/extensions/forms/Field/String/String.js +2 -8
  44. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
  46. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  47. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  48. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  49. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  50. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  51. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  52. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  53. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  54. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  55. package/cjs/extensions/forms/Form/Visibility/Visibility.js +0 -1
  56. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  57. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  58. package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
  59. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  60. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  61. package/cjs/extensions/forms/Form/index.js +7 -0
  62. package/cjs/extensions/forms/Form/index.js.map +1 -1
  63. package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
  64. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  65. package/cjs/extensions/forms/hooks/useDataValue.js +2 -2
  66. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  67. package/cjs/extensions/forms/style/dnb-forms.css +12 -11
  68. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  69. package/cjs/extensions/forms/types.d.ts +4 -8
  70. package/cjs/extensions/forms/types.js.map +1 -1
  71. package/cjs/shared/Eufemia.d.ts +1 -1
  72. package/cjs/shared/Eufemia.js +2 -2
  73. package/cjs/shared/Eufemia.js.map +1 -1
  74. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  75. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  76. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  77. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  78. package/cjs/shared/helpers/useSharedState.d.ts +15 -0
  79. package/cjs/shared/helpers/useSharedState.js +71 -0
  80. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  81. package/cjs/style/dnb-ui-components.css +12 -11
  82. package/cjs/style/dnb-ui-components.min.css +1 -1
  83. package/cjs/style/dnb-ui-extensions.css +12 -11
  84. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  85. package/cjs/style/dnb-ui-forms.css +12 -11
  86. package/cjs/style/dnb-ui-forms.min.css +1 -1
  87. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  88. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  89. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  90. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  91. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  92. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  93. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  94. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  95. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  96. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  97. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  98. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  99. package/cjs/style/themes/theme-ui/ui-theme-components.css +28 -22
  100. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  101. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  102. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  103. package/cjs/style/themes/theme-ui/ui-theme-forms.css +12 -11
  104. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  105. package/components/flex/Container.js +4 -0
  106. package/components/flex/Container.js.map +1 -1
  107. package/components/flex/utils.d.ts +1 -1
  108. package/components/flex/utils.js +11 -1
  109. package/components/flex/utils.js.map +1 -1
  110. package/components/input-masked/MultiInputMask.d.ts +10 -2
  111. package/components/input-masked/MultiInputMask.js +39 -14
  112. package/components/input-masked/MultiInputMask.js.map +1 -1
  113. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  114. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  115. package/components/number-format/NumberFormat.js +1 -1
  116. package/components/number-format/NumberFormat.js.map +1 -1
  117. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  118. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  119. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  120. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  121. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  122. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  123. package/components/visually-hidden/VisuallyHidden.js +1 -1
  124. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  125. package/es/components/flex/Container.js +4 -0
  126. package/es/components/flex/Container.js.map +1 -1
  127. package/es/components/flex/utils.d.ts +1 -1
  128. package/es/components/flex/utils.js +11 -1
  129. package/es/components/flex/utils.js.map +1 -1
  130. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  131. package/es/components/input-masked/MultiInputMask.js +39 -13
  132. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  133. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  134. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  135. package/es/components/number-format/NumberFormat.js +1 -1
  136. package/es/components/number-format/NumberFormat.js.map +1 -1
  137. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  138. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  139. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  140. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  141. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  142. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  143. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  144. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  145. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  146. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  147. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  148. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  149. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  150. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  151. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  152. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  153. package/es/extensions/forms/Field/Date/Date.js +1 -5
  154. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  155. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  156. package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
  157. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  158. package/es/extensions/forms/Field/Number/Number.js +0 -5
  159. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  160. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  161. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  162. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  163. package/es/extensions/forms/Field/Selection/Selection.js +4 -9
  164. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  165. package/es/extensions/forms/Field/String/String.d.ts +0 -1
  166. package/es/extensions/forms/Field/String/String.js +2 -8
  167. package/es/extensions/forms/Field/String/String.js.map +1 -1
  168. package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
  169. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  170. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  171. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  172. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  173. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  174. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  175. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  176. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  177. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  178. package/es/extensions/forms/Form/Visibility/Visibility.js +0 -1
  179. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  180. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  181. package/es/extensions/forms/Form/hooks/useData.js +29 -0
  182. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  183. package/es/extensions/forms/Form/index.d.ts +1 -0
  184. package/es/extensions/forms/Form/index.js +1 -0
  185. package/es/extensions/forms/Form/index.js.map +1 -1
  186. package/es/extensions/forms/Iterate/Array/Array.js +0 -4
  187. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  188. package/es/extensions/forms/hooks/useDataValue.js +2 -2
  189. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  190. package/es/extensions/forms/style/dnb-forms.css +12 -11
  191. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  192. package/es/extensions/forms/types.d.ts +4 -8
  193. package/es/extensions/forms/types.js.map +1 -1
  194. package/es/shared/Eufemia.d.ts +1 -1
  195. package/es/shared/Eufemia.js +2 -2
  196. package/es/shared/Eufemia.js.map +1 -1
  197. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  198. package/es/shared/helpers/EventEmitter.js.map +1 -1
  199. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  200. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  201. package/es/shared/helpers/useSharedState.d.ts +15 -0
  202. package/es/shared/helpers/useSharedState.js +63 -0
  203. package/es/shared/helpers/useSharedState.js.map +1 -0
  204. package/es/style/dnb-ui-components.css +12 -11
  205. package/es/style/dnb-ui-components.min.css +1 -1
  206. package/es/style/dnb-ui-extensions.css +12 -11
  207. package/es/style/dnb-ui-extensions.min.css +1 -1
  208. package/es/style/dnb-ui-forms.css +12 -11
  209. package/es/style/dnb-ui-forms.min.css +1 -1
  210. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  211. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  212. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  213. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  214. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  215. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  216. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  217. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  218. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  219. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  220. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  221. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  222. package/es/style/themes/theme-ui/ui-theme-components.css +28 -22
  223. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  224. package/es/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  225. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  226. package/es/style/themes/theme-ui/ui-theme-forms.css +12 -11
  227. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  228. package/esm/dnb-ui-basis.min.mjs +1 -1
  229. package/esm/dnb-ui-components.min.mjs +1 -1
  230. package/esm/dnb-ui-elements.min.mjs +1 -1
  231. package/esm/dnb-ui-extensions.min.mjs +3 -3
  232. package/esm/dnb-ui-lib.min.mjs +1 -1
  233. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  234. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  235. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  236. package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  237. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  238. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  239. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  240. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  241. package/extensions/forms/Field/Date/Date.js +1 -5
  242. package/extensions/forms/Field/Date/Date.js.map +1 -1
  243. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  244. package/extensions/forms/Field/Expiry/Expiry.js +21 -11
  245. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  246. package/extensions/forms/Field/Number/Number.js +0 -5
  247. package/extensions/forms/Field/Number/Number.js.map +1 -1
  248. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  249. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  250. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  251. package/extensions/forms/Field/Selection/Selection.js +4 -9
  252. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  253. package/extensions/forms/Field/String/String.d.ts +0 -1
  254. package/extensions/forms/Field/String/String.js +2 -8
  255. package/extensions/forms/Field/String/String.js.map +1 -1
  256. package/extensions/forms/Field/Toggle/Toggle.js +0 -4
  257. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  258. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  259. package/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  260. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  261. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  262. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  263. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  264. package/extensions/forms/Form/Handler/Handler.js +1 -0
  265. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  266. package/extensions/forms/Form/Visibility/Visibility.js +0 -1
  267. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  268. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  269. package/extensions/forms/Form/hooks/useData.js +30 -0
  270. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  271. package/extensions/forms/Form/index.d.ts +1 -0
  272. package/extensions/forms/Form/index.js +1 -0
  273. package/extensions/forms/Form/index.js.map +1 -1
  274. package/extensions/forms/Iterate/Array/Array.js +0 -4
  275. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  276. package/extensions/forms/hooks/useDataValue.js +2 -2
  277. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  278. package/extensions/forms/style/dnb-forms.css +12 -11
  279. package/extensions/forms/style/dnb-forms.min.css +1 -1
  280. package/extensions/forms/types.d.ts +4 -8
  281. package/extensions/forms/types.js.map +1 -1
  282. package/package.json +1 -1
  283. package/shared/Eufemia.d.ts +1 -1
  284. package/shared/Eufemia.js +2 -2
  285. package/shared/Eufemia.js.map +1 -1
  286. package/shared/helpers/EventEmitter.d.ts +5 -0
  287. package/shared/helpers/EventEmitter.js.map +1 -1
  288. package/shared/helpers/useEventEmitter.d.ts +2 -0
  289. package/shared/helpers/useEventEmitter.js.map +1 -1
  290. package/shared/helpers/useSharedState.d.ts +15 -0
  291. package/shared/helpers/useSharedState.js +63 -0
  292. package/shared/helpers/useSharedState.js.map +1 -0
  293. package/style/dnb-ui-components.css +12 -11
  294. package/style/dnb-ui-components.min.css +1 -1
  295. package/style/dnb-ui-extensions.css +12 -11
  296. package/style/dnb-ui-extensions.min.css +1 -1
  297. package/style/dnb-ui-forms.css +12 -11
  298. package/style/dnb-ui-forms.min.css +1 -1
  299. package/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  300. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  301. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  302. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  303. package/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  304. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  305. package/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  306. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  307. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  308. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  309. package/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  310. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  311. package/style/themes/theme-ui/ui-theme-components.css +28 -22
  312. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  313. package/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  314. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  315. package/style/themes/theme-ui/ui-theme-forms.css +12 -11
  316. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  317. package/umd/dnb-ui-basis.min.js +1 -1
  318. package/umd/dnb-ui-components.min.js +1 -1
  319. package/umd/dnb-ui-elements.min.js +1 -1
  320. package/umd/dnb-ui-extensions.min.js +2 -2
  321. package/umd/dnb-ui-lib.min.js +1 -1
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _components = require("../../../../components");
9
- var _ButtonRow = _interopRequireDefault(require("../../Form/ButtonRow"));
10
9
  var _classnames = _interopRequireDefault(require("classnames"));
11
10
  var _Option = _interopRequireDefault(require("../Option"));
12
11
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
13
12
  var _hooks = require("../../hooks");
14
13
  var _utils = require("../../../../components/flex/utils");
14
+ var _ToggleButtonGroupContext = _interopRequireDefault(require("../../../../components/toggle-button/ToggleButtonGroupContext"));
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  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); }
17
17
  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; }
@@ -28,10 +28,9 @@ function ArraySelection(props) {
28
28
  layout = 'vertical',
29
29
  optionsLayout = 'vertical',
30
30
  label,
31
- labelDescription,
32
- labelSecondary,
33
31
  value,
34
32
  error,
33
+ hasError,
35
34
  info,
36
35
  warning,
37
36
  disabled,
@@ -41,15 +40,13 @@ function ArraySelection(props) {
41
40
  } = (0, _hooks.useDataValue)(props);
42
41
  const fieldBlockProps = _objectSpread({
43
42
  forId: id,
44
- className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
43
+ className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--layout-${optionsLayout}`, className),
45
44
  contentClassName: 'dnb-forms-field-array-selection__options',
46
45
  info,
47
46
  warning,
48
47
  error,
49
48
  layout,
50
- label,
51
- labelDescription,
52
- labelSecondary
49
+ label
53
50
  }, (0, _utils.pickSpacingProps)(props));
54
51
  const options = (0, _react.useMemo)(() => _react.default.Children.toArray(children).filter(child => _react.default.isValidElement(child) && child.type === _Option.default).map(option => {
55
52
  var _option$props$title;
@@ -65,14 +62,16 @@ function ArraySelection(props) {
65
62
  }), [children, value, emptyValue, handleChange]);
66
63
  switch (variant) {
67
64
  case 'button':
68
- return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_ButtonRow.default, null, options.map((option, i) => _react.default.createElement(_components.Button, {
65
+ return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_ToggleButtonGroupContext.default.Provider, {
66
+ value: {
67
+ status: hasError ? 'error' : undefined,
68
+ disabled
69
+ }
70
+ }, options.map((option, i) => _react.default.createElement(_components.ToggleButton, {
69
71
  key: `option-${i}-${option.value}`,
70
- id: id,
71
72
  text: option.title,
72
- on_click: option.handleSelect,
73
- variant: value !== null && value !== void 0 && value.includes(option.value) ? undefined : 'secondary',
74
- status: error ? 'error' : undefined,
75
- disabled: disabled
73
+ checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
74
+ on_change: option.handleSelect
76
75
  }))));
77
76
  case 'checkbox':
78
77
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, options.map((option, i) => _react.default.createElement(_components.Checkbox, {
@@ -81,7 +80,8 @@ function ArraySelection(props) {
81
80
  label: option.title,
82
81
  checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
83
82
  disabled: disabled,
84
- on_change: option.handleSelect
83
+ on_change: option.handleSelect,
84
+ status: hasError ? 'error' : undefined
85
85
  })));
86
86
  }
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_ButtonRow","_interopRequireDefault","_classnames","_Option","_FieldBlock","_hooks","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","labelSecondary","error","info","warning","disabled","emptyValue","handleChange","children","useDataValue","fieldBlockProps","forId","classnames","contentClassName","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props$title","title","handleSelect","selected","newValue","includes","createElement","Button","text","on_click","status","Checkbox","checked","on_change","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, Button } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport classnames from 'classnames'\nimport Option from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldProps<Array<string | number>> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n value,\n error,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useDataValue(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n labelSecondary,\n ...pickSpacingProps(props),\n }\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) => React.isValidElement(child) && child.type === Option\n )\n .map((option: React.ReactElement) => ({\n title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ButtonRow>\n {options.map((option, i) => (\n <Button\n key={`option-${i}-${option.value}`}\n id={id}\n text={option.title}\n on_click={option.handleSelect}\n variant={\n value?.includes(option.value) ? undefined : 'secondary'\n }\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n ))}\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_Option","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","error","hasError","info","warning","disabled","emptyValue","handleChange","children","useDataValue","fieldBlockProps","forId","classnames","contentClassName","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props$title","title","handleSelect","selected","newValue","includes","createElement","Provider","status","ToggleButton","text","checked","on_change","Checkbox","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport Option from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldProps<Array<string | number>> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n value,\n error,\n hasError,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useDataValue(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n ...pickSpacingProps(props),\n }\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) => React.isValidElement(child) && child.type === Option\n )\n .map((option: React.ReactElement) => ({\n title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options.map((option, i) => (\n <ToggleButton\n key={`option-${i}-${option.value}`}\n text={option.title}\n checked={value?.includes(option.value)}\n on_change={option.handleSelect}\n />\n ))}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n status={hasError ? 'error' : undefined}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
@@ -1,11 +1,21 @@
1
- .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options {
1
+ /*
2
+ * Utilities
3
+ */
4
+ .dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options {
2
5
  display: flex;
3
6
  flex-flow: column;
4
7
  row-gap: var(--spacing-x-small);
5
8
  }
6
- .dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options {
9
+ .dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options {
7
10
  display: flex;
8
11
  flex-flow: row wrap;
9
12
  -moz-column-gap: var(--spacing-small);
10
13
  column-gap: var(--spacing-small);
14
+ row-gap: var(--spacing-x-small);
15
+ }
16
+ @media screen and (min-width: 40em) {
17
+ .dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
18
+ line-height: 2.5rem;
19
+ margin-bottom: 0;
20
+ }
11
21
  }
@@ -1 +1 @@
1
- .dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap}
1
+ .dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}
@@ -1,13 +1,23 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+
1
3
  .dnb-forms-field-array-selection {
2
- &--options-layout-vertical &__options {
4
+ &--layout-vertical &__options {
3
5
  display: flex;
4
6
  flex-flow: column;
5
7
  row-gap: var(--spacing-x-small);
6
8
  }
7
9
 
8
- &--options-layout-horizontal &__options {
10
+ &--layout-horizontal &__options {
9
11
  display: flex;
10
12
  flex-flow: row wrap;
11
13
  column-gap: var(--spacing-small);
14
+ row-gap: var(--spacing-x-small); // for when wrapped
15
+ }
16
+
17
+ @include allAbove(small) {
18
+ .dnb-forms-field-block--layout-horizontal .dnb-form-label {
19
+ line-height: 2.5rem;
20
+ margin-bottom: 0;
21
+ }
12
22
  }
13
23
  }
@@ -61,8 +61,6 @@ function DateComponent(props) {
61
61
  id,
62
62
  className,
63
63
  label,
64
- labelDescription,
65
- labelSecondary,
66
64
  value,
67
65
  help,
68
66
  info,
@@ -78,8 +76,6 @@ function DateComponent(props) {
78
76
  className: (0, _classnames.default)('dnb-forms-field-string', className),
79
77
  forId: id,
80
78
  label: label !== null && label !== void 0 ? label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.dateLabel,
81
- labelDescription: labelDescription,
82
- labelSecondary: labelSecondary,
83
79
  info: info,
84
80
  warning: warning,
85
81
  disabled: disabled,
@@ -91,7 +87,7 @@ function DateComponent(props) {
91
87
  show_input: true,
92
88
  show_cancel_button: true,
93
89
  show_reset_button: true,
94
- status: error || hasError ? 'error' : undefined,
90
+ status: hasError ? 'error' : undefined,
95
91
  suffix: help ? _react.default.createElement(_components.HelpButton, {
96
92
  title: help.title
97
93
  }, help.contents) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_Context","_interopRequireDefault","_classnames","_FieldBlock","_dateFns","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DateComponent","props","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","dateErrorRequired","pattern","inputErrorPattern","schema","_props$schema","type","validateRequired","useCallback","_ref","error","isValid","parseISO","preparedProps","fromInput","_ref2","date","id","className","label","labelDescription","labelSecondary","help","info","warning","hasError","disabled","handleFocus","handleBlur","handleChange","useDataValue","createElement","classnames","forId","dateLabel","pickSpacingProps","DatePicker","show_input","show_cancel_button","show_reset_button","status","suffix","HelpButton","title","contents","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport { JSONSchema7 } from 'json-schema'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.dateErrorRequired,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n labelDescription,\n labelSecondary,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={error || hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_Context","_interopRequireDefault","_classnames","_FieldBlock","_dateFns","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DateComponent","props","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","dateErrorRequired","pattern","inputErrorPattern","schema","_props$schema","type","validateRequired","useCallback","_ref","error","isValid","parseISO","preparedProps","fromInput","_ref2","date","id","className","label","help","info","warning","hasError","disabled","handleFocus","handleBlur","handleChange","useDataValue","createElement","classnames","forId","dateLabel","pickSpacingProps","DatePicker","show_input","show_cancel_button","show_reset_button","status","suffix","HelpButton","title","contents","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps, JSONSchema } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.dateErrorRequired,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const schema = useMemo<JSONSchema>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FieldHelpProps, FieldProps } from '../../types';
2
- export type ExpiryProps = FieldProps<string> & FieldHelpProps;
2
+ export type ExpiryProps = FieldHelpProps & FieldProps<string>;
3
3
  declare function Expiry(props: ExpiryProps): import("react/jsx-runtime").JSX.Element;
4
4
  declare namespace Expiry {
5
5
  var _supportsEufemiaSpacingProps: boolean;
@@ -26,27 +26,39 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
26
26
  function Expiry(props) {
27
27
  var _value$substring;
28
28
  const sharedContext = (0, _react.useContext)(_Context.default);
29
+ const translations = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
29
30
  const placeholders = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.DatePicker.placeholder_characters;
31
+ const errorMessages = (0, _react.useMemo)(() => _objectSpread({
32
+ required: translations.dateErrorRequired
33
+ }, props.errorMessages), [translations, props.errorMessages]);
34
+ const validateRequired = (0, _react.useCallback)((value, _ref) => {
35
+ let {
36
+ required,
37
+ error
38
+ } = _ref;
39
+ return required && !value ? error : undefined;
40
+ }, []);
41
+ const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
42
+ errorMessages,
43
+ fromInput: toExpiryString,
44
+ validateRequired
45
+ });
30
46
  const {
31
47
  id: propsId,
32
48
  className,
33
- label = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.expiryLabel,
49
+ label = translations.expiryLabel,
34
50
  error,
35
51
  info,
36
52
  warning,
37
53
  help,
38
54
  disabled,
39
55
  value = '',
40
- labelDescription,
41
- labelSecondary,
42
56
  layout = 'vertical',
43
57
  required,
44
58
  handleFocus,
45
59
  handleBlur,
46
60
  handleChange
47
- } = (0, _hooks.useDataValue)(_objectSpread(_objectSpread({}, props), {}, {
48
- emptyValue: ''
49
- }));
61
+ } = (0, _hooks.useDataValue)(_objectSpread({}, preparedProps));
50
62
  const expiry = {
51
63
  month: ensureValidMonth(value === null || value === void 0 ? void 0 : value.substring(0, 2)),
52
64
  year: (_value$substring = value === null || value === void 0 ? void 0 : value.substring(2, 4)) !== null && _value$substring !== void 0 ? _value$substring : ''
@@ -55,8 +67,6 @@ function Expiry(props) {
55
67
  const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null;
56
68
  return _react.default.createElement(_FieldBlock.default, _extends({
57
69
  className: (0, _classnames.default)('dnb-forms-field-expiry', className),
58
- labelSecondary: labelSecondary,
59
- labelDescription: labelDescription,
60
70
  info: info,
61
71
  warning: warning,
62
72
  error: error
@@ -70,7 +80,7 @@ function Expiry(props) {
70
80
  statusState: disabled ? 'disabled' : undefined,
71
81
  disabled: disabled,
72
82
  required: required,
73
- onChange: expiry => handleChange(expiryToString(expiry)),
83
+ onChange: handleChange,
74
84
  onBlur: handleBlur,
75
85
  onFocus: handleFocus,
76
86
  delimiter: "/",
@@ -92,7 +102,7 @@ function Expiry(props) {
92
102
  title: help.title
93
103
  }, help.contents) : undefined
94
104
  }));
95
- function expiryToString(values) {
105
+ function toExpiryString(values) {
96
106
  return Object.values(values).join('');
97
107
  }
98
108
  function ensureValidMonth(month) {
@@ -1 +1 @@
1
- {"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_Context","_interopRequireDefault","_utils","_hooks","_classnames","_FieldBlock","_inputMasked","_components","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Expiry","props","_value$substring","sharedContext","useContext","SharedContext","placeholders","translation","DatePicker","placeholder_characters","id","propsId","className","label","Forms","expiryLabel","error","info","warning","help","disabled","labelDescription","labelSecondary","layout","required","handleFocus","handleBlur","handleChange","useDataValue","emptyValue","expiry","month","ensureValidMonth","substring","year","idRef","useRef","makeUniqueId","current","status","createElement","classnames","pickSpacingProps","MultiInputMask","stretch","labelDirection","values","statusState","onChange","expiryToString","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","contents","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","seconDigit","isSecondDigitValid","_supportsEufemiaSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useDataValue } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldProps<string> & FieldHelpProps\n\nfunction Expiry(props: ExpiryProps) {\n const sharedContext = useContext(SharedContext)\n const placeholders =\n sharedContext?.translation.DatePicker.placeholder_characters\n\n const {\n id: propsId,\n className,\n label = sharedContext?.translation.Forms.expiryLabel,\n error,\n info,\n warning,\n help,\n disabled,\n value = '',\n labelDescription,\n labelSecondary,\n layout = 'vertical',\n required,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue({\n ...props,\n emptyValue: '',\n })\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const idRef = useRef(propsId || makeUniqueId()).current\n\n const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n labelSecondary={labelSecondary}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${idRef}__input`}\n label={label}\n labelDirection={layout}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n required={required}\n onChange={(expiry) => handleChange(expiryToString(expiry))}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: sharedContext?.translation.DatePicker['month'],\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n },\n {\n id: 'year',\n label: sharedContext?.translation.DatePicker['year'],\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function expiryToString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const seconDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(seconDigit)\n\n if (seconDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":"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"}
1
+ {"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_Context","_interopRequireDefault","_utils","_hooks","_classnames","_FieldBlock","_inputMasked","_components","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Expiry","props","_value$substring","sharedContext","useContext","SharedContext","translations","translation","Forms","placeholders","DatePicker","placeholder_characters","errorMessages","useMemo","required","dateErrorRequired","validateRequired","useCallback","_ref","error","preparedProps","fromInput","toExpiryString","id","propsId","className","label","expiryLabel","info","warning","help","disabled","layout","handleFocus","handleBlur","handleChange","useDataValue","expiry","month","ensureValidMonth","substring","year","idRef","useRef","makeUniqueId","current","status","createElement","classnames","pickSpacingProps","MultiInputMask","stretch","labelDirection","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","contents","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","seconDigit","isSecondDigitValid","_supportsEufemiaSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useDataValue } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps & FieldProps<string>\n\nfunction Expiry(props: ExpiryProps) {\n const sharedContext = useContext(SharedContext)\n const translations = sharedContext?.translation.Forms\n const placeholders =\n sharedContext?.translation.DatePicker.placeholder_characters\n\n const errorMessages = useMemo(\n () => ({\n required: translations.dateErrorRequired,\n ...props.errorMessages,\n }),\n [translations, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n return required && !value ? error : undefined\n },\n []\n )\n\n const preparedProps: ExpiryProps = {\n ...props,\n errorMessages,\n fromInput: toExpiryString,\n validateRequired,\n }\n\n const {\n id: propsId,\n className,\n label = translations.expiryLabel,\n error,\n info,\n warning,\n help,\n disabled,\n value = '',\n layout = 'vertical',\n required,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue({\n ...preparedProps,\n })\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const idRef = useRef(propsId || makeUniqueId()).current\n\n const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${idRef}__input`}\n label={label}\n labelDirection={layout}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n required={required}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: sharedContext?.translation.DatePicker['month'],\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n },\n {\n id: 'year',\n label: sharedContext?.translation.DatePicker['year'],\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const seconDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(seconDigit)\n\n if (seconDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":"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"}
@@ -109,7 +109,6 @@ function NumberComponent(props) {
109
109
  toInput,
110
110
  fromInput,
111
111
  transformValue,
112
- size: props.size !== 'small' && props.size !== 'large' ? 'medium' : props.size,
113
112
  width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium'
114
113
  });
115
114
  const {
@@ -121,8 +120,6 @@ function NumberComponent(props) {
121
120
  layout,
122
121
  placeholder,
123
122
  label,
124
- labelDescription,
125
- labelSecondary,
126
123
  value,
127
124
  minimum = Number.MIN_SAFE_INTEGER,
128
125
  maximum = Number.MAX_SAFE_INTEGER,
@@ -169,8 +166,6 @@ function NumberComponent(props) {
169
166
  forId: id,
170
167
  layout,
171
168
  label,
172
- labelDescription,
173
- labelSecondary,
174
169
  info,
175
170
  warning,
176
171
  error,
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","sharedContext","useContext","SharedContext","tr","translation","Forms","currency","percent","mask","step","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","showStepControls","errorMessages","useMemo","required","inputErrorRequired","minimum","numberFieldErrorMinimum","maximum","numberFieldErrorMaximum","exclusiveMinimum","numberFieldErrorExclusiveMinimum","exclusiveMaximum","numberFieldErrorExclusiveMaximum","multipleOf","numberFieldErrorMultipleOf","schema","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","thousandsSeparatorSymbol","preparedProps","size","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","disabled","info","warning","error","help","align","handleFocus","handleBlur","handleChange","useDataValue","onKeyDownHandler","_ref2","event","clamp","persist","preventDefault","fieldBlockProps","classnames","contentClassName","forId","contentsWidth","pickSpacingProps","increaseProps","variant","icon","convertInputSizeToButtonSize","tabIndex","onClick","title","Slider","addTitle","replace","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","createElement","HelpButton","contents","asFieldset","Button","InputMasked","inputSize","buttonSize","indexOf","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { JSONSchema7 } from 'json-schema'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const {\n currency,\n percent,\n mask,\n step = 1,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minimum: tr.numberFieldErrorMinimum,\n maximum: tr.numberFieldErrorMaximum,\n exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,\n exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,\n multipleOf: tr.numberFieldErrorMultipleOf,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n size:\n props.size !== 'small' && props.size !== 'large'\n ? 'medium'\n : props.size,\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n info,\n warning,\n error,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n error && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n labelSecondary,\n info,\n warning,\n error,\n disabled,\n width: width === 'stretch' ? width : undefined,\n contentsWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: convertInputSizeToButtonSize(size),\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invlaid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n status: error ? 'error' : undefined,\n stretch: width !== undefined,\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nconst convertInputSizeToButtonSize = (\n inputSize: InputSize\n): ButtonSize => {\n const buttonSize =\n ['small', 'medium', 'large'].indexOf(inputSize as string) > -1\n ? inputSize\n : 'medium'\n return buttonSize as ButtonSize\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","sharedContext","useContext","SharedContext","tr","translation","Forms","currency","percent","mask","step","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","showStepControls","errorMessages","useMemo","required","inputErrorRequired","minimum","numberFieldErrorMinimum","maximum","numberFieldErrorMaximum","exclusiveMinimum","numberFieldErrorExclusiveMinimum","exclusiveMaximum","numberFieldErrorExclusiveMaximum","multipleOf","numberFieldErrorMultipleOf","schema","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","thousandsSeparatorSymbol","preparedProps","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","disabled","info","warning","error","help","size","align","handleFocus","handleBlur","handleChange","useDataValue","onKeyDownHandler","_ref2","event","clamp","persist","preventDefault","fieldBlockProps","classnames","contentClassName","forId","contentsWidth","pickSpacingProps","increaseProps","variant","icon","convertInputSizeToButtonSize","tabIndex","onClick","title","Slider","addTitle","replace","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","createElement","HelpButton","contents","asFieldset","Button","InputMasked","inputSize","buttonSize","indexOf","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps, JSONSchema } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const {\n currency,\n percent,\n mask,\n step = 1,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minimum: tr.numberFieldErrorMinimum,\n maximum: tr.numberFieldErrorMaximum,\n exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,\n exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,\n multipleOf: tr.numberFieldErrorMultipleOf,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n info,\n warning,\n error,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n error && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n info,\n warning,\n error,\n disabled,\n width: width === 'stretch' ? width : undefined,\n contentsWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: convertInputSizeToButtonSize(size),\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invlaid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n status: error ? 'error' : undefined,\n stretch: width !== undefined,\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nconst convertInputSizeToButtonSize = (\n inputSize: InputSize\n): ButtonSize => {\n const buttonSize =\n ['small', 'medium', 'large'].indexOf(inputSize as string) > -1\n ? inputSize\n : 'medium'\n return buttonSize as ButtonSize\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
@@ -70,6 +70,7 @@ function PhoneNumber(props) {
70
70
  toEvent
71
71
  });
72
72
  const {
73
+ value,
73
74
  className,
74
75
  countryCodeFieldClassName,
75
76
  numberFieldClassName,
@@ -95,7 +96,6 @@ function PhoneNumber(props) {
95
96
  handleFocus,
96
97
  handleBlur,
97
98
  handleChange,
98
- updateValue,
99
99
  onCountryCodeChange,
100
100
  onNumberChange,
101
101
  filterCountries = ccFilter !== 'Prioritized' ? (0, _SelectCountry.makeCountryFilterSet)(ccFilter) : undefined
@@ -127,16 +127,15 @@ function PhoneNumber(props) {
127
127
  countryCode = omitCountryCodeField ? emptyValue : countryCodeRef.current || emptyValue,
128
128
  phoneNumber = numberRef.current || emptyValue
129
129
  } = _ref2;
130
- updateValue('invalidate');
131
130
  handleChange(joinValue([countryCode, phoneNumber]), omitCountryCodeField ? {
132
131
  phoneNumber
133
132
  } : {
134
133
  countryCode,
135
134
  phoneNumber
136
135
  });
137
- }, [omitCountryCodeField, emptyValue, updateValue, handleChange]);
136
+ }, [omitCountryCodeField, emptyValue, handleChange]);
138
137
  (0, _react.useMemo)(() => {
139
- const [countryCode, phoneNumber] = splitValue(props.value);
138
+ const [countryCode, phoneNumber] = splitValue(props.value || value);
140
139
  numberRef.current = phoneNumber;
141
140
  if (lang !== langRef.current || !wasFilled.current) {
142
141
  if (!countryCodeRef.current || countryCode) {
@@ -145,7 +144,7 @@ function PhoneNumber(props) {
145
144
  langRef.current = lang;
146
145
  updateCurrentDataSet();
147
146
  }
148
- }, [props.value, lang, updateCurrentDataSet]);
147
+ }, [value, props.value, lang, updateCurrentDataSet]);
149
148
  const prevCountryCodeRef = _react.default.useRef(countryCodeRef.current);
150
149
  const handleCountryCodeChange = (0, _react.useCallback)(_ref3 => {
151
150
  var _data$selectedKey;