@dnb/eufemia 10.52.1 → 10.53.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 (318) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  3. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  4. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  5. package/cjs/components/upload/UploadVerify.js +2 -2
  6. package/cjs/components/upload/UploadVerify.js.map +1 -1
  7. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  8. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  9. package/cjs/extensions/forms/DataContext/Provider/Provider.js +3 -4
  10. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  11. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  12. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  13. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  14. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +51 -11
  15. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  16. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  17. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +25 -0
  18. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  19. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  20. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +61 -17
  21. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  22. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  23. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  24. package/cjs/extensions/forms/Field/Slider/Slider.js +3 -1
  25. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  26. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  27. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  28. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  29. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  30. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  31. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  32. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  33. package/cjs/extensions/forms/Iterate/Array/Array.js +51 -27
  34. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  35. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  36. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  37. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +29 -32
  38. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  39. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  40. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  41. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  42. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  43. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  44. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  45. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  46. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  47. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  48. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  49. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  50. package/cjs/extensions/forms/hooks/useFieldProps.js +40 -8
  51. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  52. package/cjs/extensions/forms/hooks/useTranslation.d.ts +4 -1
  53. package/cjs/extensions/forms/hooks/useTranslation.js +6 -3
  54. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  55. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  56. package/cjs/extensions/forms/hooks/useValueProps.js +2 -2
  57. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  58. package/cjs/extensions/forms/style/dnb-forms.css +6 -0
  59. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  60. package/cjs/extensions/forms/types.d.ts +2 -1
  61. package/cjs/extensions/forms/types.js.map +1 -1
  62. package/cjs/shared/Context.d.ts +4 -4
  63. package/cjs/shared/Context.js.map +1 -1
  64. package/cjs/shared/Eufemia.d.ts +1 -1
  65. package/cjs/shared/Eufemia.js +2 -2
  66. package/cjs/shared/Eufemia.js.map +1 -1
  67. package/cjs/shared/defaults.d.ts +1 -0
  68. package/cjs/shared/defaults.js +3 -1
  69. package/cjs/shared/defaults.js.map +1 -1
  70. package/cjs/shared/useTranslation.d.ts +11 -4
  71. package/cjs/shared/useTranslation.js +68 -22
  72. package/cjs/shared/useTranslation.js.map +1 -1
  73. package/cjs/style/core/scopes.scss +1 -1
  74. package/cjs/style/dnb-ui-basis.css +1 -1
  75. package/cjs/style/dnb-ui-basis.min.css +1 -1
  76. package/cjs/style/dnb-ui-body.css +1 -1
  77. package/cjs/style/dnb-ui-body.min.css +1 -1
  78. package/cjs/style/dnb-ui-components.css +6 -0
  79. package/cjs/style/dnb-ui-components.min.css +1 -1
  80. package/cjs/style/dnb-ui-core.css +1 -1
  81. package/cjs/style/dnb-ui-core.min.css +1 -1
  82. package/cjs/style/dnb-ui-extensions.css +6 -0
  83. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  84. package/cjs/style/dnb-ui-forms.css +6 -0
  85. package/cjs/style/dnb-ui-forms.min.css +1 -1
  86. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  87. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  88. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  89. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  90. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  91. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  92. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  93. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  94. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  95. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  96. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  97. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  98. package/cjs/style/themes/theme-ui/ui-theme-components.css +12 -0
  99. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  100. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  101. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  102. package/cjs/style/themes/theme-ui/ui-theme-forms.css +6 -0
  103. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  104. package/components/number-format/NumberUtils.js.map +1 -1
  105. package/components/progress-indicator/ProgressIndicator.js +2 -2
  106. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  107. package/components/upload/UploadVerify.js +2 -2
  108. package/components/upload/UploadVerify.js.map +1 -1
  109. package/es/components/number-format/NumberUtils.js.map +1 -1
  110. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  111. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  112. package/es/components/upload/UploadVerify.js +2 -2
  113. package/es/components/upload/UploadVerify.js.map +1 -1
  114. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  115. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  116. package/es/extensions/forms/DataContext/Provider/Provider.js +3 -4
  117. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  118. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  119. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  120. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  121. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -12
  122. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  123. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  124. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  125. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  126. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  127. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +59 -17
  128. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  129. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  130. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  131. package/es/extensions/forms/Field/Slider/Slider.js +3 -1
  132. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  133. package/es/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  134. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  135. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  136. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  137. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  138. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  139. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  140. package/es/extensions/forms/Iterate/Array/Array.js +52 -28
  141. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  142. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  143. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  144. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +29 -29
  145. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  146. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  147. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  148. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  149. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  150. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  151. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  152. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  153. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  154. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  155. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  156. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  157. package/es/extensions/forms/hooks/useFieldProps.js +40 -9
  158. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  159. package/es/extensions/forms/hooks/useTranslation.d.ts +4 -1
  160. package/es/extensions/forms/hooks/useTranslation.js +7 -4
  161. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  162. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  163. package/es/extensions/forms/hooks/useValueProps.js +2 -2
  164. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  165. package/es/extensions/forms/style/dnb-forms.css +6 -0
  166. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  167. package/es/extensions/forms/types.d.ts +2 -1
  168. package/es/extensions/forms/types.js.map +1 -1
  169. package/es/shared/Context.d.ts +4 -4
  170. package/es/shared/Context.js.map +1 -1
  171. package/es/shared/Eufemia.d.ts +1 -1
  172. package/es/shared/Eufemia.js +2 -2
  173. package/es/shared/Eufemia.js.map +1 -1
  174. package/es/shared/defaults.d.ts +1 -0
  175. package/es/shared/defaults.js +1 -0
  176. package/es/shared/defaults.js.map +1 -1
  177. package/es/shared/useTranslation.d.ts +11 -4
  178. package/es/shared/useTranslation.js +64 -22
  179. package/es/shared/useTranslation.js.map +1 -1
  180. package/es/style/core/scopes.scss +1 -1
  181. package/es/style/dnb-ui-basis.css +1 -1
  182. package/es/style/dnb-ui-basis.min.css +1 -1
  183. package/es/style/dnb-ui-body.css +1 -1
  184. package/es/style/dnb-ui-body.min.css +1 -1
  185. package/es/style/dnb-ui-components.css +6 -0
  186. package/es/style/dnb-ui-components.min.css +1 -1
  187. package/es/style/dnb-ui-core.css +1 -1
  188. package/es/style/dnb-ui-core.min.css +1 -1
  189. package/es/style/dnb-ui-extensions.css +6 -0
  190. package/es/style/dnb-ui-extensions.min.css +1 -1
  191. package/es/style/dnb-ui-forms.css +6 -0
  192. package/es/style/dnb-ui-forms.min.css +1 -1
  193. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  194. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  195. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  196. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  197. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  198. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  199. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  200. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  201. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  202. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  203. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  204. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  205. package/es/style/themes/theme-ui/ui-theme-components.css +12 -0
  206. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  207. package/es/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  208. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  209. package/es/style/themes/theme-ui/ui-theme-forms.css +6 -0
  210. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  211. package/esm/dnb-ui-basis.min.mjs +1 -1
  212. package/esm/dnb-ui-components.min.mjs +1 -1
  213. package/esm/dnb-ui-elements.min.mjs +1 -1
  214. package/esm/dnb-ui-extensions.min.mjs +5 -5
  215. package/esm/dnb-ui-lib.min.mjs +1 -1
  216. package/extensions/forms/DataContext/Context.d.ts +1 -0
  217. package/extensions/forms/DataContext/Context.js.map +1 -1
  218. package/extensions/forms/DataContext/Provider/Provider.js +3 -4
  219. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  220. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +5 -1
  221. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  222. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  223. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -12
  224. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  225. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  226. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  227. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  228. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  229. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +59 -17
  230. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  231. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  232. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  233. package/extensions/forms/Field/Slider/Slider.js +3 -1
  234. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  235. package/extensions/forms/FieldBlock/FieldBlock.js +21 -3
  236. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  237. package/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  238. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  239. package/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  240. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  241. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  242. package/extensions/forms/Iterate/Array/Array.js +52 -28
  243. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  244. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  245. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  246. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +29 -32
  247. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  248. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  249. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  250. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  251. package/extensions/forms/constants/locales/en-GB.js +3 -2
  252. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  253. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  254. package/extensions/forms/constants/locales/index.d.ts +4 -2
  255. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  256. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  257. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  258. package/extensions/forms/hooks/useFieldProps.d.ts +4 -2
  259. package/extensions/forms/hooks/useFieldProps.js +41 -9
  260. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  261. package/extensions/forms/hooks/useTranslation.d.ts +4 -1
  262. package/extensions/forms/hooks/useTranslation.js +7 -4
  263. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  264. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  265. package/extensions/forms/hooks/useValueProps.js +2 -2
  266. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  267. package/extensions/forms/style/dnb-forms.css +6 -0
  268. package/extensions/forms/style/dnb-forms.min.css +1 -1
  269. package/extensions/forms/types.d.ts +2 -1
  270. package/extensions/forms/types.js.map +1 -1
  271. package/package.json +1 -1
  272. package/shared/Context.d.ts +4 -4
  273. package/shared/Context.js.map +1 -1
  274. package/shared/Eufemia.d.ts +1 -1
  275. package/shared/Eufemia.js +2 -2
  276. package/shared/Eufemia.js.map +1 -1
  277. package/shared/defaults.d.ts +1 -0
  278. package/shared/defaults.js +1 -0
  279. package/shared/defaults.js.map +1 -1
  280. package/shared/useTranslation.d.ts +11 -4
  281. package/shared/useTranslation.js +64 -22
  282. package/shared/useTranslation.js.map +1 -1
  283. package/style/core/scopes.scss +1 -1
  284. package/style/dnb-ui-basis.css +1 -1
  285. package/style/dnb-ui-basis.min.css +1 -1
  286. package/style/dnb-ui-body.css +1 -1
  287. package/style/dnb-ui-body.min.css +1 -1
  288. package/style/dnb-ui-components.css +6 -0
  289. package/style/dnb-ui-components.min.css +1 -1
  290. package/style/dnb-ui-core.css +1 -1
  291. package/style/dnb-ui-core.min.css +1 -1
  292. package/style/dnb-ui-extensions.css +6 -0
  293. package/style/dnb-ui-extensions.min.css +1 -1
  294. package/style/dnb-ui-forms.css +6 -0
  295. package/style/dnb-ui-forms.min.css +1 -1
  296. package/style/themes/theme-eiendom/eiendom-theme-components.css +12 -0
  297. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  298. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +6 -0
  299. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  300. package/style/themes/theme-eiendom/eiendom-theme-forms.css +6 -0
  301. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  302. package/style/themes/theme-sbanken/sbanken-theme-components.css +12 -0
  303. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  304. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +6 -0
  305. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  306. package/style/themes/theme-sbanken/sbanken-theme-forms.css +6 -0
  307. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  308. package/style/themes/theme-ui/ui-theme-components.css +12 -0
  309. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  310. package/style/themes/theme-ui/ui-theme-extensions.css +6 -0
  311. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  312. package/style/themes/theme-ui/ui-theme-forms.css +6 -0
  313. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  314. package/umd/dnb-ui-basis.min.js +1 -1
  315. package/umd/dnb-ui-components.min.js +1 -1
  316. package/umd/dnb-ui-elements.min.js +1 -1
  317. package/umd/dnb-ui-extensions.min.js +5 -5
  318. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,33 +1,73 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- import React, { useMemo } from 'react';
