@dnb/eufemia 10.27.0 → 10.29.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 (807) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/cjs/components/anchor/style/anchor-mixins.scss +14 -20
  3. package/cjs/components/anchor/style/dnb-anchor.css +20 -34
  4. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  5. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  6. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -1
  8. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  9. package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
  10. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +2 -2
  11. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  12. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +2 -2
  13. package/cjs/components/checkbox/CheckIcon.d.ts +5 -0
  14. package/cjs/components/checkbox/CheckIcon.js +39 -0
  15. package/cjs/components/checkbox/CheckIcon.js.map +1 -0
  16. package/cjs/components/checkbox/Checkbox.d.ts +90 -92
  17. package/cjs/components/checkbox/Checkbox.js +145 -248
  18. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/dropdown/Dropdown.d.ts +22 -5
  20. package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
  21. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  22. package/cjs/components/icon/style/dnb-icon.css +1 -0
  23. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  24. package/cjs/components/icon/style/dnb-icon.scss +1 -0
  25. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  26. package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
  27. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  28. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  29. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  30. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  31. package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  32. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
  33. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  34. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  35. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  36. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  37. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  38. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  39. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  40. package/cjs/components/progress-indicator/types.d.ts +95 -0
  41. package/cjs/components/progress-indicator/types.js +11 -0
  42. package/cjs/components/progress-indicator/types.js.map +1 -0
  43. package/cjs/components/tabs/style/dnb-tabs.css +1 -1
  44. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  45. package/cjs/components/tabs/style/dnb-tabs.scss +1 -1
  46. package/cjs/components/tabs/style/themes/dnb-tabs-theme-sbanken.css +1 -0
  47. package/cjs/components/tabs/style/themes/dnb-tabs-theme-sbanken.min.css +1 -1
  48. package/cjs/components/tabs/style/themes/dnb-tabs-theme-sbanken.scss +1 -0
  49. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -1
  50. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  51. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.js +60 -30
  54. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  55. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  56. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  57. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  58. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  59. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  60. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  61. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  62. package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
  63. package/cjs/extensions/forms/Field/Name/Name.js +73 -0
  64. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
  65. package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  66. package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
  67. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
  69. package/cjs/extensions/forms/Field/Name/index.js +27 -0
  70. package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
  71. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  72. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  73. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
  74. package/cjs/extensions/forms/Field/Option/Option.js +21 -0
  75. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  76. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  77. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
  78. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  79. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  80. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  82. package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
  83. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  85. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
  86. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  87. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  88. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  89. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  90. package/cjs/extensions/forms/Field/index.js +7 -0
  91. package/cjs/extensions/forms/Field/index.js.map +1 -1
  92. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  93. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  94. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  95. package/cjs/extensions/forms/Form/Handler/Handler.js +8 -2
  96. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  97. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  98. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  99. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  100. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  101. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  102. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  103. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  104. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  105. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  106. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  107. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  108. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  109. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  110. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  111. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  112. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +2 -2
  113. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  114. package/cjs/extensions/forms/Form/data-context/getData.d.ts +3 -2
  115. package/cjs/extensions/forms/Form/data-context/getData.js +9 -0
  116. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  117. package/cjs/extensions/forms/Form/data-context/useData.d.ts +5 -2
  118. package/cjs/extensions/forms/Form/data-context/useData.js +15 -6
  119. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +5 -5
  121. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  122. package/cjs/extensions/forms/Iterate/Array/Array.js +6 -4
  123. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  124. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  125. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  126. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +7 -3
  127. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  129. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  131. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  133. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  134. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  135. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  136. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +15 -15
  137. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  138. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -2
  139. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  140. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  141. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  142. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  143. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  144. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  145. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  146. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  147. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  148. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  149. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  150. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  151. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  152. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  153. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  154. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  155. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  156. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  157. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  158. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  159. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  160. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  161. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  162. package/cjs/extensions/forms/Value/String/String.js +8 -3
  163. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  164. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  165. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  166. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  167. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  168. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  169. package/cjs/extensions/forms/Value/index.js +21 -0
  170. package/cjs/extensions/forms/Value/index.js.map +1 -1
  171. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  172. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  173. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  174. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  175. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  176. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  177. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  178. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  179. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  180. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  181. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  182. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  183. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  184. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  185. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  186. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  187. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  188. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  189. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  190. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  191. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  192. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  193. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  194. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  195. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  196. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  197. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  198. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  199. package/cjs/extensions/forms/style/dnb-forms.css +78 -44
  200. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  201. package/cjs/extensions/forms/types.d.ts +3 -2
  202. package/cjs/extensions/forms/types.js.map +1 -1
  203. package/cjs/extensions/payment-card/PaymentCard.d.ts +3 -1
  204. package/cjs/extensions/payment-card/icons/Credit.d.ts +3 -0
  205. package/cjs/extensions/payment-card/icons/Credit.js +23 -0
  206. package/cjs/extensions/payment-card/icons/Credit.js.map +1 -0
  207. package/cjs/extensions/payment-card/icons/Sbanken.d.ts +3 -0
  208. package/cjs/extensions/payment-card/icons/Sbanken.js +23 -0
  209. package/cjs/extensions/payment-card/icons/Sbanken.js.map +1 -0
  210. package/cjs/extensions/payment-card/icons/index.js +23 -8
  211. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  212. package/cjs/extensions/payment-card/style/dnb-payment-card.css +113 -1
  213. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  214. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +22 -2
  215. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +38 -0
  216. package/cjs/extensions/payment-card/utils/CardDesigns.js +26 -2
  217. package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  218. package/cjs/extensions/payment-card/utils/Types.js +5 -2
  219. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  220. package/cjs/extensions/payment-card/utils/cardProducts.js +24 -0
  221. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  222. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  223. package/cjs/shared/Context.d.ts +4 -4
  224. package/cjs/shared/Context.js.map +1 -1
  225. package/cjs/shared/Eufemia.d.ts +1 -1
  226. package/cjs/shared/Eufemia.js +2 -2
  227. package/cjs/shared/Eufemia.js.map +1 -1
  228. package/cjs/shared/component-helper.js +1 -1
  229. package/cjs/shared/component-helper.js.map +1 -1
  230. package/cjs/style/core/scopes.scss +1 -1
  231. package/cjs/style/dnb-ui-basis.css +1 -1
  232. package/cjs/style/dnb-ui-basis.min.css +1 -1
  233. package/cjs/style/dnb-ui-body.css +1 -1
  234. package/cjs/style/dnb-ui-body.min.css +1 -1
  235. package/cjs/style/dnb-ui-components.css +153 -136
  236. package/cjs/style/dnb-ui-components.min.css +3 -3
  237. package/cjs/style/dnb-ui-core.css +1 -1
  238. package/cjs/style/dnb-ui-core.min.css +1 -1
  239. package/cjs/style/dnb-ui-extensions.css +191 -45
  240. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  241. package/cjs/style/dnb-ui-forms.css +78 -44
  242. package/cjs/style/dnb-ui-forms.min.css +1 -1
  243. package/cjs/style/dnb-ui-forms.scss +1 -1
  244. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +230 -180
  245. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  246. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +191 -45
  247. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  248. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +78 -44
  249. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +233 -182
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +191 -45
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +78 -44
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  256. package/cjs/style/themes/theme-ui/ui-theme-components.css +230 -180
  257. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  258. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +191 -45
  259. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  260. package/cjs/style/themes/theme-ui/ui-theme-forms.css +78 -44
  261. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  262. package/cjs/style/themes/theme-ui/ui-theme-tags.css +10 -17
  263. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  264. package/components/anchor/style/anchor-mixins.scss +14 -20
  265. package/components/anchor/style/dnb-anchor.css +20 -34
  266. package/components/anchor/style/dnb-anchor.min.css +1 -1
  267. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  268. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  269. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -1
  270. package/components/aria-live/useAriaLive.d.ts +1 -1
  271. package/components/autocomplete/Autocomplete.d.ts +19 -5
  272. package/components/breadcrumb/style/dnb-breadcrumb.css +2 -2
  273. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  274. package/components/breadcrumb/style/dnb-breadcrumb.scss +2 -2
  275. package/components/checkbox/CheckIcon.d.ts +5 -0
  276. package/components/checkbox/CheckIcon.js +30 -0
  277. package/components/checkbox/CheckIcon.js.map +1 -0
  278. package/components/checkbox/Checkbox.d.ts +90 -92
  279. package/components/checkbox/Checkbox.js +141 -245
  280. package/components/checkbox/Checkbox.js.map +1 -1
  281. package/components/dropdown/Dropdown.d.ts +22 -5
  282. package/components/height-animation/HeightAnimationInstance.js +5 -0
  283. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  284. package/components/icon/style/dnb-icon.css +1 -0
  285. package/components/icon/style/dnb-icon.min.css +1 -1
  286. package/components/icon/style/dnb-icon.scss +1 -0
  287. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  288. package/components/progress-indicator/ProgressIndicator.js +27 -14
  289. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  290. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  291. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  292. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  293. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  294. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  295. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  296. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  297. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  298. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  299. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  300. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  301. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  302. package/components/progress-indicator/types.d.ts +95 -0
  303. package/components/progress-indicator/types.js +5 -0
  304. package/components/progress-indicator/types.js.map +1 -0
  305. package/components/tabs/style/dnb-tabs.css +1 -1
  306. package/components/tabs/style/dnb-tabs.min.css +1 -1
  307. package/components/tabs/style/dnb-tabs.scss +1 -1
  308. package/components/tabs/style/themes/dnb-tabs-theme-sbanken.css +1 -0
  309. package/components/tabs/style/themes/dnb-tabs-theme-sbanken.min.css +1 -1
  310. package/components/tabs/style/themes/dnb-tabs-theme-sbanken.scss +1 -0
  311. package/es/components/anchor/style/anchor-mixins.scss +14 -20
  312. package/es/components/anchor/style/dnb-anchor.css +20 -34
  313. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  314. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  315. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  316. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -1
  317. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  318. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  319. package/es/components/breadcrumb/style/dnb-breadcrumb.css +2 -2
  320. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  321. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +2 -2
  322. package/es/components/checkbox/CheckIcon.d.ts +5 -0
  323. package/es/components/checkbox/CheckIcon.js +30 -0
  324. package/es/components/checkbox/CheckIcon.js.map +1 -0
  325. package/es/components/checkbox/Checkbox.d.ts +90 -92
  326. package/es/components/checkbox/Checkbox.js +141 -245
  327. package/es/components/checkbox/Checkbox.js.map +1 -1
  328. package/es/components/dropdown/Dropdown.d.ts +22 -5
  329. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  330. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  331. package/es/components/icon/style/dnb-icon.css +1 -0
  332. package/es/components/icon/style/dnb-icon.min.css +1 -1
  333. package/es/components/icon/style/dnb-icon.scss +1 -0
  334. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  335. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  336. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  337. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  338. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  339. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  340. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  341. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  342. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  343. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  344. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  345. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  346. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  347. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  348. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  349. package/es/components/progress-indicator/types.d.ts +95 -0
  350. package/es/components/progress-indicator/types.js +5 -0
  351. package/es/components/progress-indicator/types.js.map +1 -0
  352. package/es/components/tabs/style/dnb-tabs.css +1 -1
  353. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  354. package/es/components/tabs/style/dnb-tabs.scss +1 -1
  355. package/es/components/tabs/style/themes/dnb-tabs-theme-sbanken.css +1 -0
  356. package/es/components/tabs/style/themes/dnb-tabs-theme-sbanken.min.css +1 -1
  357. package/es/components/tabs/style/themes/dnb-tabs-theme-sbanken.scss +1 -0
  358. package/es/extensions/forms/DataContext/Context.d.ts +5 -1
  359. package/es/extensions/forms/DataContext/Context.js +0 -1
  360. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  361. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  362. package/es/extensions/forms/DataContext/Provider/Provider.js +58 -29
  363. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  364. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  365. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  366. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  367. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  368. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  369. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  370. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  371. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  372. package/es/extensions/forms/Field/Name/Name.js +63 -0
  373. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  374. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  375. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  376. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  377. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  378. package/es/extensions/forms/Field/Name/index.js +3 -0
  379. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  380. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  381. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  382. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  383. package/es/extensions/forms/Field/Option/Option.js +20 -0
  384. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  385. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  386. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  387. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  388. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  389. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  390. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  391. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  392. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  393. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  394. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  395. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  396. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  397. package/es/extensions/forms/Field/String/String.js.map +1 -1
  398. package/es/extensions/forms/Field/index.d.ts +1 -0
  399. package/es/extensions/forms/Field/index.js +1 -0
  400. package/es/extensions/forms/Field/index.js.map +1 -1
  401. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  402. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  403. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  404. package/es/extensions/forms/Form/Handler/Handler.js +8 -2
  405. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  406. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  407. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  408. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  409. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  410. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  411. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  412. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  413. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  414. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  415. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  416. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  417. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  418. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  419. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  420. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  421. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +2 -2
  422. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  423. package/es/extensions/forms/Form/data-context/getData.d.ts +3 -2
  424. package/es/extensions/forms/Form/data-context/getData.js +8 -0
  425. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  426. package/es/extensions/forms/Form/data-context/useData.d.ts +5 -2
  427. package/es/extensions/forms/Form/data-context/useData.js +15 -6
  428. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  429. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +5 -5
  430. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  431. package/es/extensions/forms/Iterate/Array/Array.js +6 -4
  432. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  433. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  434. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  435. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +7 -3
  436. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  437. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  438. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  439. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  440. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  441. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  442. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  443. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  444. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  445. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +15 -15
  446. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  447. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -2
  448. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  449. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  450. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  451. package/es/extensions/forms/Value/Name/Name.js +40 -0
  452. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  453. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  454. package/es/extensions/forms/Value/Name/index.js +3 -0
  455. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  456. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  457. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  458. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  459. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  460. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  461. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  462. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  463. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  464. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  465. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  466. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  467. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  468. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  469. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  470. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  471. package/es/extensions/forms/Value/String/String.js +8 -3
  472. package/es/extensions/forms/Value/String/String.js.map +1 -1
  473. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  474. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  475. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  476. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  477. package/es/extensions/forms/Value/index.d.ts +3 -0
  478. package/es/extensions/forms/Value/index.js +3 -0
  479. package/es/extensions/forms/Value/index.js.map +1 -1
  480. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  481. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  482. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  483. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  484. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  485. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  486. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  487. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  488. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  489. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  490. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  491. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  492. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  493. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  494. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  495. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  496. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  497. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  498. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  499. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  500. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  501. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  502. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  503. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  504. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  505. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  506. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  507. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  508. package/es/extensions/forms/style/dnb-forms.css +78 -44
  509. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  510. package/es/extensions/forms/types.d.ts +3 -2
  511. package/es/extensions/forms/types.js.map +1 -1
  512. package/es/extensions/payment-card/PaymentCard.d.ts +3 -1
  513. package/es/extensions/payment-card/icons/Credit.d.ts +3 -0
  514. package/es/extensions/payment-card/icons/Credit.js +15 -0
  515. package/es/extensions/payment-card/icons/Credit.js.map +1 -0
  516. package/es/extensions/payment-card/icons/Sbanken.d.ts +3 -0
  517. package/es/extensions/payment-card/icons/Sbanken.js +15 -0
  518. package/es/extensions/payment-card/icons/Sbanken.js.map +1 -0
  519. package/es/extensions/payment-card/icons/index.js +19 -4
  520. package/es/extensions/payment-card/icons/index.js.map +1 -1
  521. package/es/extensions/payment-card/style/dnb-payment-card.css +113 -1
  522. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  523. package/es/extensions/payment-card/style/dnb-payment-card.scss +22 -2
  524. package/es/extensions/payment-card/utils/CardDesigns.d.ts +38 -0
  525. package/es/extensions/payment-card/utils/CardDesigns.js +24 -2
  526. package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  527. package/es/extensions/payment-card/utils/Types.js +5 -2
  528. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  529. package/es/extensions/payment-card/utils/cardProducts.js +25 -1
  530. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  531. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  532. package/es/shared/Context.d.ts +4 -4
  533. package/es/shared/Context.js.map +1 -1
  534. package/es/shared/Eufemia.d.ts +1 -1
  535. package/es/shared/Eufemia.js +2 -2
  536. package/es/shared/Eufemia.js.map +1 -1
  537. package/es/shared/component-helper.js +1 -1
  538. package/es/shared/component-helper.js.map +1 -1
  539. package/es/style/core/scopes.scss +1 -1
  540. package/es/style/dnb-ui-basis.css +1 -1
  541. package/es/style/dnb-ui-basis.min.css +1 -1
  542. package/es/style/dnb-ui-body.css +1 -1
  543. package/es/style/dnb-ui-body.min.css +1 -1
  544. package/es/style/dnb-ui-components.css +153 -136
  545. package/es/style/dnb-ui-components.min.css +3 -3
  546. package/es/style/dnb-ui-core.css +1 -1
  547. package/es/style/dnb-ui-core.min.css +1 -1
  548. package/es/style/dnb-ui-extensions.css +191 -45
  549. package/es/style/dnb-ui-extensions.min.css +1 -1
  550. package/es/style/dnb-ui-forms.css +78 -44
  551. package/es/style/dnb-ui-forms.min.css +1 -1
  552. package/es/style/dnb-ui-forms.scss +1 -1
  553. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +230 -180
  554. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  555. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +191 -45
  556. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  557. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +78 -44
  558. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  559. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +233 -182
  560. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  561. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +191 -45
  562. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  563. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +78 -44
  564. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  565. package/es/style/themes/theme-ui/ui-theme-components.css +230 -180
  566. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  567. package/es/style/themes/theme-ui/ui-theme-extensions.css +191 -45
  568. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  569. package/es/style/themes/theme-ui/ui-theme-forms.css +78 -44
  570. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  571. package/es/style/themes/theme-ui/ui-theme-tags.css +10 -17
  572. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  573. package/esm/dnb-ui-basis.min.mjs +1 -1
  574. package/esm/dnb-ui-components.min.mjs +1 -1
  575. package/esm/dnb-ui-elements.min.mjs +1 -1
  576. package/esm/dnb-ui-extensions.min.mjs +3 -3
  577. package/esm/dnb-ui-lib.min.mjs +1 -1
  578. package/extensions/forms/DataContext/Context.d.ts +5 -1
  579. package/extensions/forms/DataContext/Context.js +0 -1
  580. package/extensions/forms/DataContext/Context.js.map +1 -1
  581. package/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  582. package/extensions/forms/DataContext/Provider/Provider.js +60 -30
  583. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  584. package/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  585. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  586. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  587. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  588. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  589. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  590. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  591. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  592. package/extensions/forms/Field/Name/Name.js +63 -0
  593. package/extensions/forms/Field/Name/Name.js.map +1 -0
  594. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  595. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  596. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  597. package/extensions/forms/Field/Name/index.d.ts +2 -0
  598. package/extensions/forms/Field/Name/index.js +3 -0
  599. package/extensions/forms/Field/Name/index.js.map +1 -0
  600. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  601. package/extensions/forms/Field/Number/Number.js.map +1 -1
  602. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  603. package/extensions/forms/Field/Option/Option.js +20 -0
  604. package/extensions/forms/Field/Option/Option.js.map +1 -1
  605. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  606. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  607. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  608. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  609. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  610. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  611. package/extensions/forms/Field/Selection/Selection.js +20 -32
  612. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  613. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  614. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  615. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  616. package/extensions/forms/Field/String/String.d.ts +2 -2
  617. package/extensions/forms/Field/String/String.js.map +1 -1
  618. package/extensions/forms/Field/index.d.ts +1 -0
  619. package/extensions/forms/Field/index.js +1 -0
  620. package/extensions/forms/Field/index.js.map +1 -1
  621. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  622. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  623. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  624. package/extensions/forms/Form/Handler/Handler.js +8 -2
  625. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  626. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  627. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  628. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  629. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  630. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  631. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  632. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  633. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  634. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  635. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  636. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  637. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  638. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  639. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  640. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  641. package/extensions/forms/Form/Visibility/VisibilityDocs.js +2 -2
  642. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  643. package/extensions/forms/Form/data-context/getData.d.ts +3 -2
  644. package/extensions/forms/Form/data-context/getData.js +8 -0
  645. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  646. package/extensions/forms/Form/data-context/useData.d.ts +5 -2
  647. package/extensions/forms/Form/data-context/useData.js +15 -6
  648. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  649. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +5 -5
  650. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  651. package/extensions/forms/Iterate/Array/Array.js +6 -4
  652. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  653. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  654. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  655. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +7 -3
  656. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  657. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  658. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  659. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  660. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  661. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  662. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  663. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  664. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  665. package/extensions/forms/Iterate/style/dnb-form-iterate.css +15 -15
  666. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  667. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -2
  668. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  669. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  670. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  671. package/extensions/forms/Value/Name/Name.js +40 -0
  672. package/extensions/forms/Value/Name/Name.js.map +1 -0
  673. package/extensions/forms/Value/Name/index.d.ts +2 -0
  674. package/extensions/forms/Value/Name/index.js +3 -0
  675. package/extensions/forms/Value/Name/index.js.map +1 -0
  676. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  677. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  678. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  679. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  680. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  681. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  682. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  683. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  684. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  685. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  686. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  687. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  688. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  689. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  690. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  691. package/extensions/forms/Value/String/String.js +8 -3
  692. package/extensions/forms/Value/String/String.js.map +1 -1
  693. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  694. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  695. package/extensions/forms/Value/ValueDocs.js +6 -1
  696. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  697. package/extensions/forms/Value/index.d.ts +3 -0
  698. package/extensions/forms/Value/index.js +3 -0
  699. package/extensions/forms/Value/index.js.map +1 -1
  700. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  701. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  702. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  703. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  704. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  705. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  706. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  707. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  708. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  709. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  710. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  711. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  712. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  713. package/extensions/forms/Wizard/Step/Step.js +14 -2
  714. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  715. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  716. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  717. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  718. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  719. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  720. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  721. package/extensions/forms/constants/locales/en-GB.js +12 -3
  722. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  723. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  724. package/extensions/forms/constants/locales/index.d.ts +18 -0
  725. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  726. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  727. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  728. package/extensions/forms/style/dnb-forms.css +78 -44
  729. package/extensions/forms/style/dnb-forms.min.css +1 -1
  730. package/extensions/forms/types.d.ts +3 -2
  731. package/extensions/forms/types.js.map +1 -1
  732. package/extensions/payment-card/PaymentCard.d.ts +3 -1
  733. package/extensions/payment-card/icons/Credit.d.ts +3 -0
  734. package/extensions/payment-card/icons/Credit.js +15 -0
  735. package/extensions/payment-card/icons/Credit.js.map +1 -0
  736. package/extensions/payment-card/icons/Sbanken.d.ts +3 -0
  737. package/extensions/payment-card/icons/Sbanken.js +15 -0
  738. package/extensions/payment-card/icons/Sbanken.js.map +1 -0
  739. package/extensions/payment-card/icons/index.js +19 -4
  740. package/extensions/payment-card/icons/index.js.map +1 -1
  741. package/extensions/payment-card/style/dnb-payment-card.css +113 -1
  742. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  743. package/extensions/payment-card/style/dnb-payment-card.scss +22 -2
  744. package/extensions/payment-card/utils/CardDesigns.d.ts +38 -0
  745. package/extensions/payment-card/utils/CardDesigns.js +24 -2
  746. package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  747. package/extensions/payment-card/utils/Types.js +5 -2
  748. package/extensions/payment-card/utils/Types.js.map +1 -1
  749. package/extensions/payment-card/utils/cardProducts.js +25 -1
  750. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  751. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  752. package/package.json +1 -1
  753. package/shared/Context.d.ts +4 -4
  754. package/shared/Context.js.map +1 -1
  755. package/shared/Eufemia.d.ts +1 -1
  756. package/shared/Eufemia.js +2 -2
  757. package/shared/Eufemia.js.map +1 -1
  758. package/shared/component-helper.js +1 -1
  759. package/shared/component-helper.js.map +1 -1
  760. package/style/core/scopes.scss +1 -1
  761. package/style/dnb-ui-basis.css +1 -1
  762. package/style/dnb-ui-basis.min.css +1 -1
  763. package/style/dnb-ui-body.css +1 -1
  764. package/style/dnb-ui-body.min.css +1 -1
  765. package/style/dnb-ui-components.css +153 -136
  766. package/style/dnb-ui-components.min.css +3 -3
  767. package/style/dnb-ui-core.css +1 -1
  768. package/style/dnb-ui-core.min.css +1 -1
  769. package/style/dnb-ui-extensions.css +191 -45
  770. package/style/dnb-ui-extensions.min.css +1 -1
  771. package/style/dnb-ui-forms.css +78 -44
  772. package/style/dnb-ui-forms.min.css +1 -1
  773. package/style/dnb-ui-forms.scss +1 -1
  774. package/style/themes/theme-eiendom/eiendom-theme-components.css +230 -180
  775. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  776. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +191 -45
  777. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  778. package/style/themes/theme-eiendom/eiendom-theme-forms.css +78 -44
  779. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  780. package/style/themes/theme-sbanken/sbanken-theme-components.css +233 -182
  781. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  782. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +191 -45
  783. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  784. package/style/themes/theme-sbanken/sbanken-theme-forms.css +78 -44
  785. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  786. package/style/themes/theme-ui/ui-theme-components.css +230 -180
  787. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  788. package/style/themes/theme-ui/ui-theme-extensions.css +191 -45
  789. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  790. package/style/themes/theme-ui/ui-theme-forms.css +78 -44
  791. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  792. package/style/themes/theme-ui/ui-theme-tags.css +10 -17
  793. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  794. package/umd/dnb-ui-basis.min.js +1 -1
  795. package/umd/dnb-ui-components.min.js +1 -1
  796. package/umd/dnb-ui-elements.min.js +1 -1
  797. package/umd/dnb-ui-extensions.min.js +3 -3
  798. package/umd/dnb-ui-lib.min.js +1 -1
  799. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  800. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  801. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  802. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  803. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  804. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  805. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  806. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  807. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
