@dnb/eufemia 10.68.0 → 10.69.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 (348) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/info-card/InfoCard.d.ts +4 -0
  5. package/cjs/components/info-card/InfoCard.js +29 -25
  6. package/cjs/components/info-card/InfoCard.js.map +1 -1
  7. package/cjs/components/info-card/style/dnb-info-card.css +5 -0
  8. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  9. package/cjs/components/info-card/style/dnb-info-card.scss +7 -0
  10. package/cjs/components/number-format/NumberFormat.js +4 -2
  11. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  12. package/cjs/components/number-format/NumberUtils.d.ts +3 -0
  13. package/cjs/components/number-format/NumberUtils.js +6 -4
  14. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  15. package/cjs/components/table/TableClickableHead.js +14 -3
  16. package/cjs/components/table/TableClickableHead.js.map +1 -1
  17. package/cjs/components/table/TableTr.js +4 -4
  18. package/cjs/components/table/TableTr.js.map +1 -1
  19. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  20. package/cjs/components/table/table-accordion/TableAccordionHead.js +27 -20
  21. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  22. package/cjs/components/table/table-navigation/TableNavigationHead.js +7 -4
  23. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  24. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  25. package/cjs/extensions/forms/Field/Currency/Currency.js +8 -3
  26. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  27. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  28. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  29. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  30. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  31. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  32. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  33. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  34. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +289 -0
  35. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  36. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  37. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +36 -0
  38. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  39. package/cjs/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  40. package/cjs/extensions/forms/Field/SelectCurrency/index.js +28 -0
  41. package/cjs/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  42. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  43. package/cjs/extensions/forms/Field/index.js +7 -0
  44. package/cjs/extensions/forms/Field/index.js.map +1 -1
  45. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  46. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  47. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  48. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  49. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  50. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  51. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  52. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js +37 -0
  53. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  54. package/cjs/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  55. package/cjs/extensions/forms/Value/SelectCurrency/index.js +28 -0
  56. package/cjs/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  57. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  58. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js +32 -0
  59. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  60. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  61. package/cjs/extensions/forms/Value/index.js +7 -0
  62. package/cjs/extensions/forms/Value/index.js.map +1 -1
  63. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  64. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  65. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  66. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  67. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  68. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  69. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  70. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  71. package/cjs/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  72. package/cjs/extensions/forms/constants/allCurrencies.js +1447 -0
  73. package/cjs/extensions/forms/constants/allCurrencies.js.map +1 -0
  74. package/cjs/extensions/forms/constants/countries.d.ts +4023 -4
  75. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  76. package/cjs/extensions/forms/constants/currencies.d.ts +716 -0
  77. package/cjs/extensions/forms/constants/currencies.js +12 -0
  78. package/cjs/extensions/forms/constants/currencies.js.map +1 -0
  79. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  80. package/cjs/extensions/forms/constants/locales/en-GB.js +5 -0
  81. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  82. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
  83. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
  84. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  85. package/cjs/extensions/forms/constants/locales/nb-NO.js +5 -0
  86. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  87. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  88. package/cjs/extensions/forms/constants/locales/sv-SE.js +5 -0
  89. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  90. package/cjs/extensions/forms/hooks/useFieldProps.js +18 -17
  91. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  92. package/cjs/extensions/forms/types.d.ts +4 -4
  93. package/cjs/extensions/forms/types.js.map +1 -1
  94. package/cjs/shared/Eufemia.d.ts +1 -1
  95. package/cjs/shared/Eufemia.js +2 -2
  96. package/cjs/shared/Eufemia.js.map +1 -1
  97. package/cjs/shared/Translation.js +5 -6
  98. package/cjs/shared/Translation.js.map +1 -1
  99. package/cjs/style/core/scopes.scss +1 -1
  100. package/cjs/style/dnb-ui-basis.css +1 -1
  101. package/cjs/style/dnb-ui-basis.min.css +1 -1
  102. package/cjs/style/dnb-ui-body.css +1 -1
  103. package/cjs/style/dnb-ui-body.min.css +1 -1
  104. package/cjs/style/dnb-ui-components.css +5 -0
  105. package/cjs/style/dnb-ui-components.min.css +1 -1
  106. package/cjs/style/dnb-ui-core.css +1 -1
  107. package/cjs/style/dnb-ui-core.min.css +1 -1
  108. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  109. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  110. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  111. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  112. package/cjs/style/themes/theme-ui/ui-theme-components.css +5 -0
  113. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  114. package/components/autocomplete/Autocomplete.js +1 -1
  115. package/components/autocomplete/Autocomplete.js.map +1 -1
  116. package/components/info-card/InfoCard.d.ts +4 -0
  117. package/components/info-card/InfoCard.js +26 -25
  118. package/components/info-card/InfoCard.js.map +1 -1
  119. package/components/info-card/style/dnb-info-card.css +5 -0
  120. package/components/info-card/style/dnb-info-card.min.css +1 -1
  121. package/components/info-card/style/dnb-info-card.scss +7 -0
  122. package/components/number-format/NumberFormat.js +4 -2
  123. package/components/number-format/NumberFormat.js.map +1 -1
  124. package/components/number-format/NumberUtils.d.ts +3 -0
  125. package/components/number-format/NumberUtils.js +6 -4
  126. package/components/number-format/NumberUtils.js.map +1 -1
  127. package/components/table/TableClickableHead.js +12 -3
  128. package/components/table/TableClickableHead.js.map +1 -1
  129. package/components/table/TableTr.js +4 -4
  130. package/components/table/TableTr.js.map +1 -1
  131. package/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  132. package/components/table/table-accordion/TableAccordionHead.js +28 -21
  133. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  134. package/components/table/table-navigation/TableNavigationHead.js +4 -4
  135. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  136. package/es/components/autocomplete/Autocomplete.js +1 -1
  137. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  138. package/es/components/info-card/InfoCard.d.ts +4 -0
  139. package/es/components/info-card/InfoCard.js +26 -25
  140. package/es/components/info-card/InfoCard.js.map +1 -1
  141. package/es/components/info-card/style/dnb-info-card.css +5 -0
  142. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  143. package/es/components/info-card/style/dnb-info-card.scss +7 -0
  144. package/es/components/number-format/NumberFormat.js +4 -2
  145. package/es/components/number-format/NumberFormat.js.map +1 -1
  146. package/es/components/number-format/NumberUtils.d.ts +3 -0
  147. package/es/components/number-format/NumberUtils.js +6 -4
  148. package/es/components/number-format/NumberUtils.js.map +1 -1
  149. package/es/components/table/TableClickableHead.js +12 -3
  150. package/es/components/table/TableClickableHead.js.map +1 -1
  151. package/es/components/table/TableTr.js +4 -4
  152. package/es/components/table/TableTr.js.map +1 -1
  153. package/es/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  154. package/es/components/table/table-accordion/TableAccordionHead.js +28 -21
  155. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  156. package/es/components/table/table-navigation/TableNavigationHead.js +4 -4
  157. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  158. package/es/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  159. package/es/extensions/forms/Field/Currency/Currency.js +8 -3
  160. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  161. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  162. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  163. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  164. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  165. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  166. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  167. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  168. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +263 -0
  169. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  170. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  171. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  172. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  173. package/es/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  174. package/es/extensions/forms/Field/SelectCurrency/index.js +3 -0
  175. package/es/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  176. package/es/extensions/forms/Field/index.d.ts +1 -0
  177. package/es/extensions/forms/Field/index.js +1 -0
  178. package/es/extensions/forms/Field/index.js.map +1 -1
  179. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  180. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  181. package/es/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  182. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  183. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  184. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  185. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  186. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  187. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  188. package/es/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  189. package/es/extensions/forms/Value/SelectCurrency/index.js +3 -0
  190. package/es/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  191. package/es/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  192. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  193. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  194. package/es/extensions/forms/Value/index.d.ts +1 -0
  195. package/es/extensions/forms/Value/index.js +1 -0
  196. package/es/extensions/forms/Value/index.js.map +1 -1
  197. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  198. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  199. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  200. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  201. package/es/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  202. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  203. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  204. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  205. package/es/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  206. package/es/extensions/forms/constants/allCurrencies.js +1440 -0
  207. package/es/extensions/forms/constants/allCurrencies.js.map +1 -0
  208. package/es/extensions/forms/constants/countries.d.ts +4023 -4
  209. package/es/extensions/forms/constants/countries.js.map +1 -1
  210. package/es/extensions/forms/constants/currencies.d.ts +716 -0
  211. package/es/extensions/forms/constants/currencies.js +5 -0
  212. package/es/extensions/forms/constants/currencies.js.map +1 -0
  213. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  214. package/es/extensions/forms/constants/locales/en-GB.js +5 -0
  215. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  216. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
  217. package/es/extensions/forms/constants/locales/index.d.ts +10 -0
  218. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  219. package/es/extensions/forms/constants/locales/nb-NO.js +5 -0
  220. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  221. package/es/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  222. package/es/extensions/forms/constants/locales/sv-SE.js +5 -0
  223. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  224. package/es/extensions/forms/hooks/useFieldProps.js +18 -17
  225. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  226. package/es/extensions/forms/types.d.ts +4 -4
  227. package/es/extensions/forms/types.js.map +1 -1
  228. package/es/shared/Eufemia.d.ts +1 -1
  229. package/es/shared/Eufemia.js +2 -2
  230. package/es/shared/Eufemia.js.map +1 -1
  231. package/es/shared/Translation.js +5 -4
  232. package/es/shared/Translation.js.map +1 -1
  233. package/es/style/core/scopes.scss +1 -1
  234. package/es/style/dnb-ui-basis.css +1 -1
  235. package/es/style/dnb-ui-basis.min.css +1 -1
  236. package/es/style/dnb-ui-body.css +1 -1
  237. package/es/style/dnb-ui-body.min.css +1 -1
  238. package/es/style/dnb-ui-components.css +5 -0
  239. package/es/style/dnb-ui-components.min.css +1 -1
  240. package/es/style/dnb-ui-core.css +1 -1
  241. package/es/style/dnb-ui-core.min.css +1 -1
  242. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  243. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  244. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  245. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  246. package/es/style/themes/theme-ui/ui-theme-components.css +5 -0
  247. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  248. package/esm/dnb-ui-basis.min.mjs +1 -1
  249. package/esm/dnb-ui-components.min.mjs +1 -1
  250. package/esm/dnb-ui-elements.min.mjs +1 -1
  251. package/esm/dnb-ui-extensions.min.mjs +1 -1
  252. package/esm/dnb-ui-lib.min.mjs +1 -1
  253. package/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  254. package/extensions/forms/Field/Currency/Currency.js +8 -3
  255. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  256. package/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  257. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  258. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  259. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  260. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  261. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  262. package/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  263. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +275 -0
  264. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  265. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  266. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  267. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  268. package/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  269. package/extensions/forms/Field/SelectCurrency/index.js +3 -0
  270. package/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  271. package/extensions/forms/Field/index.d.ts +1 -0
  272. package/extensions/forms/Field/index.js +1 -0
  273. package/extensions/forms/Field/index.js.map +1 -1
  274. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  275. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  276. package/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  277. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  278. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  279. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  280. package/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  281. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  282. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  283. package/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  284. package/extensions/forms/Value/SelectCurrency/index.js +3 -0
  285. package/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  286. package/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  287. package/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  288. package/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  289. package/extensions/forms/Value/index.d.ts +1 -0
  290. package/extensions/forms/Value/index.js +1 -0
  291. package/extensions/forms/Value/index.js.map +1 -1
  292. package/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  293. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  294. package/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  295. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  296. package/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  297. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  298. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  299. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  300. package/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  301. package/extensions/forms/constants/allCurrencies.js +1441 -0
  302. package/extensions/forms/constants/allCurrencies.js.map +1 -0
  303. package/extensions/forms/constants/countries.d.ts +4023 -4
  304. package/extensions/forms/constants/countries.js.map +1 -1
  305. package/extensions/forms/constants/currencies.d.ts +716 -0
  306. package/extensions/forms/constants/currencies.js +6 -0
  307. package/extensions/forms/constants/currencies.js.map +1 -0
  308. package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  309. package/extensions/forms/constants/locales/en-GB.js +5 -0
  310. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  311. package/extensions/forms/constants/locales/en-US.d.ts +5 -0
  312. package/extensions/forms/constants/locales/index.d.ts +10 -0
  313. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  314. package/extensions/forms/constants/locales/nb-NO.js +5 -0
  315. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  316. package/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  317. package/extensions/forms/constants/locales/sv-SE.js +5 -0
  318. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  319. package/extensions/forms/hooks/useFieldProps.js +18 -17
  320. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  321. package/extensions/forms/types.d.ts +4 -4
  322. package/extensions/forms/types.js.map +1 -1
  323. package/package.json +2 -2
  324. package/shared/Eufemia.d.ts +1 -1
  325. package/shared/Eufemia.js +2 -2
  326. package/shared/Eufemia.js.map +1 -1
  327. package/shared/Translation.js +5 -4
  328. package/shared/Translation.js.map +1 -1
  329. package/style/core/scopes.scss +1 -1
  330. package/style/dnb-ui-basis.css +1 -1
  331. package/style/dnb-ui-basis.min.css +1 -1
  332. package/style/dnb-ui-body.css +1 -1
  333. package/style/dnb-ui-body.min.css +1 -1
  334. package/style/dnb-ui-components.css +5 -0
  335. package/style/dnb-ui-components.min.css +1 -1
  336. package/style/dnb-ui-core.css +1 -1
  337. package/style/dnb-ui-core.min.css +1 -1
  338. package/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  339. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  340. package/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  341. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  342. package/style/themes/theme-ui/ui-theme-components.css +5 -0
  343. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  344. package/umd/dnb-ui-basis.min.js +1 -1
  345. package/umd/dnb-ui-components.min.js +1 -1
  346. package/umd/dnb-ui-elements.min.js +1 -1
  347. package/umd/dnb-ui-extensions.min.js +1 -1
  348. package/umd/dnb-ui-lib.min.js +1 -1