4
+ import React, { useCallback, useMemo } from 'react';
5
5
  import StringField from '../String';
6
6
  import useErrorMessage from '../../hooks/useErrorMessage';
7
7
  import useTranslation from '../../hooks/useTranslation';
8
8
  function BankAccountNumber(props) {
9
- var _props$pattern, _props$label, _props$width;
10
- const translations = useTranslation().BankAccountNumber;
11
9
  const {
12
- validate = true,
13
- omitMask
14
- } = props;
10
+ errorBankAccountNumber,
11
+ errorBankAccountNumberLength,
12
+ errorRequired,
13
+ label
14
+ } = useTranslation().BankAccountNumber;
15
15
  const errorMessages = useErrorMessage(props.path, props.errorMessages, {
16
- required: translations.errorRequired,
17
- pattern: translations.errorPattern
16
+ required: errorRequired,
17
+ pattern: errorBankAccountNumber,
18
+ errorBankAccountNumber,
19
+ errorBankAccountNumberLength
18
20
  });
21
+ const bankAccountNumberValidator = useCallback(value => {
22
+ if (value !== undefined) {
23
+ const bankAccountNoIs11Digits = (value === null || value === void 0 ? void 0 : value.length) === 11;
24
+ if (!bankAccountNoIs11Digits) {
25
+ return Error(errorBankAccountNumberLength);
26
+ }
27
+ if (bankAccountNoIs11Digits && !isValidAccountNumber(value)) {
28
+ return Error(errorBankAccountNumber);
29
+ }
30
+ }
31
+ }, [errorBankAccountNumber, errorBankAccountNumberLength]);
32
+ const {
33
+ validate = true,
34
+ omitMask,
35
+ validator,
36
+ onBlurValidator = bankAccountNumberValidator,
37
+ label: labelProp,
38
+ width
39
+ } = props;
19
40
  const mask = useMemo(() => omitMask ? [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/] : [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/], [omitMask]);
