@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
- {"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_elements","_useMedia","_utils","_Hr","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","childrenArray","React","Children","toArray","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","top","Hr","space","renderWithSpacing","_ref2","_getSpaceValue3","n","cn","classnames","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_elements","_useMedia","_utils","_Hr","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","childrenArray","wrapChildren","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","_previousChild$type","isFirst","start","end","endSpacing","startSpacing","isHeading","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","top","Hr","space","renderWithSpacing","_ref2","_getSpaceValue3","React","isValidElement","type","n","cn","classnames","Children","toArray","cloneElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n const isHeading = hasHeading && isHeadingElement(previousChild)\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above heading\n !isHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -3,3 +3,4 @@ export { default as Item } from './Item';
3
3
  export { default as Stack } from './Stack';
4
4
  export { default as Horizontal } from './Horizontal';
5
5
  export { default as Vertical } from './Vertical';
6
+ export { default as withChildren } from './withChildren';
@@ -33,10 +33,17 @@ Object.defineProperty(exports, "Vertical", {
33
33
  return _Vertical.default;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "withChildren", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _withChildren.default;
40
+ }
41
+ });
36
42
  var _Container = _interopRequireDefault(require("./Container"));
37
43
  var _Item = _interopRequireDefault(require("./Item"));
38
44
  var _Stack = _interopRequireDefault(require("./Stack"));
39
45
  var _Horizontal = _interopRequireDefault(require("./Horizontal"));
40
46
  var _Vertical = _interopRequireDefault(require("./Vertical"));
47
+ var _withChildren = _interopRequireDefault(require("./withChildren"));
41
48
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
49
  //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","names":["_Container","_interopRequireDefault","require","_Item","_Stack","_Horizontal","_Vertical","obj","__esModule","default"],"sources":["../../../../src/components/flex/export.ts"],"sourcesContent":["export { default as Container } from './Container'\nexport { default as Item } from './Item'\nexport { default as Stack } from './Stack'\nexport { default as Horizontal } from './Horizontal'\nexport { default as Vertical } from './Vertical'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"export.js","names":["_Container","_interopRequireDefault","require","_Item","_Stack","_Horizontal","_Vertical","_withChildren","obj","__esModule","default"],"sources":["../../../../src/components/flex/export.ts"],"sourcesContent":["export { default as Container } from './Container'\nexport { default as Item } from './Item'\nexport { default as Stack } from './Stack'\nexport { default as Horizontal } from './Horizontal'\nexport { default as Vertical } from './Vertical'\nexport { default as withChildren } from './withChildren'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAwD,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -15,4 +15,4 @@ export declare const isSpacePropsComponent: (element: React.ReactNode) => boolea
