@dnb/eufemia 10.7.0 → 10.9.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 (1468) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
  4. package/cjs/components/accordion/AccordionHeader.js +18 -5
  5. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.css +22 -17
  7. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  12. package/cjs/components/anchor/Anchor.js +1 -1
  13. package/cjs/components/anchor/Anchor.js.map +1 -1
  14. package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  16. package/cjs/components/autocomplete/Autocomplete.js +4 -2
  17. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/avatar/style/index.d.ts +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +24 -2
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  25. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  26. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  28. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  29. package/cjs/components/checkbox/Checkbox.js +6 -4
  30. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  34. package/cjs/components/drawer/Drawer.d.ts +1 -1
  35. package/cjs/components/drawer/Drawer.js +3 -1
  36. package/cjs/components/drawer/Drawer.js.map +1 -1
  37. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  38. package/cjs/components/form-status/FormStatus.js +70 -53
  39. package/cjs/components/form-status/FormStatus.js.map +1 -1
  40. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  41. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  42. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  43. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  44. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  45. package/cjs/components/global-status/GlobalStatus.js +17 -7
  46. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  47. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  48. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  52. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  54. package/cjs/components/heading/Heading.d.ts +8 -8
  55. package/cjs/components/heading/Heading.js +8 -16
  56. package/cjs/components/heading/Heading.js.map +1 -1
  57. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  58. package/cjs/components/heading/HeadingHelpers.js +42 -1
  59. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  60. package/cjs/components/info-card/index.js.map +1 -1
  61. package/cjs/components/info-card/style.js.map +1 -1
  62. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  63. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  64. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  65. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  66. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  67. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  68. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  69. package/cjs/components/modal/Modal.js.map +1 -1
  70. package/cjs/components/modal/ModalContent.js +3 -1
  71. package/cjs/components/modal/ModalContent.js.map +1 -1
  72. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  73. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  74. package/cjs/components/pagination/Pagination.js.map +1 -1
  75. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  76. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  77. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  78. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  79. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  80. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  81. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  82. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  83. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  84. package/cjs/components/radio/Radio.d.ts +4 -0
  85. package/cjs/components/radio/Radio.js +6 -4
  86. package/cjs/components/radio/Radio.js.map +1 -1
  87. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  88. package/cjs/components/section/Section.d.ts +21 -1
  89. package/cjs/components/section/Section.js +1 -1
  90. package/cjs/components/section/Section.js.map +1 -1
  91. package/cjs/components/section/style/dnb-section.css +1 -1
  92. package/cjs/components/section/style/dnb-section.scss +8 -3
  93. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  94. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  95. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  96. package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
  97. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  98. package/cjs/components/skeleton/style/dnb-skeleton.scss +74 -5
  99. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  100. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  101. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  102. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  103. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  104. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  105. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  106. package/cjs/components/space/SpacingUtils.js.map +1 -1
  107. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  108. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  109. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  110. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  111. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  112. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  113. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  114. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  115. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  116. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  117. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  118. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  119. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  120. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  121. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  122. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  123. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  124. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  125. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  126. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  127. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  128. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  129. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  130. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  131. package/cjs/components/switch/Switch.d.ts +4 -0
  132. package/cjs/components/switch/Switch.js +6 -4
  133. package/cjs/components/switch/Switch.js.map +1 -1
  134. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  135. package/cjs/components/table/TableContainer.js.map +1 -1
  136. package/cjs/components/table/style/table-accordion.scss +18 -6
  137. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  138. package/cjs/components/table/style/table-tr.scss +6 -2
  139. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  140. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  141. package/cjs/components/timeline/TimelineItem.js +96 -62
  142. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  143. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  144. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  145. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  146. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  147. package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
  148. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  149. package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
  150. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  151. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  152. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  153. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  154. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  155. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  156. package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
  157. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  158. package/cjs/elements/lib.d.ts +1 -1
  159. package/cjs/elements/typography/H.d.ts +5 -3
  160. package/cjs/elements/typography/H.js +7 -3
  161. package/cjs/elements/typography/H.js.map +1 -1
  162. package/cjs/elements/typography/H1.js +2 -2
  163. package/cjs/elements/typography/H1.js.map +1 -1
  164. package/cjs/elements/typography/H2.js +2 -2
  165. package/cjs/elements/typography/H2.js.map +1 -1
  166. package/cjs/elements/typography/H3.js +2 -2
  167. package/cjs/elements/typography/H3.js.map +1 -1
  168. package/cjs/elements/typography/H4.js +2 -2
  169. package/cjs/elements/typography/H4.js.map +1 -1
  170. package/cjs/elements/typography/H5.js +2 -2
  171. package/cjs/elements/typography/H5.js.map +1 -1
  172. package/cjs/elements/typography/H6.js +2 -2
  173. package/cjs/elements/typography/H6.js.map +1 -1
  174. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  175. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  176. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  177. package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
  178. package/cjs/extensions/forms/DataContext/At.js.map +1 -1
  179. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  180. package/cjs/extensions/forms/DataContext/Context.js +2 -1
  181. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  182. package/cjs/extensions/forms/DataContext/Provider.js +7 -3
  183. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  184. package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
  185. package/cjs/extensions/forms/DataContext/index.js +0 -2
  186. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  187. package/cjs/extensions/forms/Field/ArraySelection.d.ts +4 -4
  188. package/cjs/extensions/forms/Field/ArraySelection.js +55 -35
  189. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  190. package/cjs/extensions/forms/Field/CountryCode.d.ts +9 -0
  191. package/cjs/extensions/forms/Field/CountryCode.js +77 -0
  192. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  193. package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
  194. package/cjs/extensions/forms/Field/Currency.js +6 -38
  195. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  196. package/cjs/extensions/forms/Field/Date.d.ts +2 -3
  197. package/cjs/extensions/forms/Field/Date.js +14 -10
  198. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  199. package/cjs/extensions/forms/Field/Number.d.ts +7 -4
  200. package/cjs/extensions/forms/Field/Number.js +48 -23
  201. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  202. package/cjs/extensions/forms/Field/Option.d.ts +2 -3
  203. package/cjs/extensions/forms/Field/Option.js.map +1 -1
  204. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  205. package/cjs/extensions/forms/Field/PhoneNumber.js +45 -44
  206. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  207. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  208. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  209. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  210. package/cjs/extensions/forms/Field/Selection.d.ts +6 -5
  211. package/cjs/extensions/forms/Field/Selection.js +90 -40
  212. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  213. package/cjs/extensions/forms/Field/String.d.ts +3 -4
  214. package/cjs/extensions/forms/Field/String.js +28 -16
  215. package/cjs/extensions/forms/Field/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
  217. package/cjs/extensions/forms/Field/Toggle.js +16 -14
  218. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  219. package/cjs/extensions/forms/Field/fields.scss +2 -2
  220. package/cjs/extensions/forms/Field/index.d.ts +2 -4
  221. package/cjs/extensions/forms/Field/index.js +3 -5
  222. package/cjs/extensions/forms/Field/index.js.map +1 -1
  223. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  224. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  225. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  226. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  227. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  228. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  229. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  230. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  231. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  232. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  233. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  234. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  235. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  236. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  237. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  238. package/cjs/extensions/forms/Field/style/index.scss +2 -0
  239. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  240. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +88 -15
  241. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  242. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  243. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
  244. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  245. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  246. package/cjs/extensions/forms/FieldBlock/index.js +15 -2
  247. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  248. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  249. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  250. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  251. package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
  252. package/cjs/extensions/forms/Form/FormElement.js +39 -0
  253. package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
  254. package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
  255. package/cjs/extensions/forms/Form/FormHandler.js +41 -0
  256. package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
  257. package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  258. package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
  259. package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
  260. package/cjs/extensions/forms/Form/index.d.ts +9 -0
  261. package/cjs/extensions/forms/Form/index.js +18 -0
  262. package/cjs/extensions/forms/Form/index.js.map +1 -0
  263. package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
  264. package/cjs/extensions/forms/Iterate/Array.js +91 -0
  265. package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
  266. package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  267. package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
  268. package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  269. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  270. package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
  271. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  272. package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  273. package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
  274. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  275. package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
  276. package/cjs/extensions/forms/Iterate/index.js +25 -0
  277. package/cjs/extensions/forms/Iterate/index.js.map +1 -0
  278. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  279. package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
  280. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
  281. package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
  282. package/cjs/extensions/forms/Layout/Card.js +5 -5
  283. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  284. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  285. package/cjs/extensions/forms/Layout/FlexContainer.js +6 -5
  286. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  287. package/cjs/extensions/forms/Layout/FlexItem.d.ts +2 -1
  288. package/cjs/extensions/forms/Layout/FlexItem.js +4 -3
  289. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  290. package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
  291. package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
  292. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
  293. package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
  294. package/cjs/extensions/forms/Layout/Section.js +2 -2
  295. package/cjs/extensions/forms/Layout/Section.js.map +1 -1
  296. package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
  297. package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
  298. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  299. package/cjs/extensions/forms/Layout/index.d.ts +0 -2
  300. package/cjs/extensions/forms/Layout/index.js +1 -3
  301. package/cjs/extensions/forms/Layout/index.js.map +1 -1
  302. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  303. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  304. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  305. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  306. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  307. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  308. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  309. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  310. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  311. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  312. package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
  313. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  314. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  315. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  316. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  317. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  318. package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
  319. package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
  320. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
  321. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  322. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  323. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  324. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  325. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  326. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  327. package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
  328. package/cjs/extensions/forms/Value/Boolean.js +4 -4
  329. package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
  330. package/cjs/extensions/forms/Value/Number.d.ts +2 -3
  331. package/cjs/extensions/forms/Value/Number.js +4 -3
  332. package/cjs/extensions/forms/Value/Number.js.map +1 -1
  333. package/cjs/extensions/forms/Value/String.d.ts +2 -3
  334. package/cjs/extensions/forms/Value/String.js +4 -4
  335. package/cjs/extensions/forms/Value/String.js.map +1 -1
  336. package/cjs/extensions/forms/Value/index.d.ts +0 -4
  337. package/cjs/extensions/forms/Value/index.js +0 -4
  338. package/cjs/extensions/forms/Value/index.js.map +1 -1
  339. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  340. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  341. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  342. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  343. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  344. package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
  345. package/cjs/extensions/forms/hooks/index.js.map +1 -0
  346. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
  347. package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +91 -56
  348. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  349. package/cjs/extensions/forms/index.d.ts +4 -4
  350. package/cjs/extensions/forms/index.js +20 -12
  351. package/cjs/extensions/forms/index.js.map +1 -1
  352. package/cjs/extensions/forms/style/dnb-forms.css +105 -29
  353. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  354. package/cjs/extensions/forms/style/index.d.ts +1 -0
  355. package/cjs/extensions/forms/style/index.js +4 -0
  356. package/cjs/extensions/forms/style/index.js.map +1 -0
  357. package/cjs/extensions/forms/types.d.ts +95 -2
  358. package/cjs/extensions/forms/types.js +71 -0
  359. package/cjs/extensions/forms/types.js.map +1 -1
  360. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  361. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  362. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  363. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  364. package/cjs/extensions/forms/utils/index.js +0 -12
  365. package/cjs/extensions/forms/utils/index.js.map +1 -1
  366. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  367. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  368. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  369. package/cjs/extensions/forms/variables.scss +3 -0
  370. package/cjs/extensions/lib.d.ts +1 -2
  371. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  372. package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
  373. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  374. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  375. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  376. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  377. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  378. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  379. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  380. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  381. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  382. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  383. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  384. package/cjs/shared/Context.d.ts +2 -0
  385. package/cjs/shared/Context.js.map +1 -1
  386. package/cjs/shared/Eufemia.d.ts +1 -1
  387. package/cjs/shared/Eufemia.js +2 -2
  388. package/cjs/shared/Eufemia.js.map +1 -1
  389. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  390. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  391. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  392. package/cjs/shared/locales/en-GB.d.ts +1 -0
  393. package/cjs/shared/locales/en-GB.js +1 -0
  394. package/cjs/shared/locales/en-GB.js.map +1 -1
  395. package/cjs/shared/locales/en-US.d.ts +1 -0
  396. package/cjs/shared/locales/index.d.ts +2 -0
  397. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  398. package/cjs/shared/locales/nb-NO.js +1 -0
  399. package/cjs/shared/locales/nb-NO.js.map +1 -1
  400. package/cjs/shared/useMedia.js +33 -23
  401. package/cjs/shared/useMedia.js.map +1 -1
  402. package/cjs/style/core/reset.scss +13 -3
  403. package/cjs/style/core/utilities.scss +3 -1
  404. package/cjs/style/dnb-ui-components.css +142 -20
  405. package/cjs/style/dnb-ui-components.min.css +1 -1
  406. package/cjs/style/dnb-ui-elements.css +23 -11
  407. package/cjs/style/dnb-ui-elements.min.css +1 -1
  408. package/cjs/style/dnb-ui-extensions.css +112 -36
  409. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  410. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  411. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  412. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  413. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  414. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  415. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  416. package/cjs/style/themes/theme-sbanken/customisations.scss +3 -7
  417. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  418. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  419. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  420. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  421. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  422. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  423. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  424. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  425. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  426. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  427. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  428. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  429. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  430. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -11
  431. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  432. package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  433. package/cjs/style/themes/theme-ui/ui-theme-components.css +173 -160
  434. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  435. package/cjs/style/themes/theme-ui/ui-theme-elements.css +23 -11
  436. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  437. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  438. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  439. package/cjs/style/themes/theme-ui/ui-theme-tags.css +20 -11
  440. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  441. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  442. package/components/accordion/Accordion.d.ts +1 -1
  443. package/components/accordion/AccordionHeader.d.ts +4 -4
  444. package/components/accordion/AccordionHeader.js +18 -5
  445. package/components/accordion/AccordionHeader.js.map +1 -1
  446. package/components/accordion/style/dnb-accordion.css +22 -17
  447. package/components/accordion/style/dnb-accordion.min.css +1 -1
  448. package/components/accordion/style/dnb-accordion.scss +40 -18
  449. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  450. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  451. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  452. package/components/anchor/Anchor.js +1 -1
  453. package/components/anchor/Anchor.js.map +1 -1
  454. package/components/anchor/style/anchor-mixins.scss +9 -3
  455. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  456. package/components/autocomplete/Autocomplete.js +4 -2
  457. package/components/autocomplete/Autocomplete.js.map +1 -1
  458. package/components/avatar/style/index.d.ts +1 -1
  459. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  460. package/components/breadcrumb/Breadcrumb.js +2 -2
  461. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  462. package/components/breadcrumb/BreadcrumbItem.js +24 -2
  463. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  464. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  465. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  466. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  467. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  468. package/components/checkbox/Checkbox.d.ts +4 -0
  469. package/components/checkbox/Checkbox.js +6 -4
  470. package/components/checkbox/Checkbox.js.map +1 -1
  471. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  472. package/components/date-picker/DatePickerInput.js.map +1 -1
  473. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  474. package/components/drawer/Drawer.d.ts +1 -1
  475. package/components/drawer/Drawer.js +3 -1
  476. package/components/drawer/Drawer.js.map +1 -1
  477. package/components/form-status/FormStatus.d.ts +2 -0
  478. package/components/form-status/FormStatus.js +70 -53
  479. package/components/form-status/FormStatus.js.map +1 -1
  480. package/components/form-status/style/dnb-form-status.scss +4 -2
  481. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  482. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  483. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  484. package/components/global-status/GlobalStatus.d.ts +1 -1
  485. package/components/global-status/GlobalStatus.js +18 -8
  486. package/components/global-status/GlobalStatus.js.map +1 -1
  487. package/components/global-status/style/dnb-global-status.scss +2 -1
  488. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  489. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  490. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  491. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  492. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  493. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  494. package/components/heading/Heading.d.ts +8 -8
  495. package/components/heading/Heading.js +9 -15
  496. package/components/heading/Heading.js.map +1 -1
  497. package/components/heading/HeadingHelpers.d.ts +5 -1
  498. package/components/heading/HeadingHelpers.js +39 -0
  499. package/components/heading/HeadingHelpers.js.map +1 -1
  500. package/components/info-card/index.js.map +1 -1
  501. package/components/info-card/style.js.map +1 -1
  502. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  503. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  504. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  505. package/components/input-masked/InputMaskedHooks.js +1 -1
  506. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  507. package/components/input-masked/InputMaskedUtils.js +1 -1
  508. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  509. package/components/modal/Modal.js.map +1 -1
  510. package/components/modal/ModalContent.js +3 -1
  511. package/components/modal/ModalContent.js.map +1 -1
  512. package/components/modal/parts/ModalHeaderBar.js +0 -4
  513. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  514. package/components/pagination/Pagination.js.map +1 -1
  515. package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  516. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  517. package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  518. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  519. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  520. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  521. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  522. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  523. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  524. package/components/radio/Radio.d.ts +4 -0
  525. package/components/radio/Radio.js +6 -4
  526. package/components/radio/Radio.js.map +1 -1
  527. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  528. package/components/section/Section.d.ts +21 -1
  529. package/components/section/Section.js +1 -1
  530. package/components/section/Section.js.map +1 -1
  531. package/components/section/style/dnb-section.css +1 -1
  532. package/components/section/style/dnb-section.scss +8 -3
  533. package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  534. package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  535. package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  536. package/components/skeleton/style/dnb-skeleton.css +50 -0
  537. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  538. package/components/skeleton/style/dnb-skeleton.scss +74 -5
  539. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  540. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  541. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  542. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  543. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  544. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  545. package/components/slider/style/dnb-slider.scss +4 -2
  546. package/components/space/SpacingUtils.js.map +1 -1
  547. package/components/step-indicator/StepIndicator.d.ts +89 -75
  548. package/components/step-indicator/StepIndicator.js +29 -25
  549. package/components/step-indicator/StepIndicator.js.map +1 -1
  550. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  551. package/components/step-indicator/StepIndicatorContext.js +98 -120
  552. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  553. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  554. package/components/step-indicator/StepIndicatorItem.js +177 -227
  555. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  556. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  557. package/components/step-indicator/StepIndicatorList.js +43 -48
  558. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  559. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  560. package/components/step-indicator/StepIndicatorModal.js +38 -50
  561. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  562. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  563. package/components/step-indicator/StepIndicatorProps.js +3 -45
  564. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  565. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  566. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  567. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  568. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  569. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  570. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  571. package/components/switch/Switch.d.ts +4 -0
  572. package/components/switch/Switch.js +6 -4
  573. package/components/switch/Switch.js.map +1 -1
  574. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  575. package/components/table/TableContainer.js.map +1 -1
  576. package/components/table/style/table-accordion.scss +18 -6
  577. package/components/table/style/table-header-buttons.scss +3 -1
  578. package/components/table/style/table-tr.scss +6 -2
  579. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  580. package/components/timeline/TimelineItem.d.ts +3 -2
  581. package/components/timeline/TimelineItem.js +95 -61
  582. package/components/timeline/TimelineItem.js.map +1 -1
  583. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  584. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  585. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  586. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  587. package/components/tooltip/style/dnb-tooltip.css +10 -0
  588. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  589. package/components/tooltip/style/dnb-tooltip.scss +14 -0
  590. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  591. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  592. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  593. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  594. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  595. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  596. package/elements/blockquote/style/blockquote-mixins.scss +22 -11
  597. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  598. package/elements/lib.d.ts +1 -1
  599. package/elements/typography/H.d.ts +5 -3
  600. package/elements/typography/H.js +8 -4
  601. package/elements/typography/H.js.map +1 -1
  602. package/elements/typography/H1.js +2 -2
  603. package/elements/typography/H1.js.map +1 -1
  604. package/elements/typography/H2.js +2 -2
  605. package/elements/typography/H2.js.map +1 -1
  606. package/elements/typography/H3.js +2 -2
  607. package/elements/typography/H3.js.map +1 -1
  608. package/elements/typography/H4.js +2 -2
  609. package/elements/typography/H4.js.map +1 -1
  610. package/elements/typography/H5.js +2 -2
  611. package/elements/typography/H5.js.map +1 -1
  612. package/elements/typography/H6.js +2 -2
  613. package/elements/typography/H6.js.map +1 -1
  614. package/elements/typography/style/dnb-typography.scss +3 -0
  615. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  616. package/elements/typography/style/typography-mixins.scss +5 -0
  617. package/es/components/accordion/Accordion.d.ts +1 -1
  618. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  619. package/es/components/accordion/AccordionHeader.js +18 -5
  620. package/es/components/accordion/AccordionHeader.js.map +1 -1
  621. package/es/components/accordion/style/dnb-accordion.css +22 -17
  622. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  623. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  624. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  625. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  626. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  627. package/es/components/anchor/Anchor.js +1 -1
  628. package/es/components/anchor/Anchor.js.map +1 -1
  629. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  630. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  631. package/es/components/autocomplete/Autocomplete.js +4 -2
  632. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  633. package/es/components/avatar/style/index.d.ts +1 -1
  634. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  635. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  636. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  637. package/es/components/breadcrumb/BreadcrumbItem.js +24 -2
  638. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  639. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  640. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  641. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  642. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  643. package/es/components/checkbox/Checkbox.d.ts +4 -0
  644. package/es/components/checkbox/Checkbox.js +6 -4
  645. package/es/components/checkbox/Checkbox.js.map +1 -1
  646. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  647. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  648. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  649. package/es/components/drawer/Drawer.d.ts +1 -1
  650. package/es/components/drawer/Drawer.js +3 -1
  651. package/es/components/drawer/Drawer.js.map +1 -1
  652. package/es/components/form-status/FormStatus.d.ts +2 -0
  653. package/es/components/form-status/FormStatus.js +70 -53
  654. package/es/components/form-status/FormStatus.js.map +1 -1
  655. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  656. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  657. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  658. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  659. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  660. package/es/components/global-status/GlobalStatus.js +18 -8
  661. package/es/components/global-status/GlobalStatus.js.map +1 -1
  662. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  663. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  664. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  665. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  666. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  667. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  668. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  669. package/es/components/heading/Heading.d.ts +8 -8
  670. package/es/components/heading/Heading.js +9 -15
  671. package/es/components/heading/Heading.js.map +1 -1
  672. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  673. package/es/components/heading/HeadingHelpers.js +39 -0
  674. package/es/components/heading/HeadingHelpers.js.map +1 -1
  675. package/es/components/info-card/index.js.map +1 -1
  676. package/es/components/info-card/style.js.map +1 -1
  677. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  678. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  679. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  680. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  681. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  682. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  683. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  684. package/es/components/modal/Modal.js.map +1 -1
  685. package/es/components/modal/ModalContent.js +3 -1
  686. package/es/components/modal/ModalContent.js.map +1 -1
  687. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  688. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  689. package/es/components/pagination/Pagination.js.map +1 -1
  690. package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  691. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  692. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  693. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  694. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  695. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  696. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  697. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  698. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  699. package/es/components/radio/Radio.d.ts +4 -0
  700. package/es/components/radio/Radio.js +6 -4
  701. package/es/components/radio/Radio.js.map +1 -1
  702. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  703. package/es/components/section/Section.d.ts +21 -1
  704. package/es/components/section/Section.js +1 -1
  705. package/es/components/section/Section.js.map +1 -1
  706. package/es/components/section/style/dnb-section.css +1 -1
  707. package/es/components/section/style/dnb-section.scss +8 -3
  708. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  709. package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  710. package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  711. package/es/components/skeleton/style/dnb-skeleton.css +50 -0
  712. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  713. package/es/components/skeleton/style/dnb-skeleton.scss +74 -5
  714. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  715. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  716. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  717. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  718. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  719. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  720. package/es/components/slider/style/dnb-slider.scss +4 -2
  721. package/es/components/space/SpacingUtils.js.map +1 -1
  722. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  723. package/es/components/step-indicator/StepIndicator.js +29 -25
  724. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  725. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  726. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  727. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  728. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  729. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  730. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  731. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  732. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  733. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  734. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  735. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  736. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  737. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  738. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  739. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  740. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  741. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  742. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  743. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  744. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  745. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  746. package/es/components/switch/Switch.d.ts +4 -0
  747. package/es/components/switch/Switch.js +6 -4
  748. package/es/components/switch/Switch.js.map +1 -1
  749. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  750. package/es/components/table/TableContainer.js.map +1 -1
  751. package/es/components/table/style/table-accordion.scss +18 -6
  752. package/es/components/table/style/table-header-buttons.scss +3 -1
  753. package/es/components/table/style/table-tr.scss +6 -2
  754. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  755. package/es/components/timeline/TimelineItem.d.ts +3 -2
  756. package/es/components/timeline/TimelineItem.js +89 -58
  757. package/es/components/timeline/TimelineItem.js.map +1 -1
  758. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  759. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  760. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  761. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  762. package/es/components/tooltip/style/dnb-tooltip.css +10 -0
  763. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  764. package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
  765. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  766. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  767. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  768. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  769. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  770. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  771. package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
  772. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  773. package/es/elements/lib.d.ts +1 -1
  774. package/es/elements/typography/H.d.ts +5 -3
  775. package/es/elements/typography/H.js +8 -4
  776. package/es/elements/typography/H.js.map +1 -1
  777. package/es/elements/typography/H1.js +2 -2
  778. package/es/elements/typography/H1.js.map +1 -1
  779. package/es/elements/typography/H2.js +2 -2
  780. package/es/elements/typography/H2.js.map +1 -1
  781. package/es/elements/typography/H3.js +2 -2
  782. package/es/elements/typography/H3.js.map +1 -1
  783. package/es/elements/typography/H4.js +2 -2
  784. package/es/elements/typography/H4.js.map +1 -1
  785. package/es/elements/typography/H5.js +2 -2
  786. package/es/elements/typography/H5.js.map +1 -1
  787. package/es/elements/typography/H6.js +2 -2
  788. package/es/elements/typography/H6.js.map +1 -1
  789. package/es/elements/typography/style/dnb-typography.scss +3 -0
  790. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  791. package/es/elements/typography/style/typography-mixins.scss +5 -0
  792. package/es/extensions/forms/DataContext/At.d.ts +1 -1
  793. package/es/extensions/forms/DataContext/At.js.map +1 -1
  794. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  795. package/es/extensions/forms/DataContext/Context.js +2 -1
  796. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  797. package/es/extensions/forms/DataContext/Provider.js +7 -3
  798. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  799. package/es/extensions/forms/DataContext/index.d.ts +0 -2
  800. package/es/extensions/forms/DataContext/index.js +0 -2
  801. package/es/extensions/forms/DataContext/index.js.map +1 -1
  802. package/es/extensions/forms/Field/ArraySelection.d.ts +4 -4
  803. package/es/extensions/forms/Field/ArraySelection.js +52 -36
  804. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  805. package/es/extensions/forms/Field/CountryCode.d.ts +9 -0
  806. package/es/extensions/forms/Field/CountryCode.js +66 -0
  807. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  808. package/es/extensions/forms/Field/Currency.d.ts +2 -3
  809. package/es/extensions/forms/Field/Currency.js +6 -37
  810. package/es/extensions/forms/Field/Currency.js.map +1 -1
  811. package/es/extensions/forms/Field/Date.d.ts +2 -3
  812. package/es/extensions/forms/Field/Date.js +15 -11
  813. package/es/extensions/forms/Field/Date.js.map +1 -1
  814. package/es/extensions/forms/Field/Number.d.ts +7 -4
  815. package/es/extensions/forms/Field/Number.js +47 -24
  816. package/es/extensions/forms/Field/Number.js.map +1 -1
  817. package/es/extensions/forms/Field/Option.d.ts +2 -3
  818. package/es/extensions/forms/Field/Option.js.map +1 -1
  819. package/es/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  820. package/es/extensions/forms/Field/PhoneNumber.js +46 -43
  821. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  822. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  823. package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  824. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  825. package/es/extensions/forms/Field/Selection.d.ts +6 -5
  826. package/es/extensions/forms/Field/Selection.js +88 -41
  827. package/es/extensions/forms/Field/Selection.js.map +1 -1
  828. package/es/extensions/forms/Field/String.d.ts +3 -4
  829. package/es/extensions/forms/Field/String.js +29 -17
  830. package/es/extensions/forms/Field/String.js.map +1 -1
  831. package/es/extensions/forms/Field/Toggle.d.ts +2 -3
  832. package/es/extensions/forms/Field/Toggle.js +16 -14
  833. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  834. package/es/extensions/forms/Field/fields.scss +2 -2
  835. package/es/extensions/forms/Field/index.d.ts +2 -4
  836. package/es/extensions/forms/Field/index.js +3 -5
  837. package/es/extensions/forms/Field/index.js.map +1 -1
  838. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  839. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  840. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  841. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  842. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  843. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  844. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  845. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  846. package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  847. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  848. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  849. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  850. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  851. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  852. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  853. package/es/extensions/forms/Field/style/index.scss +2 -0
  854. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  855. package/es/extensions/forms/FieldBlock/FieldBlock.js +80 -16
  856. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  857. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  858. package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  859. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  860. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  861. package/es/extensions/forms/FieldBlock/index.js +3 -1
  862. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  863. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  864. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  865. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  866. package/es/extensions/forms/Form/FormElement.d.ts +4 -0
  867. package/es/extensions/forms/Form/FormElement.js +31 -0
  868. package/es/extensions/forms/Form/FormElement.js.map +1 -0
  869. package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
  870. package/es/extensions/forms/Form/FormHandler.js +33 -0
  871. package/es/extensions/forms/Form/FormHandler.js.map +1 -0
  872. package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  873. package/es/extensions/forms/Form/SubmitButton.js +25 -0
  874. package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
  875. package/es/extensions/forms/Form/index.d.ts +9 -0
  876. package/es/extensions/forms/Form/index.js +10 -0
  877. package/es/extensions/forms/Form/index.js.map +1 -0
  878. package/es/extensions/forms/Iterate/Array.d.ts +17 -0
  879. package/es/extensions/forms/Iterate/Array.js +80 -0
  880. package/es/extensions/forms/Iterate/Array.js.map +1 -0
  881. package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  882. package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  883. package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  884. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  885. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  886. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  887. package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  888. package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
  889. package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  890. package/es/extensions/forms/Iterate/index.d.ts +11 -0
  891. package/es/extensions/forms/Iterate/index.js +12 -0
  892. package/es/extensions/forms/Iterate/index.js.map +1 -0
  893. package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  894. package/es/extensions/forms/Layout/ButtonRow.js +2 -2
  895. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
  896. package/es/extensions/forms/Layout/Card.d.ts +1 -1
  897. package/es/extensions/forms/Layout/Card.js +5 -5
  898. package/es/extensions/forms/Layout/Card.js.map +1 -1
  899. package/es/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  900. package/es/extensions/forms/Layout/FlexContainer.js +6 -5
  901. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  902. package/es/extensions/forms/Layout/FlexItem.d.ts +2 -1
  903. package/es/extensions/forms/Layout/FlexItem.js +4 -3
  904. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  905. package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
  906. package/es/extensions/forms/Layout/MainHeading.js +10 -4
  907. package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
  908. package/es/extensions/forms/Layout/Section.d.ts +1 -1
  909. package/es/extensions/forms/Layout/Section.js +2 -2
  910. package/es/extensions/forms/Layout/Section.js.map +1 -1
  911. package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
  912. package/es/extensions/forms/Layout/SubHeading.js +10 -4
  913. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  914. package/es/extensions/forms/Layout/index.d.ts +0 -2
  915. package/es/extensions/forms/Layout/index.js +1 -3
  916. package/es/extensions/forms/Layout/index.js.map +1 -1
  917. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  918. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  919. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  920. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  921. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  922. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  923. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  924. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  925. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  926. package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  927. package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
  928. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  929. package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  930. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  931. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  932. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  933. package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
  934. package/es/extensions/forms/StepsLayout/Step.js +2 -2
  935. package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
  936. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  937. package/es/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  938. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  939. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  940. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  941. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  942. package/es/extensions/forms/Value/Boolean.d.ts +2 -3
  943. package/es/extensions/forms/Value/Boolean.js +4 -4
  944. package/es/extensions/forms/Value/Boolean.js.map +1 -1
  945. package/es/extensions/forms/Value/Number.d.ts +2 -3
  946. package/es/extensions/forms/Value/Number.js +5 -4
  947. package/es/extensions/forms/Value/Number.js.map +1 -1
  948. package/es/extensions/forms/Value/String.d.ts +2 -3
  949. package/es/extensions/forms/Value/String.js +4 -4
  950. package/es/extensions/forms/Value/String.js.map +1 -1
  951. package/es/extensions/forms/Value/index.d.ts +0 -4
  952. package/es/extensions/forms/Value/index.js +0 -4
  953. package/es/extensions/forms/Value/index.js.map +1 -1
  954. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  955. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  956. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  957. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  958. package/es/extensions/forms/hooks/index.d.ts +1 -0
  959. package/es/extensions/forms/hooks/index.js +1 -0
  960. package/es/extensions/forms/hooks/index.js.map +1 -0
  961. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
  962. package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +90 -55
  963. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  964. package/es/extensions/forms/index.d.ts +4 -4
  965. package/es/extensions/forms/index.js +3 -2
  966. package/es/extensions/forms/index.js.map +1 -1
  967. package/es/extensions/forms/style/dnb-forms.css +105 -29
  968. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  969. package/es/extensions/forms/style/index.d.ts +1 -0
  970. package/es/extensions/forms/style/index.js +1 -0
  971. package/es/extensions/forms/style/index.js.map +1 -0
  972. package/es/extensions/forms/types.d.ts +95 -2
  973. package/es/extensions/forms/types.js +42 -0
  974. package/es/extensions/forms/types.js.map +1 -1
  975. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  976. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  977. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  978. package/es/extensions/forms/utils/index.d.ts +0 -1
  979. package/es/extensions/forms/utils/index.js +0 -1
  980. package/es/extensions/forms/utils/index.js.map +1 -1
  981. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  982. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  983. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  984. package/es/extensions/forms/variables.scss +3 -0
  985. package/es/extensions/lib.d.ts +1 -2
  986. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  987. package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
  988. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  989. package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  990. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  991. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  992. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  993. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  994. package/es/fragments/drawer-list/DrawerList.js +1 -1
  995. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  996. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  997. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  998. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  999. package/es/shared/Context.d.ts +2 -0
  1000. package/es/shared/Context.js.map +1 -1
  1001. package/es/shared/Eufemia.d.ts +1 -1
  1002. package/es/shared/Eufemia.js +2 -2
  1003. package/es/shared/Eufemia.js.map +1 -1
  1004. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  1005. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1006. package/es/shared/libs/Shortcuts.js.map +1 -1
  1007. package/es/shared/locales/en-GB.d.ts +1 -0
  1008. package/es/shared/locales/en-GB.js +1 -0
  1009. package/es/shared/locales/en-GB.js.map +1 -1
  1010. package/es/shared/locales/en-US.d.ts +1 -0
  1011. package/es/shared/locales/index.d.ts +2 -0
  1012. package/es/shared/locales/nb-NO.d.ts +1 -0
  1013. package/es/shared/locales/nb-NO.js +1 -0
  1014. package/es/shared/locales/nb-NO.js.map +1 -1
  1015. package/es/shared/useMedia.js +30 -21
  1016. package/es/shared/useMedia.js.map +1 -1
  1017. package/es/style/core/reset.scss +13 -3
  1018. package/es/style/core/utilities.scss +3 -1
  1019. package/es/style/dnb-ui-components.css +142 -20
  1020. package/es/style/dnb-ui-components.min.css +1 -1
  1021. package/es/style/dnb-ui-elements.css +23 -11
  1022. package/es/style/dnb-ui-elements.min.css +1 -1
  1023. package/es/style/dnb-ui-extensions.css +112 -36
  1024. package/es/style/dnb-ui-extensions.min.css +1 -1
  1025. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1026. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1027. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1028. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1029. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1030. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1031. package/es/style/themes/theme-sbanken/customisations.scss +3 -7
  1032. package/es/style/themes/theme-sbanken/properties.js +6 -6
  1033. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  1034. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  1035. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1036. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1037. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1038. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1039. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1040. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1041. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1042. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1043. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1044. package/es/style/themes/theme-ui/fonts.scss +8 -4
  1045. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1046. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1047. package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1048. package/es/style/themes/theme-ui/ui-theme-components.css +173 -160
  1049. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1050. package/es/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1051. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1052. package/es/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1053. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1054. package/es/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1055. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1056. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1057. package/esm/dnb-ui-basis.min.mjs +1 -1
  1058. package/esm/dnb-ui-components.min.mjs +1 -1
  1059. package/esm/dnb-ui-elements.min.mjs +1 -1
  1060. package/esm/dnb-ui-extensions.min.mjs +6 -6
  1061. package/esm/dnb-ui-lib.min.mjs +1 -1
  1062. package/extensions/forms/DataContext/At.d.ts +1 -1
  1063. package/extensions/forms/DataContext/At.js.map +1 -1
  1064. package/extensions/forms/DataContext/Context.d.ts +1 -0
  1065. package/extensions/forms/DataContext/Context.js +2 -1
  1066. package/extensions/forms/DataContext/Context.js.map +1 -1
  1067. package/extensions/forms/DataContext/Provider.js +7 -3
  1068. package/extensions/forms/DataContext/Provider.js.map +1 -1
  1069. package/extensions/forms/DataContext/index.d.ts +0 -2
  1070. package/extensions/forms/DataContext/index.js +0 -2
  1071. package/extensions/forms/DataContext/index.js.map +1 -1
  1072. package/extensions/forms/Field/ArraySelection.d.ts +4 -4
  1073. package/extensions/forms/Field/ArraySelection.js +52 -36
  1074. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  1075. package/extensions/forms/Field/CountryCode.d.ts +9 -0
  1076. package/extensions/forms/Field/CountryCode.js +67 -0
  1077. package/extensions/forms/Field/CountryCode.js.map +1 -0
  1078. package/extensions/forms/Field/Currency.d.ts +2 -3
  1079. package/extensions/forms/Field/Currency.js +6 -38
  1080. package/extensions/forms/Field/Currency.js.map +1 -1
  1081. package/extensions/forms/Field/Date.d.ts +2 -3
  1082. package/extensions/forms/Field/Date.js +15 -11
  1083. package/extensions/forms/Field/Date.js.map +1 -1
  1084. package/extensions/forms/Field/Number.d.ts +7 -4
  1085. package/extensions/forms/Field/Number.js +47 -24
  1086. package/extensions/forms/Field/Number.js.map +1 -1
  1087. package/extensions/forms/Field/Option.d.ts +2 -3
  1088. package/extensions/forms/Field/Option.js.map +1 -1
  1089. package/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  1090. package/extensions/forms/Field/PhoneNumber.js +46 -45
  1091. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  1092. package/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  1093. package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  1094. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  1095. package/extensions/forms/Field/Selection.d.ts +6 -5
  1096. package/extensions/forms/Field/Selection.js +90 -42
  1097. package/extensions/forms/Field/Selection.js.map +1 -1
  1098. package/extensions/forms/Field/String.d.ts +3 -4
  1099. package/extensions/forms/Field/String.js +29 -17
  1100. package/extensions/forms/Field/String.js.map +1 -1
  1101. package/extensions/forms/Field/Toggle.d.ts +2 -3
  1102. package/extensions/forms/Field/Toggle.js +16 -14
  1103. package/extensions/forms/Field/Toggle.js.map +1 -1
  1104. package/extensions/forms/Field/fields.scss +2 -2
  1105. package/extensions/forms/Field/index.d.ts +2 -4
  1106. package/extensions/forms/Field/index.js +3 -5
  1107. package/extensions/forms/Field/index.js.map +1 -1
  1108. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  1109. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  1110. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  1111. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  1112. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  1113. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  1114. package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  1115. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  1116. package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  1117. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  1118. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  1119. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  1120. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  1121. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  1122. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  1123. package/extensions/forms/Field/style/index.scss +2 -0
  1124. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  1125. package/extensions/forms/FieldBlock/FieldBlock.js +86 -16
  1126. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1127. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  1128. package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  1129. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  1130. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  1131. package/extensions/forms/FieldBlock/index.js +3 -1
  1132. package/extensions/forms/FieldBlock/index.js.map +1 -1
  1133. package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  1134. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1135. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  1136. package/extensions/forms/Form/FormElement.d.ts +4 -0
  1137. package/extensions/forms/Form/FormElement.js +31 -0
  1138. package/extensions/forms/Form/FormElement.js.map +1 -0
  1139. package/extensions/forms/Form/FormHandler.d.ts +6 -0
  1140. package/extensions/forms/Form/FormHandler.js +33 -0
  1141. package/extensions/forms/Form/FormHandler.js.map +1 -0
  1142. package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  1143. package/extensions/forms/Form/SubmitButton.js +25 -0
  1144. package/extensions/forms/Form/SubmitButton.js.map +1 -0
  1145. package/extensions/forms/Form/index.d.ts +9 -0
  1146. package/extensions/forms/Form/index.js +10 -0
  1147. package/extensions/forms/Form/index.js.map +1 -0
  1148. package/extensions/forms/Iterate/Array.d.ts +17 -0
  1149. package/extensions/forms/Iterate/Array.js +81 -0
  1150. package/extensions/forms/Iterate/Array.js.map +1 -0
  1151. package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  1152. package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  1153. package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  1154. package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  1155. package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  1156. package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  1157. package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  1158. package/extensions/forms/Iterate/IterateElementContext.js +4 -0
  1159. package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  1160. package/extensions/forms/Iterate/index.d.ts +11 -0
  1161. package/extensions/forms/Iterate/index.js +12 -0
  1162. package/extensions/forms/Iterate/index.js.map +1 -0
  1163. package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  1164. package/extensions/forms/Layout/ButtonRow.js +2 -2
  1165. package/extensions/forms/Layout/ButtonRow.js.map +1 -1
  1166. package/extensions/forms/Layout/Card.d.ts +1 -1
  1167. package/extensions/forms/Layout/Card.js +5 -5
  1168. package/extensions/forms/Layout/Card.js.map +1 -1
  1169. package/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  1170. package/extensions/forms/Layout/FlexContainer.js +6 -5
  1171. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  1172. package/extensions/forms/Layout/FlexItem.d.ts +2 -1
  1173. package/extensions/forms/Layout/FlexItem.js +4 -3
  1174. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  1175. package/extensions/forms/Layout/MainHeading.d.ts +4 -2
  1176. package/extensions/forms/Layout/MainHeading.js +10 -4
  1177. package/extensions/forms/Layout/MainHeading.js.map +1 -1
  1178. package/extensions/forms/Layout/Section.d.ts +1 -1
  1179. package/extensions/forms/Layout/Section.js +2 -2
  1180. package/extensions/forms/Layout/Section.js.map +1 -1
  1181. package/extensions/forms/Layout/SubHeading.d.ts +4 -2
  1182. package/extensions/forms/Layout/SubHeading.js +10 -4
  1183. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  1184. package/extensions/forms/Layout/index.d.ts +0 -2
  1185. package/extensions/forms/Layout/index.js +1 -3
  1186. package/extensions/forms/Layout/index.js.map +1 -1
  1187. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  1188. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  1189. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  1190. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  1191. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  1192. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  1193. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  1194. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  1195. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  1196. package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  1197. package/extensions/forms/StepsLayout/Buttons.js +2 -2
  1198. package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  1199. package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  1200. package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  1201. package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  1202. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  1203. package/extensions/forms/StepsLayout/Step.d.ts +1 -1
  1204. package/extensions/forms/StepsLayout/Step.js +2 -2
  1205. package/extensions/forms/StepsLayout/Step.js.map +1 -1
  1206. package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  1207. package/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  1208. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1209. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  1210. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1211. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  1212. package/extensions/forms/Value/Boolean.d.ts +2 -3
  1213. package/extensions/forms/Value/Boolean.js +4 -4
  1214. package/extensions/forms/Value/Boolean.js.map +1 -1
  1215. package/extensions/forms/Value/Number.d.ts +2 -3
  1216. package/extensions/forms/Value/Number.js +5 -4
  1217. package/extensions/forms/Value/Number.js.map +1 -1
  1218. package/extensions/forms/Value/String.d.ts +2 -3
  1219. package/extensions/forms/Value/String.js +4 -4
  1220. package/extensions/forms/Value/String.js.map +1 -1
  1221. package/extensions/forms/Value/index.d.ts +0 -4
  1222. package/extensions/forms/Value/index.js +0 -4
  1223. package/extensions/forms/Value/index.js.map +1 -1
  1224. package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  1225. package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  1226. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  1227. package/extensions/forms/ValueBlock/index.js.map +1 -1
  1228. package/extensions/forms/hooks/index.d.ts +1 -0
  1229. package/extensions/forms/hooks/index.js +1 -0
  1230. package/extensions/forms/hooks/index.js.map +1 -0
  1231. package/extensions/forms/hooks/useDataValue.d.ts +12 -0
  1232. package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +90 -53
  1233. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  1234. package/extensions/forms/index.d.ts +4 -4
  1235. package/extensions/forms/index.js +3 -2
  1236. package/extensions/forms/index.js.map +1 -1
  1237. package/extensions/forms/style/dnb-forms.css +105 -29
  1238. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1239. package/extensions/forms/style/index.d.ts +1 -0
  1240. package/extensions/forms/style/index.js +1 -0
  1241. package/extensions/forms/style/index.js.map +1 -0
  1242. package/extensions/forms/types.d.ts +95 -2
  1243. package/extensions/forms/types.js +60 -0
  1244. package/extensions/forms/types.js.map +1 -1
  1245. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  1246. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1247. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  1248. package/extensions/forms/utils/index.d.ts +0 -1
  1249. package/extensions/forms/utils/index.js +0 -1
  1250. package/extensions/forms/utils/index.js.map +1 -1
  1251. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  1252. package/extensions/forms/utils/useWasChanged.js +56 -0
  1253. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  1254. package/extensions/forms/variables.scss +3 -0
  1255. package/extensions/lib.d.ts +1 -2
  1256. package/extensions/payment-card/PaymentCard.js.map +1 -1
  1257. package/extensions/payment-card/style/dnb-payment-card.css +7 -7
  1258. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  1259. package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  1260. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  1261. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  1262. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  1263. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  1264. package/fragments/drawer-list/DrawerList.js +1 -1
  1265. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1266. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  1267. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  1268. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  1269. package/package.json +2 -1
  1270. package/shared/Context.d.ts +2 -0
  1271. package/shared/Context.js.map +1 -1
  1272. package/shared/Eufemia.d.ts +1 -1
  1273. package/shared/Eufemia.js +2 -2
  1274. package/shared/Eufemia.js.map +1 -1
  1275. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1276. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1277. package/shared/libs/Shortcuts.js.map +1 -1
  1278. package/shared/locales/en-GB.d.ts +1 -0
  1279. package/shared/locales/en-GB.js +1 -0
  1280. package/shared/locales/en-GB.js.map +1 -1
  1281. package/shared/locales/en-US.d.ts +1 -0
  1282. package/shared/locales/index.d.ts +2 -0
  1283. package/shared/locales/nb-NO.d.ts +1 -0
  1284. package/shared/locales/nb-NO.js +1 -0
  1285. package/shared/locales/nb-NO.js.map +1 -1
  1286. package/shared/useMedia.js +33 -23
  1287. package/shared/useMedia.js.map +1 -1
  1288. package/style/core/reset.scss +13 -3
  1289. package/style/core/utilities.scss +3 -1
  1290. package/style/dnb-ui-components.css +142 -20
  1291. package/style/dnb-ui-components.min.css +1 -1
  1292. package/style/dnb-ui-elements.css +23 -11
  1293. package/style/dnb-ui-elements.min.css +1 -1
  1294. package/style/dnb-ui-extensions.css +112 -36
  1295. package/style/dnb-ui-extensions.min.css +1 -1
  1296. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1297. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1298. package/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1299. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1300. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1301. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1302. package/style/themes/theme-sbanken/customisations.scss +3 -7
  1303. package/style/themes/theme-sbanken/properties.js +6 -6
  1304. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1305. package/style/themes/theme-sbanken/properties.scss +6 -6
  1306. package/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1307. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1308. package/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1309. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1310. package/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1311. package/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1312. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1313. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1314. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1315. package/style/themes/theme-ui/fonts.scss +8 -4
  1316. package/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1317. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1318. package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1319. package/style/themes/theme-ui/ui-theme-components.css +173 -160
  1320. package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1321. package/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1322. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1323. package/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1324. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1325. package/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1326. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1327. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1328. package/umd/dnb-ui-basis.min.js +1 -1
  1329. package/umd/dnb-ui-components.min.js +1 -1
  1330. package/umd/dnb-ui-elements.min.js +1 -1
  1331. package/umd/dnb-ui-extensions.min.js +6 -6
  1332. package/umd/dnb-ui-lib.min.js +1 -1
  1333. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1334. package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
  1335. package/cjs/extensions/forms/Field/FirstName.js +0 -31
  1336. package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
  1337. package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
  1338. package/cjs/extensions/forms/Field/LastName.js +0 -31
  1339. package/cjs/extensions/forms/Field/LastName.js.map +0 -1
  1340. package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
  1341. package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
  1342. package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1343. package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
  1344. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1345. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
  1346. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1347. package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
  1348. package/cjs/extensions/forms/FieldGroup/index.js +0 -27
  1349. package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
  1350. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1351. package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
  1352. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1353. package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
  1354. package/cjs/extensions/forms/Value/FirstName.js +0 -28
  1355. package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
  1356. package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
  1357. package/cjs/extensions/forms/Value/LastName.js +0 -28
  1358. package/cjs/extensions/forms/Value/LastName.js.map +0 -1
  1359. package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
  1360. package/cjs/extensions/forms/Value/hooks/index.js +0 -14
  1361. package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
  1362. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1363. package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
  1364. package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1365. package/cjs/extensions/forms/component-types.d.ts +0 -4
  1366. package/cjs/extensions/forms/component-types.js +0 -1
  1367. package/cjs/extensions/forms/component-types.js.map +0 -1
  1368. package/cjs/extensions/forms/field-types.d.ts +0 -52
  1369. package/cjs/extensions/forms/field-types.js +0 -1
  1370. package/cjs/extensions/forms/field-types.js.map +0 -1
  1371. package/cjs/extensions/forms/utils/components.d.ts +0 -3
  1372. package/cjs/extensions/forms/utils/components.js +0 -32
  1373. package/cjs/extensions/forms/utils/components.js.map +0 -1
  1374. package/cjs/extensions/forms/value-types.d.ts +0 -15
  1375. package/cjs/extensions/forms/value-types.js +0 -1
  1376. package/cjs/extensions/forms/value-types.js.map +0 -1
  1377. package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
  1378. package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1379. package/es/extensions/forms/Field/FirstName.d.ts +0 -7
  1380. package/es/extensions/forms/Field/FirstName.js +0 -19
  1381. package/es/extensions/forms/Field/FirstName.js.map +0 -1
  1382. package/es/extensions/forms/Field/LastName.d.ts +0 -7
  1383. package/es/extensions/forms/Field/LastName.js +0 -19
  1384. package/es/extensions/forms/Field/LastName.js.map +0 -1
  1385. package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
  1386. package/es/extensions/forms/Field/hooks/index.js +0 -1
  1387. package/es/extensions/forms/Field/hooks/index.js.map +0 -1
  1388. package/es/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1389. package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
  1390. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1391. package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
  1392. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1393. package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
  1394. package/es/extensions/forms/FieldGroup/index.js +0 -3
  1395. package/es/extensions/forms/FieldGroup/index.js.map +0 -1
  1396. package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1397. package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
  1398. package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1399. package/es/extensions/forms/Value/FirstName.d.ts +0 -7
  1400. package/es/extensions/forms/Value/FirstName.js +0 -16
  1401. package/es/extensions/forms/Value/FirstName.js.map +0 -1
  1402. package/es/extensions/forms/Value/LastName.d.ts +0 -7
  1403. package/es/extensions/forms/Value/LastName.js +0 -16
  1404. package/es/extensions/forms/Value/LastName.js.map +0 -1
  1405. package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
  1406. package/es/extensions/forms/Value/hooks/index.js +0 -1
  1407. package/es/extensions/forms/Value/hooks/index.js.map +0 -1
  1408. package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1409. package/es/extensions/forms/Value/hooks/useValue.js +0 -22
  1410. package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1411. package/es/extensions/forms/component-types.d.ts +0 -4
  1412. package/es/extensions/forms/component-types.js +0 -1
  1413. package/es/extensions/forms/component-types.js.map +0 -1
  1414. package/es/extensions/forms/field-types.d.ts +0 -52
  1415. package/es/extensions/forms/field-types.js +0 -1
  1416. package/es/extensions/forms/field-types.js.map +0 -1
  1417. package/es/extensions/forms/utils/components.d.ts +0 -3
  1418. package/es/extensions/forms/utils/components.js +0 -23
  1419. package/es/extensions/forms/utils/components.js.map +0 -1
  1420. package/es/extensions/forms/value-types.d.ts +0 -15
  1421. package/es/extensions/forms/value-types.js +0 -1
  1422. package/es/extensions/forms/value-types.js.map +0 -1
  1423. package/extensions/forms/DataContext/SubmitButton.js +0 -20
  1424. package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1425. package/extensions/forms/Field/FirstName.d.ts +0 -7
  1426. package/extensions/forms/Field/FirstName.js +0 -19
  1427. package/extensions/forms/Field/FirstName.js.map +0 -1
  1428. package/extensions/forms/Field/LastName.d.ts +0 -7
  1429. package/extensions/forms/Field/LastName.js +0 -19
  1430. package/extensions/forms/Field/LastName.js.map +0 -1
  1431. package/extensions/forms/Field/hooks/index.d.ts +0 -1
  1432. package/extensions/forms/Field/hooks/index.js +0 -1
  1433. package/extensions/forms/Field/hooks/index.js.map +0 -1
  1434. package/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1435. package/extensions/forms/Field/hooks/useField.js.map +0 -1
  1436. package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1437. package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
  1438. package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1439. package/extensions/forms/FieldGroup/index.d.ts +0 -2
  1440. package/extensions/forms/FieldGroup/index.js +0 -3
  1441. package/extensions/forms/FieldGroup/index.js.map +0 -1
  1442. package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1443. package/extensions/forms/Layout/InfoCardSection.js +0 -17
  1444. package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1445. package/extensions/forms/Value/FirstName.d.ts +0 -7
  1446. package/extensions/forms/Value/FirstName.js +0 -16
  1447. package/extensions/forms/Value/FirstName.js.map +0 -1
  1448. package/extensions/forms/Value/LastName.d.ts +0 -7
  1449. package/extensions/forms/Value/LastName.js +0 -16
  1450. package/extensions/forms/Value/LastName.js.map +0 -1
  1451. package/extensions/forms/Value/hooks/index.d.ts +0 -1
  1452. package/extensions/forms/Value/hooks/index.js +0 -1
  1453. package/extensions/forms/Value/hooks/index.js.map +0 -1
  1454. package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1455. package/extensions/forms/Value/hooks/useValue.js +0 -22
  1456. package/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1457. package/extensions/forms/component-types.d.ts +0 -4
  1458. package/extensions/forms/component-types.js +0 -1
  1459. package/extensions/forms/component-types.js.map +0 -1
  1460. package/extensions/forms/field-types.d.ts +0 -52
  1461. package/extensions/forms/field-types.js +0 -1
  1462. package/extensions/forms/field-types.js.map +0 -1
  1463. package/extensions/forms/utils/components.d.ts +0 -3
  1464. package/extensions/forms/utils/components.js +0 -23
  1465. package/extensions/forms/utils/components.js.map +0 -1
  1466. package/extensions/forms/value-types.d.ts +0 -15
  1467. package/extensions/forms/value-types.js +0 -1
  1468. package/extensions/forms/value-types.js.map +0 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.correctInternalHeadingLevel = void 0;
