@dnb/eufemia 10.16.0 → 10.17.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 (441) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/anchor/Anchor.js +9 -5
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
  5. package/cjs/components/anchor/style/dnb-anchor.css +0 -16
  6. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/button/style/dnb-button.css +13 -0
  15. package/cjs/components/button/style/dnb-button.min.css +1 -1
  16. package/cjs/components/button/style/dnb-button.scss +16 -0
  17. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  18. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  19. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  20. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  21. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  22. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  23. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  24. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  25. package/cjs/components/date-picker/DatePicker.d.ts +14 -1
  26. package/cjs/components/date-picker/DatePicker.js +0 -1
  27. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerCalc.js +2 -1
  29. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
  31. package/cjs/components/date-picker/DatePickerInput.js +9 -2
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/dropdown/Dropdown.js +3 -2
  34. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/flex/Container.js +11 -2
  36. package/cjs/components/flex/Container.js.map +1 -1
  37. package/cjs/components/flex/export.d.ts +1 -0
  38. package/cjs/components/flex/export.js +7 -0
  39. package/cjs/components/flex/export.js.map +1 -1
  40. package/cjs/components/flex/withChildren.d.ts +6 -0
  41. package/cjs/components/flex/withChildren.js +13 -0
  42. package/cjs/components/flex/withChildren.js.map +1 -0
  43. package/cjs/components/input/Input.js +3 -3
  44. package/cjs/components/input/Input.js.map +1 -1
  45. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  46. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  47. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  48. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  49. package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
  50. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  51. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  52. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  53. package/cjs/components/textarea/style/dnb-textarea.css +5 -0
  54. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  55. package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
  56. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  57. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
  59. package/cjs/extensions/forms/Field/Date/Date.js +51 -10
  60. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
  62. package/cjs/extensions/forms/Field/Number/Number.js +112 -28
  63. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  64. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  65. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  66. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  67. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  68. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  69. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  70. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  71. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  72. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  73. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  74. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  75. package/cjs/extensions/forms/Field/String/String.js +21 -1
  76. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  77. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -18
  78. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  79. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  80. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  81. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  82. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
  83. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  84. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
  86. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  87. package/cjs/extensions/forms/Form/index.js +7 -0
  88. package/cjs/extensions/forms/Form/index.js.map +1 -1
  89. package/cjs/extensions/forms/hooks/useDataValue.js +24 -31
  90. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  91. package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
  92. package/cjs/extensions/forms/hooks/useId.js +18 -0
  93. package/cjs/extensions/forms/hooks/useId.js.map +1 -0
  94. package/cjs/extensions/forms/index.d.ts +6 -1
  95. package/cjs/extensions/forms/index.js +5 -8
  96. package/cjs/extensions/forms/index.js.map +1 -1
  97. package/cjs/extensions/forms/style/dnb-forms.css +202 -0
  98. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  99. package/cjs/extensions/forms/types.d.ts +12 -10
  100. package/cjs/extensions/forms/types.js.map +1 -1
  101. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  102. package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
  103. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  104. package/cjs/shared/Eufemia.d.ts +1 -1
  105. package/cjs/shared/Eufemia.js +2 -2
  106. package/cjs/shared/Eufemia.js.map +1 -1
  107. package/cjs/style/core/utilities.scss +1 -2
  108. package/cjs/style/dnb-ui-components.css +220 -16
  109. package/cjs/style/dnb-ui-components.min.css +3 -3
  110. package/cjs/style/dnb-ui-extensions.css +202 -0
  111. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  112. package/cjs/style/dnb-ui-forms.css +202 -0
  113. package/cjs/style/dnb-ui-forms.min.css +1 -1
  114. package/cjs/style/dnb-ui-forms.scss +1 -0
  115. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  116. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  117. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  118. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  119. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  120. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  121. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  122. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  123. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  124. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  125. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  126. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  127. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  128. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  129. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  130. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  131. package/cjs/style/themes/theme-ui/ui-theme-components.css +468 -22
  132. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  133. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  134. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  135. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  136. package/cjs/style/themes/theme-ui/ui-theme-forms.css +218 -1
  137. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  138. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  139. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
  140. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  141. package/components/anchor/Anchor.js +9 -5
  142. package/components/anchor/Anchor.js.map +1 -1
  143. package/components/anchor/style/anchor-mixins.scss +0 -11
  144. package/components/anchor/style/dnb-anchor.css +0 -16
  145. package/components/anchor/style/dnb-anchor.min.css +1 -1
  146. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  147. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  148. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  149. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  150. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  151. package/components/autocomplete/Autocomplete.js +2 -2
  152. package/components/autocomplete/Autocomplete.js.map +1 -1
  153. package/components/button/style/dnb-button.css +13 -0
  154. package/components/button/style/dnb-button.min.css +1 -1
  155. package/components/button/style/dnb-button.scss +16 -0
  156. package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  157. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  158. package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  159. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  160. package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  161. package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  162. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  163. package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  164. package/components/date-picker/DatePicker.d.ts +14 -1
  165. package/components/date-picker/DatePicker.js +0 -1
  166. package/components/date-picker/DatePicker.js.map +1 -1
  167. package/components/date-picker/DatePickerCalc.js +2 -1
  168. package/components/date-picker/DatePickerCalc.js.map +1 -1
  169. package/components/date-picker/DatePickerInput.d.ts +3 -0
  170. package/components/date-picker/DatePickerInput.js +9 -2
  171. package/components/date-picker/DatePickerInput.js.map +1 -1
  172. package/components/dropdown/Dropdown.js +3 -2
  173. package/components/dropdown/Dropdown.js.map +1 -1
  174. package/components/flex/Container.js +11 -2
  175. package/components/flex/Container.js.map +1 -1
  176. package/components/flex/export.d.ts +1 -0
  177. package/components/flex/export.js +1 -0
  178. package/components/flex/export.js.map +1 -1
  179. package/components/flex/withChildren.d.ts +6 -0
  180. package/components/flex/withChildren.js +6 -0
  181. package/components/flex/withChildren.js.map +1 -0
  182. package/components/input/Input.js +3 -3
  183. package/components/input/Input.js.map +1 -1
  184. package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  185. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  186. package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  187. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  188. package/components/input-masked/InputMaskedHooks.js +13 -8
  189. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  190. package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  191. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  192. package/components/textarea/style/dnb-textarea.css +5 -0
  193. package/components/textarea/style/dnb-textarea.min.css +1 -1
  194. package/components/textarea/style/dnb-textarea.scss +4 -0
  195. package/es/components/anchor/Anchor.js +9 -5
  196. package/es/components/anchor/Anchor.js.map +1 -1
  197. package/es/components/anchor/style/anchor-mixins.scss +0 -11
  198. package/es/components/anchor/style/dnb-anchor.css +0 -16
  199. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  200. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  201. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  202. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  203. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  204. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  205. package/es/components/autocomplete/Autocomplete.js +2 -2
  206. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  207. package/es/components/button/style/dnb-button.css +13 -0
  208. package/es/components/button/style/dnb-button.min.css +1 -1
  209. package/es/components/button/style/dnb-button.scss +16 -0
  210. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  211. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  212. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  213. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  214. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  215. package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  216. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  217. package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  218. package/es/components/date-picker/DatePicker.d.ts +14 -1
  219. package/es/components/date-picker/DatePicker.js +0 -1
  220. package/es/components/date-picker/DatePicker.js.map +1 -1
  221. package/es/components/date-picker/DatePickerCalc.js +2 -1
  222. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  223. package/es/components/date-picker/DatePickerInput.d.ts +3 -0
  224. package/es/components/date-picker/DatePickerInput.js +9 -2
  225. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  226. package/es/components/dropdown/Dropdown.js +3 -2
  227. package/es/components/dropdown/Dropdown.js.map +1 -1
  228. package/es/components/flex/Container.js +11 -2
  229. package/es/components/flex/Container.js.map +1 -1
  230. package/es/components/flex/export.d.ts +1 -0
  231. package/es/components/flex/export.js +1 -0
  232. package/es/components/flex/export.js.map +1 -1
  233. package/es/components/flex/withChildren.d.ts +6 -0
  234. package/es/components/flex/withChildren.js +6 -0
  235. package/es/components/flex/withChildren.js.map +1 -0
  236. package/es/components/input/Input.js +3 -3
  237. package/es/components/input/Input.js.map +1 -1
  238. package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  239. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  240. package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  241. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  242. package/es/components/input-masked/InputMaskedHooks.js +13 -8
  243. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  244. package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  245. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  246. package/es/components/textarea/style/dnb-textarea.css +5 -0
  247. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  248. package/es/components/textarea/style/dnb-textarea.scss +4 -0
  249. package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  250. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  251. package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
  252. package/es/extensions/forms/Field/Date/Date.js +49 -9
  253. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  254. package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
  255. package/es/extensions/forms/Field/Number/Number.js +112 -29
  256. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  257. package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  258. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  259. package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  260. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  261. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  262. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  263. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  264. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  265. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  266. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  267. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  268. package/es/extensions/forms/Field/String/String.js +21 -1
  269. package/es/extensions/forms/Field/String/String.js.map +1 -1
  270. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -15
  271. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  272. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  273. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  274. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  275. package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  276. package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  277. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  278. package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
  279. package/es/extensions/forms/Form/index.d.ts +1 -0
  280. package/es/extensions/forms/Form/index.js +1 -0
  281. package/es/extensions/forms/Form/index.js.map +1 -1
  282. package/es/extensions/forms/hooks/useDataValue.js +24 -31
  283. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  284. package/es/extensions/forms/hooks/useId.d.ts +1 -0
  285. package/es/extensions/forms/hooks/useId.js +11 -0
  286. package/es/extensions/forms/hooks/useId.js.map +1 -0
  287. package/es/extensions/forms/index.d.ts +6 -1
  288. package/es/extensions/forms/index.js +3 -1
  289. package/es/extensions/forms/index.js.map +1 -1
  290. package/es/extensions/forms/style/dnb-forms.css +202 -0
  291. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  292. package/es/extensions/forms/types.d.ts +12 -10
  293. package/es/extensions/forms/types.js.map +1 -1
  294. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  295. package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
  296. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  297. package/es/shared/Eufemia.d.ts +1 -1
  298. package/es/shared/Eufemia.js +2 -2
  299. package/es/shared/Eufemia.js.map +1 -1
  300. package/es/style/core/utilities.scss +1 -2
  301. package/es/style/dnb-ui-components.css +220 -16
  302. package/es/style/dnb-ui-components.min.css +3 -3
  303. package/es/style/dnb-ui-extensions.css +202 -0
  304. package/es/style/dnb-ui-extensions.min.css +1 -1
  305. package/es/style/dnb-ui-forms.css +202 -0
  306. package/es/style/dnb-ui-forms.min.css +1 -1
  307. package/es/style/dnb-ui-forms.scss +1 -0
  308. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  309. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  310. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  311. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  312. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  313. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  314. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  315. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  316. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  317. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  318. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  319. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  320. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  321. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  322. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  323. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  324. package/es/style/themes/theme-ui/ui-theme-components.css +468 -22
  325. package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  326. package/es/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  327. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  328. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  329. package/es/style/themes/theme-ui/ui-theme-forms.css +218 -1
  330. package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  331. package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  332. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
  333. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  334. package/esm/dnb-ui-basis.min.mjs +1 -1
  335. package/esm/dnb-ui-components.min.mjs +1 -1
  336. package/esm/dnb-ui-elements.min.mjs +1 -1
  337. package/esm/dnb-ui-extensions.min.mjs +3 -3
  338. package/esm/dnb-ui-lib.min.mjs +1 -1
  339. package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  340. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  341. package/extensions/forms/Field/Date/Date.d.ts +3 -1
  342. package/extensions/forms/Field/Date/Date.js +52 -11
  343. package/extensions/forms/Field/Date/Date.js.map +1 -1
  344. package/extensions/forms/Field/Number/Number.d.ts +5 -1
  345. package/extensions/forms/Field/Number/Number.js +113 -29
  346. package/extensions/forms/Field/Number/Number.js.map +1 -1
  347. package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  348. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  349. package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  350. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  351. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  352. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  353. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  354. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  355. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  356. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -5
  357. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  358. package/extensions/forms/Field/String/String.js +21 -1
  359. package/extensions/forms/Field/String/String.js.map +1 -1
  360. package/extensions/forms/FieldBlock/FieldBlock.js +16 -18
  361. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  362. package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -0
  363. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  364. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  365. package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  366. package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +8 -2
  367. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  368. package/extensions/forms/Form/Visibility/index.js.map +1 -0
  369. package/extensions/forms/Form/index.d.ts +1 -0
  370. package/extensions/forms/Form/index.js +1 -0
  371. package/extensions/forms/Form/index.js.map +1 -1
  372. package/extensions/forms/hooks/useDataValue.js +24 -31
  373. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  374. package/extensions/forms/hooks/useId.d.ts +1 -0
  375. package/extensions/forms/hooks/useId.js +11 -0
  376. package/extensions/forms/hooks/useId.js.map +1 -0
  377. package/extensions/forms/index.d.ts +6 -1
  378. package/extensions/forms/index.js +3 -1
  379. package/extensions/forms/index.js.map +1 -1
  380. package/extensions/forms/style/dnb-forms.css +202 -0
  381. package/extensions/forms/style/dnb-forms.min.css +1 -1
  382. package/extensions/forms/types.d.ts +12 -10
  383. package/extensions/forms/types.js.map +1 -1
  384. package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  385. package/extensions/forms/utils/TestElement/TestElement.js +1 -0
  386. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  387. package/package.json +1 -1
  388. package/shared/Eufemia.d.ts +1 -1
  389. package/shared/Eufemia.js +2 -2
  390. package/shared/Eufemia.js.map +1 -1
  391. package/style/core/utilities.scss +1 -2
  392. package/style/dnb-ui-components.css +220 -16
  393. package/style/dnb-ui-components.min.css +3 -3
  394. package/style/dnb-ui-extensions.css +202 -0
  395. package/style/dnb-ui-extensions.min.css +1 -1
  396. package/style/dnb-ui-forms.css +202 -0
  397. package/style/dnb-ui-forms.min.css +1 -1
  398. package/style/dnb-ui-forms.scss +1 -0
  399. package/style/themes/theme-eiendom/eiendom-theme-components.css +470 -22
  400. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  401. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +218 -0
  402. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  403. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  404. package/style/themes/theme-eiendom/eiendom-theme-forms.css +218 -1
  405. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  406. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  407. package/style/themes/theme-sbanken/sbanken-theme-components.css +509 -17
  408. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -5
  409. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +277 -0
  410. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  411. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  412. package/style/themes/theme-sbanken/sbanken-theme-forms.css +277 -1
  413. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  414. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  415. package/style/themes/theme-ui/ui-theme-components.css +468 -22
  416. package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  417. package/style/themes/theme-ui/ui-theme-extensions.css +218 -0
  418. package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  419. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  420. package/style/themes/theme-ui/ui-theme-forms.css +218 -1
  421. package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  422. package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  423. package/style/themes/theme-ui/ui-theme-tags.css +8 -10
  424. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  425. package/umd/dnb-ui-basis.min.js +1 -1
  426. package/umd/dnb-ui-components.min.js +1 -1
  427. package/umd/dnb-ui-elements.min.js +1 -1
  428. package/umd/dnb-ui-extensions.min.js +3 -3
  429. package/umd/dnb-ui-lib.min.js +1 -1
  430. package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
  431. package/cjs/extensions/forms/Visibility/index.js.map +0 -1
  432. package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
  433. package/es/extensions/forms/Visibility/index.js.map +0 -1
  434. package/extensions/forms/Visibility/Visibility.js.map +0 -1
  435. package/extensions/forms/Visibility/index.js.map +0 -1
  436. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  437. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  438. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  439. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  440. /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  441. /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