@@ -35,6 +35,10 @@ export interface InfoCardProps {
35
35
  * Default: null
36
36
  */
37
37
  skeleton?: SkeletonShow;
38
+ /**
39
+ * Stretch the card to fill the container
40
+ */
41
+ stretch?: boolean;
38
42
  /**
39
43
  * Specifies the path to the image
40
44
  * Default: null
@@ -3,10 +3,10 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["alt", "centered", "dropShadow", "title", "skeleton", "className", "icon", "src", "imgProps", "text", "onClose", "onAccept", "closeButtonText", "acceptButtonText", "closeButtonAttributes", "acceptButtonAttributes"];
6
+ const _excluded = ["alt", "centered", "dropShadow", "title", "skeleton", "stretch", "className", "icon", "src", "imgProps", "text", "onClose", "onAccept", "closeButtonText", "acceptButtonText", "closeButtonAttributes", "acceptButtonAttributes"];
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- import React from 'react';
9
+ import React, { useCallback } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import Button from '../button/Button';
12
12
  import IconPrimary from '../icon-primary/IconPrimary';
@@ -36,6 +36,7 @@ const InfoCard = localProps => {
36
36
  dropShadow,
37
37
  title,
38
38
  skeleton,
39
+ stretch,
39
40
  className,
40
41
  icon,
41
42
  src,
@@ -53,26 +54,7 @@ const InfoCard = localProps => {
53
54
  const closeButtonIsHidden = !onClose && !closeButtonText;
54
55
  const acceptButtonIsHidden = !onAccept && !acceptButtonText;
55
56
  validateDOMAttributes(allProps, props);
56
- return React.createElement("div", _extends({
57
- className: classnames('dnb-info-card', spacingClasses, className, centered && 'dnb-info-card--centered', dropShadow && 'dnb-info-card--shadow')
58
- }, props), React.createElement(Provider, {
59
- skeleton: skeleton
60
- }, React.createElement(Space, {
61
- right: !centered ? 'small' : false,
62
- bottom: centered ? 'small' : false
63
- }, getIllustration()), React.createElement("div", {
64
- className: "dnb-info-card__content"
65
- }, title && React.createElement(P, {
66
- className: "dnb-info-card__title",
67
- size: "small",
68
- modifier: "medium",
69
- bottom: "x-small"
70
- }, title), React.createElement(P, {
71
- size: "small",
72
- className: "dnb-info-card__text",
73
- bottom: "0"
74
- }, text), getButtons())));
75
- function getButtons() {
57
+ const getButtons = useCallback(() => {
76
58
  if (closeButtonIsHidden && acceptButtonIsHidden) return null;
77
59
  return React.createElement("div", {
78
60
  className: "dnb-info-card__buttons"
@@ -94,8 +76,8 @@ const InfoCard = localProps => {
94
76
  icon_position: "left",
95
77
  text: closeButtonText
96
78
  }, closeButtonAttributes)));
97
- }
98
- function getIllustration() {
79
+ }, [acceptButtonAttributes, acceptButtonIsHidden, acceptButtonText, centered, closeButtonAttributes, closeButtonIsHidden, closeButtonText, onAccept, onClose]);
80
+ const getIllustration = useCallback(() => {
99
81
  if (src || imgProps) {
100
82
  const imageProps = _objectSpread({
101
83
  src,
@@ -110,7 +92,26 @@ const InfoCard = localProps => {
110
92
  className: "dnb-info-card__icon",
111
93
  icon: icon
112
94
  }));
113
- }
95
+ }, [alt, icon, imgProps, src]);
96
+ return React.createElement("div", _extends({
97
+ className: classnames('dnb-info-card', spacingClasses, className, centered && 'dnb-info-card--centered', stretch && 'dnb-info-card--stretch', dropShadow && 'dnb-info-card--shadow')
98
+ }, props), React.createElement(Provider, {
99
+ skeleton: skeleton
100
+ }, React.createElement(Space, {
101
+ right: !centered ? 'small' : false,
102
+ bottom: centered ? 'small' : false
103
+ }, getIllustration()), React.createElement("div", {
104
+ className: "dnb-info-card__content"
105
+ }, title && React.createElement(P, {
106
+ className: "dnb-info-card__title",
107
+ size: "small",
108
+ modifier: "medium",
109
+ bottom: "x-small"
110
+ }, title), React.createElement(P, {
111
+ size: "small",
112
+ className: "dnb-info-card__text",
113
+ bottom: "0"
114
+ }, text), getButtons())));
114
115
  };
115
116
  InfoCard._supportsSpacingProps = true;
116
117
  export default InfoCard;
@@ -1 +1 @@
1
- {"version":3,"file":"InfoCard.js","names":["React","classnames","Button","IconPrimary","Img","Space","P","lightbulb_medium","LightbulbIcon","createSpacingClasses","Context","Provider","extendPropsWithContext","validateDOMAttributes","defaultProps","centered","dropShadow","skeleton","icon","InfoCard","localProps","_IconPrimary","context","useContext","allProps","alt","title","className","src","imgProps","text","onClose","onAccept","closeButtonText","acceptButtonText","closeButtonAttributes","acceptButtonAttributes","props","_objectWithoutProperties","_excluded","spacingClasses","closeButtonIsHidden","acceptButtonIsHidden","createElement","_extends","right","bottom","getIllustration","size","modifier","getButtons","top","type","variant","on_click","icon_position","imageProps","_objectSpread","_supportsSpacingProps"],"sources":["../../../../src/components/info-card/InfoCard.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport Img, { ImgProps } from '../../elements/img/Img'\nimport Space from '../space/Space'\nimport P from '../../elements/P'\n\n// Icons\nimport { lightbulb_medium as LightbulbIcon } from '../../icons'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\n\nexport interface InfoCardProps {\n /**\n * Used in combination with `src` to provide an alt attribute for the `img` element.\n * Default: null\n */\n alt?: React.ReactNode\n /**\n * Aligns the content to center, rather than left\n * Default: false\n */\n centered?: boolean\n /**\n * Determines whether to display a drop shadow around the card.\n * Default: true\n */\n dropShadow?: boolean\n /**\n * Replace the default icon with custom icon.\n * Default: Lightbulb (icon)\n */\n icon?: IconIcon\n /**\n * Props applied to the `img` element if the component is used to display an image. Replace the 'icon'\n * Default: null\n */\n imgProps?: ImgProps\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n /**\n * Specifies the path to the image\n * Default: null\n */\n src?: string\n /**\n * Image src, will replace the 'icon' with the image\n * Default: null\n */\n text: React.ReactNode\n /**\n * Component title\n * Default: null\n */\n title?: React.ReactNode\n /**\n * Is called when the close button is clicked\n * Default: null\n */\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n /**\n * The text of the close button.\n * Default: null\n */\n closeButtonText?: React.ReactNode\n /**\n * Is called when the accept button is clicked\n * Default: null\n */\n onAccept?: React.MouseEventHandler<HTMLButtonElement>\n /**\n * The text of the accept button.\n * Default: null\n */\n acceptButtonText?: React.ReactNode\n /**\n * Additional attributes for the close button.\n * Default: null\n */\n closeButtonAttributes?: ButtonProps\n /**\n * Additional attributes for the accept button\n * Default: null\n */\n acceptButtonAttributes?: ButtonProps\n}\n\nexport type InfoCardAllProps = InfoCardProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> &\n SpacingProps\n\nexport const defaultProps = {\n centered: false,\n dropShadow: true,\n skeleton: false,\n icon: LightbulbIcon,\n}\n\nconst InfoCard = (localProps: InfoCardAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(localProps, defaultProps, {\n skeleton: context?.skeleton,\n })\n\n // Extract additional props from global context\n const {\n alt,\n centered,\n dropShadow,\n title,\n skeleton,\n className,\n icon,\n src,\n imgProps,\n text,\n onClose,\n onAccept,\n closeButtonText,\n acceptButtonText,\n closeButtonAttributes,\n acceptButtonAttributes,\n ...props\n } = allProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const closeButtonIsHidden = !onClose && !closeButtonText\n const acceptButtonIsHidden = !onAccept && !acceptButtonText\n\n validateDOMAttributes(allProps, props)\n\n return (\n <div\n className={classnames(\n 'dnb-info-card',\n centered && 'dnb-info-card--centered',\n dropShadow && 'dnb-info-card--shadow',\n spacingClasses,\n className\n )}\n {...props}\n >\n <Provider skeleton={skeleton}>\n <Space\n right={!centered ? 'small' : false}\n bottom={centered ? 'small' : false}\n >\n {getIllustration()}\n </Space>\n\n <div className=\"dnb-info-card__content\">\n {title && (\n <P\n className=\"dnb-info-card__title\"\n size=\"small\"\n modifier=\"medium\"\n bottom=\"x-small\"\n >\n {title}\n </P>\n )}\n\n <P size=\"small\" className=\"dnb-info-card__text\" bottom=\"0\">\n {text}\n </P>\n\n {getButtons()}\n </div>\n </Provider>\n </div>\n )\n\n function getButtons() {\n if (closeButtonIsHidden && acceptButtonIsHidden) return null\n\n return (\n <div className=\"dnb-info-card__buttons\">\n {!acceptButtonIsHidden && (\n <Button\n top={centered ? 'medium' : 'small'}\n type=\"button\"\n className=\"dnb-info-card__buttons__accept-button\"\n variant=\"secondary\"\n right={centered ? 'zero' : 'small'}\n on_click={onAccept}\n text={acceptButtonText}\n {...acceptButtonAttributes}\n />\n )}\n {!closeButtonIsHidden && (\n <Button\n type=\"button\"\n className=\"dnb-info-card__buttons__close-button\"\n variant=\"tertiary\"\n top=\"small\"\n on_click={onClose}\n icon=\"close\"\n icon_position=\"left\"\n text={closeButtonText}\n {...closeButtonAttributes}\n />\n )}\n </div>\n )\n }\n\n function getIllustration() {\n if (src || imgProps) {\n const imageProps = { src, alt, ...imgProps }\n return <Img className=\"dnb-info-card__image\" {...imageProps} />\n }\n return (\n <IconPrimary\n size=\"medium\"\n className=\"dnb-info-card__icon\"\n icon={icon}\n />\n )\n }\n}\n\nInfoCard._supportsSpacingProps = true\n\nexport default InfoCard\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InfoCard.js","names":["React","useCallback","classnames","Button","IconPrimary","Img","Space","P","lightbulb_medium","LightbulbIcon","createSpacingClasses","Context","Provider","extendPropsWithContext","validateDOMAttributes","defaultProps","centered","dropShadow","skeleton","icon","InfoCard","localProps","_IconPrimary","context","useContext","allProps","alt","title","stretch","className","src","imgProps","text","onClose","onAccept","closeButtonText","acceptButtonText","closeButtonAttributes","acceptButtonAttributes","props","_objectWithoutProperties","_excluded","spacingClasses","closeButtonIsHidden","acceptButtonIsHidden","getButtons","createElement","_extends","top","type","variant","right","on_click","icon_position","getIllustration","imageProps","_objectSpread","size","bottom","modifier","_supportsSpacingProps"],"sources":["../../../../src/components/info-card/InfoCard.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport Img, { ImgProps } from '../../elements/img/Img'\nimport Space from '../space/Space'\nimport P from '../../elements/P'\n\n// Icons\nimport { lightbulb_medium as LightbulbIcon } from '../../icons'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\n\nexport interface InfoCardProps {\n /**\n * Used in combination with `src` to provide an alt attribute for the `img` element.\n * Default: null\n */\n alt?: React.ReactNode\n /**\n * Aligns the content to center, rather than left\n * Default: false\n */\n centered?: boolean\n /**\n * Determines whether to display a drop shadow around the card.\n * Default: true\n */\n dropShadow?: boolean\n /**\n * Replace the default icon with custom icon.\n * Default: Lightbulb (icon)\n */\n icon?: IconIcon\n /**\n * Props applied to the `img` element if the component is used to display an image. Replace the 'icon'\n * Default: null\n */\n imgProps?: ImgProps\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n /**\n * Stretch the card to fill the container\n */\n stretch?: boolean\n /**\n * Specifies the path to the image\n * Default: null\n */\n src?: string\n /**\n * Image src, will replace the 'icon' with the image\n * Default: null\n */\n text: React.ReactNode\n /**\n * Component title\n * Default: null\n */\n title?: React.ReactNode\n /**\n * Is called when the close button is clicked\n * Default: null\n */\n onClose?: React.MouseEventHandler<HTMLButtonElement>\n /**\n * The text of the close button.\n * Default: null\n */\n closeButtonText?: React.ReactNode\n /**\n * Is called when the accept button is clicked\n * Default: null\n */\n onAccept?: React.MouseEventHandler<HTMLButtonElement>\n /**\n * The text of the accept button.\n * Default: null\n */\n acceptButtonText?: React.ReactNode\n /**\n * Additional attributes for the close button.\n * Default: null\n */\n closeButtonAttributes?: ButtonProps\n /**\n * Additional attributes for the accept button\n * Default: null\n */\n acceptButtonAttributes?: ButtonProps\n}\n\nexport type InfoCardAllProps = InfoCardProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> &\n SpacingProps\n\nexport const defaultProps = {\n centered: false,\n dropShadow: true,\n skeleton: false,\n icon: LightbulbIcon,\n}\n\nconst InfoCard = (localProps: InfoCardAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(localProps, defaultProps, {\n skeleton: context?.skeleton,\n })\n\n // Extract additional props from global context\n const {\n alt,\n centered,\n dropShadow,\n title,\n skeleton,\n stretch,\n className,\n icon,\n src,\n imgProps,\n text,\n onClose,\n onAccept,\n closeButtonText,\n acceptButtonText,\n closeButtonAttributes,\n acceptButtonAttributes,\n ...props\n } = allProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const closeButtonIsHidden = !onClose && !closeButtonText\n const acceptButtonIsHidden = !onAccept && !acceptButtonText\n\n validateDOMAttributes(allProps, props)\n\n const getButtons = useCallback(() => {\n if (closeButtonIsHidden && acceptButtonIsHidden) return null\n\n return (\n <div className=\"dnb-info-card__buttons\">\n {!acceptButtonIsHidden && (\n <Button\n top={centered ? 'medium' : 'small'}\n type=\"button\"\n className=\"dnb-info-card__buttons__accept-button\"\n variant=\"secondary\"\n right={centered ? 'zero' : 'small'}\n on_click={onAccept}\n text={acceptButtonText}\n {...acceptButtonAttributes}\n />\n )}\n {!closeButtonIsHidden && (\n <Button\n type=\"button\"\n className=\"dnb-info-card__buttons__close-button\"\n variant=\"tertiary\"\n top=\"small\"\n on_click={onClose}\n icon=\"close\"\n icon_position=\"left\"\n text={closeButtonText}\n {...closeButtonAttributes}\n />\n )}\n </div>\n )\n }, [\n acceptButtonAttributes,\n acceptButtonIsHidden,\n acceptButtonText,\n centered,\n closeButtonAttributes,\n closeButtonIsHidden,\n closeButtonText,\n onAccept,\n onClose,\n ])\n\n const getIllustration = useCallback(() => {\n if (src || imgProps) {\n const imageProps = { src, alt, ...imgProps }\n return <Img className=\"dnb-info-card__image\" {...imageProps} />\n }\n return (\n <IconPrimary\n size=\"medium\"\n className=\"dnb-info-card__icon\"\n icon={icon}\n />\n )\n }, [alt, icon, imgProps, src])\n\n return (\n <div\n className={classnames(\n 'dnb-info-card',\n centered && 'dnb-info-card--centered',\n stretch && 'dnb-info-card--stretch',\n dropShadow && 'dnb-info-card--shadow',\n spacingClasses,\n className\n )}\n {...props}\n >\n <Provider skeleton={skeleton}>\n <Space\n right={!centered ? 'small' : false}\n bottom={centered ? 'small' : false}\n >\n {getIllustration()}\n </Space>\n\n <div className=\"dnb-info-card__content\">\n {title && (\n <P\n className=\"dnb-info-card__title\"\n size=\"small\"\n modifier=\"medium\"\n bottom=\"x-small\"\n >\n {title}\n </P>\n )}\n\n <P size=\"small\" className=\"dnb-info-card__text\" bottom=\"0\">\n {text}\n </P>\n\n {getButtons()}\n </div>\n </Provider>\n </div>\n )\n}\n\nInfoCard._supportsSpacingProps = true\n\nexport default InfoCard\n"],"mappings":"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","ignoreList":[]}
@@ -31,12 +31,17 @@
31
31
  align-items: center;
32
32
  text-align: center;
33
33
  }