41
+ const onBlurValidatorToUse = onBlurValidator === false ? undefined : onBlurValidator;
20
42
  const StringFieldProps = _objectSpread(_objectSpread({}, props), {}, {
21
43
  className: 'dnb-forms-field-bank-account-number',
22
- pattern: (_props$pattern = props.pattern) !== null && _props$pattern !== void 0 ? _props$pattern : validate ? '^[0-9]{11}$' : undefined,
23
- label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label,
44
+ label: labelProp !== null && labelProp !== void 0 ? labelProp : label,
24
45
  errorMessages,
25
46
  mask,
26
- width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium',
27
- inputMode: 'numeric'
47
+ width: width !== null && width !== void 0 ? width : 'medium',
48
+ inputMode: 'numeric',
49
+ validator: validate ? validator : undefined,
50
+ onBlurValidator: validate ? onBlurValidatorToUse : undefined,
51
+ exportValidators: {
52
+ bankAccountNumberValidator
53
+ }
28
54
  });
29
55
  return React.createElement(StringField, StringFieldProps);
30
56
  }
57
+ function isValidAccountNumber(digits) {
58
+ let checkDigit = 2;
59
+ let sum = 0;
60
+ for (let i = digits.length - 2; i >= 0; --i) {
61
+ sum += parseInt(digits.charAt(i)) * checkDigit;
62
+ checkDigit += 1;
63
+ if (checkDigit > 7) {
64
+ checkDigit = 2;
65
+ }
66
+ }
67
+ const result = 11 - sum % 11;
68
+ const finalCheckDigit = result === 11 ? 0 : result;
69
+ return parseInt(digits.charAt(digits.length - 1), 10) === finalCheckDigit;
70
+ }
31
71
  BankAccountNumber._supportsSpacingProps = true;
32
72
  export default BankAccountNumber;
33
73
  //# sourceMappingURL=BankAccountNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankAccountNumber.js","names":["React","useMemo","StringField","useErrorMessage","useTranslation","BankAccountNumber","props","_props$pattern","_props$label","_props$width","translations","validate","omitMask","errorMessages","path","required","errorRequired","pattern","errorPattern","mask","StringFieldProps","_objectSpread","className","undefined","label","width","inputMode","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction BankAccountNumber(props: Props) {\n const translations = useTranslation().BankAccountNumber\n const { validate = true, omitMask } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const StringFieldProps: Props = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label: props.label ?? translations.label,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,WAAW,MAAqC,WAAW;AAElE,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,cAAc,MAAM,4BAA4B;AAOvD,SAASC,iBAAiBA,CAACC,KAAY,EAAE;EAAA,IAAAC,cAAA,EAAAC,YAAA,EAAAC,YAAA;EACvC,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACC,iBAAiB;EACvD,MAAM;IAAEM,QAAQ,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGN,KAAK;EAE3C,MAAMO,aAAa,GAAGV,eAAe,CAACG,KAAK,CAACQ,IAAI,EAAER,KAAK,CAACO,aAAa,EAAE;IACrEE,QAAQ,EAAEL,YAAY,CAACM,aAAa;IACpCC,OAAO,EAAEP,YAAY,CAACQ;EACxB,CAAC,CAAC;EACF,MAAMC,IAAI,GAAGlB,OAAO,CAClB,MACEW,QAAQ,GACJ,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,GACD,CACE,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,EACP,CAACA,QAAQ,CACX,CAAC;EAED,MAAMQ,gBAAuB,GAAAC,aAAA,CAAAA,aAAA,KACxBf,KAAK;IACRgB,SAAS,EAAE,qCAAqC;IAChDL,OAAO,GAAAV,cAAA,GAAED,KAAK,CAACW,OAAO,cAAAV,cAAA,cAAAA,cAAA,GAAKI,QAAQ,GAAG,aAAa,GAAGY,SAAU;IAChEC,KAAK,GAAAhB,YAAA,GAAEF,KAAK,CAACkB,KAAK,cAAAhB,YAAA,cAAAA,YAAA,GAAIE,YAAY,CAACc,KAAK;IACxCX,aAAa;IACbM,IAAI;IACJM,KAAK,GAAAhB,YAAA,GAAEH,KAAK,CAACmB,KAAK,cAAAhB,YAAA,cAAAA,YAAA,GAAI,QAAQ;IAC9BiB,SAAS,EAAE;EAAS,EACrB;EAED,OAAO1B,KAAA,CAAA2B,aAAA,CAACzB,WAAW,EAAKkB,gBAAmB,CAAC;AAC9C;AAEAf,iBAAiB,CAACuB,qBAAqB,GAAG,IAAI;AAC9C,eAAevB,iBAAiB"}