@@ -0,0 +1,192 @@
1
+ /*
2
+ * Utilities
3
+ */
4
+ :root {
5
+ --forms-field-width--small: 5rem;
6
+ --forms-field-width--medium: 11rem;
7
+ --forms-field-width--large: 21rem;
8
+ }
9
+
10
+ .dnb-forms-field-number {
11
+ --number-control-button-border-color: black;
12
+ --number-control-button-border-color--hover: darkgrey;
13
+ --number-control-button-border-color--focus: darkgrey;
14
+ --number-control-button-border-width--focus: 0.125rem;
15
+ --number-control-button-background-color--hover: grey;
16
+ --number-control-button-color--hover: black;
17
+ --number-control-button-background-color--active: black;
18
+ --number-control-button-color--active: lightgrey;
19
+ --number-control-button--error: red;
20
+ --number-control-button--error-contrast: white;
21
+ --number-control-button-width--small: 2rem;
22
+ --number-control-button-width--medium: 2.5rem;
23
+ --number-control-button-width--large: 3rem;
24
+ --forms-field-block--number-control-buttons-width--small: calc(
25
+ var(--number-control-button-width--small) * 2
26
+ );
27
+ --forms-field-block--number-control-buttons-width--medium: calc(
28
+ var(--number-control-button-width--medium) * 2
29
+ );
30
+ --forms-field-block--number-control-buttons-width--large: calc(
31
+ var(--number-control-button-width--large) * 2
32
+ );
33
+ }
34
+ .dnb-forms-field-number__contents {
35
+ display: flex;
36
+ align-items: center;
37
+ }
38
+ .dnb-forms-field-number__contents--has-controls {
39
+ border-radius: 0.25rem;
40
+ --border-color: var(--number-control-button-border-color);
41
+ --border-width: 0.0625rem;
42
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
43
+ border-color: transparent;
44
+ }
45
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover[disabled] {
46
+ cursor: not-allowed;
47
+ }
48
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover:not([disabled]) {
49
+ --border-color: var(--number-control-button-border-color);
50
+ --border-width: 0.125rem;
51
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
52
+ border-color: transparent;
53
+ }
54
+ html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls:focus-within {
55
+ --border-color: var(--number-control-button-border-color--focus);
56
+ --border-width: var(--number-control-button-border-width--focus);
57
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
58
+ border-color: transparent;
59
+ }
60
+ .dnb-forms-field-number__contents--has-controls .dnb-input__shell {
61
+ border-radius: 0;
62
+ box-shadow: none;
63
+ }
64
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover[disabled] {
65
+ cursor: not-allowed;
66
+ }
67
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover:not([disabled]) {
68
+ box-shadow: none;
69
+ }
70
+ .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell {
71
+ outline: initial;
72
+ box-shadow: none;
73
+ }
74
+ html[data-whatinput=""] .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell {
75
+ box-shadow: none;
76
+ }
77
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled],
78
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled] {
79
+ cursor: not-allowed;
80
+ }
81
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]),
82
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]) {
83
+ background-color: var(--number-control-button-background-color--hover);
84
+ color: var(--number-control-button-color--hover);
85
+ }
86
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled], html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],
87
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],
88
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled] {
89
+ cursor: not-allowed;
90
+ }
91
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),
92
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),
93
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]) {
94
+ background-color: var(--number-control-button-background-color--active);
95
+ color: var(--number-control-button-color--active);
96
+ }
97
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error {
98
+ --border-color: var(--number-control-button--error);
99
+ --border-width: 0.125rem;
100
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
101
+ border-color: transparent;
102
+ }
103
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover[disabled] {
104
+ cursor: not-allowed;
105
+ }
106
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover:not([disabled]) {
107
+ --border-color: var(--number-control-button--error);
108
+ --border-width: 0.125rem;
109
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
110
+ border-color: transparent;
111
+ }
112
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input__status--error:not([data-input-state=disabled]):not(:hover):not(:active) .dnb-input__shell {
113
+ box-shadow: none;
114
+ }
115
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before,
116
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after {
117
+ color: var(--number-control-button--error);
118
+ }
119
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover[disabled],
120
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover[disabled] {
121
+ cursor: not-allowed;
122
+ }
123
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover:not([disabled]),
124
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover:not([disabled]) {
125
+ background-color: var(--number-control-button--error-contrast);
126
+ color: var(--number-control-button--error);
127
+ }
128
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled], html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled],
129
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],
130
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled] {
131
+ cursor: not-allowed;
132
+ }
133
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]),
134
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),
135
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]) {
136
+ background-color: var(--number-control-button--error);
137
+ color: var(--number-control-button--error-contrast);
138
+ }
139
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before[disabled],
140
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after[disabled] {
141
+ color: var(--number-control-button--error-contrast);
142
+ }
143
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
144
+ --border-color: var(--color-black-55);
145
+ --border-width: 0.0625rem;
146
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
147
+ border-color: transparent;
148
+ }
149
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled] {
150
+ cursor: not-allowed;
151
+ }
152
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]) {
153
+ --border-color: var(--color-black-55);
154
+ --border-width: 0.0625rem;
155
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
156
+ border-color: transparent;
157
+ }
158
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input[data-input-state=disabled] .dnb-input__shell {
159
+ box-shadow: none;
160
+ }
161
+ .dnb-input[data-input-state=disabled] .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
162
+ --border-color: var(--color-black-55);
163
+ --border-width: 0.0625rem;
164
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
165
+ border-color: transparent;
166
+ }
167
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled],
168
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled] {
169
+ background-color: var(--color-black-3);
170
+ color: var(--color-black-20);
171
+ }
172
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small {
173
+ width: calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small));
174
+ }
175
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before,
176
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after {
177
+ width: var(--number-control-button-width--small);
178
+ }
179
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium {
180
+ width: calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium));
181
+ }
182
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before,
183
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after {
184
+ width: var(--number-control-button-width--medium);
185
+ }
186
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large {
187
+ width: calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large));
188
+ }
189
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before,
190
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after {
191
+ width: var(--number-control-button-width--large);
192
+ }
@@ -0,0 +1 @@
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{align-items:center;display:flex}.dnb-forms-field-number__contents--has-controls{--border-color:var(--number-control-button-border-color);--border-width:0.0625rem;border-color:transparent;border-radius:.25rem;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls:hover:not([disabled]){--border-color:var(--number-control-button-border-color);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls:focus-within{--border-color:var(--number-control-button-border-color--focus);--border-width:var(--number-control-button-border-width--focus);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls .dnb-input__shell{border-radius:0;box-shadow:none}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-input__shell:hover:not([disabled]){box-shadow:none}.dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell{box-shadow:none;outline:initial}html[data-whatinput=""] .dnb-forms-field-number__contents--has-controls .dnb-input:not([data-input-state=disabled]):not(:active)[data-input-state=focus] .dnb-input__shell{box-shadow:none}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error{--border-color:var(--number-control-button--error);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error:hover:not([disabled]){--border-color:var(--number-control-button--error);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input__status--error:not([data-input-state=disabled]):not(:hover):not(:active) .dnb-input__shell{box-shadow:none}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled{--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]){--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input[data-input-state=disabled] .dnb-input__shell{box-shadow:none}.dnb-input[data-input-state=disabled] .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled{--border-color:var(--color-black-55);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}
@@ -0,0 +1,176 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+ @import '../../style/field-sizes.scss';
3
+
4
+ .dnb-forms-field-number {
5
+ --number-control-button-border-color: black;
6
+ --number-control-button-border-color--hover: darkgrey;
7
+ --number-control-button-border-color--focus: darkgrey;
8
+ --number-control-button-border-width--focus: 0.125rem;
9
+ --number-control-button-background-color--hover: grey;
10
+ --number-control-button-color--hover: black;
11
+ --number-control-button-background-color--active: black;
12
+ --number-control-button-color--active: lightgrey;
13
+ --number-control-button--error: red;
14
+ --number-control-button--error-contrast: white;
15
+ --number-control-button-width--small: 2rem;
16
+ --number-control-button-width--medium: 2.5rem;
17
+ --number-control-button-width--large: 3rem;
18
+ --forms-field-block--number-control-buttons-width--small: calc(
19
+ var(--number-control-button-width--small) * 2
20
+ );
21
+ --forms-field-block--number-control-buttons-width--medium: calc(
22
+ var(--number-control-button-width--medium) * 2
23
+ );
24
+ --forms-field-block--number-control-buttons-width--large: calc(
25
+ var(--number-control-button-width--large) * 2
26
+ );
27
+
28
+ &__contents {
29
+ display: flex;
30
+ align-items: center;
31
+
32
+ &--has-controls {
33
+ border-radius: 0.25rem;
34
+ @include fakeBorder(
35
+ var(--number-control-button-border-color),
36
+ 0.0625rem
37
+ );
38
+ @include hover() {
39
+ @include fakeBorder(
40
+ var(--number-control-button-border-color),
41
+ 0.125rem
42
+ );
43
+ }
44
+
45
+ &:focus-within {
46
+ html[data-whatinput='keyboard'] & {
47
+ @include fakeBorder(
48
+ var(--number-control-button-border-color--focus),
49
+ var(--number-control-button-border-width--focus)
50
+ );
51
+ }
52
+ }
53
+
54
+ .dnb-input {
55
+ &__shell {
56
+ border-radius: 0;
57
+ box-shadow: none;
58
+ @include hover() {
59
+ box-shadow: none;
60
+ }
61
+ }
62
+ &:not([data-input-state='disabled']):not(:active) {
63
+ // Focus
64
+ &[data-input-state='focus'] {
65
+ .dnb-input__shell {
66
+ @include removeFocusRing();
67
+ }
68
+ }
69
+ }
70
+ }
71
+
72
+ .dnb-button--control-before,
73
+ .dnb-button--control-after {
74
+ @include hover() {
75
+ background-color: var(
76
+ --number-control-button-background-color--hover
77
+ );
78
+ color: var(--number-control-button-color--hover);
79
+ }
80
+ @include active() {
81
+ background-color: var(
82
+ --number-control-button-background-color--active
83
+ );
84
+ color: var(--number-control-button-color--active);
85
+ }
86
+ }
87
+ }
88
+
89
+ &--has-controls#{&}--has-error {
90
+ @include fakeBorder(var(--number-control-button--error), 0.125rem);
91
+ @include hover() {
92
+ @include fakeBorder(var(--number-control-button--error), 0.125rem);
93
+ }
94
+
95
+ .dnb-input__status--error {
96
+ &:not([data-input-state='disabled']):not(:hover):not(:active) {
97
+ .dnb-input__shell {
98
+ box-shadow: none;
99
+ }
100
+ }
101
+ }
102
+
103
+ .dnb-button--control-before,
104
+ .dnb-button--control-after {
105
+ color: var(--number-control-button--error);
106
+ @include hover() {
107
+ background-color: var(--number-control-button--error-contrast);
108
+ color: var(--number-control-button--error);
109
+ }
110
+ @include active() {
111
+ background-color: var(--number-control-button--error);
112
+ color: var(--number-control-button--error-contrast);
113
+ }
114
+ &[disabled] {
115
+ color: var(--number-control-button--error-contrast);
116
+ }
117
+ }
118
+ }
119
+
120
+ &--has-controls#{&}--is-disabled {
121
+ @include fakeBorder(var(--color-black-55), 0.0625rem);
122
+ @include hover() {
123
+ @include fakeBorder(var(--color-black-55), 0.0625rem);
124
+ }
125
+
126
+ .dnb-input {
127
+ &[data-input-state='disabled'] {
128
+ .dnb-input__shell {
129
+ box-shadow: none;
130
+ }
131
+ }
132
+ }
133
+
134
+ .dnb-input[data-input-state='disabled'] & {
135
+ @include fakeBorder(var(--color-black-55), 0.0625rem);
136
+ }
137
+
138
+ .dnb-button--control-before[disabled],
139
+ .dnb-button--control-after[disabled] {
140
+ background-color: var(--color-black-3);
141
+ color: var(--color-black-20);
142
+ }
143
+ }
144
+
145
+ &--has-controls.dnb-forms-field-block__contents--width-small {
146
+ width: calc(
147
+ var(--forms-field-width--small) +
148
+ var(--forms-field-block--number-control-buttons-width--small)
149
+ );
150
+ .dnb-button--control-before,
151
+ .dnb-button--control-after {
152
+ width: var(--number-control-button-width--small);
153
+ }
154
+ }
155
+ &--has-controls.dnb-forms-field-block__contents--width-medium {
156
+ width: calc(
157
+ var(--forms-field-width--medium) +
158
+ var(--forms-field-block--number-control-buttons-width--medium)
159
+ );
160
+ .dnb-button--control-before,
161
+ .dnb-button--control-after {
162
+ width: var(--number-control-button-width--medium);
163
+ }
164
+ }
165
+ &--has-controls.dnb-forms-field-block__contents--width-large {
166
+ width: calc(
167
+ var(--forms-field-width--large) +
168
+ var(--forms-field-block--number-control-buttons-width--large)
169
+ );
170
+ .dnb-button--control-before,
171
+ .dnb-button--control-after {
172
+ width: var(--number-control-button-width--large);
173
+ }
174
+ }
175
+ }
176
+ }
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Utilities
3
+ */
4
+ .dnb-forms-field-number {
5
+ --number-control-button-border-color: var(--sb-color-purple-alternative);
6
+ --number-control-button-border-color--hover: var(
7
+ --sb-color-purple-alternative
8
+ );
9
+ --number-control-button-border-color--focus: var(--focus-ring-color);
10
+ --number-control-button-border-width--focus: var(--focus-ring-width);
11
+ --number-control-button-background-color--hover: #e0d0ff;
12
+ --number-control-button-color--hover: var(--sb-color-purple-alternative);
13
+ --number-control-button-background-color--active: #1c1b4e;
14
+ --number-control-button-color--active: #e0d0ff;
15
+ --number-control-button--error: var(--sb-color-red);
16
+ --number-control-button--error-contrast: var(--sb-color-magenta-light-2);
17
+ }
18
+ .dnb-forms-field-number__contents--has-controls {
19
+ background-color: #1c1b4e;
20
+ border-radius: 3rem;
21
+ }
22
+ .dnb-forms-field-number__contents--has-controls .dnb-input {
23
+ position: relative;
24
+ }
25
+ .dnb-forms-field-number__contents--has-controls .dnb-input::before, .dnb-forms-field-number__contents--has-controls .dnb-input::after {
26
+ position: absolute;
27
+ top: 0.25rem;
28
+ bottom: 0.25rem;
29
+ border-left: 0.0625rem solid #e0d0ff;
30
+ content: "";
31
+ z-index: 1;
32
+ }
33
+ .dnb-forms-field-number__contents--has-controls .dnb-input::before {
34
+ left: -1px;
35
+ }
36
+ .dnb-forms-field-number__contents--has-controls .dnb-input::after {
37
+ right: -1px;
38
+ }
39
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:not(:disabled):active ~ .dnb-input::before {
40
+ z-index: -1;
41
+ }
42
+ .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:not(:disabled):active {
43
+ z-index: 1;
44
+ }
45
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input::before, .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input::after {
46
+ border-left: 0.0625rem solid var(--number-control-button--error-contrast);
47
+ }
48
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled {
49
+ --border-color: var(--sb-color-gray-dark);
50
+ --border-width: 0.0625rem;
51
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
52
+ border-color: transparent;
53
+ background-color: var(--sb-color-gray-light);
54
+ }
55
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled] {
56
+ cursor: not-allowed;
57
+ }
58
+ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]) {
59
+ --border-color: var(--sb-color-gray-dark);
60
+ --border-width: 0.0625rem;
61
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
62
+ border-color: transparent;
63
+ }
64
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input__input {
65
+ color: var(--sb-color-gray-dark);
66
+ }
67
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input::before, .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input::after {
68
+ border-left: 0.0625rem solid var(--sb-color-gray-dark);
69
+ }
70
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled],
71
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled] {
72
+ color: var(--sb-color-gray-dark);
73
+ background-color: var(--sb-color-gray-light);
74
+ }
@@ -0,0 +1,3 @@
1
+ .dnb-forms-field-number{--number-control-button-border-color:var(--sb-color-purple-alternative);--number-control-button-border-color--hover:var(
2
+ --sb-color-purple-alternative
3
+ );--number-control-button-border-color--focus:var(--focus-ring-color);--number-control-button-border-width--focus:var(--focus-ring-width);--number-control-button-background-color--hover:#e0d0ff;--number-control-button-color--hover:var(--sb-color-purple-alternative);--number-control-button-background-color--active:#1c1b4e;--number-control-button-color--active:#e0d0ff;--number-control-button--error:var(--sb-color-red);--number-control-button--error-contrast:var(--sb-color-magenta-light-2)}.dnb-forms-field-number__contents--has-controls{background-color:#1c1b4e;border-radius:3rem}.dnb-forms-field-number__contents--has-controls .dnb-input{position:relative}.dnb-forms-field-number__contents--has-controls .dnb-input:after,.dnb-forms-field-number__contents--has-controls .dnb-input:before{border-left:.0625rem solid #e0d0ff;bottom:.25rem;content:"";position:absolute;top:.25rem;z-index:1}.dnb-forms-field-number__contents--has-controls .dnb-input:before{left:-1px}.dnb-forms-field-number__contents--has-controls .dnb-input:after{right:-1px}.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:not(:disabled):active~.dnb-input:before{z-index:-1}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:not(:disabled):active{z-index:1}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input:after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--has-error .dnb-input:before{border-left:.0625rem solid var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled{--border-color:var(--sb-color-gray-dark);--border-width:0.0625rem;background-color:var(--sb-color-gray-light);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled:hover:not([disabled]){--border-color:var(--sb-color-gray-dark);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input__input{color:var(--sb-color-gray-dark)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input:after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-input:before{border-left:.0625rem solid var(--sb-color-gray-dark)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-forms-field-number__contents--is-disabled .dnb-button--control-before[disabled]{background-color:var(--sb-color-gray-light);color:var(--sb-color-gray-dark)}
@@ -0,0 +1,81 @@
1
+ @import '../../../../../../style/core/utilities.scss';
2
+
3
+ .dnb-forms-field-number {
4
+ --number-control-button-border-color: var(--sb-color-purple-alternative);
5
+ --number-control-button-border-color--hover: var(
6
+ --sb-color-purple-alternative
7
+ );
8
+ --number-control-button-border-color--focus: var(--focus-ring-color);
9
+ --number-control-button-border-width--focus: var(--focus-ring-width);
10
+ --number-control-button-background-color--hover: #e0d0ff;
11
+ --number-control-button-color--hover: var(--sb-color-purple-alternative);
12
+ --number-control-button-background-color--active: #1c1b4e;
13
+ --number-control-button-color--active: #e0d0ff;
14
+ --number-control-button--error: var(--sb-color-red);
15
+ --number-control-button--error-contrast: var(--sb-color-magenta-light-2);
16
+
17
+ &__contents {
18
+ &--has-controls {
19
+ background-color: #1c1b4e;
20
+ border-radius: 3rem;
21
+ .dnb-input {
22
+ position: relative;
23
+ &::before,
24
+ &::after {
25
+ position: absolute;
26
+ top: 0.25rem;
27
+ bottom: 0.25rem;
28
+ border-left: 0.0625rem solid #e0d0ff;
29
+ content: '';
30
+ z-index: 1;
31
+ }
32
+ &::before {
33
+ left: -1px;
34
+ }
35
+ &::after {
36
+ right: -1px;
37
+ }
38
+ }
39
+ .dnb-button--control-before:not(:disabled):active
40
+ ~ .dnb-input::before {
41
+ z-index: -1;
42
+ }
43
+ .dnb-button--control-after:not(:disabled):active {
44
+ z-index: 1;
45
+ }
46
+ }
47
+
48
+ &--has-controls#{&}--has-error {
49
+ .dnb-input {
50
+ &::before,
51
+ &::after {
52
+ border-left: 0.0625rem solid
53
+ var(--number-control-button--error-contrast);
54
+ }
55
+ }
56
+ }
57
+
58
+ &--has-controls#{&}--is-disabled {
59
+ @include fakeBorder(var(--sb-color-gray-dark), 0.0625rem);
60
+ @include hover() {
61
+ @include fakeBorder(var(--sb-color-gray-dark), 0.0625rem);
62
+ }
63
+ background-color: var(--sb-color-gray-light);
64
+ .dnb-input {
65
+ &__input {
66
+ color: var(--sb-color-gray-dark);
67
+ }
68
+ &::before,
69
+ &::after {
70
+ border-left: 0.0625rem solid var(--sb-color-gray-dark);
71
+ }
72
+ }
73
+
74
+ .dnb-button--control-before[disabled],
75
+ .dnb-button--control-after[disabled] {
76
+ color: var(--sb-color-gray-dark);
77
+ background-color: var(--sb-color-gray-light);
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,15 @@
1
+ .dnb-forms-field-number {
2
+ --number-control-button-border-color: var(--color-sea-green);
3
+ --number-control-button-border-color--hover: var(--color-emerald-green);
4
+ --number-control-button-border-color--focus: var(--color-emerald-green);
5
+ --number-control-button-background-color--hover: var(
6
+ --color-mint-green-12
7
+ );
8
+ --number-control-button-color--hover: var(--color-emerald-green);
9
+ --number-control-button-background-color--active: var(
10
+ --color-mint-green-50
11
+ );
12
+ --number-control-button-color--active: var(--color-sea-green);
13
+ --number-control-button--error: var(--color-fire-red);
14
+ --number-control-button--error-contrast: var(--color-fire-red-8);
15
+ }
@@ -0,0 +1,5 @@
1
+ .dnb-forms-field-number{--number-control-button-border-color:var(--color-sea-green);--number-control-button-border-color--hover:var(--color-emerald-green);--number-control-button-border-color--focus:var(--color-emerald-green);--number-control-button-background-color--hover:var(
2
+ --color-mint-green-12
3
+ );--number-control-button-color--hover:var(--color-emerald-green);--number-control-button-background-color--active:var(
4
+ --color-mint-green-50
5
+ );--number-control-button-color--active:var(--color-sea-green);--number-control-button--error:var(--color-fire-red);--number-control-button--error-contrast:var(--color-fire-red-8)}
@@ -0,0 +1,15 @@
1
+ .dnb-forms-field-number {
2
+ --number-control-button-border-color: var(--color-sea-green);
3
+ --number-control-button-border-color--hover: var(--color-emerald-green);
4
+ --number-control-button-border-color--focus: var(--color-emerald-green);
5
+ --number-control-button-background-color--hover: var(
6
+ --color-mint-green-12
7
+ );
8
+ --number-control-button-color--hover: var(--color-emerald-green);
9
+ --number-control-button-background-color--active: var(
10
+ --color-mint-green-50
11
+ );
12
+ --number-control-button-color--active: var(--color-sea-green);
13
+ --number-control-button--error: var(--color-fire-red);
14
+ --number-control-button--error-contrast: var(--color-fire-red-8);
15
+ }
@@ -11,7 +11,6 @@ import countries from '../../constants/countries';
11
11
  import StringComponent from '../String';
12
12
  import { useDataValue } from '../../hooks';
13
13
  import FieldBlock from '../../FieldBlock';
14
- import { FormError } from '../../types';
15
14
  import { pickSpacingProps } from '../../../../components/flex/utils';
16
15
  import SharedContext from '../../../../shared/Context';
17
16
  import { getCountryData, makeCountryFilterSet } from '../SelectCountry';
@@ -35,11 +34,9 @@ function PhoneNumber(props) {
35
34
  const validateRequired = useCallback((value, _ref) => {
36
35
  let {
37
36
  required,
38
- isChanged
37
+ isChanged,
38
+ error
39
39
  } = _ref;
40
- const error = new FormError('The value is required', {
41
- validationRule: 'required'
42
- });
43
40
  if (required) {
44
41
  const [countryCode, phoneNumber] = splitValue(value);
45
42
  if (countryCode !== prevCountryCodeRef.current) {
@@ -216,6 +213,7 @@ function PhoneNumber(props) {
216
213
  label: countryCodeLabel !== null && countryCodeLabel !== void 0 ? countryCodeLabel : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.countryCodeLabel,
217
214
  data: dataRef.current,
218
215
  value: countryCodeRef.current,
216
+ status: error ? 'error' : undefined,
219
217
  disabled: disabled,
220
218
  on_focus: onFocusHandler,
221
219
  on_blur: handleBlur,