@dnb/eufemia 10.41.0 → 10.43.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 (396) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/button/Button.d.ts +17 -0
  3. package/cjs/components/card/Card.d.ts +1 -1
  4. package/cjs/components/card/Card.js.map +1 -1
  5. package/cjs/components/tabs/Tabs.js +1 -1
  6. package/cjs/components/tabs/Tabs.js.map +1 -1
  7. package/cjs/elements/img/Img.d.ts +2 -1
  8. package/cjs/elements/img/Img.js +4 -2
  9. package/cjs/elements/img/Img.js.map +1 -1
  10. package/cjs/elements/lib.d.ts +1 -1
  11. package/cjs/elements/lists/style/lists-mixins.scss +25 -12
  12. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
  13. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  14. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +13 -1
  15. package/cjs/extensions/forms/DataContext/Provider/Provider.js +15 -5
  16. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  17. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  18. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -7
  19. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  20. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  21. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +27 -0
  22. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -0
  23. package/cjs/extensions/forms/Field/Number/Number.js +14 -4
  24. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  25. package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
  26. package/cjs/extensions/forms/Field/String/String.js +21 -2
  27. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  28. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +20 -0
  29. package/cjs/extensions/forms/Form/Isolation/Isolation.js +68 -0
  30. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  31. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  32. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +52 -0
  33. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  34. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  35. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +40 -0
  36. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  37. package/cjs/extensions/forms/Form/Isolation/index.d.ts +2 -0
  38. package/cjs/extensions/forms/Form/Isolation/index.js +27 -0
  39. package/cjs/extensions/forms/Form/Isolation/index.js.map +1 -0
  40. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  41. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  42. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  43. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  44. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  45. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  46. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  47. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  48. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  49. package/cjs/extensions/forms/Form/index.js +7 -0
  50. package/cjs/extensions/forms/Form/index.js.map +1 -1
  51. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -4
  52. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  53. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -6
  54. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  55. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +1 -4
  56. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  57. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  58. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  59. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  60. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  61. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -0
  62. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  63. package/cjs/extensions/forms/constants/locales/en-US.d.ts +3 -0
  64. package/cjs/extensions/forms/constants/locales/index.d.ts +6 -0
  65. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  66. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -0
  67. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  68. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -11
  69. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  70. package/cjs/extensions/forms/hooks/usePath.d.ts +1 -1
  71. package/cjs/extensions/forms/hooks/usePath.js +9 -8
  72. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  73. package/cjs/extensions/forms/style/dnb-forms.css +3 -6
  74. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  75. package/cjs/extensions/forms/types.d.ts +1 -0
  76. package/cjs/extensions/forms/types.js.map +1 -1
  77. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  78. package/cjs/shared/Eufemia.d.ts +1 -1
  79. package/cjs/shared/Eufemia.js +2 -2
  80. package/cjs/shared/Eufemia.js.map +1 -1
  81. package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
  82. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  83. package/cjs/style/core/scopes.scss +1 -1
  84. package/cjs/style/dnb-ui-basis.css +1 -1
  85. package/cjs/style/dnb-ui-basis.min.css +1 -1
  86. package/cjs/style/dnb-ui-body.css +1 -1
  87. package/cjs/style/dnb-ui-body.min.css +1 -1
  88. package/cjs/style/dnb-ui-components.css +3 -6
  89. package/cjs/style/dnb-ui-components.min.css +1 -1
  90. package/cjs/style/dnb-ui-core.css +1 -1
  91. package/cjs/style/dnb-ui-core.min.css +1 -1
  92. package/cjs/style/dnb-ui-elements.css +26 -12
  93. package/cjs/style/dnb-ui-elements.min.css +1 -1
  94. package/cjs/style/dnb-ui-extensions.css +3 -6
  95. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  96. package/cjs/style/dnb-ui-forms.css +3 -6
  97. package/cjs/style/dnb-ui-forms.min.css +1 -1
  98. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +26 -12
  99. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  100. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +6 -12
  101. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  102. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +26 -12
  103. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  104. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -6
  105. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  106. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -6
  107. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  108. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -12
  109. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  110. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +6 -12
  111. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  112. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -12
  113. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  114. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -6
  115. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  116. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -6
  117. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  118. package/cjs/style/themes/theme-ui/ui-theme-basis.css +26 -12
  119. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  120. package/cjs/style/themes/theme-ui/ui-theme-components.css +6 -12
  121. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  122. package/cjs/style/themes/theme-ui/ui-theme-elements.css +26 -12
  123. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  124. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -6
  125. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  126. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -6
  127. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  128. package/cjs/style/themes/theme-ui/ui-theme-tags.css +26 -12
  129. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  130. package/components/button/Button.d.ts +17 -0
  131. package/components/card/Card.d.ts +1 -1
  132. package/components/card/Card.js.map +1 -1
  133. package/components/tabs/Tabs.js +1 -1
  134. package/components/tabs/Tabs.js.map +1 -1
  135. package/elements/img/Img.d.ts +2 -1
  136. package/elements/img/Img.js +4 -2
  137. package/elements/img/Img.js.map +1 -1
  138. package/elements/lib.d.ts +1 -1
  139. package/elements/lists/style/lists-mixins.scss +25 -12
  140. package/es/components/button/Button.d.ts +17 -0
  141. package/es/components/card/Card.d.ts +1 -1
  142. package/es/components/card/Card.js.map +1 -1
  143. package/es/components/tabs/Tabs.js +1 -1
  144. package/es/components/tabs/Tabs.js.map +1 -1
  145. package/es/elements/img/Img.d.ts +2 -1
  146. package/es/elements/img/Img.js +4 -2
  147. package/es/elements/img/Img.js.map +1 -1
  148. package/es/elements/lib.d.ts +1 -1
  149. package/es/elements/lists/style/lists-mixins.scss +25 -12
  150. package/es/extensions/forms/DataContext/Context.d.ts +2 -2
  151. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  152. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +13 -1
  153. package/es/extensions/forms/DataContext/Provider/Provider.js +15 -5
  154. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  155. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  156. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -7
  157. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  158. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  159. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +20 -0
  160. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -0
  161. package/es/extensions/forms/Field/Number/Number.js +14 -4
  162. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  163. package/es/extensions/forms/Field/String/String.d.ts +1 -0
  164. package/es/extensions/forms/Field/String/String.js +20 -2
  165. package/es/extensions/forms/Field/String/String.js.map +1 -1
  166. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +20 -0
  167. package/es/extensions/forms/Form/Isolation/Isolation.js +57 -0
  168. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  169. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  170. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +42 -0
  171. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  172. package/es/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  173. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +30 -0
  174. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  175. package/es/extensions/forms/Form/Isolation/index.d.ts +2 -0
  176. package/es/extensions/forms/Form/Isolation/index.js +3 -0
  177. package/es/extensions/forms/Form/Isolation/index.js.map +1 -0
  178. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  179. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  180. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  181. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  182. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  183. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  184. package/es/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  185. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  186. package/es/extensions/forms/Form/index.d.ts +1 -0
  187. package/es/extensions/forms/Form/index.js +1 -0
  188. package/es/extensions/forms/Form/index.js.map +1 -1
  189. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -4
  190. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  191. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -6
  192. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  193. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +1 -4
  194. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  195. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  196. package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  197. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  198. package/es/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  199. package/es/extensions/forms/constants/locales/en-GB.js +3 -0
  200. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  201. package/es/extensions/forms/constants/locales/en-US.d.ts +3 -0
  202. package/es/extensions/forms/constants/locales/index.d.ts +6 -0
  203. package/es/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  204. package/es/extensions/forms/constants/locales/nb-NO.js +3 -0
  205. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  206. package/es/extensions/forms/hooks/useFieldProps.js +11 -11
  207. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  208. package/es/extensions/forms/hooks/usePath.d.ts +1 -1
  209. package/es/extensions/forms/hooks/usePath.js +8 -8
  210. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  211. package/es/extensions/forms/style/dnb-forms.css +3 -6
  212. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  213. package/es/extensions/forms/types.d.ts +1 -0
  214. package/es/extensions/forms/types.js.map +1 -1
  215. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  216. package/es/shared/Eufemia.d.ts +1 -1
  217. package/es/shared/Eufemia.js +2 -2
  218. package/es/shared/Eufemia.js.map +1 -1
  219. package/es/shared/helpers/extendPropsWithContext.js +3 -3
  220. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  221. package/es/style/core/scopes.scss +1 -1
  222. package/es/style/dnb-ui-basis.css +1 -1
  223. package/es/style/dnb-ui-basis.min.css +1 -1
  224. package/es/style/dnb-ui-body.css +1 -1
  225. package/es/style/dnb-ui-body.min.css +1 -1
  226. package/es/style/dnb-ui-components.css +3 -6
  227. package/es/style/dnb-ui-components.min.css +1 -1
  228. package/es/style/dnb-ui-core.css +1 -1
  229. package/es/style/dnb-ui-core.min.css +1 -1
  230. package/es/style/dnb-ui-elements.css +26 -12
  231. package/es/style/dnb-ui-elements.min.css +1 -1
  232. package/es/style/dnb-ui-extensions.css +3 -6
  233. package/es/style/dnb-ui-extensions.min.css +1 -1
  234. package/es/style/dnb-ui-forms.css +3 -6
  235. package/es/style/dnb-ui-forms.min.css +1 -1
  236. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +26 -12
  237. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  238. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +6 -12
  239. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  240. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +26 -12
  241. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  242. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -6
  243. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  244. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -6
  245. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  246. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -12
  247. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  248. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +6 -12
  249. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  250. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -12
  251. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  252. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -6
  253. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  254. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -6
  255. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  256. package/es/style/themes/theme-ui/ui-theme-basis.css +26 -12
  257. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  258. package/es/style/themes/theme-ui/ui-theme-components.css +6 -12
  259. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  260. package/es/style/themes/theme-ui/ui-theme-elements.css +26 -12
  261. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  262. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -6
  263. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  264. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -6
  265. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  266. package/es/style/themes/theme-ui/ui-theme-tags.css +26 -12
  267. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  268. package/esm/dnb-ui-basis.min.mjs +1 -1
  269. package/esm/dnb-ui-components.min.mjs +1 -1
  270. package/esm/dnb-ui-elements.min.mjs +1 -1
  271. package/esm/dnb-ui-extensions.min.mjs +2 -2
  272. package/esm/dnb-ui-lib.min.mjs +1 -1
  273. package/extensions/forms/DataContext/Context.d.ts +2 -2
  274. package/extensions/forms/DataContext/Context.js.map +1 -1
  275. package/extensions/forms/DataContext/Provider/Provider.d.ts +13 -1
  276. package/extensions/forms/DataContext/Provider/Provider.js +15 -5
  277. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  278. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  279. package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -7
  280. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  281. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  282. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +20 -0
  283. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -0
  284. package/extensions/forms/Field/Number/Number.js +14 -4
  285. package/extensions/forms/Field/Number/Number.js.map +1 -1
  286. package/extensions/forms/Field/String/String.d.ts +1 -0
  287. package/extensions/forms/Field/String/String.js +21 -2
  288. package/extensions/forms/Field/String/String.js.map +1 -1
  289. package/extensions/forms/Form/Isolation/Isolation.d.ts +20 -0
  290. package/extensions/forms/Form/Isolation/Isolation.js +57 -0
  291. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  292. package/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  293. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +42 -0
  294. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  295. package/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  296. package/extensions/forms/Form/Isolation/IsolationDocs.js +30 -0
  297. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  298. package/extensions/forms/Form/Isolation/index.d.ts +2 -0
  299. package/extensions/forms/Form/Isolation/index.js +3 -0
  300. package/extensions/forms/Form/Isolation/index.js.map +1 -0
  301. package/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  302. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  303. package/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  304. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  305. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  306. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  307. package/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  308. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  309. package/extensions/forms/Form/index.d.ts +1 -0
  310. package/extensions/forms/Form/index.js +1 -0
  311. package/extensions/forms/Form/index.js.map +1 -1
  312. package/extensions/forms/ValueBlock/ValueBlock.js +4 -4
  313. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  314. package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -6
  315. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  316. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +1 -4
  317. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  318. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  319. package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  320. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  321. package/extensions/forms/constants/locales/en-GB.d.ts +3 -0
  322. package/extensions/forms/constants/locales/en-GB.js +3 -0
  323. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  324. package/extensions/forms/constants/locales/en-US.d.ts +3 -0
  325. package/extensions/forms/constants/locales/index.d.ts +6 -0
  326. package/extensions/forms/constants/locales/nb-NO.d.ts +3 -0
  327. package/extensions/forms/constants/locales/nb-NO.js +3 -0
  328. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  329. package/extensions/forms/hooks/useFieldProps.js +11 -11
  330. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  331. package/extensions/forms/hooks/usePath.d.ts +1 -1
  332. package/extensions/forms/hooks/usePath.js +9 -8
  333. package/extensions/forms/hooks/usePath.js.map +1 -1
  334. package/extensions/forms/style/dnb-forms.css +3 -6
  335. package/extensions/forms/style/dnb-forms.min.css +1 -1
  336. package/extensions/forms/types.d.ts +1 -0
  337. package/extensions/forms/types.js.map +1 -1
  338. package/extensions/payment-card/utils/Types.js.map +1 -1
  339. package/package.json +1 -1
  340. package/shared/Eufemia.d.ts +1 -1
  341. package/shared/Eufemia.js +2 -2
  342. package/shared/Eufemia.js.map +1 -1
  343. package/shared/helpers/extendPropsWithContext.js +3 -3
  344. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  345. package/style/core/scopes.scss +1 -1
  346. package/style/dnb-ui-basis.css +1 -1
  347. package/style/dnb-ui-basis.min.css +1 -1
  348. package/style/dnb-ui-body.css +1 -1
  349. package/style/dnb-ui-body.min.css +1 -1
  350. package/style/dnb-ui-components.css +3 -6
  351. package/style/dnb-ui-components.min.css +1 -1
  352. package/style/dnb-ui-core.css +1 -1
  353. package/style/dnb-ui-core.min.css +1 -1
  354. package/style/dnb-ui-elements.css +26 -12
  355. package/style/dnb-ui-elements.min.css +1 -1
  356. package/style/dnb-ui-extensions.css +3 -6
  357. package/style/dnb-ui-extensions.min.css +1 -1
  358. package/style/dnb-ui-forms.css +3 -6
  359. package/style/dnb-ui-forms.min.css +1 -1
  360. package/style/themes/theme-eiendom/eiendom-theme-basis.css +26 -12
  361. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  362. package/style/themes/theme-eiendom/eiendom-theme-components.css +6 -12
  363. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  364. package/style/themes/theme-eiendom/eiendom-theme-elements.css +26 -12
  365. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  366. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -6
  367. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  368. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -6
  369. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  370. package/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -12
  371. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  372. package/style/themes/theme-sbanken/sbanken-theme-components.css +6 -12
  373. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  374. package/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -12
  375. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  376. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -6
  377. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  378. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -6
  379. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  380. package/style/themes/theme-ui/ui-theme-basis.css +26 -12
  381. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  382. package/style/themes/theme-ui/ui-theme-components.css +6 -12
  383. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  384. package/style/themes/theme-ui/ui-theme-elements.css +26 -12
  385. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  386. package/style/themes/theme-ui/ui-theme-extensions.css +3 -6
  387. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  388. package/style/themes/theme-ui/ui-theme-forms.css +3 -6
  389. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  390. package/style/themes/theme-ui/ui-theme-tags.css +26 -12
  391. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  392. package/umd/dnb-ui-basis.min.js +1 -1
  393. package/umd/dnb-ui-components.min.js +1 -1
  394. package/umd/dnb-ui-elements.min.js +1 -1
  395. package/umd/dnb-ui-extensions.min.js +2 -2
  396. package/umd/dnb-ui-lib.min.js +1 -1