34
+ .dnb-info-card--centered:not(.dnb-info-card--stretch) {
35
+ margin: auto;
36
+ }
34
37
  .dnb-info-card--shadow {
35
38
  box-shadow: var(--shadow-default);
36
39
  }
37
40
  .dnb-info-card__content {
38
41
  flex-direction: column;
39
42
  margin-top: 0.1875rem;
43
+ }
44
+ .dnb-info-card:not(.dnb-info-card--stretch), .dnb-info-card__content {
40
45
  max-width: 70ch;
41
46
  }
42
47
  .dnb-info-card--centered .dnb-info-card__content {
@@ -1 +1 @@
1
- .dnb-info-card{background:var(--color-white);display:flex;flex-direction:row;overflow:hidden;padding:1rem;position:relative}.dnb-info-card:after{border:1px solid var(--color-black-8);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.dnb-info-card,.dnb-info-card:after{border-radius:.25rem}.dnb-info-card--centered{align-items:center;flex-direction:column;text-align:center}.dnb-info-card--shadow{box-shadow:var(--shadow-default)}.dnb-info-card__content{flex-direction:column;margin-top:.1875rem;max-width:70ch}.dnb-info-card--centered .dnb-info-card__content{margin-top:0}.dnb-info-card__icon{color:var(--color-emerald-green)}.dnb-info-card__image{height:4rem;width:4rem}.dnb-info-card__buttons{display:flex;flex-flow:row wrap}.dnb-info-card--centered .dnb-info-card__buttons{align-items:center;flex-direction:column;text-align:center}
1
+ .dnb-info-card{background:var(--color-white);display:flex;flex-direction:row;overflow:hidden;padding:1rem;position:relative}.dnb-info-card:after{border:1px solid var(--color-black-8);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.dnb-info-card,.dnb-info-card:after{border-radius:.25rem}.dnb-info-card--centered{align-items:center;flex-direction:column;text-align:center}.dnb-info-card--centered:not(.dnb-info-card--stretch){margin:auto}.dnb-info-card--shadow{box-shadow:var(--shadow-default)}.dnb-info-card__content{flex-direction:column;margin-top:.1875rem}.dnb-info-card:not(.dnb-info-card--stretch),.dnb-info-card__content{max-width:70ch}.dnb-info-card--centered .dnb-info-card__content{margin-top:0}.dnb-info-card__icon{color:var(--color-emerald-green)}.dnb-info-card__image{height:4rem;width:4rem}.dnb-info-card__buttons{display:flex;flex-flow:row wrap}.dnb-info-card--centered .dnb-info-card__buttons{align-items:center;flex-direction:column;text-align:center}
@@ -34,6 +34,9 @@
34
34
  align-items: center;
35
35
  text-align: center;
36
36
  }
37
+ &--centered:not(&--stretch) {
38
+ margin: auto;
39
+ }
37
40
 
38
41
  &--shadow {
39
42
  @include defaultDropShadow();
@@ -42,6 +45,10 @@
42
45
  &__content {
43
46
  flex-direction: column;
44
47
  margin-top: 0.1875rem;
48
+ }
49
+
50
+ &:not(&--stretch),
51
+ &__content {
45
52
  max-width: 70ch;
46
53
  }
47
54
 
@@ -114,7 +114,8 @@ export default class NumberFormat extends React.PureComponent {
114
114
  }, comp);
115
115
  }
116
116
  render() {
117
- const props = extendPropsWithContextInClassComponent(this.props, NumberFormat.defaultProps, this.context.getTranslation(this.props).NumberFormat, this.context.NumberFormat);
117
+ const translations = this.context.getTranslation(this.props).NumberFormat;
118
+ const props = extendPropsWithContextInClassComponent(this.props, NumberFormat.defaultProps, translations, this.context.NumberFormat);
118
119
  const {
119
120
  id,
120
121
  value: _value,
@@ -172,7 +173,8 @@ export default class NumberFormat extends React.PureComponent {
172
173
  options,
173
174
  clean: isTrue(clean),
174
175
  clean_copy_value: isTrue(clean_copy_value),
175
- returnAria: true
176
+ returnAria: true,
177
+ invalidAriaText: locale && locale !== this.context.locale ? null : translations === null || translations === void 0 ? void 0 : translations.not_available
176
178
  };
177
179
  const useContext = extendDeep({
178
180
  locale: null,
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormat.js","names":["React","PropTypes","classnames","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","convertJsxToString","extendPropsWithContextInClassComponent","extendDeep","detectOutsideClick","hasSelectedText","IS_IOS","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Tooltip","injectTooltipSemantic","format","showSelectionNotice","runIOSSelectionFix","NumberFormat","PureComponent","constructor","props","_defineProperty","_this$context$getTran","_this$context$getTran2","value","cleanedValue","label","context","getTranslation","clipboard_copy","run","_ref","current","setState","selected","clearTimeout","_selectAllTimeout","setTimeout","setFocus","selectall","always_selectall","hover","createRef","_selectionRef","_id","tooltip","id","undefined","state","omitCurrencySign","componentDidMount","hasiOSFix","componentWillUnmount","_this$outsideClick","outsideClick","remove","_this$_selectionRef$c","focus","selectAll","copy_selection","onBlurHandler","elem","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","e","runFix","comp","className","isValidElement","cloneElement","createElement","render","defaultProps","_value","prefix","suffix","children","currency","currency_display","currency_position","compact","ban","nin","phone","org","percent","link","_link","monospace","skeleton","options","locale","decimals","omit_rounding","rounding","clean","clean_copy_value","srLabel","element","_rest","_objectWithoutProperties","_excluded","rest","formatOptions","omit_currency_sign","returnAria","useContext","_objectSpread","number","display","aria","lang","Fragment","String","attributes","ref","onMouseEnter","onMouseLeave","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","_extends","href","Element","tabIndex","onBlur","onCopy","shortcutHandler","targetElement","process","env","NODE_ENV","propTypes","string","oneOfType","node","func","bool","oneOf","object","_supportsSpacingProps"],"sources":["../../../../src/components/number-format/NumberFormat.js"],"sourcesContent":["/**\n * Web NumberFormat Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n convertJsxToString,\n extendPropsWithContextInClassComponent,\n extendDeep,\n detectOutsideClick,\n} from '../../shared/component-helper'\nimport { hasSelectedText, IS_IOS } from '../../shared/helpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Tooltip, { injectTooltipSemantic } from '../tooltip/Tooltip'\nimport {\n format,\n showSelectionNotice,\n runIOSSelectionFix,\n} from './NumberUtils'\n\nexport default class NumberFormat extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n locale: PropTypes.string,\n prefix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n suffix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n // currency\n currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n currency_display: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['code', 'name', 'symbol', 'narrowSymbol', '']),\n ]),\n currency_position: PropTypes.oneOf(['auto', 'before', 'after']),\n\n // shortens any number or currency including an abbreviation\n compact: PropTypes.oneOfType([\n PropTypes.oneOf(['short', 'long']),\n PropTypes.bool,\n ]),\n\n // bank account number\n ban: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // national identification number\n nin: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // phone number\n phone: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // organization number\n org: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // percentage\n percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // can be tel or sms\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n monospace: PropTypes.bool,\n options: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n decimals: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n always_selectall: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n copy_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n clean_copy_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_rounding: PropTypes.bool,\n rounding: PropTypes.oneOf(['omit', 'half-even', 'half-up']),\n clean: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n srLabel: PropTypes.node,\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = {\n id: null,\n value: null,\n locale: null,\n prefix: null,\n suffix: null,\n currency: null,\n currency_display: null, // code, name, symbol\n currency_position: null, // null, before, after\n compact: null,\n ban: null,\n nin: null,\n phone: null,\n org: null,\n percent: null,\n link: null,\n monospace: false,\n options: null,\n decimals: null,\n selectall: true,\n always_selectall: false,\n copy_selection: true,\n clean_copy_value: false,\n omit_rounding: null,\n rounding: null,\n clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n this._selectionRef = React.createRef()\n\n this._id = props.tooltip ? props.id || makeUniqueId() : undefined\n this.state = { selected: false, omitCurrencySign: false, hover: false }\n }\n\n componentDidMount() {\n clearTimeout(this._selectAllTimeout)\n\n // NB: This hack may be removed in future iOS versions\n // in order that iOS v13 can select something on the first try, we run this add range trick\n if (IS_IOS && !hasiOSFix) {\n hasiOSFix = true\n runIOSSelectionFix()\n }\n }\n\n shortcutHandler = () => {\n showSelectionNotice({\n value: this.cleanedValue,\n label: this.context.getTranslation(this.props)?.NumberFormat\n ?.clipboard_copy,\n }).run(this._ref.current)\n }\n\n onBlurHandler = () => {\n this.setState({ selected: false })\n }\n\n onContextMenuHandler = () => {\n if (!hasSelectedText()) {\n clearTimeout(this._selectAllTimeout)\n this._selectAllTimeout = setTimeout(() => {\n this.setFocus()\n }, 1)\n }\n }\n\n onClickHandler = () => {\n if (\n (isTrue(this.props.selectall) ||\n isTrue(this.props.always_selectall)) &&\n !hasSelectedText()\n ) {\n this.setFocus()\n }\n }\n\n componentWillUnmount() {\n this.outsideClick?.remove()\n }\n\n setFocus() {\n this.setState({ selected: true }, () => {\n this._selectionRef.current?.focus()\n this.selectAll()\n\n if (!isTrue(this.props.copy_selection)) {\n this.outsideClick = detectOutsideClick(\n this._ref.current,\n this.onBlurHandler\n )\n }\n })\n }\n\n selectAll() {\n try {\n const elem = this._selectionRef.current || this._ref.current\n if (elem) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(elem)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n } catch (e) {\n warn(e)\n }\n }\n\n runFix(comp, className) {\n if (typeof comp === 'function') {\n comp = comp()\n }\n if (React.isValidElement(comp)) {\n return React.cloneElement(comp, {\n className: classnames(comp.props.className, className),\n })\n }\n return <span className={className}>{comp}</span>\n }\n\n onMouseEnter = () => {\n this.setState({ hover: true })\n }\n\n onMouseLeave = () => {\n this.setState({ hover: false })\n }\n\n render() {\n // consume the global context\n const props = extendPropsWithContextInClassComponent(\n this.props,\n NumberFormat.defaultProps,\n this.context.getTranslation(this.props).NumberFormat,\n this.context.NumberFormat\n )\n\n const {\n id, // eslint-disable-line\n value: _value,\n prefix,\n suffix,\n children,\n currency,\n currency_display,\n currency_position,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n link: _link,\n monospace,\n tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n className,\n ..._rest\n } = props\n let rest = _rest\n\n let link = _link\n let value = _value\n\n if (value === null && children !== null) {\n value = children\n }\n\n const formatOptions = {\n locale,\n currency,\n currency_display,\n currency_position,\n omit_currency_sign: this.state.omitCurrencySign,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n decimals,\n omit_rounding: isTrue(omit_rounding),\n rounding,\n options,\n clean: isTrue(clean),\n clean_copy_value: isTrue(clean_copy_value),\n returnAria: true,\n }\n\n // use only the props from context, who are available here anyway\n const useContext = extendDeep(\n { locale: null, currency: null },\n this.context\n )\n\n if (useContext) {\n if (useContext.locale && !locale) {\n formatOptions.locale = useContext.locale\n }\n\n // only replace if the prop is \"true\" and not actually a currency\n if (useContext.currency && isTrue(currency)) {\n formatOptions.options = formatOptions.options\n ? { ...formatOptions.options }\n : {}\n formatOptions.options.currency = useContext.currency\n }\n }\n\n let {\n cleanedValue,\n number: display,\n aria,\n locale: lang,\n } = format(value, formatOptions)\n this.cleanedValue = cleanedValue\n\n if (prefix) {\n display = (\n <>\n {this.runFix(prefix, 'dnb-number-format__prefix')} {display}\n </>\n )\n aria = String(\n `${convertJsxToString(\n this.runFix(prefix, 'dnb-number-format__prefix')\n )} ${aria}`\n )\n }\n if (suffix) {\n display = (\n <>\n {display} {this.runFix(suffix, 'dnb-number-format__suffix')}\n </>\n )\n aria = `${aria} ${convertJsxToString(\n this.runFix(suffix, 'dnb-number-format__suffix')\n )}`\n }\n\n if (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n lang,\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\n (isTrue(currency) || typeof currency === 'string') &&\n 'dnb-number-format--currency',\n isTrue(selectall) && 'dnb-number-format--selectall',\n this.state.selected && 'dnb-number-format--selected',\n link && 'dnb-anchor',\n monospace && 'dnb-number-format--monospace',\n createSpacingClasses(this.props)\n ),\n\n // Makes it possible for NVDA to read on mouse over\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n\n ...rest,\n }\n\n /**\n * Works in VoiceOver and NVDA\n * Makes the span with it's roles etc. appear as text.\n * Special useful if a number is in side e.g. a paragraph alongside with numbers\n */\n attributes['role'] = 'text' // role=\"text\"\n\n const displayParams = {}\n if (isTrue(selectall) || isTrue(copy_selection)) {\n displayParams.onClick = this.onClickHandler\n displayParams.onContextMenu = this.onContextMenuHandler\n }\n\n validateDOMAttributes(this.props, attributes)\n skeletonDOMAttributes(attributes, skeleton, this.context)\n\n if (link) {\n if (isTrue(link)) {\n link = 'tel'\n }\n return (\n <a href={`${link}:${display}`} {...attributes}>\n {display}\n </a>\n )\n }\n\n const Element = element\n\n return (\n <Element {...attributes}>\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n // Makes it possible for NVDA to read on mouse over\n aria-hidden={!this.state.hover}\n {...displayParams}\n >\n {display}\n </span>\n\n {/* Used for VoiceOver and NVDA when navigating with arrow keys */}\n <span\n className=\"dnb-sr-only\"\n // Use \"data-text\" so Chrome does not copy the HTML as content, when pasting it in Outlook etc.\n data-text={\n srLabel ? `${convertJsxToString(srLabel)}${' '}${aria}` : aria\n }\n />\n\n {isTrue(copy_selection) && (\n <span\n className=\"dnb-number-format__selection dnb-no-focus\"\n ref={this._selectionRef}\n tabIndex={-1}\n onBlur={this.onBlurHandler}\n onCopy={this.shortcutHandler}\n aria-hidden\n >\n {this.state.selected && cleanedValue}\n </span>\n )}\n\n {tooltip && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </Element>\n )\n }\n}\n\nlet hasiOSFix = false\n\nNumberFormat._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NumberFormat.js","names":["React","PropTypes","classnames","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","convertJsxToString","extendPropsWithContextInClassComponent","extendDeep","detectOutsideClick","hasSelectedText","IS_IOS","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Tooltip","injectTooltipSemantic","format","showSelectionNotice","runIOSSelectionFix","NumberFormat","PureComponent","constructor","props","_defineProperty","_this$context$getTran","_this$context$getTran2","value","cleanedValue","label","context","getTranslation","clipboard_copy","run","_ref","current","setState","selected","clearTimeout","_selectAllTimeout","setTimeout","setFocus","selectall","always_selectall","hover","createRef","_selectionRef","_id","tooltip","id","undefined","state","omitCurrencySign","componentDidMount","hasiOSFix","componentWillUnmount","_this$outsideClick","outsideClick","remove","_this$_selectionRef$c","focus","selectAll","copy_selection","onBlurHandler","elem","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","e","runFix","comp","className","isValidElement","cloneElement","createElement","render","translations","defaultProps","_value","prefix","suffix","children","currency","currency_display","currency_position","compact","ban","nin","phone","org","percent","link","_link","monospace","skeleton","options","locale","decimals","omit_rounding","rounding","clean","clean_copy_value","srLabel","element","_rest","_objectWithoutProperties","_excluded","rest","formatOptions","omit_currency_sign","returnAria","invalidAriaText","not_available","useContext","_objectSpread","number","display","aria","lang","Fragment","String","attributes","ref","onMouseEnter","onMouseLeave","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","_extends","href","Element","tabIndex","onBlur","onCopy","shortcutHandler","targetElement","process","env","NODE_ENV","propTypes","string","oneOfType","node","func","bool","oneOf","object","_supportsSpacingProps"],"sources":["../../../../src/components/number-format/NumberFormat.js"],"sourcesContent":["/**\n * Web NumberFormat Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n convertJsxToString,\n extendPropsWithContextInClassComponent,\n extendDeep,\n detectOutsideClick,\n} from '../../shared/component-helper'\nimport { hasSelectedText, IS_IOS } from '../../shared/helpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Tooltip, { injectTooltipSemantic } from '../tooltip/Tooltip'\nimport {\n format,\n showSelectionNotice,\n runIOSSelectionFix,\n} from './NumberUtils'\n\nexport default class NumberFormat extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n locale: PropTypes.string,\n prefix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n suffix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n // currency\n currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n currency_display: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['code', 'name', 'symbol', 'narrowSymbol', '']),\n ]),\n currency_position: PropTypes.oneOf(['auto', 'before', 'after']),\n\n // shortens any number or currency including an abbreviation\n compact: PropTypes.oneOfType([\n PropTypes.oneOf(['short', 'long']),\n PropTypes.bool,\n ]),\n\n // bank account number\n ban: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // national identification number\n nin: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // phone number\n phone: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // organization number\n org: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // percentage\n percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // can be tel or sms\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n monospace: PropTypes.bool,\n options: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n decimals: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n always_selectall: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n copy_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n clean_copy_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_rounding: PropTypes.bool,\n rounding: PropTypes.oneOf(['omit', 'half-even', 'half-up']),\n clean: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n srLabel: PropTypes.node,\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = {\n id: null,\n value: null,\n locale: null,\n prefix: null,\n suffix: null,\n currency: null,\n currency_display: null, // code, name, symbol\n currency_position: null, // null, before, after\n compact: null,\n ban: null,\n nin: null,\n phone: null,\n org: null,\n percent: null,\n link: null,\n monospace: false,\n options: null,\n decimals: null,\n selectall: true,\n always_selectall: false,\n copy_selection: true,\n clean_copy_value: false,\n omit_rounding: null,\n rounding: null,\n clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n this._selectionRef = React.createRef()\n\n this._id = props.tooltip ? props.id || makeUniqueId() : undefined\n this.state = { selected: false, omitCurrencySign: false, hover: false }\n }\n\n componentDidMount() {\n clearTimeout(this._selectAllTimeout)\n\n // NB: This hack may be removed in future iOS versions\n // in order that iOS v13 can select something on the first try, we run this add range trick\n if (IS_IOS && !hasiOSFix) {\n hasiOSFix = true\n runIOSSelectionFix()\n }\n }\n\n shortcutHandler = () => {\n showSelectionNotice({\n value: this.cleanedValue,\n label: this.context.getTranslation(this.props)?.NumberFormat\n ?.clipboard_copy,\n }).run(this._ref.current)\n }\n\n onBlurHandler = () => {\n this.setState({ selected: false })\n }\n\n onContextMenuHandler = () => {\n if (!hasSelectedText()) {\n clearTimeout(this._selectAllTimeout)\n this._selectAllTimeout = setTimeout(() => {\n this.setFocus()\n }, 1)\n }\n }\n\n onClickHandler = () => {\n if (\n (isTrue(this.props.selectall) ||\n isTrue(this.props.always_selectall)) &&\n !hasSelectedText()\n ) {\n this.setFocus()\n }\n }\n\n componentWillUnmount() {\n this.outsideClick?.remove()\n }\n\n setFocus() {\n this.setState({ selected: true }, () => {\n this._selectionRef.current?.focus()\n this.selectAll()\n\n if (!isTrue(this.props.copy_selection)) {\n this.outsideClick = detectOutsideClick(\n this._ref.current,\n this.onBlurHandler\n )\n }\n })\n }\n\n selectAll() {\n try {\n const elem = this._selectionRef.current || this._ref.current\n if (elem) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(elem)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n } catch (e) {\n warn(e)\n }\n }\n\n runFix(comp, className) {\n if (typeof comp === 'function') {\n comp = comp()\n }\n if (React.isValidElement(comp)) {\n return React.cloneElement(comp, {\n className: classnames(comp.props.className, className),\n })\n }\n return <span className={className}>{comp}</span>\n }\n\n onMouseEnter = () => {\n this.setState({ hover: true })\n }\n\n onMouseLeave = () => {\n this.setState({ hover: false })\n }\n\n render() {\n const translations = this.context.getTranslation(\n this.props\n ).NumberFormat\n\n // consume the global context\n const props = extendPropsWithContextInClassComponent(\n this.props,\n NumberFormat.defaultProps,\n translations,\n this.context.NumberFormat\n )\n\n const {\n id, // eslint-disable-line\n value: _value,\n prefix,\n suffix,\n children,\n currency,\n currency_display,\n currency_position,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n link: _link,\n monospace,\n tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n className,\n ..._rest\n } = props\n let rest = _rest\n\n let link = _link\n let value = _value\n\n if (value === null && children !== null) {\n value = children\n }\n\n const formatOptions = {\n locale,\n currency,\n currency_display,\n currency_position,\n omit_currency_sign: this.state.omitCurrencySign,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n decimals,\n omit_rounding: isTrue(omit_rounding),\n rounding,\n options,\n clean: isTrue(clean),\n clean_copy_value: isTrue(clean_copy_value),\n returnAria: true,\n invalidAriaText:\n locale && locale !== this.context.locale\n ? null\n : translations?.not_available,\n }\n\n // use only the props from context, who are available here anyway\n const useContext = extendDeep(\n { locale: null, currency: null },\n this.context\n )\n\n if (useContext) {\n if (useContext.locale && !locale) {\n formatOptions.locale = useContext.locale\n }\n\n // only replace if the prop is \"true\" and not actually a currency\n if (useContext.currency && isTrue(currency)) {\n formatOptions.options = formatOptions.options\n ? { ...formatOptions.options }\n : {}\n formatOptions.options.currency = useContext.currency\n }\n }\n\n let {\n cleanedValue,\n number: display,\n aria,\n locale: lang,\n } = format(value, formatOptions)\n this.cleanedValue = cleanedValue\n\n if (prefix) {\n display = (\n <>\n {this.runFix(prefix, 'dnb-number-format__prefix')} {display}\n </>\n )\n aria = String(\n `${convertJsxToString(\n this.runFix(prefix, 'dnb-number-format__prefix')\n )} ${aria}`\n )\n }\n if (suffix) {\n display = (\n <>\n {display} {this.runFix(suffix, 'dnb-number-format__suffix')}\n </>\n )\n aria = `${aria} ${convertJsxToString(\n this.runFix(suffix, 'dnb-number-format__suffix')\n )}`\n }\n\n if (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n lang,\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\n (isTrue(currency) || typeof currency === 'string') &&\n 'dnb-number-format--currency',\n isTrue(selectall) && 'dnb-number-format--selectall',\n this.state.selected && 'dnb-number-format--selected',\n link && 'dnb-anchor',\n monospace && 'dnb-number-format--monospace',\n createSpacingClasses(this.props)\n ),\n\n // Makes it possible for NVDA to read on mouse over\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n\n ...rest,\n }\n\n /**\n * Works in VoiceOver and NVDA\n * Makes the span with it's roles etc. appear as text.\n * Special useful if a number is in side e.g. a paragraph alongside with numbers\n */\n attributes['role'] = 'text' // role=\"text\"\n\n const displayParams = {}\n if (isTrue(selectall) || isTrue(copy_selection)) {\n displayParams.onClick = this.onClickHandler\n displayParams.onContextMenu = this.onContextMenuHandler\n }\n\n validateDOMAttributes(this.props, attributes)\n skeletonDOMAttributes(attributes, skeleton, this.context)\n\n if (link) {\n if (isTrue(link)) {\n link = 'tel'\n }\n return (\n <a href={`${link}:${display}`} {...attributes}>\n {display}\n </a>\n )\n }\n\n const Element = element\n\n return (\n <Element {...attributes}>\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n // Makes it possible for NVDA to read on mouse over\n aria-hidden={!this.state.hover}\n {...displayParams}\n >\n {display}\n </span>\n\n {/* Used for VoiceOver and NVDA when navigating with arrow keys */}\n <span\n className=\"dnb-sr-only\"\n // Use \"data-text\" so Chrome does not copy the HTML as content, when pasting it in Outlook etc.\n data-text={\n srLabel ? `${convertJsxToString(srLabel)}${' '}${aria}` : aria\n }\n />\n\n {isTrue(copy_selection) && (\n <span\n className=\"dnb-number-format__selection dnb-no-focus\"\n ref={this._selectionRef}\n tabIndex={-1}\n onBlur={this.onBlurHandler}\n onCopy={this.shortcutHandler}\n aria-hidden\n >\n {this.state.selected && cleanedValue}\n </span>\n )}\n\n {tooltip && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </Element>\n )\n }\n}\n\nlet hasiOSFix = false\n\nNumberFormat._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
@@ -88,6 +88,9 @@ export interface formatOptionParams {
88
88
 
89
89
  /** If an object should be returned, including the "aria" property */
90
90
  returnAria?: boolean;
91
+
92
+ /** ARIA Text to be displayed when value is invalid. */
93
+ invalidAriaText?: string;
91
94
  }
92
95
 
93
96
  export function format(
@@ -28,7 +28,8 @@ export const format = (value, {
28
28
  omit_rounding = null,
29
29
  rounding = null,
30
30
  options = null,
31
- returnAria = false
31
+ returnAria = false,
32
+ invalidAriaText = null
32
33
  } = {}) => {
33
34
  let display = value;
34
35
  let aria = null;
@@ -208,7 +209,8 @@ export const format = (value, {
208
209
  cleanedValue = String(display).replace(new RegExp(`${thousandsSeparator}(?=\\d{3})`, 'g'), '');
209
210
  }
210
211
  if (value === 'invalid') {
211
- aria = locales[locale].NumberFormat.not_available || 'N/A';
212
+ var _locales$locale;
213
+ aria = invalidAriaText || ((_locales$locale = locales[locale]) === null || _locales$locale === void 0 ? void 0 : _locales$locale.NumberFormat.not_available) || 'N/A';
212
214
  }
213
215
  return {
214
216
  value,
@@ -333,8 +335,8 @@ export const formatNumber = (number, locale, options = {}, formatter = null) =>
333
335
  } else if (typeof Number !== 'undefined' && typeof Number.toLocaleString === 'function') {
334
336
  number = parseFloat(number).toLocaleString(locale, options);
335
337
  }
336
- if (number === '−0') {
337
- number = '0';
338
+ if (String(number).startsWith('−0')) {
339
+ number = number.replace('0', '0');
338
340
  }
339
341
  } catch (e) {
340
342
  warn(`Number could not be formatted: ${JSON.stringify([number, locale, options])}`, e);