@dnb/eufemia 10.17.0 → 10.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/cjs/components/flex/Container.js +4 -0
  3. package/cjs/components/flex/Container.js.map +1 -1
  4. package/cjs/components/flex/utils.d.ts +1 -1
  5. package/cjs/components/flex/utils.js +11 -1
  6. package/cjs/components/flex/utils.js.map +1 -1
  7. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  8. package/cjs/components/input-masked/MultiInputMask.js +41 -14
  9. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  10. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  11. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  12. package/cjs/components/number-format/NumberFormat.js +1 -1
  13. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  14. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  15. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  16. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  17. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  18. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  19. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  20. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  21. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  22. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  23. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  24. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  25. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
  26. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  27. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  28. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  29. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  30. package/cjs/extensions/forms/Field/Date/Date.js +1 -5
  31. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  32. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  33. package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
  34. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  35. package/cjs/extensions/forms/Field/Number/Number.js +0 -5
  36. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  37. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  38. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  39. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  40. package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
  41. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  42. package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
  43. package/cjs/extensions/forms/Field/String/String.js +2 -8
  44. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
  46. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  47. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  48. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  49. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  50. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  51. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  52. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  53. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  54. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  55. package/cjs/extensions/forms/Form/Visibility/Visibility.js +0 -1
  56. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  57. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  58. package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
  59. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  60. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  61. package/cjs/extensions/forms/Form/index.js +7 -0
  62. package/cjs/extensions/forms/Form/index.js.map +1 -1
  63. package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
  64. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  65. package/cjs/extensions/forms/hooks/useDataValue.js +2 -2
  66. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  67. package/cjs/extensions/forms/style/dnb-forms.css +12 -11
  68. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  69. package/cjs/extensions/forms/types.d.ts +4 -8
  70. package/cjs/extensions/forms/types.js.map +1 -1
  71. package/cjs/shared/Eufemia.d.ts +1 -1
  72. package/cjs/shared/Eufemia.js +2 -2
  73. package/cjs/shared/Eufemia.js.map +1 -1
  74. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  75. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  76. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  77. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  78. package/cjs/shared/helpers/useSharedState.d.ts +15 -0
  79. package/cjs/shared/helpers/useSharedState.js +71 -0
  80. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  81. package/cjs/style/dnb-ui-components.css +12 -11
  82. package/cjs/style/dnb-ui-components.min.css +1 -1
  83. package/cjs/style/dnb-ui-extensions.css +12 -11
  84. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  85. package/cjs/style/dnb-ui-forms.css +12 -11
  86. package/cjs/style/dnb-ui-forms.min.css +1 -1
  87. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  88. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  89. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  90. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  91. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  92. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  93. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  94. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  95. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  96. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  97. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  98. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  99. package/cjs/style/themes/theme-ui/ui-theme-components.css +28 -22
  100. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  101. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  102. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  103. package/cjs/style/themes/theme-ui/ui-theme-forms.css +12 -11
  104. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  105. package/components/flex/Container.js +4 -0
  106. package/components/flex/Container.js.map +1 -1
  107. package/components/flex/utils.d.ts +1 -1
  108. package/components/flex/utils.js +11 -1
  109. package/components/flex/utils.js.map +1 -1
  110. package/components/input-masked/MultiInputMask.d.ts +10 -2
  111. package/components/input-masked/MultiInputMask.js +39 -14
  112. package/components/input-masked/MultiInputMask.js.map +1 -1
  113. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  114. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  115. package/components/number-format/NumberFormat.js +1 -1
  116. package/components/number-format/NumberFormat.js.map +1 -1
  117. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  118. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  119. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  120. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  121. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  122. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  123. package/components/visually-hidden/VisuallyHidden.js +1 -1
  124. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  125. package/es/components/flex/Container.js +4 -0
  126. package/es/components/flex/Container.js.map +1 -1
  127. package/es/components/flex/utils.d.ts +1 -1
  128. package/es/components/flex/utils.js +11 -1
  129. package/es/components/flex/utils.js.map +1 -1
  130. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  131. package/es/components/input-masked/MultiInputMask.js +39 -13
  132. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  133. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  134. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  135. package/es/components/number-format/NumberFormat.js +1 -1
  136. package/es/components/number-format/NumberFormat.js.map +1 -1
  137. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  138. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  139. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  140. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  141. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  142. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  143. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  144. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  145. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  146. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  147. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  148. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  149. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  150. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  151. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  152. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  153. package/es/extensions/forms/Field/Date/Date.js +1 -5
  154. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  155. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  156. package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
  157. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  158. package/es/extensions/forms/Field/Number/Number.js +0 -5
  159. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  160. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  161. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  162. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  163. package/es/extensions/forms/Field/Selection/Selection.js +4 -9
  164. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  165. package/es/extensions/forms/Field/String/String.d.ts +0 -1
  166. package/es/extensions/forms/Field/String/String.js +2 -8
  167. package/es/extensions/forms/Field/String/String.js.map +1 -1
  168. package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
  169. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  170. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  171. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  172. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  173. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  174. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  175. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  176. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  177. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  178. package/es/extensions/forms/Form/Visibility/Visibility.js +0 -1
  179. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  180. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  181. package/es/extensions/forms/Form/hooks/useData.js +29 -0
  182. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  183. package/es/extensions/forms/Form/index.d.ts +1 -0
  184. package/es/extensions/forms/Form/index.js +1 -0
  185. package/es/extensions/forms/Form/index.js.map +1 -1
  186. package/es/extensions/forms/Iterate/Array/Array.js +0 -4
  187. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  188. package/es/extensions/forms/hooks/useDataValue.js +2 -2
  189. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  190. package/es/extensions/forms/style/dnb-forms.css +12 -11
  191. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  192. package/es/extensions/forms/types.d.ts +4 -8
  193. package/es/extensions/forms/types.js.map +1 -1
  194. package/es/shared/Eufemia.d.ts +1 -1
  195. package/es/shared/Eufemia.js +2 -2
  196. package/es/shared/Eufemia.js.map +1 -1
  197. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  198. package/es/shared/helpers/EventEmitter.js.map +1 -1
  199. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  200. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  201. package/es/shared/helpers/useSharedState.d.ts +15 -0
  202. package/es/shared/helpers/useSharedState.js +63 -0
  203. package/es/shared/helpers/useSharedState.js.map +1 -0
  204. package/es/style/dnb-ui-components.css +12 -11
  205. package/es/style/dnb-ui-components.min.css +1 -1
  206. package/es/style/dnb-ui-extensions.css +12 -11
  207. package/es/style/dnb-ui-extensions.min.css +1 -1
  208. package/es/style/dnb-ui-forms.css +12 -11
  209. package/es/style/dnb-ui-forms.min.css +1 -1
  210. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  211. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  212. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  213. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  214. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  215. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  216. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  217. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  218. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  219. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  220. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  221. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  222. package/es/style/themes/theme-ui/ui-theme-components.css +28 -22
  223. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  224. package/es/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  225. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  226. package/es/style/themes/theme-ui/ui-theme-forms.css +12 -11
  227. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  228. package/esm/dnb-ui-basis.min.mjs +1 -1
  229. package/esm/dnb-ui-components.min.mjs +1 -1
  230. package/esm/dnb-ui-elements.min.mjs +1 -1
  231. package/esm/dnb-ui-extensions.min.mjs +3 -3
  232. package/esm/dnb-ui-lib.min.mjs +1 -1
  233. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  234. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  235. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  236. package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  237. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  238. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  239. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  240. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  241. package/extensions/forms/Field/Date/Date.js +1 -5
  242. package/extensions/forms/Field/Date/Date.js.map +1 -1
  243. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  244. package/extensions/forms/Field/Expiry/Expiry.js +21 -11
  245. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  246. package/extensions/forms/Field/Number/Number.js +0 -5
  247. package/extensions/forms/Field/Number/Number.js.map +1 -1
  248. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
  249. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  250. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  251. package/extensions/forms/Field/Selection/Selection.js +4 -9
  252. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  253. package/extensions/forms/Field/String/String.d.ts +0 -1
  254. package/extensions/forms/Field/String/String.js +2 -8
  255. package/extensions/forms/Field/String/String.js.map +1 -1
  256. package/extensions/forms/Field/Toggle/Toggle.js +0 -4
  257. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  258. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  259. package/extensions/forms/FieldBlock/FieldBlock.js +2 -10
  260. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  261. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
  262. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  263. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
  264. package/extensions/forms/Form/Handler/Handler.js +1 -0
  265. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  266. package/extensions/forms/Form/Visibility/Visibility.js +0 -1
  267. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  268. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  269. package/extensions/forms/Form/hooks/useData.js +30 -0
  270. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  271. package/extensions/forms/Form/index.d.ts +1 -0
  272. package/extensions/forms/Form/index.js +1 -0
  273. package/extensions/forms/Form/index.js.map +1 -1
  274. package/extensions/forms/Iterate/Array/Array.js +0 -4
  275. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  276. package/extensions/forms/hooks/useDataValue.js +2 -2
  277. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  278. package/extensions/forms/style/dnb-forms.css +12 -11
  279. package/extensions/forms/style/dnb-forms.min.css +1 -1
  280. package/extensions/forms/types.d.ts +4 -8
  281. package/extensions/forms/types.js.map +1 -1
  282. package/package.json +1 -1
  283. package/shared/Eufemia.d.ts +1 -1
  284. package/shared/Eufemia.js +2 -2
  285. package/shared/Eufemia.js.map +1 -1
  286. package/shared/helpers/EventEmitter.d.ts +5 -0
  287. package/shared/helpers/EventEmitter.js.map +1 -1
  288. package/shared/helpers/useEventEmitter.d.ts +2 -0
  289. package/shared/helpers/useEventEmitter.js.map +1 -1
  290. package/shared/helpers/useSharedState.d.ts +15 -0
  291. package/shared/helpers/useSharedState.js +63 -0
  292. package/shared/helpers/useSharedState.js.map +1 -0
  293. package/style/dnb-ui-components.css +12 -11
  294. package/style/dnb-ui-components.min.css +1 -1
  295. package/style/dnb-ui-extensions.css +12 -11
  296. package/style/dnb-ui-extensions.min.css +1 -1
  297. package/style/dnb-ui-forms.css +12 -11
  298. package/style/dnb-ui-forms.min.css +1 -1
  299. package/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
  300. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  301. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
  302. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  303. package/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
  304. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  305. package/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
  306. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  307. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
  308. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  309. package/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
  310. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  311. package/style/themes/theme-ui/ui-theme-components.css +28 -22
  312. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  313. package/style/themes/theme-ui/ui-theme-extensions.css +12 -11
  314. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  315. package/style/themes/theme-ui/ui-theme-forms.css +12 -11
  316. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  317. package/umd/dnb-ui-basis.min.js +1 -1
  318. package/umd/dnb-ui-components.min.js +1 -1
  319. package/umd/dnb-ui-elements.min.js +1 -1
  320. package/umd/dnb-ui-extensions.min.js +2 -2
  321. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,8 +1,8 @@