@@ -1,125 +1,158 @@
1
1
  "use client";
2
2
 
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
4
  import _extends from "@babel/runtime/helpers/esm/extends";
4
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
6
  var _AlignmentHelper, _span;
7
- const _excluded = ["value", "status", "status_state", "status_props", "status_no_animation", "globalStatus", "suffix", "size", "label", "label_position", "label_sr_only", "title", "element", "disabled", "readOnly", "skeleton", "className", "class", "id", "checked", "children", "on_change", "on_state_update", "innerRef"],
8
- _excluded2 = ["size"];
7
+ const _excluded = ["value", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "size", "label", "labelPosition", "labelSrOnly", "title", "element", "disabled", "readOnly", "skeleton", "className", "id", "checked", "onChange", "innerRef"];
9
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- import React from 'react';
12
- import PropTypes from 'prop-types';
10
+ import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';
13
11
  import classnames from 'classnames';
14
12
  import keycode from 'keycode';
15
- import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, getStatusState, combineDescribedBy, dispatchCustomElementEvent } from '../../shared/component-helper';
13
+ import { validateDOMAttributes, getStatusState, combineDescribedBy, extendPropsWithContext } from '../../shared/component-helper';
16
14
  import AlignmentHelper from '../../shared/AlignmentHelper';
17
- import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
15
+ import { createSpacingClasses } from '../space/SpacingHelper';
18
16
  import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/SkeletonHelper';