@@ -47,7 +47,7 @@ function ArraySelection(props) {
47
47
  } = (0, _hooks.useFieldProps)(props);
48
48
  const fieldBlockProps = _objectSpread({
49
49
  forId: id,
50
- className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--variant-${variant} dnb-forms-field-array-selection--layout-${layout} dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
50
+ className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--variant-${variant === 'checkbox' ? 'checkbox' : 'button'} dnb-forms-field-array-selection--layout-${layout} dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
51
51
  contentClassName: 'dnb-forms-field-array-selection__options',
52
52
  help,
53
53
  info,
@@ -75,15 +75,16 @@ function ArraySelection(props) {
75
75
  hasError
76
76
  });
77
77
  switch (variant) {
78
- case 'button':
78
+ case 'checkbox':
79
+ return _react.default.createElement(_FieldBlock.default, fieldBlockProps, options);
80
+ default:
79
81
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_ToggleButtonGroupContext.default.Provider, {
80
82
  value: {
81
83
  status: hasError ? 'error' : undefined,
82
- disabled
84
+ disabled,
85
+ variant: variant === 'checkbox-button' ? 'checkbox' : 'default'
83
86
  }
84
87
  }, options));
85
- case 'checkbox':
86
- return _react.default.createElement(_FieldBlock.default, fieldBlockProps, options);
87
88
  }