1
1
  import { MultiInputMaskProps, MultiInputMaskValue } from '../MultiInputMask';
2
- type SteppedValuesHook<T extends string> = {
2
+ type UseMultiInputValues<T extends string> = {
3
3
  inputs: MultiInputMaskProps<T>['inputs'];
4
4
  defaultValues?: MultiInputMaskProps<T>['values'];
5
5
  callback?: (values: MultiInputMaskProps<T>['values']) => void;
6
6
  };
7
- export declare function useMultiInputValue<T extends string>({ inputs, defaultValues, callback, }: SteppedValuesHook<T>): readonly [MultiInputMaskValue<T>, (id: string, value: string) => void];
7
+ export declare function useMultiInputValue<T extends string>({ inputs, defaultValues, callback, }: UseMultiInputValues<T>): readonly [MultiInputMaskValue<T>, (id: string, value: string) => void];
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiInputValues.js","names":["useState","useMultiInputValue","_ref","inputs","defaultValues","callback","values","setValues","createDefaultValues","reduce","input","id","onChange","value","updatedValues","_objectSpread"],"sources":["../../../../../src/components/input-masked/hooks/useMultiInputValues.ts"],"sourcesContent":["import { useState } from 'react'\nimport {\n MultiInputMaskProps,\n MultiInputMaskValue,\n} from '../MultiInputMask'\n\ntype SteppedValuesHook<T extends string> = {\n inputs: MultiInputMaskProps<T>['inputs']\n defaultValues?: MultiInputMaskProps<T>['values']\n callback?: (values: MultiInputMaskProps<T>['values']) => void\n}\n\nexport function useMultiInputValue<T extends string>({\n inputs,\n defaultValues,\n callback,\n}: SteppedValuesHook<T>) {\n const [values, setValues] = useState<MultiInputMaskValue<T>>(\n defaultValues ? defaultValues : createDefaultValues()\n )\n\n function createDefaultValues() {\n return inputs.reduce((values, input) => {\n values[input.id] = ''\n\n return values\n }, {} as MultiInputMaskValue<T>)\n }\n\n function onChange(id: string, value: string) {\n const updatedValues = { ...values, [id]: value }\n\n setValues(updatedValues)\n if (callback) {\n callback(updatedValues)\n }\n }\n\n return [values, onChange] as const\n}\n"],"mappings":";;;;;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAYhC,OAAO,SAASC,kBAAkBA,CAAAC,IAAA,EAIT;EAAA,IAJ4B;IACnDC,MAAM;IACNC,aAAa;IACbC;EACoB,CAAC,GAAAH,IAAA;EACrB,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGP,QAAQ,CAClCI,aAAa,GAAGA,aAAa,GAAGI,mBAAmB,CAAC,CACtD,CAAC;EAED,SAASA,mBAAmBA,CAAA,EAAG;IAC7B,OAAOL,MAAM,CAACM,MAAM,CAAC,CAACH,MAAM,EAAEI,KAAK,KAAK;MACtCJ,MAAM,CAACI,KAAK,CAACC,EAAE,CAAC,GAAG,EAAE;MAErB,OAAOL,MAAM;IACf,CAAC,EAAE,CAAC,CAA2B,CAAC;EAClC;EAEA,SAASM,QAAQA,CAACD,EAAU,EAAEE,KAAa,EAAE;IAC3C,MAAMC,aAAa,GAAAC,aAAA,CAAAA,aAAA,KAAQT,MAAM;MAAE,CAACK,EAAE,GAAGE;IAAK,EAAE;IAEhDN,SAAS,CAACO,aAAa,CAAC;IACxB,IAAIT,QAAQ,EAAE;MACZA,QAAQ,CAACS,aAAa,CAAC;IACzB;EACF;EAEA,OAAO,CAACR,MAAM,EAAEM,QAAQ,CAAC;AAC3B"}
1
+ {"version":3,"file":"useMultiInputValues.js","names":["useState","useMultiInputValue","_ref","inputs","defaultValues","callback","values","setValues","createDefaultValues","reduce","input","id","onChange","value","updatedValues","_objectSpread"],"sources":["../../../../../src/components/input-masked/hooks/useMultiInputValues.ts"],"sourcesContent":["import { useState } from 'react'\nimport {\n MultiInputMaskProps,\n MultiInputMaskValue,\n} from '../MultiInputMask'\n\ntype UseMultiInputValues<T extends string> = {\n inputs: MultiInputMaskProps<T>['inputs']\n defaultValues?: MultiInputMaskProps<T>['values']\n callback?: (values: MultiInputMaskProps<T>['values']) => void\n}\n\nexport function useMultiInputValue<T extends string>({\n inputs,\n defaultValues,\n callback,\n}: UseMultiInputValues<T>) {\n const [values, setValues] = useState<MultiInputMaskValue<T>>(\n defaultValues ? defaultValues : createDefaultValues()\n )\n\n function createDefaultValues() {\n return inputs.reduce((values, input) => {\n values[input.id] = ''\n\n return values\n }, {} as MultiInputMaskValue<T>)\n }\n\n function onChange(id: string, value: string) {\n const updatedValues = { ...values, [id]: value }\n\n setValues(updatedValues)\n if (callback) {\n callback(updatedValues)\n }\n }\n\n return [values, onChange] as const\n}\n"],"mappings":";;;;;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAYhC,OAAO,SAASC,kBAAkBA,CAAAC,IAAA,EAIP;EAAA,IAJ0B;IACnDC,MAAM;IACNC,aAAa;IACbC;EACsB,CAAC,GAAAH,IAAA;EACvB,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGP,QAAQ,CAClCI,aAAa,GAAGA,aAAa,GAAGI,mBAAmB,CAAC,CACtD,CAAC;EAED,SAASA,mBAAmBA,CAAA,EAAG;IAC7B,OAAOL,MAAM,CAACM,MAAM,CAAC,CAACH,MAAM,EAAEI,KAAK,KAAK;MACtCJ,MAAM,CAACI,KAAK,CAACC,EAAE,CAAC,GAAG,EAAE;MAErB,OAAOL,MAAM;IACf,CAAC,EAAE,CAAC,CAA2B,CAAC;EAClC;EAEA,SAASM,QAAQA,CAACD,EAAU,EAAEE,KAAa,EAAE;IAC3C,MAAMC,aAAa,GAAAC,aAAA,CAAAA,aAAA,KAAQT,MAAM;MAAE,CAACK,EAAE,GAAGE;IAAK,EAAE;IAEhDN,SAAS,CAACO,aAAa,CAAC;IACxB,IAAIT,QAAQ,EAAE;MACZA,QAAQ,CAACS,aAAa,CAAC;IACzB;EACF;EAEA,OAAO,CAACR,MAAM,EAAEM,QAAQ,CAAC;AAC3B"}
@@ -40,7 +40,7 @@ export default class NumberFormat extends React.PureComponent {
40
40
  }
41
41
  });