19
- import { pickFormElementProps } from '../../shared/helpers/filterValidProps';
20
17
  import Context from '../../shared/Context';
21
18
  import Suffix from '../../shared/helpers/Suffix';
19
+ import useId from '../../shared/helpers/useId';
20
+ import { pickFormElementProps } from '../../shared/helpers/filterValidProps';
21
+ import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
22
22
  import FormLabel from '../form-label/FormLabel';
23
23
  import FormStatus from '../form-status/FormStatus';
24
- export default class Checkbox extends React.PureComponent {
25
- static getDerivedStateFromProps(props, state) {
26
- if (state._listenForPropChanges) {
27
- if (props.checked !== state._checked) {
28
- state.checked = Checkbox.parseChecked(props.checked);
29
- }
24
+ import CheckIcon from './CheckIcon';
25
+ const defaultProps = {
26
+ statusState: 'error'
27
+ };
28
+ function Checkbox(localProps) {
29
+ const context = useContext(Context);
30
+ const props = extractPropsFromContext();
31
+ const {
32
+ value,
33
+ status,
34
+ statusState,
35
+ statusProps,
36
+ statusNoAnimation,
37
+ globalStatus,
38
+ suffix,
39
+ size,
40
+ label,
41
+ labelPosition,
42
+ labelSrOnly,
43
+ title,
44
+ element,
45
+ disabled,
46
+ readOnly,
47
+ skeleton,
48
+ className,
49
+ id: idProp,
50
+ checked,
51
+ onChange,
52
+ innerRef
53
+ } = props,
54
+ rest = _objectWithoutProperties(props, _excluded);
55
+ const id = useId(idProp);
56
+ const isFn = typeof innerRef === 'function';
57
+ const refHook = useRef();
58
+ const ref = !isFn && innerRef || refHook;
59
+ useEffect(() => {
60
+ if (isFn) {
61
+ innerRef === null || innerRef === void 0 ? void 0 : innerRef(ref.current);
30
62
  }
31
- state._listenForPropChanges = true;
32
- if (state.checked !== state.__checked) {
33
- dispatchCustomElementEvent({
34
- props
35
- }, 'on_state_update', {
36
- checked: state.checked
37
- });
63
+ }, [innerRef, isFn, ref]);
64
+ const [isChecked, setIsChecked] = useState(checked !== null && checked !== void 0 ? checked : false);
65
+ const [prevChecked, setPrevChecked] = useState(checked);
66
+ useEffect(() => {
67
+ if (checked !== prevChecked) {
68
+ setIsChecked(!!checked);
69
+ setPrevChecked(!!checked);
38
70
  }
39
- state._checked = props.checked;
40
- state.__checked = state.checked;
41
- return state;
42
- }
43
- constructor(props) {
44
- super(props);
45
- _defineProperty(this, "onKeyDownHandler", event => {
46
- switch (keycode(event)) {
47
- case 'enter':
48
- this.onChangeHandler(event);
49
- break;
50
- }
51
- });
52
- _defineProperty(this, "onChangeHandler", event => {
53
- if (isTrue(this.props.readOnly)) {
54
- return event.preventDefault();
55
- }
56
- const checked = !this.state.checked;
57
- this.setState({
58
- checked,
59
- _listenForPropChanges: false
60
- });
61
- dispatchCustomElementEvent(this, 'on_change', {
62
- checked,
63
- event
64
- });
65
- if (this._refInput.current) {
66
- this._refInput.current.focus();
67
- }
71
+ }, [checked, prevChecked]);
72
+ const callOnChange = useCallback(args => {
73
+ onChange === null || onChange === void 0 ? void 0 : onChange(args);
74
+ }, [onChange]);
75
+ const onChangeHandler = useCallback(event => {
76
+ if (readOnly) {
77
+ return event.preventDefault();
78
+ }
79
+ const updatedCheck = !isChecked;
80
+ setIsChecked(updatedCheck);
81
+ callOnChange({
82
+ checked: updatedCheck,
83
+ event
68
84
  });
69
- this._refInput = React.createRef();
70
- this._id = props.id || makeUniqueId();
71
- this.state = {
72
- _listenForPropChanges: true
73
- };
74
- }
75
- componentDidMount() {
76
- if (this.props.innerRef) {
77
- typeof this.props.innerRef === 'function' ? this.props.innerRef(this._refInput.current) : this.props.innerRef.current = this._refInput.current;
85
+ if (ref.current) {
86
+ ref.current.focus();
78
87
  }
79
- }
80
- render() {
81
- var _this$context, _this$context2;
82
- const props = extendPropsWithContextInClassComponent(this.props, Checkbox.defaultProps, {
83
- skeleton: this.context && this.context.skeleton
84
- }, this.context.getTranslation(this.props).Checkbox, pickFormElementProps((_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.FormRow), pickFormElementProps((_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.formElement), this.context.Checkbox);
85
- const {
86
- value,
87
- status,
88
- status_state,
89
- status_props,
90
- status_no_animation,
91
- globalStatus,
92
- suffix,
93
- size,
94
- label,
95
- label_position,
96
- label_sr_only,
97
- title,
98
- element,
99
- disabled,
100
- readOnly,
101
- skeleton,
102
- className,
103
- class: _className,
104
- id: _id,
105
- checked: _checked,
106
- children,
107
- on_change,
108
- on_state_update,
109
- innerRef
110
- } = props,
111
- rest = _objectWithoutProperties(props, _excluded);
112
- const {
113
- checked
114
- } = this.state;
115
- const id = this._id;
116
- const showStatus = getStatusState(status);
117
- const mainParams = {
118
- className: classnames("dnb-checkbox dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(props), className, _className, status && `dnb-checkbox__status--${status_state}`, size && `dnb-checkbox--${size}`, label && `dnb-checkbox--label-position-${label_position || 'right'}`)
119
- };
88
+ }, [callOnChange, isChecked, readOnly, ref]);
89
+ const onKeyDownHandler = useCallback(event => {
90
+ switch (keycode(event)) {
91
+ case 'enter':
92
+ onChangeHandler(event);
93
+ break;
94
+ }
95
+ }, [onChangeHandler]);
96
+ const mainParams = {
97
+ className: classnames("dnb-checkbox dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(props), className, status && `dnb-checkbox__status--${statusState}`, size && `dnb-checkbox--${size}`, label && `dnb-checkbox--label-position-${labelPosition || 'right'}`)
98
+ };
99
+ const showStatus = getStatusState(status);
100
+ const inputParams = handleInputAttributes();
101
+ const statusComp = React.createElement(FormStatus, _extends({
102
+ show: showStatus,
103
+ id: id + '-form-status',
104
+ globalStatus: globalStatus,
105
+ label: label,
106
+ text_id: id + '-status',
107
+ width_selector: id + ', ' + id + '-label',
108
+ text: status,
109
+ state: statusState,
110
+ no_animation: statusNoAnimation,
111
+ skeleton: skeleton
112
+ }, statusProps));
113
+ const Element = element || 'input';
114
+ return React.createElement("span", mainParams, React.createElement("span", {
115
+ className: "dnb-checkbox__order"
116
+ }, label && React.createElement(FormLabel, {
117
+ id: id + '-label',
118
+ forId: id,
119
+ text: label,
120
+ disabled: disabled,
121
+ skeleton: skeleton,
122
+ srOnly: labelSrOnly
123
+ }), React.createElement("span", {
124
+ className: "dnb-checkbox__inner"
125
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), labelPosition === 'left' && statusComp, React.createElement("span", {
126
+ className: "dnb-checkbox__shell"
127
+ }, React.createElement(Element, _extends({
128
+ id: id,
129
+ name: id,
130
+ type: "checkbox",
131
+ title: title,
132
+ className: "dnb-checkbox__input",
133
+ value: isChecked ? value || '' : '',
134
+ disabled: disabled
135
+ }, inputParams, {
136
+ onChange: onChangeHandler,
137
+ onKeyDown: onKeyDownHandler,
138
+ ref: ref
139
+ })), React.createElement("span", {
140
+ className: classnames('dnb-checkbox__button', createSkeletonClass('shape', skeleton, context)),
141
+ "aria-hidden": true
142
+ }, _span || (_span = React.createElement("span", {
143
+ className: "dnb-checkbox__focus"
144
+ }))), React.createElement(CheckIcon, {
145
+ size: size
146
+ }))), suffix && React.createElement(Suffix, {
147
+ className: "dnb-checkbox__suffix",
148
+ id: id + '-suffix',
149
+ context: props
150
+ }, suffix)), (labelPosition === 'right' || !labelPosition) && statusComp);
151
+ function handleInputAttributes() {
120
152
  const inputParams = _objectSpread({
121
153
  disabled,
122
- checked
154
+ checked: isChecked,
155
+ readOnly
123
156
  }, rest);
124
157
  if (showStatus || suffix) {
125
158
  inputParams['aria-describedby'] = combineDescribedBy(inputParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
@@ -127,150 +160,13 @@ export default class Checkbox extends React.PureComponent {
127
160
  if (readOnly) {
128
161
  inputParams['aria-readonly'] = inputParams.readOnly = true;
129
162
  }
130
- skeletonDOMAttributes(inputParams, skeleton, this.context);
131
- validateDOMAttributes(this.props, inputParams);
132
- const statusComp = React.createElement(FormStatus, _extends({
133
- show: showStatus,
134
- id: id + '-form-status',
135
- globalStatus: globalStatus,
136
- label: label,
137
- text_id: id + '-status',
138
- width_selector: id + ', ' + id + '-label',
139
- text: status,
140
- state: status_state,
141
- no_animation: status_no_animation,
142
- skeleton: skeleton
143
- }, status_props));
144
- const Element = element || 'input';
145
- return React.createElement("span", mainParams, React.createElement("span", {
146
- className: "dnb-checkbox__order"
147
- }, label && React.createElement(FormLabel, {
148
- id: id + '-label',
149
- for_id: id,
150
- text: label,
151
- disabled: disabled,
152
- skeleton: skeleton,
153
- sr_only: label_sr_only
154
- }), React.createElement("span", {
155
- className: "dnb-checkbox__inner"
156
- }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), label_position === 'left' && statusComp, React.createElement("span", {
157
- className: "dnb-checkbox__shell"
158
- }, React.createElement(Element, _extends({
159
- id: id,
160
- name: id,
161
- type: "checkbox",
162
- title: title,
163
- className: "dnb-checkbox__input",
164
- value: checked ? value || '' : '',
165
- disabled: isTrue(disabled)
166
- }, inputParams, {
167
- onChange: this.onChangeHandler,
168
- onKeyDown: this.onKeyDownHandler,
169
- ref: this._refInput
170
- })), React.createElement("span", {
171
- className: classnames('dnb-checkbox__button', createSkeletonClass('shape', skeleton, this.context)),
172
- "aria-hidden": true
173
- }, _span || (_span = React.createElement("span", {
174
- className: "dnb-checkbox__focus"
175
- }))), React.createElement(CheckIcon, {
176
- size: size
177
- }))), suffix && React.createElement(Suffix, {
178
- className: "dnb-checkbox__suffix",
179
- id: id + '-suffix',
180
- context: props
181
- }, suffix)), (label_position === 'right' || !label_position) && statusComp);
163
+ return validateDOMAttributes(props, skeletonDOMAttributes(inputParams, skeleton, context));
182
164
  }
183
- }
184
- _defineProperty(Checkbox, "contextType", Context);
185
- _defineProperty(Checkbox, "defaultProps", {
186
- label: null,
187
- label_position: null,
188
- label_sr_only: null,
189
- title: null,
190
- element: 'input',
191
- checked: null,
192
- disabled: null,
193
- id: null,
194
- size: null,
195
- status: null,
196
- status_state: 'error',
197
- status_props: null,
198
- status_no_animation: null,
199
- globalStatus: null,
200
- suffix: null,
201
- value: null,
202
- attributes: null,
203
- readOnly: false,
204
- skeleton: null,
205
- class: null,
206
- className: null,
207
- children: null,
208
- on_change: null,
209
- on_state_update: null,
210
- innerRef: null
211
- });
212
- _defineProperty(Checkbox, "parseChecked", state => /true|on/.test(String(state)));
213
- process.env.NODE_ENV !== "production" ? Checkbox.propTypes = _objectSpread(_objectSpread({
214
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
215
- label_position: PropTypes.oneOf(['left', 'right']),
216
- label_sr_only: PropTypes.bool,
217
- title: PropTypes.string,
218
- element: PropTypes.node,
219
- checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
220
- disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
221
- id: PropTypes.string,
222
- size: PropTypes.oneOf(['default', 'medium', 'large']),
223
- status: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.func, PropTypes.node]),
224
- status_state: PropTypes.string,
225
- status_props: PropTypes.object,
226
- status_no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
227
- globalStatus: PropTypes.shape({
228
- id: PropTypes.string,
229
- message: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
230
- }),
231
- suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
232
- value: PropTypes.string,
233
- attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
234
- readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
235
- skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
236
- class: PropTypes.string,
237
- innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
238
- }, spacingPropTypes), {}, {
239
- className: PropTypes.string,
240
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
241
- on_change: PropTypes.func,
242
- on_state_update: PropTypes.func
243
- }) : void 0;
244
- export const CheckIcon = _ref => {
245
- let {
246
- size
247
- } = _ref,
248
- props = _objectWithoutProperties(_ref, _excluded2);
249
- let vB = 16;
250
- if (size === 'large') {
251
- vB = 24;
165
+ function extractPropsFromContext() {
166
+ return extendPropsWithContext(convertSnakeCaseProps(localProps), defaultProps, context.Checkbox, {
167
+ skeleton: context === null || context === void 0 ? void 0 : context.Checkbox
168
+ }, pickFormElementProps(context === null || context === void 0 ? void 0 : context.FormRow), pickFormElementProps(context === null || context === void 0 ? void 0 : context.formElement));
252
169
  }
253
- return React.createElement("svg", _extends({
254
- width: vB,
255
- height: vB,
256
- viewBox: `0 0 ${vB} ${vB}`,
257
- fill: "none",
258
- className: "dnb-checkbox__gfx",
259
- "aria-hidden": true
260
- }, props), React.createElement("path", {
261
- d: size === 'large' ? 'M1.5 15L7.5 21L22.5 3' : 'M1 10L5 14L15 2',
262
- stroke: "currentColor",
263
- strokeWidth: "1.5",
264
- strokeLinecap: "round",
265
- strokeLinejoin: "round"
266
- }));
267
- };
268
- process.env.NODE_ENV !== "production" ? CheckIcon.propTypes = {
269
- size: PropTypes.string
270
- } : void 0;
271
- CheckIcon.defaultProps = {
272
- size: 'default'
273
- };
274
- CheckIcon._formElement = true;
275
- CheckIcon._supportsSpacingProps = true;
170
+ }
171
+ export default Checkbox;
276
172
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","Context","Suffix","FormLabel","FormStatus","Checkbox","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","_refInput","current","focus","createRef","_id","id","componentDidMount","innerRef","render","_this$context","_this$context2","defaultProps","skeleton","context","getTranslation","FormRow","formElement","value","status","status_state","status_props","status_no_animation","globalStatus","suffix","size","label","label_position","label_sr_only","title","element","disabled","className","class","_className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","statusComp","createElement","_extends","show","text_id","width_selector","text","no_animation","Element","for_id","sr_only","_AlignmentHelper","name","type","onChange","onKeyDown","onKeyDownHandler","ref","_span","CheckIcon","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_ref","_excluded2","vB","width","height","viewBox","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/checkbox/Checkbox.js"],"sourcesContent":["/**\n * Web Checkbox Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The checkbox component is our enhancement of the classic checkbox button. It acts like a checkbox. Example: On/off, yes/no.\n */\nexport default class Checkbox extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n element: PropTypes.node,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n element: 'input',\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Checkbox.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Checkbox.defaultProps,\n { skeleton: this.context && this.context.skeleton },\n this.context.getTranslation(this.props).Checkbox,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Checkbox\n )\n\n const {\n value,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n size,\n label,\n label_position,\n label_sr_only,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${status_state}`,\n size && `dnb-checkbox--${size}`,\n label &&\n `dnb-checkbox--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n const inputParams = {\n disabled,\n checked,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {label_position === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={checked ? value || '' : ''}\n disabled={isTrue(disabled)}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n ref={this._refInput}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(label_position === 'right' || !label_position) && statusComp}\n </span>\n )\n }\n}\n\n// The new checkbox has too low contrast, as it is too thin on web\nexport const CheckIcon = ({ size, ...props }) => {\n let vB = 16\n if (size === 'large') {\n vB = 24\n }\n return (\n <svg\n width={vB}\n height={vB}\n viewBox={`0 0 ${vB} ${vB}`}\n fill=\"none\"\n className=\"dnb-checkbox__gfx\"\n aria-hidden\n {...props}\n >\n <path\n d={size === 'large' ? 'M1.5 15L7.5 21L22.5 3' : 'M1 10L5 14L15 2'}\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nCheckIcon.propTypes = {\n size: PropTypes.string,\n}\nCheckIcon.defaultProps = {\n size: 'default',\n}\n\nCheckIcon._formElement = true\nCheckIcon._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","keycode","validateDOMAttributes","getStatusState","combineDescribedBy","extendPropsWithContext","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","useId","pickFormElementProps","convertSnakeCaseProps","FormLabel","FormStatus","CheckIcon","defaultProps","statusState","Checkbox","localProps","context","props","extractPropsFromContext","value","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","skeleton","className","id","idProp","checked","onChange","innerRef","rest","_objectWithoutProperties","_excluded","isFn","refHook","ref","current","isChecked","setIsChecked","prevChecked","setPrevChecked","callOnChange","args","onChangeHandler","event","preventDefault","updatedCheck","focus","onKeyDownHandler","mainParams","showStatus","inputParams","handleInputAttributes","statusComp","createElement","_extends","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","_AlignmentHelper","name","type","onKeyDown","_span","_objectSpread","FormRow","formElement"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\n\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange'\n > &\n DeprecatedCheckboxProps\n\n// depracated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onComplete` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n checked,\n onChange,\n innerRef,\n ...rest\n } = props\n\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const [isChecked, setIsChecked] = useState<boolean>(checked ?? false)\n const [prevChecked, setPrevChecked] = useState<boolean>(checked)\n\n useEffect(() => {\n if (checked !== prevChecked) {\n setIsChecked(!!checked)\n setPrevChecked(!!checked)\n }\n }, [checked, prevChecked])\n\n const callOnChange = useCallback(\n (args: OnChangeParams) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const onChangeHandler = useCallback(\n (event) => {\n if (readOnly) {\n return event.preventDefault()\n }\n const updatedCheck = !isChecked\n\n setIsChecked(updatedCheck)\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, isChecked, readOnly, ref]\n )\n\n const onKeyDownHandler = useCallback(\n (event) => {\n switch (keycode(event)) {\n case 'enter':\n onChangeHandler(event)\n break\n }\n },\n [onChangeHandler]\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const showStatus = getStatusState(status)\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isChecked ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n function handleInputAttributes() {\n const inputParams = {\n disabled,\n checked: isChecked,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }\n\n function extractPropsFromContext() {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }\n}\n\nexport default Checkbox\n"],"mappings":"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"}
@@ -18,10 +18,7 @@ export type DropdownData = DrawerListData;
18
18
  type DropdownTitle = string | React.ReactNode;
19
19
  type DropdownAlignDropdown = 'left' | 'right';
20
20
  type DropdownTriggerElement = ((...args: any[]) => any) | React.ReactNode;
21
- export interface DropdownProps
22
- extends DrawerListProps,
23
- SpacingProps,
24
- Omit<React.HTMLProps<HTMLElement>, 'ref'> {
21
+ export interface DropdownProps {
25
22
  /**
26
23
  * Give a title to let the users know what they have to do. Defaults to `Valgmeny`.
27
24
  */
@@ -104,10 +101,30 @@ export interface DropdownProps
104
101
  * If set to `true`, an overlaying skeleton with animation will be shown.
105
102
  */
106
103
  skeleton?: SkeletonShow;
104
+ /**
105
+ * Text describing the content of the Dropdown more than the label. You can also send in a React component, so it gets wrapped inside the Dropdown component.
106
+ */
107
+ suffix?: DrawerListSuffix;
107
108
  on_show_focus?: (...args: any[]) => any;
108
109
  on_hide_focus?: (...args: any[]) => any;
109
110
  }
110
- export default class Dropdown extends React.Component<DropdownProps, any> {
111
+ export type DropdownAllProps = DropdownProps &
112
+ DrawerListProps &
113
+ SpacingProps &
114
+ Omit<
115
+ React.HTMLProps<HTMLElement>,
116
+ | 'ref'
117
+ | 'size'
118
+ | 'label'
119
+ | 'title'
120
+ | 'placeholder'
121
+ | 'data'
122
+ | 'children'
123
+ >;
124
+ export default class Dropdown extends React.Component<
125
+ DropdownAllProps,
126
+ any
127
+ > {
111
128
  static defaultProps: object;
112
129
  static HorizontalItem: ({
113
130
  children
@@ -142,6 +142,11 @@ export default class HeightAnimation {
142
142
  }
143
143
  const width = this.elem.clientWidth;
144
144
  const clonedElem = this.elem.cloneNode(true);
145
+ const inputs = clonedElem.querySelectorAll('input');
146
+ inputs.forEach(input => {
147
+ input.removeAttribute('name');
148
+ input.removeAttribute('id');
149
+ });
145
150
  (_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
146
151
  for (const key in this.firstPaintStyle) {
147
152
  clonedElem.style[key] = this.firstPaintStyle[key];