1
+ {"version":3,"file":"BankAccountNumber.js","names":["React","useCallback","useMemo","StringField","useErrorMessage","useTranslation","BankAccountNumber","props","errorBankAccountNumber","errorBankAccountNumberLength","errorRequired","label","errorMessages","path","required","pattern","bankAccountNumberValidator","value","undefined","bankAccountNoIs11Digits","length","Error","isValidAccountNumber","validate","omitMask","validator","onBlurValidator","labelProp","width","mask","onBlurValidatorToUse","StringFieldProps","_objectSpread","className","inputMode","exportValidators","createElement","digits","checkDigit","sum","i","parseInt","charAt","result","finalCheckDigit","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport { Validator } from '../../types'\n\nexport type Props = Omit<StringFieldProps, 'onBlurValidator'> & {\n validate?: boolean\n omitMask?: boolean\n onBlurValidator?: Validator<string> | false\n}\n\nfunction BankAccountNumber(props: Props) {\n const {\n errorBankAccountNumber,\n errorBankAccountNumberLength,\n errorRequired,\n label,\n } = useTranslation().BankAccountNumber\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorRequired,\n pattern: errorBankAccountNumber,\n errorBankAccountNumber,\n errorBankAccountNumberLength,\n })\n\n const bankAccountNumberValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n const bankAccountNoIs11Digits = value?.length === 11\n\n if (!bankAccountNoIs11Digits) {\n return Error(errorBankAccountNumberLength)\n }\n\n if (bankAccountNoIs11Digits && !isValidAccountNumber(value)) {\n return Error(errorBankAccountNumber)\n }\n }\n },\n [errorBankAccountNumber, errorBankAccountNumberLength]\n )\n\n const {\n validate = true,\n omitMask,\n validator,\n onBlurValidator = bankAccountNumberValidator,\n label: labelProp,\n width,\n } = props\n\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const onBlurValidatorToUse =\n onBlurValidator === false ? undefined : onBlurValidator\n\n const StringFieldProps: StringFieldProps = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n label: labelProp ?? label,\n errorMessages,\n mask,\n width: width ?? 'medium',\n inputMode: 'numeric',\n validator: validate ? validator : undefined,\n onBlurValidator: validate ? onBlurValidatorToUse : undefined,\n exportValidators: { bankAccountNumberValidator },\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nfunction isValidAccountNumber(digits: string) {\n let checkDigit = 2\n let sum = 0\n\n for (let i = digits.length - 2; i >= 0; --i) {\n sum += parseInt(digits.charAt(i)) * checkDigit\n\n checkDigit += 1\n\n if (checkDigit > 7) {\n checkDigit = 2\n }\n }\n\n const result = 11 - (sum % 11)\n const finalCheckDigit = result === 11 ? 0 : result\n\n return parseInt(digits.charAt(digits.length - 1), 10) === finalCheckDigit\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const BankAccountNumberProperties: PropertiesTableProps;
@@ -0,0 +1,18 @@
1
+ export const BankAccountNumberProperties = {
2
+ validate: {
3
+ doc: 'Using this prop you can disable the default validation.',
4
+ type: 'boolean',
5
+ status: 'optional'
6
+ },
7
+ help: {
8
+ doc: 'Provide a help button. Object consisting of `title` and `content`.',
9
+ type: 'object',
10
+ status: 'optional'
11
+ },
12
+ onBlurValidator: {
13
+ doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',
14
+ type: 'function',
15
+ status: 'optional'
16
+ }
17
+ };
18
+ //# sourceMappingURL=BankAccountNumberDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankAccountNumberDocs.js","names":["BankAccountNumberProperties","validate","doc","type","status","help","onBlurValidator"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const BankAccountNumberProperties: PropertiesTableProps = {\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,2BAAiD,GAAG;EAC/DC,QAAQ,EAAE;IACRC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,eAAe,EAAE;IACfJ,GAAG,EAAE,8aAA8a;IACnbC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -1,7 +1,15 @@
1
1
  import { Props as FieldBlockProps } from '../../FieldBlock';
2
2
  import { Props as StringFieldProps } from '../String';
3
- import { FieldHelpProps } from '../../types';
4
- export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Partial<Record<'postalCode' | 'city', StringFieldProps>>;
3
+ import { FieldHelpProps, Path } from '../../types';
4
+ export type Props = FieldHelpProps & Omit<FieldBlockProps, 'children'> & Partial<Record<'postalCode' | 'city', StringFieldProps>> & {
5
+ /**
6
+ * Defines which country the postal code and city is for.
7
+ * Setting it to anything other than `no` will remove the default norwegian postal code pattern.
8
+ * You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`.
9
+ * Default: `NO`
10
+ */
11
+ country?: Path | string;
12
+ };
5
13
  declare function PostalCodeAndCity(props: Props): import("react/jsx-runtime").JSX.Element;
6
14
  declare namespace PostalCodeAndCity {
7
15
  var _supportsSpacingProps: boolean;
@@ -1,52 +1,94 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["postalCode", "city", "help", "width"];
4
+ const _excluded = ["postalCode", "city", "help", "width", "country"];
5
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
- import React from 'react';
7
+ import React, { useCallback } from 'react';
8
8
  import classnames from 'classnames';
9
9
  import StringField from '../String';
10
10
  import CompositionField from '../Composition';
11
11
  import useTranslation from '../../hooks/useTranslation';
12
+ import useDataValue from '../../hooks/useDataValue';
13
+ import { COUNTRY as defaultCountry } from '../../../../shared/defaults';
12
14
  function PostalCodeAndCity(props) {
13
- var _postalCode$pattern, _postalCode$label, _postalCode$placehold, _city$label, _city$pattern;
14
15
  const translations = useTranslation();
16
+ const {
17
+ getSourceValue
18
+ } = useDataValue();
15
19
  const {
16
20
  postalCode = {},
17
21
  city = {},
18
22
  help,
19
- width = 'large'
23
+ width = 'large',
24
+ country = defaultCountry
20
25
  } = props,
21
26
  fieldBlockProps = _objectWithoutProperties(props, _excluded);
27
+ const {
28
+ pattern: cityPattern,
29
+ className: cityClassName,
30
+ label: cityLabel,
31
+ width: cityWidth,
32
+ errorMessages: cityErrorMessages
33
+ } = city;
34
+ const countryValue = getSourceValue(country);
35
+ const handleDefaults = useCallback(postalCode => {
36
+ const props = {};
37
+ switch (countryValue) {
38
+ case defaultCountry:
39
+ case 'DK':
40
+ case 'CH':
41
+ {
42
+ props.mask = [/\d/, /\d/, /\d/, /\d/];
43
+ props.pattern = '^[0-9]{4}$';
44
+ props.placeholder = '0000';
45
+ break;
46
+ }
47
+ default:
48
+ props.width = '8rem';
49
+ break;
50
+ }
51
+ return _objectSpread(_objectSpread({}, props), postalCode);
52
+ }, [countryValue]);
53
+ const {
54
+ mask: postalCodeMask,
55
+ pattern: postalCodePattern,
56
+ placeholder: postalCodePlaceHolder,
57
+ className: postalCodeClassName,
58
+ label: postalCodeLabel,
59
+ width: postalCodeWidth,
60
+ errorMessages: postalCodeErrorMessages
61
+ } = handleDefaults(postalCode);
62
+ const postalCodeValidationProps = {
63
+ mask: postalCodeMask,
64
+ pattern: postalCodePattern,
65
+ placeholder: postalCodePlaceHolder
66
+ };
22
67
  return React.createElement(CompositionField, _extends({
23
68
  className: classnames('dnb-forms-field-postal-code-and-city', props.className)
24
69
  }, fieldBlockProps, {
25
70
  width: width
26
- }), React.createElement(StringField, _extends({}, postalCode, {
27
- pattern: (_postalCode$pattern = postalCode.pattern) !== null && _postalCode$pattern !== void 0 ? _postalCode$pattern : '^[0-9]{4}$',
28
- mask: [/\d/, /\d/, /\d/, /\d/],
29
- className: classnames('dnb-forms-field-postal-code-and-city__postal-code', postalCode.className),
30
- label: (_postalCode$label = postalCode.label) !== null && _postalCode$label !== void 0 ? _postalCode$label : translations.PostalCode.label,
71
+ }), React.createElement(StringField, _extends({}, postalCode, postalCodeValidationProps, {
72
+ className: classnames('dnb-forms-field-postal-code-and-city__postal-code', postalCodeClassName),
73
+ label: postalCodeLabel !== null && postalCodeLabel !== void 0 ? postalCodeLabel : translations.PostalCode.label,
31
74
  errorMessages: _objectSpread({
32
75
  required: translations.PostalCode.errorRequired,
33
76
  pattern: translations.PostalCode.errorPattern
34
- }, postalCode.errorMessages),
35
- placeholder: (_postalCode$placehold = postalCode.placeholder) !== null && _postalCode$placehold !== void 0 ? _postalCode$placehold : '0000',
36
- width: false,
77
+ }, postalCodeErrorMessages),
78
+ width: postalCodeWidth !== null && postalCodeWidth !== void 0 ? postalCodeWidth : false,
37
79
  inputClassName: "dnb-forms-field-postal-code-and-city__postal-code-input",
38
80
  inputMode: "numeric",
39
81
  autoComplete: "postal-code"
40
82
  })), React.createElement(StringField, _extends({}, city, {
41
- className: classnames('dnb-forms-field-postal-code-and-city__city', city.className),
42
- label: (_city$label = city.label) !== null && _city$label !== void 0 ? _city$label : translations.City.label,
83
+ className: classnames('dnb-forms-field-postal-code-and-city__city', cityClassName),
84
+ label: cityLabel !== null && cityLabel !== void 0 ? cityLabel : translations.City.label,
43
85
  errorMessages: _objectSpread({
44
86
  required: translations.City.errorRequired,
45
87
  pattern: translations.City.errorPattern
46
- }, city.errorMessages),
47
- pattern: (_city$pattern = city.pattern) !== null && _city$pattern !== void 0 ? _city$pattern : '^[A-Za-zÆØÅæøå -]+$',
88
+ }, cityErrorMessages),
89
+ pattern: cityPattern !== null && cityPattern !== void 0 ? cityPattern : '^[A-Za-zÆØÅæøå -]+$',
48
90
  trim: true,
49
- width: "stretch",
91
+ width: cityWidth !== null && cityWidth !== void 0 ? cityWidth : 'stretch',
50
92
  autoComplete: "address-level2",
51
93
  help: help
52
94
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCity.js","names":["React","classnames","StringField","CompositionField","useTranslation","PostalCodeAndCity","props","_postalCode$pattern","_postalCode$label","_postalCode$placehold","_city$label","_city$pattern","translations","postalCode","city","help","width","fieldBlockProps","_objectWithoutProperties","_excluded","createElement","_extends","className","pattern","mask","label","PostalCode","errorMessages","_objectSpread","required","errorRequired","errorPattern","placeholder","inputClassName","inputMode","autoComplete","City","trim","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport CompositionField from '../Composition'\nimport { FieldHelpProps } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Partial<Record<'postalCode' | 'city', StringFieldProps>>\n\nfunction PostalCodeAndCity(props: Props) {\n const translations = useTranslation()\n\n const {\n postalCode = {},\n city = {},\n help,\n width = 'large',\n ...fieldBlockProps\n } = props\n\n return (\n <CompositionField\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n width={width}\n >\n <StringField\n {...postalCode}\n pattern={postalCode.pattern ?? '^[0-9]{4}$'}\n mask={[/\\d/, /\\d/, /\\d/, /\\d/]}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCode.className\n )}\n label={postalCode.label ?? translations.PostalCode.label}\n errorMessages={{\n required: translations.PostalCode.errorRequired,\n pattern: translations.PostalCode.errorPattern,\n ...postalCode.errorMessages,\n }}\n placeholder={postalCode.placeholder ?? '0000'}\n width={false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n inputMode=\"numeric\"\n autoComplete=\"postal-code\"\n />\n <StringField\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n city.className\n )}\n label={city.label ?? translations.City.label}\n errorMessages={{\n required: translations.City.errorRequired,\n pattern: translations.City.errorPattern,\n ...city.errorMessages,\n }}\n pattern={city.pattern ?? '^[A-Za-zÆØÅæøå -]+$'}\n trim\n width=\"stretch\"\n autoComplete=\"address-level2\"\n help={help}\n />\n </CompositionField>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,gBAAgB,MAAM,gBAAgB;AAE7C,OAAOC,cAAc,MAAM,4BAA4B;AAMvD,SAASC,iBAAiBA,CAACC,KAAY,EAAE;EAAA,IAAAC,mBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,WAAA,EAAAC,aAAA;EACvC,MAAMC,YAAY,GAAGR,cAAc,CAAC,CAAC;EAErC,MAAM;MACJS,UAAU,GAAG,CAAC,CAAC;MACfC,IAAI,GAAG,CAAC,CAAC;MACTC,IAAI;MACJC,KAAK,GAAG;IAEV,CAAC,GAAGV,KAAK;IADJW,eAAe,GAAAC,wBAAA,CAChBZ,KAAK,EAAAa,SAAA;EAET,OACEnB,KAAA,CAAAoB,aAAA,CAACjB,gBAAgB,EAAAkB,QAAA;IACfC,SAAS,EAAErB,UAAU,CACnB,sCAAsC,EACtCK,KAAK,CAACgB,SACR;EAAE,GACEL,eAAe;IACnBD,KAAK,EAAEA;EAAM,IAEbhB,KAAA,CAAAoB,aAAA,CAAClB,WAAW,EAAAmB,QAAA,KACNR,UAAU;IACdU,OAAO,GAAAhB,mBAAA,GAAEM,UAAU,CAACU,OAAO,cAAAhB,mBAAA,cAAAA,mBAAA,GAAI,YAAa;IAC5CiB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAE;IAC/BF,SAAS,EAAErB,UAAU,CACnB,mDAAmD,EACnDY,UAAU,CAACS,SACb,CAAE;IACFG,KAAK,GAAAjB,iBAAA,GAAEK,UAAU,CAACY,KAAK,cAAAjB,iBAAA,cAAAA,iBAAA,GAAII,YAAY,CAACc,UAAU,CAACD,KAAM;IACzDE,aAAa,EAAAC,aAAA;MACXC,QAAQ,EAAEjB,YAAY,CAACc,UAAU,CAACI,aAAa;MAC/CP,OAAO,EAAEX,YAAY,CAACc,UAAU,CAACK;IAAY,GAC1ClB,UAAU,CAACc,aAAa,CAC3B;IACFK,WAAW,GAAAvB,qBAAA,GAAEI,UAAU,CAACmB,WAAW,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,MAAO;IAC9CO,KAAK,EAAE,KAAM;IACbiB,cAAc,EAAC,yDAAyD;IACxEC,SAAS,EAAC,SAAS;IACnBC,YAAY,EAAC;EAAa,EAC3B,CAAC,EACFnC,KAAA,CAAAoB,aAAA,CAAClB,WAAW,EAAAmB,QAAA,KACNP,IAAI;IACRQ,SAAS,EAAErB,UAAU,CACnB,4CAA4C,EAC5Ca,IAAI,CAACQ,SACP,CAAE;IACFG,KAAK,GAAAf,WAAA,GAAEI,IAAI,CAACW,KAAK,cAAAf,WAAA,cAAAA,WAAA,GAAIE,YAAY,CAACwB,IAAI,CAACX,KAAM;IAC7CE,aAAa,EAAAC,aAAA;MACXC,QAAQ,EAAEjB,YAAY,CAACwB,IAAI,CAACN,aAAa;MACzCP,OAAO,EAAEX,YAAY,CAACwB,IAAI,CAACL;IAAY,GACpCjB,IAAI,CAACa,aAAa,CACrB;IACFJ,OAAO,GAAAZ,aAAA,GAAEG,IAAI,CAACS,OAAO,cAAAZ,aAAA,cAAAA,aAAA,GAAI,qBAAsB;IAC/C0B,IAAI;IACJrB,KAAK,EAAC,SAAS;IACfmB,YAAY,EAAC,gBAAgB;IAC7BpB,IAAI,EAAEA;EAAK,EACZ,CACe,CAAC;AAEvB;AAEAV,iBAAiB,CAACiC,qBAAqB,GAAG,IAAI;AAC9C,eAAejC,iBAAiB"}
1
+ {"version":3,"file":"PostalCodeAndCity.js","names":["React","useCallback","classnames","StringField","CompositionField","useTranslation","useDataValue","COUNTRY","defaultCountry","PostalCodeAndCity","props","translations","getSourceValue","postalCode","city","help","width","country","fieldBlockProps","_objectWithoutProperties","_excluded","pattern","cityPattern","className","cityClassName","label","cityLabel","cityWidth","errorMessages","cityErrorMessages","countryValue","handleDefaults","mask","placeholder","_objectSpread","postalCodeMask","postalCodePattern","postalCodePlaceHolder","postalCodeClassName","postalCodeLabel","postalCodeWidth","postalCodeErrorMessages","postalCodeValidationProps","createElement","_extends","PostalCode","required","errorRequired","errorPattern","inputClassName","inputMode","autoComplete","City","trim","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport CompositionField from '../Composition'\nimport { FieldHelpProps, Path } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\nimport useDataValue from '../../hooks/useDataValue'\nimport { COUNTRY as defaultCountry } from '../../../../shared/defaults'\n\nexport type Props = FieldHelpProps &\n Omit<FieldBlockProps, 'children'> &\n Partial<Record<'postalCode' | 'city', StringFieldProps>> & {\n /**\n * Defines which country the postal code and city is for.\n * Setting it to anything other than `no` will remove the default norwegian postal code pattern.\n * You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`.\n * Default: `NO`\n */\n // Add type for all country codes?\n country?: Path | string\n }\n\nfunction PostalCodeAndCity(props: Props) {\n const translations = useTranslation()\n const { getSourceValue } = useDataValue()\n\n const {\n postalCode = {},\n city = {},\n help,\n width = 'large',\n country = defaultCountry,\n ...fieldBlockProps\n } = props\n\n const {\n pattern: cityPattern,\n className: cityClassName,\n label: cityLabel,\n width: cityWidth,\n errorMessages: cityErrorMessages,\n } = city\n\n const countryValue = getSourceValue(country)\n const handleDefaults = useCallback(\n (postalCode: StringFieldProps) => {\n const props: StringFieldProps = {}\n\n switch (countryValue) {\n case defaultCountry:\n case 'DK':\n case 'CH': {\n props.mask = [/\\d/, /\\d/, /\\d/, /\\d/]\n props.pattern = '^[0-9]{4}$'\n props.placeholder = '0000'\n break\n }\n default:\n props.width = '8rem'\n break\n }\n\n return { ...props, ...postalCode }\n },\n [countryValue]\n )\n\n const {\n mask: postalCodeMask,\n pattern: postalCodePattern,\n placeholder: postalCodePlaceHolder,\n className: postalCodeClassName,\n label: postalCodeLabel,\n width: postalCodeWidth,\n errorMessages: postalCodeErrorMessages,\n } = handleDefaults(postalCode)\n\n const postalCodeValidationProps = {\n mask: postalCodeMask,\n pattern: postalCodePattern,\n placeholder: postalCodePlaceHolder,\n }\n\n return (\n <CompositionField\n className={classnames(\n 'dnb-forms-field-postal-code-and-city',\n props.className\n )}\n {...fieldBlockProps}\n width={width}\n >\n <StringField\n {...postalCode}\n {...postalCodeValidationProps}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__postal-code',\n postalCodeClassName\n )}\n label={postalCodeLabel ?? translations.PostalCode.label}\n errorMessages={{\n required: translations.PostalCode.errorRequired,\n pattern: translations.PostalCode.errorPattern,\n ...postalCodeErrorMessages,\n }}\n width={postalCodeWidth ?? false}\n inputClassName=\"dnb-forms-field-postal-code-and-city__postal-code-input\"\n inputMode=\"numeric\"\n autoComplete=\"postal-code\"\n />\n <StringField\n {...city}\n className={classnames(\n 'dnb-forms-field-postal-code-and-city__city',\n cityClassName\n )}\n label={cityLabel ?? translations.City.label}\n errorMessages={{\n required: translations.City.errorRequired,\n pattern: translations.City.errorPattern,\n ...cityErrorMessages,\n }}\n pattern={cityPattern ?? '^[A-Za-zÆØÅæøå -]+$'}\n trim\n width={cityWidth ?? 'stretch'}\n autoComplete=\"address-level2\"\n help={help}\n />\n </CompositionField>\n )\n}\n\nPostalCodeAndCity._supportsSpacingProps = true\nexport default PostalCodeAndCity\n"],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  export const PostalCodeAndCityProperties = {
2
+ country: {
3
+ doc: 'Defines which country the postal code and city is for, based on the ISO 3166-1 alpha-2 format i.e. `NO`, `DE` etc. ' + 'Setting it to anything other than `NO` will remove the default norwegian postal code pattern. ' + 'You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`. ' + 'Defaults to `NO`',
4
+ type: ['Path', 'string'],
5
+ status: 'optional'
6
+ },
2
7
  postalCode: {
3
8
  doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',
4
9
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"PostalCodeAndCityDocs.js","names":["PostalCodeAndCityProperties","postalCode","doc","type","status","city","help"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PostalCodeAndCityProperties: PropertiesTableProps = {\n postalCode: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',\n type: 'object',\n status: 'required',\n },\n city: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for city.',\n type: 'object',\n status: 'required',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,2BAAiD,GAAG;EAC/DC,UAAU,EAAE;IACVC,GAAG,EAAE,wGAAwG;IAC7GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"PostalCodeAndCityDocs.js","names":["PostalCodeAndCityProperties","country","doc","type","status","postalCode","city","help"],"sources":["../../../../../../src/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PostalCodeAndCityProperties: PropertiesTableProps = {\n country: {\n doc:\n 'Defines which country the postal code and city is for, based on the ISO 3166-1 alpha-2 format i.e. `NO`, `DE` etc. ' +\n 'Setting it to anything other than `NO` will remove the default norwegian postal code pattern. ' +\n 'You can also use the value of another field to define the country, by using a path value i.e. `/myCountryPath`. ' +\n 'Defaults to `NO`',\n type: ['Path', 'string'],\n status: 'optional',\n },\n postalCode: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for postcode.',\n type: 'object',\n status: 'required',\n },\n city: {\n doc: 'Properties for the [Field.String](/uilib/extensions/forms/base-fields/String/) component for city.',\n type: 'object',\n status: 'required',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,2BAAiD,GAAG;EAC/DC,OAAO,EAAE;IACPC,GAAG,EACD,qHAAqH,GACrH,gGAAgG,GAChG,kHAAkH,GAClH,kBAAkB;IACpBC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxBC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVH,GAAG,EAAE,wGAAwG;IAC7GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -48,7 +48,9 @@ function SliderComponent(props) {
48
48
  handleChange,
49
49
  handleFocus,
50
50
  handleBlur
51
- } = useFieldProps(preparedProps);
51
+ } = useFieldProps(preparedProps, {
52
+ omitMultiplePathWarning: true
53
+ });
52
54
  const handleLocalChange = useCallback(_ref2 => {
53
55
  let {
54
56
  value
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["React","useCallback","useContext","useRef","FieldBlock","useFieldProps","Slider","pickSpacingProps","HelpButton","DataContext","useDataValue","SliderComponent","props","_ref","_props$paths","dataContextRef","current","getSourceValue","getValues","source","Array","isArray","map","s","value","paths","path","preparedProps","_objectSpread","step","min","max","id","width","layout","label","help","labelDescription","info","warning","error","hasError","disabled","handleChange","handleFocus","handleBlur","handleLocalChange","_ref2","forEach","i","updateDataValue","fieldBlockProps","forId","sliderProps","status","undefined","suffix","createElement","title","content","on_change","on_drag_start","on_drag_end","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","stretch","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldProps,\n Path,\n} from '../../types'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldHelpProps &\n FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n }\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(props.paths ?? props.path ?? props.value)\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n layout,\n label,\n help,\n labelDescription,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n } = useFieldProps(preparedProps)\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical: props.vertical,\n reverse: props.reverse,\n hideButtons: props.hideButtons,\n multiThumbBehavior: props.multiThumbBehavior,\n thumbTitle: props.thumbTitle,\n subtractTitle: props.subtractTitle,\n addTitle: props.addTitle,\n numberFormat: props.numberFormat,\n tooltip: props.tooltip,\n alwaysShowTooltip: props.alwaysShowTooltip,\n extensions: props.extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC9D,OAAOC,UAAU,MAAoC,kBAAkB;AACvE,SAASC,aAAa,QAAQ,aAAa;AAO3C,OAAOC,MAAM,MAAuB,+BAA+B;AACnE,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,WAAW,MAAwB,2BAA2B;AACrE,OAAOC,YAAY,MAAM,0BAA0B;AAgCnD,SAASC,eAAeA,CAACC,KAAY,EAAE;EAAA,IAAAC,IAAA,EAAAC,YAAA;EACrC,MAAMC,cAAc,GAAGZ,MAAM,CAAe,CAAC;EAC7CY,cAAc,CAACC,OAAO,GAAGd,UAAU,CAAeO,WAAW,CAAC;EAE9D,MAAM;IAAEQ;EAAe,CAAC,GAAGP,YAAY,CAAC,CAAC;EACzC,MAAMQ,SAAS,GAAGjB,WAAW,CAC1BkB,MAAwC,IAAK;IAC5C,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;MACzB,OAAOA,MAAM,CAACG,GAAG,CAAEC,CAAC,IAAKN,cAAc,CAACM,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD;IAEA,OAAON,cAAc,CAACE,MAAM,CAAC,IAAI,CAAC;EACpC,CAAC,EACD,CAACF,cAAc,CACjB,CAAC;EAED,MAAMO,KAAK,GAAGN,SAAS,EAAAL,IAAA,IAAAC,YAAA,GAACF,KAAK,CAACa,KAAK,cAAAX,YAAA,cAAAA,YAAA,GAAIF,KAAK,CAACc,IAAI,cAAAb,IAAA,cAAAA,IAAA,GAAID,KAAK,CAACY,KAAK,CAAC;EACjE,MAAMG,aAAa,GAAAC,aAAA,CAAAA,aAAA,KACdhB,KAAK;IACRiB,IAAI,EAAEZ,cAAc,CAACL,KAAK,CAACiB,IAAI,CAAC;IAChCC,GAAG,EAAEb,cAAc,CAACL,KAAK,CAACkB,GAAG,CAAC;IAC9BC,GAAG,EAAEd,cAAc,CAACL,KAAK,CAACmB,GAAG;EAAC,EAC/B;EAED,MAAM;IACJC,EAAE;IACFH,IAAI,GAAG,CAAC;IACRC,GAAG,GAAG,CAAC;IACPC,GAAG,GAAG,GAAG;IACTE,KAAK,GAAG,SAAS;IACjBC,MAAM;IACNC,KAAK;IACLC,IAAI;IACJC,gBAAgB;IAChBC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,QAAQ;IACRC,YAAY;IACZC,WAAW;IACXC;EACF,CAAC,GAAGxC,aAAa,CAACsB,aAAa,CAAC;EAEhC,MAAMmB,iBAAiB,GAAG7C,WAAW,CACnC8C,KAAA,IAA6C;IAAA,IAA5C;MAAEvB;IAAoC,CAAC,GAAAuB,KAAA;IACtC,IAAI3B,KAAK,CAACC,OAAO,CAACT,KAAK,CAACa,KAAK,CAAC,IAAIL,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;MACtDA,KAAK,CAACwB,OAAO,CAAC,CAACxB,KAAK,EAAEyB,CAAC,KAAK;QAC1BlC,cAAc,CAACC,OAAO,CAACkC,eAAe,CAACtC,KAAK,CAACa,KAAK,CAACwB,CAAC,CAAC,EAAEzB,KAAK,CAAC;MAC/D,CAAC,CAAC;IACJ;IAEAmB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGnB,KAAK,CAAC;EACvB,CAAC,EACD,CAACmB,YAAY,EAAE/B,KAAK,CAACa,KAAK,CAC5B,CAAC;EAED,MAAM0B,eAAgC,GAAAvB,aAAA;IACpCwB,KAAK,EAAEpB,EAAE;IACTE,MAAM;IACNC,KAAK;IACLE,gBAAgB;IAChBC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLE,QAAQ;IACRT;EAAK,GACF1B,gBAAgB,CAACK,KAAK,CAAC,CAC3B;EAED,MAAMyC,WAAwB,GAAG;IAC/B7B,KAAK;IACLK,IAAI;IACJC,GAAG;IACHC,GAAG;IACHW,QAAQ;IACRY,MAAM,EAAEb,QAAQ,GAAG,OAAO,GAAGc,SAAS;IACtCC,MAAM,EAAEpB,IAAI,GACVpC,KAAA,CAAAyD,aAAA,CAACjD,UAAU;MAACkD,KAAK,EAAEtB,IAAI,CAACsB;IAAM,GAAEtB,IAAI,CAACuB,OAAoB,CAAC,GACxDJ,SAAS;IACbK,SAAS,EAAEd,iBAAiB;IAC5Be,aAAa,EAAEjB,WAAW;IAC1BkB,WAAW,EAAEjB,UAAU;IACvBkB,QAAQ,EAAEnD,KAAK,CAACmD,QAAQ;IACxBC,OAAO,EAAEpD,KAAK,CAACoD,OAAO;IACtBC,WAAW,EAAErD,KAAK,CAACqD,WAAW;IAC9BC,kBAAkB,EAAEtD,KAAK,CAACsD,kBAAkB;IAC5CC,UAAU,EAAEvD,KAAK,CAACuD,UAAU;IAC5BC,aAAa,EAAExD,KAAK,CAACwD,aAAa;IAClCC,QAAQ,EAAEzD,KAAK,CAACyD,QAAQ;IACxBC,YAAY,EAAE1D,KAAK,CAAC0D,YAAY;IAChCC,OAAO,EAAE3D,KAAK,CAAC2D,OAAO;IACtBC,iBAAiB,EAAE5D,KAAK,CAAC4D,iBAAiB;IAC1CC,UAAU,EAAE7D,KAAK,CAAC6D,UAAU;IAC5BC,OAAO,EAAE;EACX,CAAC;EAED,OACE1E,KAAA,CAAAyD,aAAA,CAACrD,UAAU,EAAK+C,eAAe,EAC7BnD,KAAA,CAAAyD,aAAA,CAACnD,MAAM,EAAK+C,WAAc,CAChB,CAAC;AAEjB;AAEA,eAAe1C,eAAe;AAE9BA,eAAe,CAACgE,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"Slider.js","names":["React","useCallback","useContext","useRef","FieldBlock","useFieldProps","Slider","pickSpacingProps","HelpButton","DataContext","useDataValue","SliderComponent","props","_ref","_props$paths","dataContextRef","current","getSourceValue","getValues","source","Array","isArray","map","s","value","paths","path","preparedProps","_objectSpread","step","min","max","id","width","layout","label","help","labelDescription","info","warning","error","hasError","disabled","handleChange","handleFocus","handleBlur","omitMultiplePathWarning","handleLocalChange","_ref2","forEach","i","updateDataValue","fieldBlockProps","forId","sliderProps","status","undefined","suffix","createElement","title","content","on_change","on_drag_start","on_drag_end","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","stretch","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldProps,\n Path,\n} from '../../types'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldHelpProps &\n FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n }\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(props.paths ?? props.path ?? props.value)\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n layout,\n label,\n help,\n labelDescription,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical: props.vertical,\n reverse: props.reverse,\n hideButtons: props.hideButtons,\n multiThumbBehavior: props.multiThumbBehavior,\n thumbTitle: props.thumbTitle,\n subtractTitle: props.subtractTitle,\n addTitle: props.addTitle,\n numberFormat: props.numberFormat,\n tooltip: props.tooltip,\n alwaysShowTooltip: props.alwaysShowTooltip,\n extensions: props.extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -49,6 +49,8 @@ function FieldBlock(props) {
49
49
  children
50
50
  } = _Object$assign,
51
51
  rest = _objectWithoutProperties(_Object$assign, _excluded);
52
+ const hasCustomWidth = /\d(rem)$/.test(String(width));
53
+ const hasCustomContentWidth = /\d(rem)$/.test(String(contentWidth));
52
54
  const iterateItemContext = useContext(IterateElementContext);
53
55
  const {
54
56
  index: iterateIndex
@@ -88,7 +90,7 @@ function FieldBlock(props) {
88
90
  }
89
91
  }
90
92
  return content;
91
- }, [iterateIndex, labelProp, labelSuffixText]);
93
+ }, [iterateIndex, labelProp, labelSuffixText, optionalLabelSuffix]);
92
94
  const setInternalRecord = useCallback(props => {
93
95
  const {
94
96
  stateId,
@@ -246,7 +248,7 @@ function FieldBlock(props) {
246
248
  mountedFieldsRef.current = {};
247
249
  stateRecordRef.current = {};
248
250
  }, []);
249
- const mainClasses = classnames('dnb-forms-field-block', className, width !== undefined && `dnb-forms-field-block--width-${width}`);
251
+ const mainClasses = classnames('dnb-forms-field-block', className, width && `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`);
250
252
  const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
251
253
  const enableFieldset = useEnableFieldset({
252
254
  label,
@@ -265,6 +267,20 @@ function FieldBlock(props) {
265
267
  size: labelSize,
266
268
  disabled
267
269
  };
270
+ const mainStyle = useMemo(() => {
271
+ if (hasCustomWidth) {
272
+ return {
273
+ '--dnb-forms-field-block-width': width
274
+ };
275
+ }
276
+ }, [hasCustomWidth, width]);
277
+ const contentsStyle = useMemo(() => {
278
+ if (hasCustomContentWidth) {
279
+ return {
280
+ '--dnb-forms-field-block-content-width': contentWidth
281
+ };
282
+ }
283
+ }, [contentWidth, hasCustomContentWidth]);
268
284
  if (dataContext !== null && dataContext !== void 0 && dataContext.prerenderFieldProps) {
269
285
  return null;
270
286
  }
@@ -283,6 +299,7 @@ function FieldBlock(props) {
283
299
  }
284
300
  }, React.createElement(Space, _extends({
285
301
  element: enableFieldset ? 'fieldset' : 'div',
302
+ style: mainStyle,
286
303
  className: mainClasses
287
304
  }, rest), React.createElement("div", {
288
305
  className: gridClasses
@@ -295,7 +312,8 @@ function FieldBlock(props) {
295
312
  }, labelDescription)))), React.createElement("div", {
296
313
  className: "dnb-forms-field-block__status"
297
314
  }, React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.error), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.warning), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.info)), React.createElement("div", {
298
- className: classnames('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
315
+ style: contentsStyle,
316
+ className: classnames('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${hasCustomContentWidth ? 'custom' : contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
299
317
  ref: contentsRef
300
318
  }, children))));
301
319
  }