42
42
  _defineProperty(this, "onClickHandler", () => {
43
- if (!hasSelectedText() || isTrue(this.props.always_selectall)) {
43
+ if ((isTrue(this.props.selectall) || isTrue(this.props.always_selectall)) && !hasSelectedText()) {
44
44
  this.setFocus();
45
45
  }
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormat.js","names":["React","PropTypes","classnames","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","convertJsxToString","extendPropsWithContextInClassComponent","extend","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","always_selectall","createRef","_selectionRef","_id","id","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","tooltip","skeleton","options","locale","decimals","omit_rounding","clean","selectall","clean_copy_value","srLabel","element","class","_className","_rest","_objectWithoutProperties","_excluded","rest","formatOptions","omit_currency_sign","returnAria","useContext","_objectSpread","number","display","aria","lang","attributes","ref","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","Fragment","String","_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 */\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 extend,\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 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.oneOfType([PropTypes.string, PropTypes.bool]),\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 class: PropTypes.string,\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 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 clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n class: 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.id || makeUniqueId()\n this.state = { selected: false, omitCurrencySign: 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 (!hasSelectedText() || isTrue(this.props.always_selectall)) {\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 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 tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n class: _className,\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 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 = extend(\n true,\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 (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\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 createSpacingClasses(this.props)\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 (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 (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 /**\n * This approach is most NVDA friendly, and we used it now also for mac,\n * because if the consistency and SSR JAM Stack build\n */\n return (\n <Element lang={lang} {...attributes}>\n {srLabel && (\n <span className=\"dnb-sr-only\" data-text={srLabel + ' '} />\n )}\n\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n aria-describedby={this._id}\n aria-hidden\n {...displayParams}\n >\n {display}\n </span>\n\n <span\n id={this._id}\n className=\"dnb-number-format__sr-only dnb-sr-only\"\n data-text={aria}\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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"}
1
+ {"version":3,"file":"NumberFormat.js","names":["React","PropTypes","classnames","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","convertJsxToString","extendPropsWithContextInClassComponent","extend","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","createRef","_selectionRef","_id","id","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","tooltip","skeleton","options","locale","decimals","omit_rounding","clean","clean_copy_value","srLabel","element","class","_className","_rest","_objectWithoutProperties","_excluded","rest","formatOptions","omit_currency_sign","returnAria","useContext","_objectSpread","number","display","aria","lang","attributes","ref","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","Fragment","String","_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 */\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 extend,\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 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.oneOfType([PropTypes.string, PropTypes.bool]),\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 class: PropTypes.string,\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 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 clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n class: 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.id || makeUniqueId()\n this.state = { selected: false, omitCurrencySign: 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 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 tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n class: _className,\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 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 = extend(\n true,\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 (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\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 createSpacingClasses(this.props)\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 (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 (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 /**\n * This approach is most NVDA friendly, and we used it now also for mac,\n * because if the consistency and SSR JAM Stack build\n */\n return (\n <Element lang={lang} {...attributes}>\n {srLabel && (\n <span className=\"dnb-sr-only\" data-text={srLabel + ' '} />\n )}\n\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n aria-describedby={this._id}\n aria-hidden\n {...displayParams}\n >\n {display}\n </span>\n\n <span\n id={this._id}\n className=\"dnb-number-format__sr-only dnb-sr-only\"\n data-text={aria}\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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"}
@@ -40,7 +40,6 @@ html:not([data-whatintent=touch]) .dnb-toggle-button__button:hover:not([disabled
40
40
  --border-width: 0.09375rem;
41
41
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
42
42
  border-color: transparent;
43
- background-color: var(--sb-color-gray-light);
44
43
  color: var(--sb-color-gray-dark);
45
44
  }
46
45
  html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-radio__button {
@@ -59,6 +58,14 @@ html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:ac
59
58
  html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-checkbox__gfx {
60
59
  color: var(--focus-ring-color);
61
60
  }
61
+ .dnb-toggle-button--checked .dnb-toggle-button__button[disabled] {
62
+ --border-color: var(--sb-color-gray-light);
63
+ --border-width: 0.09375rem;
64
+ box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
65
+ border-color: transparent;
66
+ background-color: var(--sb-color-gray-light);
67
+ color: var(--sb-color-gray-dark);
68
+ }
62
69
  .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active) {
63
70
  background-color: var(--sb-color-violet);
64
71
  color: var(--sb-color-white);
@@ -1 +1 @@
1
- .dnb-toggle-button__button{--border-color:var(--sb-color-violet);--border-width:0.09375rem;background-color:var(--sb-color-white);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet)}html:not([data-whatintent=touch]) .dnb-toggle-button__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-toggle-button__button:hover:not([disabled]){background-color:var(--sb-color-violet-light-3);color:var(--sb-color-violet)}.dnb-toggle-button__button:active[disabled],html:not([data-whatintent=touch]) .dnb-toggle-button__button:active[disabled]{cursor:not-allowed}.dnb-toggle-button__button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-toggle-button__button:active:not([disabled]){--border-color:var(--sb-color-violet-light-3);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet-light-3)}.dnb-toggle-button__button[disabled]{--border-color:var(--sb-color-gray-light);--border-width:0.09375rem;background-color:var(--sb-color-gray-light);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-gray-dark)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-radio__button{background-color:transparent;border-color:var(--focus-ring-color);box-shadow:0 0 0 .0625rem var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-radio__dot{background-color:var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-checkbox__button{background-color:transparent;border-color:var(--focus-ring-color);box-shadow:0 0 0 .0625rem var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-checkbox__gfx{color:var(--focus-ring-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--sb-color-violet);box-shadow:none;color:var(--sb-color-white)}html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]){--border-color:var(--sb-color-violet);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-white)}.dnb-toggle-button--checked .dnb-toggle-button__button:active[disabled],html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:active[disabled]{cursor:not-allowed}.dnb-toggle-button--checked .dnb-toggle-button__button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:active:not([disabled]){--border-color:var(--sb-color-violet-light-3);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet-light-3)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--sb-color-blue-light-2);color:var(--sb-color-blue-dark-2)}
1
+ .dnb-toggle-button__button{--border-color:var(--sb-color-violet);--border-width:0.09375rem;background-color:var(--sb-color-white);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet)}html:not([data-whatintent=touch]) .dnb-toggle-button__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-toggle-button__button:hover:not([disabled]){background-color:var(--sb-color-violet-light-3);color:var(--sb-color-violet)}.dnb-toggle-button__button:active[disabled],html:not([data-whatintent=touch]) .dnb-toggle-button__button:active[disabled]{cursor:not-allowed}.dnb-toggle-button__button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-toggle-button__button:active:not([disabled]){--border-color:var(--sb-color-violet-light-3);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet-light-3)}.dnb-toggle-button__button[disabled]{--border-color:var(--sb-color-gray-light);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-gray-dark)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-radio__button{background-color:transparent;border-color:var(--focus-ring-color);box-shadow:0 0 0 .0625rem var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-radio__dot{background-color:var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-checkbox__button{background-color:transparent;border-color:var(--focus-ring-color);box-shadow:0 0 0 .0625rem var(--focus-ring-color)}html[data-whatinput=keyboard] .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus .dnb-checkbox__gfx{color:var(--focus-ring-color)}.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{--border-color:var(--sb-color-gray-light);--border-width:0.09375rem;background-color:var(--sb-color-gray-light);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-gray-dark)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--sb-color-violet);box-shadow:none;color:var(--sb-color-white)}html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]){--border-color:var(--sb-color-violet);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-white)}.dnb-toggle-button--checked .dnb-toggle-button__button:active[disabled],html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:active[disabled]{cursor:not-allowed}.dnb-toggle-button--checked .dnb-toggle-button__button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-toggle-button--checked .dnb-toggle-button__button:active:not([disabled]){--border-color:var(--sb-color-violet-light-3);--border-width:0.125rem;background-color:var(--sb-color-violet);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-violet-light-3)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--sb-color-blue-light-2);color:var(--sb-color-blue-dark-2)}
@@ -24,7 +24,6 @@
24
24
 
25
25
  &[disabled] {
26
26
  @include fakeBorder(var(--sb-color-gray-light), 0.09375rem, inset);
27
- background-color: var(--sb-color-gray-light);
28
27
  color: var(--sb-color-gray-dark);
29
28
  }
30
29
 
@@ -55,6 +54,12 @@
55
54
 
56
55
  /* stylelint-disable no-descending-specificity */
57
56
  &--checked &__button {
57
+ &[disabled] {
58
+ @include fakeBorder(var(--sb-color-gray-light), 0.09375rem, inset);
59
+ background-color: var(--sb-color-gray-light);
60
+ color: var(--sb-color-gray-dark);
61
+ }
62
+
58
63
  &:not([disabled]):not(:active) {
59
64
  background-color: var(--sb-color-violet);
60
65
  color: var(--sb-color-white);
@@ -21,6 +21,10 @@
21
21
  .dnb-toggle-button .dnb-radio__input:not([disabled]) ~ .dnb-radio__button {
22
22
  box-shadow: 0 0 0 0.0318rem var(--color-sea-green);
23
23
  }
24
+ .dnb-toggle-button--checked .dnb-toggle-button__button[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] {
25
+ background-color: var(--color-mint-green);
26
+ color: var(--color-white);
27
+ }
24
28
  .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active) {
25
29
  background-color: var(--color-emerald-green);
26
30
  color: var(--color-mint-green);
@@ -1 +1 @@
1
- .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
1
+ .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{background-color:var(--color-mint-green);color:var(--color-white)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
@@ -25,6 +25,11 @@
25
25
  &--checked &__button,
26
26
  &--checked &__button:focus,
27
27
  &--checked &__button:hover {
28
+ &[disabled] {
29
+ background-color: var(--color-mint-green);
30
+ color: var(--color-white);
31
+ }
32
+
28
33
  &:not([disabled]):not(:active) {
29
34
  background-color: var(--color-emerald-green);
30
35
  color: var(--color-mint-green);
@@ -27,6 +27,6 @@ const VisuallyHidden = localProps => {
27
27
  className: visuallyHiddenClassNames
28
28
  }, props), children);
29
29
  };
30
- VisuallyHidden._supportsSpacingProps = true;
30
+ VisuallyHidden._supportsSpacingProps = false;
31
31
  export default VisuallyHidden;
32
32
  //# sourceMappingURL=VisuallyHidden.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisuallyHidden.js","names":["React","classnames","Context","extendPropsWithContext","defaultProps","focusable","element","VisuallyHidden","localProps","context","useContext","_extendPropsWithConte","children","className","props","_objectWithoutProperties","_excluded","visuallyHiddenClassNames","Element","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/visually-hidden/VisuallyHidden.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport Context from '../../shared/Context'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport type { DynamicElement } from '../../shared/types'\n\nexport interface VisuallyHiddenProps {\n /**\n * Hide an element by default, but to display it when it’s focused (e.g. by a keyboard-only user)\n * Default: false\n */\n focusable?: boolean\n\n /**\n * Root element of the component\n * Default: span\n */\n element?: DynamicElement\n}\n\nexport type VisuallyHiddenAllProps = VisuallyHiddenProps &\n React.HTMLProps<HTMLSpanElement>\n\nexport const defaultProps = {\n focusable: false,\n element: 'span',\n}\n\nconst VisuallyHidden = (localProps: VisuallyHiddenAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const { element, children, className, focusable, ...props } =\n extendPropsWithContext(\n localProps,\n defaultProps,\n context?.VisuallyHidden\n )\n\n const visuallyHiddenClassNames = classnames(\n 'dnb-visually-hidden',\n focusable ? 'dnb-visually-hidden--focusable' : 'dnb-sr-only',\n className\n )\n const Element = element || 'span'\n\n return (\n <Element\n className={visuallyHiddenClassNames}\n {...(props as Record<string, unknown>)}\n >\n {children}\n </Element>\n )\n}\n\nVisuallyHidden._supportsSpacingProps = true\n\nexport default VisuallyHidden\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,sBAAsB,QAAQ,+BAA+B;AAoBtE,OAAO,MAAMC,YAAY,GAAG;EAC1BC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,cAAc,GAAIC,UAAkC,IAAK;EAE7D,MAAMC,OAAO,GAAGT,KAAK,CAACU,UAAU,CAACR,OAAO,CAAC;EAGzC,MAAAS,qBAAA,GACER,sBAAsB,CACpBK,UAAU,EACVJ,YAAY,EACZK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,cACX,CAAC;IALG;MAAED,OAAO;MAAEM,QAAQ;MAAEC,SAAS;MAAER;IAAoB,CAAC,GAAAM,qBAAA;IAAPG,KAAK,GAAAC,wBAAA,CAAAJ,qBAAA,EAAAK,SAAA;EAOzD,MAAMC,wBAAwB,GAAGhB,UAAU,CACzC,qBAAqB,EACrBI,SAAS,GAAG,gCAAgC,GAAG,aAAa,EAC5DQ,SACF,CAAC;EACD,MAAMK,OAAO,GAAGZ,OAAO,IAAI,MAAM;EAEjC,OACEN,KAAA,CAAAmB,aAAA,CAACD,OAAO,EAAAE,QAAA;IACNP,SAAS,EAAEI;EAAyB,GAC/BH,KAAK,GAETF,QACM,CAAC;AAEd,CAAC;AAEDL,cAAc,CAACc,qBAAqB,GAAG,IAAI;AAE3C,eAAed,cAAc"}
1
+ {"version":3,"file":"VisuallyHidden.js","names":["React","classnames","Context","extendPropsWithContext","defaultProps","focusable","element","VisuallyHidden","localProps","context","useContext","_extendPropsWithConte","children","className","props","_objectWithoutProperties","_excluded","visuallyHiddenClassNames","Element","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/visually-hidden/VisuallyHidden.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport Context from '../../shared/Context'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport type { DynamicElement } from '../../shared/types'\n\nexport interface VisuallyHiddenProps {\n /**\n * Hide an element by default, but to display it when it’s focused (e.g. by a keyboard-only user)\n * Default: false\n */\n focusable?: boolean\n\n /**\n * Root element of the component\n * Default: span\n */\n element?: DynamicElement\n}\n\nexport type VisuallyHiddenAllProps = VisuallyHiddenProps &\n React.HTMLProps<HTMLSpanElement>\n\nexport const defaultProps = {\n focusable: false,\n element: 'span',\n}\n\nconst VisuallyHidden = (localProps: VisuallyHiddenAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const { element, children, className, focusable, ...props } =\n extendPropsWithContext(\n localProps,\n defaultProps,\n context?.VisuallyHidden\n )\n\n const visuallyHiddenClassNames = classnames(\n 'dnb-visually-hidden',\n focusable ? 'dnb-visually-hidden--focusable' : 'dnb-sr-only',\n className\n )\n const Element = element || 'span'\n\n return (\n <Element\n className={visuallyHiddenClassNames}\n {...(props as Record<string, unknown>)}\n >\n {children}\n </Element>\n )\n}\n\nVisuallyHidden._supportsSpacingProps = false\n\nexport default VisuallyHidden\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,sBAAsB,QAAQ,+BAA+B;AAoBtE,OAAO,MAAMC,YAAY,GAAG;EAC1BC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,cAAc,GAAIC,UAAkC,IAAK;EAE7D,MAAMC,OAAO,GAAGT,KAAK,CAACU,UAAU,CAACR,OAAO,CAAC;EAGzC,MAAAS,qBAAA,GACER,sBAAsB,CACpBK,UAAU,EACVJ,YAAY,EACZK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,cACX,CAAC;IALG;MAAED,OAAO;MAAEM,QAAQ;MAAEC,SAAS;MAAER;IAAoB,CAAC,GAAAM,qBAAA;IAAPG,KAAK,GAAAC,wBAAA,CAAAJ,qBAAA,EAAAK,SAAA;EAOzD,MAAMC,wBAAwB,GAAGhB,UAAU,CACzC,qBAAqB,EACrBI,SAAS,GAAG,gCAAgC,GAAG,aAAa,EAC5DQ,SACF,CAAC;EACD,MAAMK,OAAO,GAAGZ,OAAO,IAAI,MAAM;EAEjC,OACEN,KAAA,CAAAmB,aAAA,CAACD,OAAO,EAAAE,QAAA;IACNP,SAAS,EAAEI;EAAyB,GAC/BH,KAAK,GAETF,QACM,CAAC;AAEd,CAAC;AAEDL,cAAc,CAACc,qBAAqB,GAAG,KAAK;AAE5C,eAAed,cAAc"}
@@ -53,6 +53,7 @@ function FlexContainer(props) {
53
53
  queries
54
54
  });
55
55
  const content = childrenArray.map((child, i) => {
56
+ var _previousChild$type;
56
57
  const isFirst = i === 0;
57
58
  const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
58
59
  const start = direction === 'horizontal' ? 'left' : 'top';
@@ -84,6 +85,9 @@ function FlexContainer(props) {
84
85
  var _ref, _getSpaceValue3;
85
86
  startSpacing = (_ref = (_getSpaceValue3 = getSpaceValue(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : getSpaceValue(end, previousChild)) !== null && _ref !== void 0 ? _ref : spacing;
86
87
  }
88
+ if (React.isValidElement(previousChild) && (previousChild === null || previousChild === void 0 ? void 0 : (_previousChild$type = previousChild.type) === null || _previousChild$type === void 0 ? void 0 : _previousChild$type['_supportsSpacingProps']) === false) {
89
+ startSpacing = 0;
90
+ }
87
91
  const space = direction === 'horizontal' ? {
88
92
  [start]: endSpacing,
89
93
  [end]: startSpacing
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","isHeading","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","n","cn","_extends","Children","toArray","isValidElement","type","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n const isHeading = hasHeading && isHeadingElement(previousChild)\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above heading\n !isHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","start","end","endSpacing","startSpacing","isHeading","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","isValidElement","type","n","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n const isHeading = hasHeading && isHeadingElement(previousChild)\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above heading\n !isHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -15,4 +15,4 @@ export declare const isSpacePropsComponent: (element: React.ReactNode) => boolea
15
15
  export declare const renderWithSpacing: (element: React.ReactNode, props: SpacingProps & {
16
16
  key?: string;
17
17
  className?: string;
18
- }) => import("react/jsx-runtime").JSX.Element;
18
+ }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
@@ -28,10 +28,20 @@ export const isEufemiaElement = element => {
28
28
  };
29
29
  export const isSpacePropsComponent = element => {
30
30
  var _element$type2;
31
- return React.isValidElement(element) && (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === true || isEufemiaElement(element);
31
+ if (React.isValidElement(element) && typeof (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === 'boolean') {
32
+ var _element$type3;
33
+ return element === null || element === void 0 ? void 0 : (_element$type3 = element.type) === null || _element$type3 === void 0 ? void 0 : _element$type3['_supportsSpacingProps'];
34
+ }
35
+ if (isEufemiaElement(element)) {
36
+ return true;
37
+ }
38
+ return undefined;
32
39
  };
33
40
  export const renderWithSpacing = (element, props) => {
34
41
  const takesSpaceProps = isSpacePropsComponent(element);
42
+ if (takesSpaceProps === false) {
43
+ return element;
44
+ }
35
45
  return takesSpaceProps ? React.cloneElement(element, props) : React.createElement(Space, props, element);
36
46
  };
37
47
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n return (\n (React.isValidElement(element) &&\n element?.type?.['_supportsSpacingProps'] === true) ||\n isEufemiaElement(element)\n )\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,KAAK,MAAM,gBAAgB;AAClC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,KAAKC,eAAe,MAAM,gBAAgB;AAGjD,OAAO,MAAMC,gBAAgB,GAC3BC,KAAY,IACK;EACjB,OAAO;IACLC,KAAK,EAAED,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,KAAK;IACnBC,GAAG,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,GAAG;IACfC,MAAM,EAAEH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,MAAM;IACrBC,IAAI,EAAEJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,IAAI;IACjBC,KAAK,EAAEL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK;EAChB,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGT,gBAAgB;AAEhD,OAAO,MAAMU,aAAa,GAAGA,CAC3BC,IAAiB,EACjBC,OAAmE,KACzC;EAAA,IAAAC,mBAAA,EAAAC,cAAA,EAAAC,eAAA;EAC1B,IAAI,CAACjB,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,EAAE;IAClC;EACF;EAEA,QAAAC,mBAAA,IAAAC,cAAA,GACEF,OAAO,CAACT,KAAK,cAAAW,cAAA,uBAAbA,cAAA,CAAgBH,IAAI,CAAC,cAAAE,mBAAA,cAAAA,mBAAA,GACpB,SAAAE,eAAA,GAAOH,OAAO,CAACT,KAAK,cAAAY,eAAA,uBAAbA,eAAA,CAAeX,KAAK,MAAK,QAAQ,GACrCQ,OAAO,CAACT,KAAK,CAACC,KAAK,CAACO,IAAI,CAAC,GACzBM,SAAS;AAEjB,CAAC;AAED,OAAO,SAASC,gBAAgBA,CAC9BN,OAA0D,EACjD;EAAA,IAAAO,aAAA;EACT,OACErB,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,IAC7B,CAAAA,OAAO,aAAPA,OAAO,wBAAAO,aAAA,GAAPP,OAAO,CAAED,IAAI,cAAAQ,aAAA,uBAAbA,aAAA,CAAgB,mBAAmB,CAAC,MAAK,IAAI;AAEjD;AAEA,OAAO,MAAMC,gBAAgB,GAAIR,OAAO,IAAc;EACpD,OAAOS,MAAM,CAACC,MAAM,CAACrB,eAAe,CAAC,CAACsB,IAAI,CACvCC,cAAc,IAAK,CAAAZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,IAAI,MAAKa,cACxC,CAAC;AACH,CAAC;AAKD,OAAO,MAAMC,qBAAqB,GAChCb,OAAwB,IACZ;EAAA,IAAAc,cAAA;EACZ,OACG5B,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,IAC5B,CAAAA,OAAO,aAAPA,OAAO,wBAAAc,cAAA,GAAPd,OAAO,CAAED,IAAI,cAAAe,cAAA,uBAAbA,cAAA,CAAgB,uBAAuB,CAAC,MAAK,IAAI,IACnDN,gBAAgB,CAACR,OAAO,CAAC;AAE7B,CAAC;AAED,OAAO,MAAMe,iBAAiB,GAAGA,CAC/Bf,OAAwB,EACxBT,KAA0D,KACvD;EACH,MAAMyB,eAAe,GAAGH,qBAAqB,CAACb,OAAO,CAAC;EAEtD,OAAOgB,eAAe,GACpB9B,KAAK,CAAC+B,YAAY,CAACjB,OAAO,EAAiCT,KAAK,CAAC,GAEjEL,KAAA,CAAAgC,aAAA,CAAC/B,KAAK,EAAKI,KAAK,EAAGS,OAAe,CACnC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","_element$type3","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n if (\n React.isValidElement(element) &&\n typeof element?.type?.['_supportsSpacingProps'] === 'boolean'\n ) {\n return element?.type?.['_supportsSpacingProps']\n }\n\n if (isEufemiaElement(element)) {\n return true\n }\n\n return undefined\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n if (takesSpaceProps === false) {\n return element\n }\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -47,6 +47,14 @@ export type MultiInputMaskProps<T extends string> = {
47
47
  * Runs when the input value changes. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`
48
48
  */
49
49
  onChange?: (values: MultiInputMaskValue<T>) => void;
50
+ /**
51
+ * Runs when the input gains focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`
52
+ */
53
+ onFocus?: (values: MultiInputMaskValue<T>) => void;
54
+ /**
55
+ * Runs when the input loses focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`
56
+ */
57
+ onBlur?: (values: MultiInputMaskValue<T>) => void;
50
58
  /**
51
59
  * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.
52
60
  */
@@ -63,8 +71,8 @@ export type MultiInputMaskProps<T extends string> = {
63
71
  * Text describing the content of the input more than the label. you can also send in a React component, so it gets wrapped inside the Input component.
64
72
  */
65
73
  suffix?: React.ReactNode;
66
- } & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'ref' | 'value' | 'label'> & SpacingProps;
67
- declare function MultiInputMask<T extends string>({ label, labelDirection, inputs, delimiter, onChange: onChangeExternal, disabled, status, statusState, values: defaultValues, className, stretch, inputMode, suffix, ...props }: MultiInputMaskProps<T>): import("react/jsx-runtime").JSX.Element;
74
+ } & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'onFocus' | 'onBlur' | 'ref' | 'value' | 'label'> & SpacingProps;
75
+ declare function MultiInputMask<T extends string>({ label, labelDirection, inputs, delimiter, onChange: onChangeExternal, disabled, status, statusState, values: defaultValues, className, stretch, inputMode, suffix, onBlur, onFocus, ...props }: MultiInputMaskProps<T>): import("react/jsx-runtime").JSX.Element;
68
76
  declare namespace MultiInputMask {
69
77
  var _formElement: boolean;
70
78
  var _supportsSpacingProps: boolean;