7
7
  exports.debugCounter = debugCounter;
8
- exports.globalSyncCounter = exports.globalResetNextTime = exports.globalNextLevel = exports.globalHeadingCounter = void 0;
8
+ exports.globalSyncCounter = exports.globalResetNextTime = exports.globalNextLevel = exports.globalHeadingCounter = exports.getHeadingSize = exports.getHeadingElement = void 0;
9
9
  exports.resetAllLevels = resetAllLevels;
10
10
  exports.resetLevels = resetLevels;
11
11
  exports.setNextLevel = setNextLevel;
@@ -196,4 +196,45 @@ function debugCounter(counter) {
196
196
  contextLEntry: counter.contextCounter.entry
197
197
  }, null, 2);
198
198
  }
199
+ const getHeadingSize = theme => {
200
+ switch (theme) {
201
+ case 'sbanken':
202
+ return {
203
+ 1: 'xx-large',
204
+ 2: 'x-large',
205
+ 3: 'large',
206
+ 4: 'medium',
207
+ 5: 'basis',
208
+ 6: 'small'
209
+ };
210
+ case 'ui':
211
+ default:
212
+ return {
213
+ 1: 'xx-large',
214
+ 2: 'large',
215
+ 3: 'medium',
216
+ 4: 'basis',
217
+ 5: 'small',
218
+ 6: 'x-small'
219
+ };
220
+ }
221
+ };
222
+ exports.getHeadingSize = getHeadingSize;
223
+ const getHeadingElement = level => {
224
+ switch (level) {
225
+ case 1:
226
+ return 'h1';
227
+ case 2:
228
+ return 'h2';
229
+ case 3:
230
+ return 'h3';
231
+ case 4:
232
+ return 'h4';
233
+ case 5:
234
+ return 'h5';
235
+ case 6:
236
+ return 'h6';
237
+ }
238
+ };
239
+ exports.getHeadingElement = getHeadingElement;
199
240
  //# sourceMappingURL=HeadingHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingHelpers.js","names":["_componentHelper","require","globalSyncCounter","current","exports","globalHeadingCounter","refs","correctInternalHeadingLevel","_ref","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","_len","arguments","length","reports","Array","_key","props","identifiers","id","className","filter","Boolean","join","convertJsxToString","warn","resetAllLevels","countHeadings","resetLevels","teardownHeadings","undefined","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport { HeadingAllProps, InternalHeadingLevel } from './Heading'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeadingHelpers.js","names":["_componentHelper","require","globalSyncCounter","current","exports","globalHeadingCounter","refs","correctInternalHeadingLevel","_ref","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","_len","arguments","length","reports","Array","_key","props","identifiers","id","className","filter","Boolean","join","convertJsxToString","warn","resetAllLevels","countHeadings","resetLevels","teardownHeadings","undefined","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry","getHeadingSize","theme","getHeadingElement"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport {\n HeadingAllProps,\n InternalHeadingLevel,\n HeadingLevelSizeResolutions,\n} from './Heading'\nimport { ThemeNames } from '../../shared'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { DynamicElement } from '../../shared/types'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n\nexport const getHeadingSize = (\n theme: ThemeNames\n): HeadingLevelSizeResolutions => {\n switch (theme) {\n case 'sbanken':\n return {\n 1: 'xx-large',\n 2: 'x-large',\n 3: 'large',\n 4: 'medium',\n 5: 'basis',\n 6: 'small',\n }\n case 'ui':\n default:\n return {\n 1: 'xx-large',\n 2: 'large',\n 3: 'medium',\n 4: 'basis',\n 5: 'small',\n 6: 'x-small',\n }\n }\n}\n\nexport const getHeadingElement = (\n level: InternalHeadingLevel\n): DynamicElement => {\n switch (level) {\n case 1:\n return 'h1'\n case 2:\n return 'h2'\n case 3:\n return 'h3'\n case 4:\n return 'h4'\n case 5:\n return 'h5'\n case 6:\n return 'h6'\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_InfoCard","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\n import InfoCard from './InfoCard';\n export default InfoCard;\n export * from './InfoCard';\n "],"mappings":";;;;;;;AAKC,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAJ,SAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,SAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,SAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAA2B,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAAA,IAAAK,QAAA,GADZC,iBAAQ;AAAApB,OAAA,CAAAW,OAAA,GAAAQ,QAAA"}