15
15
  export declare const renderWithSpacing: (element: React.ReactNode, props: SpacingProps & {
16
16
  key?: string;
17
17
  className?: string;
18
- }) => import("react/jsx-runtime").JSX.Element;
18
+ }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
@@ -43,11 +43,21 @@ const isEufemiaElement = element => {
43
43
  exports.isEufemiaElement = isEufemiaElement;
44
44
  const isSpacePropsComponent = element => {
45
45
  var _element$type2;
46
- return _react.default.isValidElement(element) && (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === true || isEufemiaElement(element);
46
+ if (_react.default.isValidElement(element) && typeof (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === 'boolean') {
47
+ var _element$type3;
48
+ return element === null || element === void 0 ? void 0 : (_element$type3 = element.type) === null || _element$type3 === void 0 ? void 0 : _element$type3['_supportsSpacingProps'];
49
+ }
50
+ if (isEufemiaElement(element)) {
51
+ return true;
52
+ }
53
+ return undefined;
47
54
  };
48
55
  exports.isSpacePropsComponent = isSpacePropsComponent;
49
56
  const renderWithSpacing = (element, props) => {
50
57
  const takesSpaceProps = isSpacePropsComponent(element);
58
+ if (takesSpaceProps === false) {
59
+ return element;
60
+ }
51
61
  return takesSpaceProps ? _react.default.cloneElement(element, props) : _react.default.createElement(_Space.default, props, element);
52
62
  };
53
63
  exports.renderWithSpacing = renderWithSpacing;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_react","_interopRequireDefault","require","_Space","_SpacingUtils","EufemiaElements","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pickSpacingProps","props","space","top","bottom","left","right","exports","omitSpacingProps","removeSpaceProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","React","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n return (\n (React.isValidElement(element) &&\n element?.type?.['_supportsSpacingProps'] === true) ||\n isEufemiaElement(element)\n )\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["_react","_interopRequireDefault","require","_Space","_SpacingUtils","EufemiaElements","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pickSpacingProps","props","space","top","bottom","left","right","exports","omitSpacingProps","removeSpaceProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","React","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","_element$type3","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n if (\n React.isValidElement(element) &&\n typeof element?.type?.['_supportsSpacingProps'] === 'boolean'\n ) {\n return element?.type?.['_supportsSpacingProps']\n }\n\n if (isEufemiaElement(element)) {\n return true\n }\n\n return undefined\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n if (takesSpaceProps === false) {\n return element\n }\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ type WithChildrenProps = {
3
+ children?: React.ReactNode;
4
+ };
5
+ declare function withChildren<T>(Component: React.ComponentType<T>): React.ComponentType<T & WithChildrenProps>;
6
+ export default withChildren;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function withChildren(Component) {
8
+ Component['_supportsSpacingProps'] = 'children';
9
+ return Component;
10
+ }
11
+ var _default = withChildren;
12
+ exports.default = _default;
13
+ //# sourceMappingURL=withChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withChildren.js","names":["withChildren","Component","_default","exports","default"],"sources":["../../../../src/components/flex/withChildren.tsx"],"sourcesContent":["import React from 'react'\n\ntype WithChildrenProps = {\n children?: React.ReactNode\n}\n\nfunction withChildren<T>(\n Component: React.ComponentType<T>\n): React.ComponentType<T & WithChildrenProps> {\n Component['_supportsSpacingProps'] = 'children'\n return Component\n}\n\nexport default withChildren\n"],"mappings":";;;;;;AAMA,SAASA,YAAYA,CACnBC,SAAiC,EACW;EAC5CA,SAAS,CAAC,uBAAuB,CAAC,GAAG,UAAU;EAC/C,OAAOA,SAAS;AAClB;AAAC,IAAAC,QAAA,GAEcF,YAAY;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -338,10 +338,10 @@ class Input extends _react.default.PureComponent {
338
338
  }
339
339
  return _react.default.createElement("span", mainParams, label && _react.default.createElement(_FormLabel.default, {
340
340
  id: id + '-label',
341
- for_id: id,
341
+ forId: id,
342
342
  text: label,
343
- label_direction: label_direction,
344
- sr_only: label_sr_only,
343
+ labelDirection: label_direction,
344
+ srOnly: label_sr_only,
345
345
  disabled: disabled,
346
346
  skeleton: skeleton
347
347
  }), _react.default.createElement("span", innerParams, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(_FormStatus.default, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_filterValidProps","_Button","_interopRequireWildcard","_FormLabel","_FormStatus","_IconPrimary","_Context","_Suffix","_AlignmentHelper","_excluded","_excluded2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","inputPropTypes","type","PropTypes","string","size","oneOfType","oneOf","number","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","buttonVariantPropType","variant","submit_button_icon","submit_button_status","spacingPropTypes","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","exports","Input","React","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","dispatchCustomElementEvent","inputState","hasValue","processChildren","constructor","context","event","setState","isTrue","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","warn","result","clearValue","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","makeUniqueId","componentWillUnmount","render","_this$context","_this$context2","_this$context3","extendPropsWithContextInClassComponent","defaultProps","getTranslation","pickFormElementProps","_className","_input_element","attributes","focusState","sizeIsNumber","parseFloat","showStatus","getStatusState","hasSubmitButton","iconSize","mainParams","classnames","createSpacingClasses","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","combineDescribedBy","shellParams","createSkeletonClass","skeletonDOMAttributes","validateDOMAttributes","createElement","for_id","text","sr_only","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","onClick","convertStatusToStateOnly","title","Context","process","env","NODE_ENV","propTypes","_this$props","rest","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n if (isTrue(this.props.clear) && event.key === 'Escape') {\n this.clearValue(event)\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_filterValidProps","_Button","_interopRequireWildcard","_FormLabel","_FormStatus","_IconPrimary","_Context","_Suffix","_AlignmentHelper","_excluded","_excluded2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","inputPropTypes","type","PropTypes","string","size","oneOfType","oneOf","number","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","buttonVariantPropType","variant","submit_button_icon","submit_button_status","spacingPropTypes","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","exports","Input","React","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","dispatchCustomElementEvent","inputState","hasValue","processChildren","constructor","context","event","setState","isTrue","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","warn","result","clearValue","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","makeUniqueId","componentWillUnmount","render","_this$context","_this$context2","_this$context3","extendPropsWithContextInClassComponent","defaultProps","getTranslation","pickFormElementProps","_className","_input_element","attributes","focusState","sizeIsNumber","parseFloat","showStatus","getStatusState","hasSubmitButton","iconSize","mainParams","classnames","createSpacingClasses","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","combineDescribedBy","shellParams","createSkeletonClass","skeletonDOMAttributes","validateDOMAttributes","createElement","forId","text","labelDirection","srOnly","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","onClick","convertStatusToStateOnly","title","Context","process","env","NODE_ENV","propTypes","_this$props","rest","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n if (isTrue(this.props.clear) && event.key === 'Escape') {\n this.clearValue(event)\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -58,12 +58,14 @@
58
58
  color: var(--color-fire-red);
59
59
  }
60
60
  .dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell {
61
+ --input-border-color: transparent;
61
62
  --border-color: var(--color-fire-red);
62
63
  --border-width: 0.0625rem;
63
64
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
64
65
  border-color: transparent;
65
66
  }
66
67
  .dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell, .dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover, .dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell {
68
+ --input-border-color: var(--color-fire-red);
67
69
  --border-color: var(--color-fire-red);
68
70
  --border-width: var(--input-border-width--focus);
69
71
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
@@ -1 +1 @@
1
- .dnb-input{--input-border-color:var(--color-sea-green);--input-border-color--hover:var(--color-sea-green);--input-border-color--focus:var(--color-emerald-green);--input-border-color--disabled:var(--color-black-55);--input-border-radius:0.25rem;--input-border-width:0.0625rem;--input-border-width--focus:0.125rem;color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--input-border-color);--border-width:var(--input-border-width);background-color:var(--input-background-color);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--input-border-color--disabled);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--input-border-color--hover);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--input-border-color--focus);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
1
+ .dnb-input{--input-border-color:var(--color-sea-green);--input-border-color--hover:var(--color-sea-green);--input-border-color--focus:var(--color-emerald-green);--input-border-color--disabled:var(--color-black-55);--input-border-radius:0.25rem;--input-border-width:0.0625rem;--input-border-width--focus:0.125rem;color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--input-border-color);--border-width:var(--input-border-width);background-color:var(--input-background-color);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--input-border-color--disabled);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--input-border-color--hover);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--input-border-color--focus);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--input-border-color:transparent;--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--input-border-color:var(--color-fire-red);--border-color:var(--color-fire-red);--border-width:var(--input-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
@@ -74,11 +74,13 @@
74
74
  }
75
75
  &__status--error#{&}:not([data-input-state='focus']):not(:hover)
76
76
  &__shell {
77
+ --input-border-color: transparent;
77
78
  @include fakeBorder(var(--color-fire-red));
78
79
  }
79
80
  &__status--error#{&}[data-input-state='focus'] &__shell,
80
81
  &__status--error#{&}:not([data-input-state='disabled']) &__shell:hover,
81
82
  &__status--error#{&}:not([data-input-state='disabled']):hover &__shell {
83
+ --input-border-color: var(--color-fire-red);
82
84
  @include fakeBorder(
83
85
  var(--color-fire-red),
84
86
  var(--input-border-width--focus)
@@ -19,6 +19,7 @@ export function useEventMapping({ setLocalValue }: object): {
19
19
  onFocus: (params: any) => any;
20
20
  onBlur: (params: any) => any;
21
21
  onMouseUp: (event: any) => any;
22
+ onMouseDown: (event: any) => any;
22
23
  onKeyDown: (params: any) => any;
23
24
  onSubmit: (params: any) => any;
24
25
  onChange: (params: any) => any;
@@ -205,6 +205,9 @@ const useEventMapping = _ref => {
205
205
  onMouseUp: event => callEvent({
206
206
  event
207
207
  }, 'on_mouse_up'),
208
+ onMouseDown: event => callEvent({
209
+ event
210
+ }, 'on_mouse_down'),
208
211
  onKeyDown: params => callEvent(params, 'on_key_down'),
209
212
  onSubmit: params => callEvent(params, 'on_submit'),
210
213
  onChange: params => callEvent(params, 'on_change'),
@@ -288,8 +291,16 @@ const useCallEvent = _ref2 => {
288
291
  }
289
292
  const numberValue = Number(num);
290
293
  const cleanedValue = numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num;
291
- if (name === 'on_change' && numberValue === 0) {
292
- (0, _InputMaskedUtils.correctCaretPosition)(event.target, maskParams, props);
294
+ switch (name) {
295
+ case 'on_focus':
296
+ case 'on_key_down':
297
+ case 'on_mouse_down':
298
+ case 'on_mouse_up':
299
+ event.target.runCorrectCaretPosition = () => (0, _InputMaskedUtils.correctCaretPosition)(event.target, maskParams, props);
300
+ if (!event.target.__getCorrectCaretPosition) {
301
+ event.target.runCorrectCaretPosition();
302
+ }
303
+ break;
293
304
  }
294
305
  const result = (0, _componentHelper.dispatchCustomElementEvent)(props, name, {
295
306
  event,
@@ -300,12 +311,6 @@ const useCallEvent = _ref2 => {
300
311
  if (name === 'on_change') {
301
312
  setLocalValue(value);
302
313
  }
303
- if ((name === 'on_focus' || name === 'on_mouse_up') && !props.selectall) {
304
- event.target.runCorrectCaretPosition = () => (0, _InputMaskedUtils.correctCaretPosition)(event.target, maskParams, props);
305
- if (!event.target.__getCorrectCaretPosition) {
306
- event.target.runCorrectCaretPosition();
307
- }
308
- }
309
314
  return result;
310
315
  };
311
316
  return callEvent;