88
89
  }
89
90
  function getCheckboxOrToggleOptions(_ref) {
@@ -125,9 +126,9 @@ function getCheckboxOrToggleOptions(_ref) {
125
126
  return _react.default.createElement(Component, _extends({
126
127
  id: optionsCount === 1 ? id : undefined,
127
128
  key: `option-${i}-${value}`,
128
- className: (0, _classnames.default)(`dnb-forms-field-array-selection__${variant}`, className),
129
+ className: (0, _classnames.default)(`dnb-forms-field-array-selection__${variant === 'checkbox' ? 'checkbox' : 'button'}`, className),
129
130
  label: variant === 'checkbox' ? label : undefined,
130
- text: variant === 'button' ? label : undefined,
131
+ text: variant !== 'checkbox' ? label : undefined,
131
132
  value: value,
132
133
  disabled: disabled,
133
134
  checked: value === null || value === void 0 ? void 0 : value.includes(selected),
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireDefault","require","_components","_classnames","_Option","_FieldBlock","_hooks","_utils","_Selection","_ToggleButtonGroupContext","_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","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","error","hasError","help","info","warning","disabled","emptyValue","htmlAttributes","handleChange","children","useFieldProps","fieldBlockProps","forId","classnames","contentClassName","createElement","Fragment","HelpButton","size","left","title","content","pickSpacingProps","options","getCheckboxOrToggleOptions","Provider","status","_ref","optionsCount","React","Children","count","Component","Checkbox","ToggleButton","createOption","selected","rest","getStatus","suffix","handleSelect","newValue","includes","text","checked","on_change","mapOptions","toArray","map","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React from 'react'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport OptionField from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { FieldHelpProps, FieldProps, FormError } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { getStatus } from '../Selection'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpButtonProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n }>\n>\n\nexport type Props = FieldHelpProps &\n FieldProps<Array<string | number> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n }\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n value,\n error,\n hasError,\n help,\n info,\n warning,\n disabled,\n emptyValue,\n htmlAttributes,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${variant}`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n help,\n info,\n warning,\n error,\n layout,\n label,\n labelDescription: (\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n ),\n ...pickSpacingProps(props),\n }\n\n const options = getCheckboxOrToggleOptions({\n id,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n children,\n value,\n disabled,\n handleChange,\n hasError,\n })\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n }\n}\n\nexport function getCheckboxOrToggleOptions({\n id,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n children,\n value,\n disabled,\n hasError,\n handleChange,\n}: {\n id: Props['id']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n}) {\n const optionsCount = React.Children.count(children)\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n const createOption = (props: OptionProps, i: number) => {\n const {\n value: selected,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n const handleSelect = () => {\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n className={classnames(\n `dnb-forms-field-array-selection__${variant}`,\n className\n )}\n label={variant === 'checkbox' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(selected)}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n const mapOptions = (children: React.ReactNode) => {\n return React.Children.toArray(children).map(\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children)\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n }\n\n return mapOptions(children)\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireDefault","require","_components","_classnames","_Option","_FieldBlock","_hooks","_utils","_Selection","_ToggleButtonGroupContext","_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","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","error","hasError","help","info","warning","disabled","emptyValue","htmlAttributes","handleChange","children","useFieldProps","fieldBlockProps","forId","classnames","contentClassName","createElement","Fragment","HelpButton","size","left","title","content","pickSpacingProps","options","getCheckboxOrToggleOptions","Provider","status","_ref","optionsCount","React","Children","count","Component","Checkbox","ToggleButton","createOption","selected","rest","getStatus","suffix","handleSelect","newValue","includes","text","checked","on_change","mapOptions","toArray","map","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React from 'react'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport OptionField from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { FieldHelpProps, FieldProps, FormError } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { getStatus } from '../Selection'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpButtonProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n }>\n>\n\nexport type Props = FieldHelpProps &\n FieldProps<Array<string | number> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\n }\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n value,\n error,\n hasError,\n help,\n info,\n warning,\n disabled,\n emptyValue,\n htmlAttributes,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n help,\n info,\n warning,\n error,\n layout,\n label,\n labelDescription: (\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n ),\n ...pickSpacingProps(props),\n }\n\n const options = getCheckboxOrToggleOptions({\n id,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n children,\n value,\n disabled,\n handleChange,\n hasError,\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n variant:\n variant === 'checkbox-button' ? 'checkbox' : 'default',\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function getCheckboxOrToggleOptions({\n id,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n children,\n value,\n disabled,\n hasError,\n handleChange,\n}: {\n id: Props['id']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n}) {\n const optionsCount = React.Children.count(children)\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n const createOption = (props: OptionProps, i: number) => {\n const {\n value: selected,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n const handleSelect = () => {\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(selected)}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n const mapOptions = (children: React.ReactNode) => {\n return React.Children.toArray(children).map(\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children)\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n }\n\n return mapOptions(children)\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const arraySelectionProperties: PropertiesTableProps;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.arraySelectionProperties = void 0;
7
+ const arraySelectionProperties = {
8
+ variant: {
9
+ doc: 'Choice of UI feature.',
10
+ type: [`'checkbox'`, `'button'`, `'checkbox-button'`],
11
+ defaultValue: `'checkbox'`,
12
+ status: 'optional'
13
+ },
14
+ optionsLayout: {
15
+ doc: 'Layout for the list of options.',
16
+ type: [`'horizontal'`, `'vertical'`],
17
+ defaultValue: `'vertical'`,
18
+ status: 'optional'
19
+ },
20
+ children: {
21
+ doc: 'For providing `<Field.Option>` components.',
22
+ type: 'React.Node',
23
+ status: 'optional'
24
+ }
25
+ };
26
+ exports.arraySelectionProperties = arraySelectionProperties;
27
+ //# sourceMappingURL=ArraySelectionDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArraySelectionDocs.js","names":["arraySelectionProperties","variant","doc","type","defaultValue","status","optionsLayout","children","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const arraySelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature.',\n type: [`'checkbox'`, `'button'`, `'checkbox-button'`],\n defaultValue: `'checkbox'`,\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options.',\n type: [`'horizontal'`, `'vertical'`],\n defaultValue: `'vertical'`,\n status: 'optional',\n },\n children: {\n doc: 'For providing `<Field.Option>` components.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,wBAA8C,GAAG;EAC5DC,OAAO,EAAE;IACPC,GAAG,EAAE,uBAAuB;IAC5BC,IAAI,EAAE,CAAE,YAAW,EAAG,UAAS,EAAG,mBAAkB,CAAC;IACrDC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbJ,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,CAAE,cAAa,EAAG,YAAW,CAAC;IACpCC,YAAY,EAAG,YAAW;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRL,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,YAAY;IAClBE,MAAM,EAAE;EACV;AACF,CAAC;AAAAG,OAAA,CAAAR,wBAAA,GAAAA,wBAAA"}
@@ -16,6 +16,7 @@ var _utils = require("../../../../components/flex/utils");
16
16
  var _SliderHelpers = require("../../../../components/slider/SliderHelpers");
17
17
  var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
18
18
  var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
19
+ var _Context2 = _interopRequireDefault(require("../../DataContext/Context"));
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,7 +27,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
26
27
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
27
28
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
29
  function NumberComponent(props) {
29
- var _props$width, _sharedContext$transl, _sharedContext$transl2;
30
+ var _props$width, _dataContext$props2, _sharedContext$transl, _sharedContext$transl2;
31
+ const dataContext = (0, _react.useContext)(_Context2.default);
30
32
  const fieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
31
33
  const sharedContext = (0, _react.useContext)(_Context.default);
32
34
  const translations = (0, _useTranslation.default)();
@@ -151,16 +153,24 @@ function NumberComponent(props) {
151
153
  handleBlur,
152
154
  handleChange
153
155
  } = (0, _hooks.useFieldProps)(preparedProps);
156
+ const {
157
+ handleSubmit
158
+ } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
154
159
  const onKeyDownHandler = (0, _react.useCallback)(_ref2 => {
160
+ var _dataContext$props;
155
161
  let {
156
- key,
157
162
  event
158
163
  } = _ref2;
164
+ if (dataContext !== null && dataContext !== void 0 && (_dataContext$props = dataContext.props) !== null && _dataContext$props !== void 0 && _dataContext$props.isolate && event.key === 'Enter') {
165
+ var _event$preventDefault;
166
+ handleSubmit();
167
+ (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);
168
+ }
159
169
  if (!showStepControls) {
160
170
  return;
161
171
  }
162
172
  let numberValue = null;
163
- switch (key) {
173
+ switch (event.key) {
164
174
  case 'ArrowUp':
165
175
  numberValue = (0, _SliderHelpers.clamp)((value !== null && value !== void 0 ? value : startWith) + step, minimum, maximum);
166
176
  break;
@@ -175,7 +185,7 @@ function NumberComponent(props) {
175
185
  numberValue
176
186
  });
177
187
  }
178
- }, [handleChange, maximum, minimum, showStepControls, startWith, step, value]);
188
+ }, [dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props2 = dataContext.props) === null || _dataContext$props2 === void 0 ? void 0 : _dataContext$props2.isolate, handleChange, handleSubmit, maximum, minimum, showStepControls, startWith, step, value]);
179
189
  const fieldBlockProps = _objectSpread({
180
190
  className: (0, _classnames.default)("dnb-forms-field-number dnb-input__border--tokens", className),
181
191
  contentClassName: (0, _classnames.default)('dnb-forms-field-number__contents', showStepControls && 'dnb-forms-field-number__contents--has-controls', hasError && 'dnb-input__status--error', disabled && 'dnb-input--disabled'),
@@ -1 +1 @@
1
- {"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_FieldBlockContext","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","fieldBlockContext","useContext","FieldBlockContext","sharedContext","SharedContext","translations","useTranslation","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","useErrorMessage","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","useMemo","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","useFieldProps","onKeyDownHandler","_ref2","event","clamp","persist","preventDefault","fieldBlockProps","classnames","contentClassName","forId","contentWidth","pickSpacingProps","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","HelpButton","content","asFieldset","Button","InputMasked","left","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n FieldBlockWidth,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined | number, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minimum: translations.NumberField.errorMinimum,\n maximum: translations.NumberField.errorMaximum,\n exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,\n exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,\n multipleOf: translations.NumberField.errorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return null\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n startWith = null,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n handleChange,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n (width === 'stretch' || fieldBlockContext?.composition) &&\n !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: decreaseClickHandler,\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_FieldBlockContext","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","_useErrorMessage","_useTranslation","_Context2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberComponent","props","_props$width","_dataContext$props2","_sharedContext$transl","_sharedContext$transl2","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","sharedContext","SharedContext","translations","useTranslation","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","useErrorMessage","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","useMemo","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","useFieldProps","handleSubmit","onKeyDownHandler","_ref2","_dataContext$props","event","isolate","_event$preventDefault","preventDefault","clamp","persist","fieldBlockProps","classnames","contentClassName","forId","contentWidth","pickSpacingProps","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","HelpButton","content","asFieldset","Button","InputMasked","left","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n FieldBlockWidth,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext from '../../DataContext/Context'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined | number, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minimum: translations.NumberField.errorMinimum,\n maximum: translations.NumberField.errorMaximum,\n exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,\n exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,\n multipleOf: translations.NumberField.errorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return null\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n startWith = null,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const { handleSubmit } = dataContext ?? {}\n const onKeyDownHandler = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (dataContext?.props?.isolate && event.key === 'Enter') {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (event.key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n dataContext?.props?.isolate,\n handleChange,\n handleSubmit,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n (width === 'stretch' || fieldBlockContext?.composition) &&\n !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: decreaseClickHandler,\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
@@ -41,6 +41,7 @@ export type Props = FieldHelpProps & FieldProps<string, undefined | string, Erro
41
41
  spellCheck?: React.HTMLAttributes<HTMLInputElement>['spellCheck'];
42
42
  autoFocus?: React.HTMLAttributes<HTMLInputElement>['autoFocus'];
43
43
  autoCapitalize?: React.HTMLAttributes<HTMLInputElement>['autoCapitalize'];
44
+ onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
44
45
  };
45
46
  declare function StringComponent(props: Props): import("react/jsx-runtime").JSX.Element;
46
47
  declare namespace StringComponent {
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("../../../../components");
11
11
  var _InputMasked = _interopRequireDefault(require("../../../../components/InputMasked"));
12
+ var _Context = _interopRequireDefault(require("../../DataContext/Context"));
12
13
  var _FieldBlockContext = _interopRequireDefault(require("../../FieldBlock/FieldBlockContext"));
13
14
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
14
15
  var _hooks = require("../../hooks");
@@ -26,7 +27,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
26
27
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
27
28
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
29
  function StringComponent(props) {
29
- var _props$width, _value$toString;
30
+ var _props$width, _dataContext$props2, _value$toString;
31
+ const dataContext = (0, _react.useContext)(_Context.default);
30
32
  const fieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
31
33
  const translations = (0, _useTranslation.default)();
32
34
  const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
@@ -123,9 +125,25 @@ function StringComponent(props) {
123
125
  autoCapitalize,
124
126
  handleFocus,
125
127
  handleBlur,
126
- handleChange
128
+ handleChange,
129
+ onKeyDown
127
130
  } = (0, _hooks.useFieldProps)(preparedProps);
128
131
  const transformInstantly = (0, _react.useCallback)(value => props.capitalize ? (0, _componentHelper.toCapitalized)(value) : value, [props.capitalize]);
132
+ const {
133
+ handleSubmit
134
+ } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
135
+ const handleKeyDown = (0, _react.useCallback)(_ref => {
136
+ var _dataContext$props;
137
+ let {
138
+ event
139
+ } = _ref;
140
+ if (!multiline && dataContext !== null && dataContext !== void 0 && (_dataContext$props = dataContext.props) !== null && _dataContext$props !== void 0 && _dataContext$props.isolate && event.key === 'Enter') {
141
+ var _event$preventDefault;
142
+ handleSubmit();
143
+ (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);
144
+ }
145
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
146
+ }, [handleSubmit, dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props2 = dataContext.props) === null || _dataContext$props2 === void 0 ? void 0 : _dataContext$props2.isolate, multiline, onKeyDown]);
129
147
  const cn = (0, _classnames.default)('dnb-forms-field-string__input', inputClassName);
130
148
  const sharedProps = _objectSpread(_objectSpread({
131
149
  id,
@@ -144,6 +162,7 @@ function StringComponent(props) {
144
162
  on_focus: handleFocus,
145
163
  on_blur: handleBlur,
146
164
  on_change: handleChange,
165
+ on_key_down: handleKeyDown,
147
166
  disabled
148
167
  }, htmlAttributes), {}, {
149
168
  stretch: Boolean(width !== undefined || (fieldBlockContext === null || fieldBlockContext === void 0 ? void 0 : fieldBlockContext.composition)),
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_FieldBlockContext","_FieldBlock","_hooks","_utils","_componentHelper","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_value$toString","fieldBlockContext","useContext","FieldBlockContext","translations","useTranslation","errorMessages","useErrorMessage","path","required","Field","errorRequired","minLength","StringField","errorMinLength","maxLength","errorMaxLength","pattern","errorPattern","schema","useMemo","_props$schema","type","fromInput","useCallback","event","_event","_event$cleanedValue","_event2","_event3","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transform","transformValue","capitalize","toCapitalized","preparedProps","width","composition","id","name","className","innerRef","inputClassName","layout","placeholder","label","labelDescription","info","warning","error","hasError","disabled","help","multiline","mask","leftIcon","rightIcon","htmlAttributes","submitElement","clear","align","size","selectall","keepPlaceholder","rows","autoresizeMaxRows","autoresize","characterCounter","autoComplete","inputMode","autoCorrect","spellCheck","autoFocus","autoCapitalize","handleFocus","handleBlur","useFieldProps","transformInstantly","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","content","on_focus","on_blur","on_change","stretch","Boolean","inner_ref","status","toString","textareaProps","autoresize_max_rows","inputProps","icon","icon_position","submit_element","keep_placeholder","fieldBlockProps","forId","contentWidth","pickSpacingProps","Textarea","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport { TextareaProps } from '../../../../components/Textarea'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\nimport type { TextCounterProps } from '../../../../fragments/TextCounter'\nimport type {\n FieldProps,\n FieldHelpProps,\n CustomErrorMessages,\n AllJSONSchemaVersions,\n FieldBlockWidth,\n} from '../../types'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n // - Shared props\n multiline?: boolean\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n width?: FieldBlockWidth\n size?: InputProps['size'] | TextareaProps['size']\n keepPlaceholder?: InputProps['keep_placeholder']\n\n // - Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n\n // - Input props\n type?: InputProps['type']\n align?: InputProps['align']\n selectall?: InputProps['selectall']\n clear?: boolean\n mask?: InputMaskedProps['mask']\n leftIcon?: string\n rightIcon?: string\n submitElement?: InputProps['submit_element']\n capitalize?: boolean\n trim?: boolean\n\n // - Textarea props\n rows?: TextareaProps['rows']\n autoresizeMaxRows?: TextareaProps['autoresize_max_rows']\n autoresize?: TextareaProps['autoresize']\n characterCounter?: Omit<TextCounterProps, 'text'> | number\n\n // - Html props\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoCorrect?: React.HTMLAttributes<HTMLInputElement>['autoCorrect']\n spellCheck?: React.HTMLAttributes<HTMLInputElement>['spellCheck']\n autoFocus?: React.HTMLAttributes<HTMLInputElement>['autoFocus']\n autoCapitalize?: React.HTMLAttributes<HTMLInputElement>['autoCapitalize']\n }\n\nfunction StringComponent(props: Props) {\n const fieldBlockContext = useContext(FieldBlockContext)\n const translations = useTranslation()\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minLength: translations.StringField.errorMinLength,\n maxLength: translations.StringField.errorMaxLength,\n pattern: translations.Field.errorPattern,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transform = props.transformValue\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return transform?.(value) || value\n },\n [props.capitalize, transform]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n }\n\n const {\n id,\n name,\n className,\n innerRef,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n multiline,\n mask,\n leftIcon,\n rightIcon,\n width,\n htmlAttributes,\n submitElement,\n\n // - Input props\n type,\n clear,\n align,\n size,\n selectall,\n keepPlaceholder,\n\n // - Textarea props\n rows,\n autoresizeMaxRows = 6,\n autoresize = true,\n characterCounter,\n\n // - Html props\n autoComplete,\n inputMode,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n\n // - Events\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps: InputProps & TextareaProps = {\n id,\n name,\n autoComplete,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n inputMode,\n className: cn,\n placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled,\n ...htmlAttributes,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n inner_ref: innerRef,\n status: hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n const textareaProps: TextareaProps = {\n keepPlaceholder,\n rows,\n autoresize_max_rows: autoresizeMaxRows,\n autoresize,\n characterCounter,\n }\n\n const inputProps: InputProps = {\n type: type,\n clear: clear,\n size: size,\n align: align,\n selectall: selectall,\n icon: leftIcon ?? rightIcon,\n icon_position: rightIcon && !leftIcon ? 'right' : undefined,\n submit_element: submitElement,\n keep_placeholder: keepPlaceholder,\n }\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-string', className),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n {multiline ? (\n <Textarea {...sharedProps} {...textareaProps} />\n ) : mask ? (\n <InputMasked {...sharedProps} {...inputProps} mask={mask} />\n ) : (\n <Input {...sharedProps} {...inputProps} />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_Context","_FieldBlockContext","_FieldBlock","_hooks","_utils","_componentHelper","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_dataContext$props2","_value$toString","dataContext","useContext","DataContext","fieldBlockContext","FieldBlockContext","translations","useTranslation","errorMessages","useErrorMessage","path","required","Field","errorRequired","minLength","StringField","errorMinLength","maxLength","errorMaxLength","pattern","errorPattern","schema","useMemo","_props$schema","type","fromInput","useCallback","event","_event","_event$cleanedValue","_event2","_event3","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transform","transformValue","capitalize","toCapitalized","preparedProps","width","composition","id","name","className","innerRef","inputClassName","layout","placeholder","label","labelDescription","info","warning","error","hasError","disabled","help","multiline","mask","leftIcon","rightIcon","htmlAttributes","submitElement","clear","align","size","selectall","keepPlaceholder","rows","autoresizeMaxRows","autoresize","characterCounter","autoComplete","inputMode","autoCorrect","spellCheck","autoFocus","autoCapitalize","handleFocus","handleBlur","onKeyDown","useFieldProps","transformInstantly","handleSubmit","handleKeyDown","_ref","_dataContext$props","isolate","_event$preventDefault","preventDefault","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","content","on_focus","on_blur","on_change","on_key_down","stretch","Boolean","inner_ref","status","toString","textareaProps","autoresize_max_rows","inputProps","icon","icon_position","submit_element","keep_placeholder","fieldBlockProps","forId","contentWidth","pickSpacingProps","Textarea","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport { TextareaProps } from '../../../../components/Textarea'\nimport DataContext from '../../DataContext/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\nimport type { TextCounterProps } from '../../../../fragments/TextCounter'\nimport type {\n FieldProps,\n FieldHelpProps,\n CustomErrorMessages,\n AllJSONSchemaVersions,\n FieldBlockWidth,\n} from '../../types'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n // - Shared props\n multiline?: boolean\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n width?: FieldBlockWidth\n size?: InputProps['size'] | TextareaProps['size']\n keepPlaceholder?: InputProps['keep_placeholder']\n\n // - Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n\n // - Input props\n type?: InputProps['type']\n align?: InputProps['align']\n selectall?: InputProps['selectall']\n clear?: boolean\n mask?: InputMaskedProps['mask']\n leftIcon?: string\n rightIcon?: string\n submitElement?: InputProps['submit_element']\n capitalize?: boolean\n trim?: boolean\n\n // - Textarea props\n rows?: TextareaProps['rows']\n autoresizeMaxRows?: TextareaProps['autoresize_max_rows']\n autoresize?: TextareaProps['autoresize']\n characterCounter?: Omit<TextCounterProps, 'text'> | number\n\n // - Html props\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoCorrect?: React.HTMLAttributes<HTMLInputElement>['autoCorrect']\n spellCheck?: React.HTMLAttributes<HTMLInputElement>['spellCheck']\n autoFocus?: React.HTMLAttributes<HTMLInputElement>['autoFocus']\n autoCapitalize?: React.HTMLAttributes<HTMLInputElement>['autoCapitalize']\n\n // - Events\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n }\n\nfunction StringComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const translations = useTranslation()\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minLength: translations.StringField.errorMinLength,\n maxLength: translations.StringField.errorMaxLength,\n pattern: translations.Field.errorPattern,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transform = props.transformValue\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return transform?.(value) || value\n },\n [props.capitalize, transform]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n }\n\n const {\n id,\n name,\n className,\n innerRef,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n multiline,\n mask,\n leftIcon,\n rightIcon,\n width,\n htmlAttributes,\n submitElement,\n\n // - Input props\n type,\n clear,\n align,\n size,\n selectall,\n keepPlaceholder,\n\n // - Textarea props\n rows,\n autoresizeMaxRows = 6,\n autoresize = true,\n characterCounter,\n\n // - Html props\n autoComplete,\n inputMode,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n\n // - Events\n handleFocus,\n handleBlur,\n handleChange,\n onKeyDown,\n } = useFieldProps(preparedProps)\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const { handleSubmit } = dataContext ?? {}\n const handleKeyDown = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (\n !multiline &&\n dataContext?.props?.isolate &&\n event.key === 'Enter'\n ) {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n onKeyDown?.(event)\n },\n [handleSubmit, dataContext?.props?.isolate, multiline, onKeyDown]\n )\n\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps: InputProps & TextareaProps = {\n id,\n name,\n autoComplete,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n inputMode,\n className: cn,\n placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n on_key_down: handleKeyDown,\n disabled,\n ...htmlAttributes,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n inner_ref: innerRef,\n status: hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n const textareaProps: TextareaProps = {\n keepPlaceholder,\n rows,\n autoresize_max_rows: autoresizeMaxRows,\n autoresize,\n characterCounter,\n }\n\n const inputProps: InputProps = {\n type: type,\n clear: clear,\n size: size,\n align: align,\n selectall: selectall,\n icon: leftIcon ?? rightIcon,\n icon_position: rightIcon && !leftIcon ? 'right' : undefined,\n submit_element: submitElement,\n keep_placeholder: keepPlaceholder,\n }\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-string', className),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n {multiline ? (\n <Textarea {...sharedProps} {...textareaProps} />\n ) : mask ? (\n <InputMasked {...sharedProps} {...inputProps} mask={mask} />\n ) : (\n <Input {...sharedProps} {...inputProps} />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { JsonObject } from 'json-pointer';
3
+ import { Props as ProviderProps } from '../../DataContext/Provider';
4
+ import IsolationCommitButton from './IsolationCommitButton';
5
+ export type IsolationProps<Data> = Omit<ProviderProps<Data>, 'onSubmit' | 'onSubmitRequest' | 'onSubmitComplete' | 'minimumAsyncBehaviorTime' | 'asyncSubmitTimeout' | 'scrollTopOnSubmit' | 'sessionStorageId' | 'filterSubmitData' | 'globalStatusId'> & {
6
+ /**
7
+ * A ref (function) that you can call in order to commit the data programmatically to the outer context.
8
+ */
9
+ commitHandleRef?: React.MutableRefObject<() => void>;
10
+ /**
11
+ * Will be called when the isolated context is committed.
12
+ */
13
+ onCommit?: (data: Data) => void;
14
+ };
15
+ declare function IsolationProvider<Data extends JsonObject>(props: IsolationProps<Data>): import("react/jsx-runtime").JSX.Element;
16
+ declare namespace IsolationProvider {
17
+ var CommitButton: typeof IsolationCommitButton;
18
+ var _supportsSpacingProps: any;
19
+ }
20
+ export default IsolationProvider;