1
+ {"version":3,"file":"index.js","names":["_InfoCard","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nimport InfoCard from './InfoCard'\nexport default InfoCard\nexport * from './InfoCard'\n"],"mappings":";;;;;;;AAKA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAJ,SAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,SAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,SAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAA0B,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAAA,IAAAK,QAAA,GADXC,iBAAQ;AAAApB,OAAA,CAAAW,OAAA,GAAAQ,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","names":["require"],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\n import './style/dnb-info-card.scss'\n"],"mappings":";;AAKCA,OAAA"}
1
+ {"version":3,"file":"style.js","names":["require"],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './style/dnb-info-card.scss'\n"],"mappings":";;AAKAA,OAAA"}
@@ -82,7 +82,7 @@ html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-b
82
82
  .dnb-input[data-input-state=focus] .dnb-input__placeholder {
83
83
  display: none;
84
84
  }
85
- .dnb-input--keep-placeholder .dnb-input[data-input-state=focus] .dnb-input__placeholder {
85
+ .dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder {
86
86
  display: block;
87
87
  color: var(--color-black-20);
88
88
  }
@@ -1 +1 @@
1
- .dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder .dnb-input[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
1
+ .dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
@@ -69,9 +69,15 @@
69
69
 
70
70
  &__status--error &__submit-button {
71
71
  html:not([data-whatintent='touch'])
72
- &__button.dnb-button--secondary:not(&__button--has-text, [disabled]):hover,
72
+ &__button.dnb-button--secondary:not(
73
+ &__button--has-text,
74
+ [disabled]
75
+ ):hover,
73
76
  html:not([data-whatintent='touch'])
74
- &__button.dnb-button--secondary:not(&__button--has-text, [disabled]):focus {
77
+ &__button.dnb-button--secondary:not(
78
+ &__button--has-text,
79
+ [disabled]
80
+ ):focus {
75
81
  &,
76
82
  &::after {
77
83
  background-color: var(--color-fire-red);
@@ -101,7 +107,7 @@
101
107
  display: none;
102
108
  }
103
109
 
104
- &--keep-placeholder &[data-input-state='focus'] &__placeholder {
110
+ &--keep-placeholder[data-input-state='focus'] &__placeholder {
105
111
  display: block;
106
112
  color: var(--color-black-20);
107
113
  }
@@ -290,7 +290,7 @@ const useCallEvent = _ref2 => {
290
290
  num = -0;
291
291
  }
292
292
  const numberValue = Number(num);
293
- const cleanedValue = numberValue === 0 ? '' : num;
293
+ const cleanedValue = numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num;
294
294
  if (name === 'on_change' && numberValue === 0) {
295
295
  (0, _InputMaskedUtils.correctCaretPosition)(event.target, maskParams, props);
296
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useFilteredProps","props","React","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useEffect","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","inputMode","getInputModeFromMask","inputRef","inputElement","guide","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","correctCaretPosition","result","dispatchCustomElementEvent","selectall","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","getCurrencySymbol","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getInputModeFromMask,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n // Set \"inputMode\"\n if (!params.inputMode) {\n params.inputMode = getInputModeFromMask(mask)\n }\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // We may have to check against a negative value: && 1 / +0 === 1 / numberValue\n const cleanedValue = numberValue === 0 ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n correctCaretPosition(event.target, maskParams, props)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n ...number_mask,\n }\n } else if (as_currency) {\n currency_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n ...currency_mask,\n }\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useFilteredProps","props","React","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useEffect","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","inputMode","getInputModeFromMask","inputRef","inputElement","guide","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","charAt","correctCaretPosition","result","dispatchCustomElementEvent","selectall","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","getCurrencySymbol","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getInputModeFromMask,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n // Set \"inputMode\"\n if (!params.inputMode) {\n params.inputMode = getInputModeFromMask(mask)\n }\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n correctCaretPosition(event.target, maskParams, props)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n ...number_mask,\n }\n } else if (as_currency) {\n currency_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n ...currency_mask,\n }\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
@@ -45,7 +45,7 @@ const correctNumberValue = _ref3 => {
45
45
  locale,
46
46
  maskParams
47
47
  } = _ref3;
48
- let value = String(props.value);
48
+ let value = props.value === null ? null : String(props.value);
49
49
  if (isNaN(parseFloat(value))) {
50
50
  return value;
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = props.value === null ? null : String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}