@dnb/eufemia 10.10.0 → 10.11.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 (722) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/cjs/components/accordion/Accordion.d.ts +2 -3
  3. package/cjs/components/anchor/Anchor.d.ts +2 -1
  4. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  5. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  6. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  7. package/cjs/components/avatar/Avatar.d.ts +2 -1
  8. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  10. package/cjs/components/button/Button.d.ts +1 -0
  11. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  12. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  13. package/cjs/components/dialog/parts/DialogBody.js +1 -1
  14. package/cjs/components/dialog/parts/DialogBody.js.map +1 -1
  15. package/cjs/components/drawer/parts/DrawerBody.js +1 -1
  16. package/cjs/components/drawer/parts/DrawerBody.js.map +1 -1
  17. package/cjs/components/dropdown/style/dnb-dropdown.css +39 -1
  18. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  19. package/cjs/components/dropdown/style/dnb-dropdown.scss +38 -1
  20. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  21. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  22. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  23. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  24. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  25. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  26. package/cjs/components/flex/Flex.d.ts +2 -1
  27. package/cjs/components/flex/Flex.js.map +1 -1
  28. package/cjs/components/flex/utils.d.ts +1 -1
  29. package/cjs/components/flex/utils.js +2 -14
  30. package/cjs/components/flex/utils.js.map +1 -1
  31. package/cjs/components/form-label/FormLabel.d.ts +31 -58
  32. package/cjs/components/form-label/FormLabel.js +33 -83
  33. package/cjs/components/form-label/FormLabel.js.map +1 -1
  34. package/cjs/components/form-row/style/dnb-form-row.css +0 -1
  35. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  36. package/cjs/components/global-status/GlobalStatus.js +3 -2
  37. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  38. package/cjs/components/global-status/style/dnb-global-status.css +2 -4
  39. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  40. package/cjs/components/global-status/style/dnb-global-status.scss +9 -10
  41. package/cjs/components/grid/Grid.d.ts +2 -1
  42. package/cjs/components/grid/Grid.js.map +1 -1
  43. package/cjs/components/input/style/dnb-input.css +4 -2
  44. package/cjs/components/input/style/dnb-input.min.css +1 -1
  45. package/cjs/components/input/style/dnb-input.scss +9 -2
  46. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  47. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  48. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  49. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  50. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  51. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  52. package/cjs/components/input-masked/InputMaskedHooks.js +4 -4
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/lib.d.ts +12 -6
  55. package/cjs/components/modal/parts/ModalInner.d.ts +1 -6
  56. package/cjs/components/modal/parts/ModalInner.js +6 -6
  57. package/cjs/components/modal/parts/ModalInner.js.map +1 -1
  58. package/cjs/components/number-format/NumberUtils.js +15 -5
  59. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  60. package/cjs/components/radio/style/dnb-radio.css +0 -1
  61. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  62. package/cjs/components/section/Section.d.ts +43 -17
  63. package/cjs/components/section/Section.js +47 -12
  64. package/cjs/components/section/Section.js.map +1 -1
  65. package/cjs/components/section/style/dnb-section.css +76 -14
  66. package/cjs/components/section/style/dnb-section.min.css +7 -1
  67. package/cjs/components/section/style/dnb-section.scss +78 -26
  68. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  69. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  70. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  71. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  72. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  73. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  74. package/cjs/components/space/Space.js +10 -11
  75. package/cjs/components/space/Space.js.map +1 -1
  76. package/cjs/components/space/SpacingHelper.d.ts +1 -3
  77. package/cjs/components/space/SpacingHelper.js +6 -0
  78. package/cjs/components/space/SpacingHelper.js.map +1 -1
  79. package/cjs/components/space/SpacingUtils.d.ts +9 -2
  80. package/cjs/components/space/SpacingUtils.js +73 -10
  81. package/cjs/components/space/SpacingUtils.js.map +1 -1
  82. package/cjs/components/space/style/dnb-space.css +36 -0
  83. package/cjs/components/space/style/dnb-space.min.css +1 -1
  84. package/cjs/components/space/style/dnb-space.scss +33 -0
  85. package/cjs/components/space/types.d.ts +8 -1
  86. package/cjs/components/space/types.js.map +1 -1
  87. package/cjs/components/tabs/Tabs.d.ts +4 -1
  88. package/cjs/components/tabs/TabsContentWrapper.js +7 -3
  89. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  90. package/cjs/components/tag/Tag.d.ts +2 -1
  91. package/cjs/components/textarea/style/dnb-textarea.css +4 -0
  92. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  93. package/cjs/components/textarea/style/dnb-textarea.scss +9 -0
  94. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  95. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  96. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  97. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  98. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  99. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  100. package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
  101. package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -1
  102. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  103. package/cjs/components/upload/Upload.js +14 -3
  104. package/cjs/components/upload/Upload.js.map +1 -1
  105. package/cjs/elements/Element.d.ts +2 -1
  106. package/cjs/elements/Link.d.ts +2 -1
  107. package/cjs/elements/blockquote/Blockquote.d.ts +2 -1
  108. package/cjs/elements/code/Code.d.ts +2 -1
  109. package/cjs/elements/div/Div.d.ts +2 -1
  110. package/cjs/elements/hr/style/dnb-hr.scss +1 -1
  111. package/cjs/elements/img/Img.js.map +1 -1
  112. package/cjs/elements/lib.d.ts +26 -10
  113. package/cjs/elements/lists/Dd.d.ts +2 -1
  114. package/cjs/elements/lists/Dt.d.ts +2 -1
  115. package/cjs/elements/span/Span.d.ts +2 -1
  116. package/cjs/elements/typography/H.d.ts +2 -1
  117. package/cjs/elements/typography/H.js.map +1 -1
  118. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  119. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  120. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  121. package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -20
  122. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  123. package/cjs/extensions/forms/Field/Number/Number.js +5 -1
  124. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  125. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  127. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  128. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  129. package/cjs/extensions/forms/Field/Selection/Selection.js +10 -7
  130. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  131. package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
  132. package/cjs/extensions/forms/Field/String/String.js +27 -50
  133. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  134. package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -26
  135. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  136. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  137. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  138. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  139. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  140. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  141. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  142. package/cjs/extensions/forms/Form/Handler/Handler.js +5 -3
  143. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  144. package/cjs/extensions/forms/constants/countries.d.ts +11 -2
  145. package/cjs/extensions/forms/constants/countries.js +1943 -959
  146. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  147. package/cjs/extensions/forms/hooks/useDataValue.js +3 -0
  148. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  149. package/cjs/extensions/forms/style/dnb-forms.css +0 -1
  150. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  151. package/cjs/extensions/forms/types.d.ts +2 -0
  152. package/cjs/extensions/forms/types.js.map +1 -1
  153. package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -3
  154. package/cjs/extensions/payment-card/PaymentCard.js +53 -36
  155. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  156. package/cjs/extensions/payment-card/icons/index.js +11 -7
  157. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  158. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  159. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
  160. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  161. package/cjs/fragments/lib.d.ts +2 -1
  162. package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -1
  163. package/cjs/shared/Context.d.ts +2 -0
  164. package/cjs/shared/Context.js.map +1 -1
  165. package/cjs/shared/Eufemia.d.ts +1 -1
  166. package/cjs/shared/Eufemia.js +2 -2
  167. package/cjs/shared/Eufemia.js.map +1 -1
  168. package/cjs/shared/component-helper.d.ts +1 -1
  169. package/cjs/shared/component-helper.js +10 -25
  170. package/cjs/shared/component-helper.js.map +1 -1
  171. package/cjs/shared/helpers/InteractionInvalidation.d.ts +1 -1
  172. package/cjs/shared/helpers/InteractionInvalidation.js +2 -2
  173. package/cjs/shared/helpers/InteractionInvalidation.js.map +1 -1
  174. package/cjs/shared/helpers/filterProps.d.ts +14 -0
  175. package/cjs/shared/helpers/filterProps.js +39 -0
  176. package/cjs/shared/helpers/filterProps.js.map +1 -0
  177. package/cjs/shared/locales/en-GB.d.ts +6 -0
  178. package/cjs/shared/locales/en-GB.js +8 -2
  179. package/cjs/shared/locales/en-GB.js.map +1 -1
  180. package/cjs/shared/locales/en-US.d.ts +6 -0
  181. package/cjs/shared/locales/index.d.ts +12 -0
  182. package/cjs/shared/locales/nb-NO.d.ts +6 -0
  183. package/cjs/shared/locales/nb-NO.js +8 -2
  184. package/cjs/shared/locales/nb-NO.js.map +1 -1
  185. package/cjs/shared/types.d.ts +7 -1
  186. package/cjs/shared/types.js.map +1 -1
  187. package/cjs/shared/useMedia.d.ts +5 -0
  188. package/cjs/shared/useMedia.js +16 -9
  189. package/cjs/shared/useMedia.js.map +1 -1
  190. package/cjs/style/core/helper-classes/skip-link.scss +13 -7
  191. package/cjs/style/core/reset.scss +1 -1
  192. package/cjs/style/core/utilities.scss +16 -5
  193. package/cjs/style/dnb-ui-basis.css +14 -9
  194. package/cjs/style/dnb-ui-basis.min.css +1 -1
  195. package/cjs/style/dnb-ui-basis.scss +1 -1
  196. package/cjs/style/dnb-ui-body.css +1 -1
  197. package/cjs/style/dnb-ui-components.css +167 -28
  198. package/cjs/style/dnb-ui-components.min.css +7 -1
  199. package/cjs/style/dnb-ui-core.css +14 -9
  200. package/cjs/style/dnb-ui-core.min.css +1 -1
  201. package/cjs/style/dnb-ui-elements.css +1 -1
  202. package/cjs/style/dnb-ui-extensions.css +0 -1
  203. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  204. package/cjs/style/dnb-ui-fragments.css +6 -3
  205. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  206. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  207. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
  209. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  210. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  211. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  213. package/cjs/style/themes/theme-sbanken/fonts.scss +10 -0
  214. package/cjs/style/themes/theme-sbanken/globals.scss +8 -0
  215. package/cjs/style/themes/theme-sbanken/properties.scss +1 -1
  216. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
  219. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  224. package/cjs/style/themes/theme-ui/globals.scss +8 -0
  225. package/cjs/style/themes/theme-ui/ui-theme-basis.css +7 -1
  226. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  227. package/cjs/style/themes/theme-ui/ui-theme-components.css +240 -133
  228. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  229. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  230. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  232. package/components/accordion/Accordion.d.ts +2 -3
  233. package/components/anchor/Anchor.d.ts +2 -1
  234. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  235. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  236. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  237. package/components/avatar/Avatar.d.ts +2 -1
  238. package/components/breadcrumb/BreadcrumbItem.js +4 -4
  239. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  240. package/components/button/Button.d.ts +1 -0
  241. package/components/date-picker/style/dnb-date-picker.css +0 -1
  242. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  243. package/components/dialog/parts/DialogBody.js +1 -1
  244. package/components/dialog/parts/DialogBody.js.map +1 -1
  245. package/components/drawer/parts/DrawerBody.js +1 -1
  246. package/components/drawer/parts/DrawerBody.js.map +1 -1
  247. package/components/dropdown/style/dnb-dropdown.css +39 -1
  248. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  249. package/components/dropdown/style/dnb-dropdown.scss +38 -1
  250. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  251. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  252. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  253. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  254. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  255. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  256. package/components/flex/Flex.d.ts +2 -1
  257. package/components/flex/Flex.js.map +1 -1
  258. package/components/flex/utils.d.ts +1 -1
  259. package/components/flex/utils.js +2 -13
  260. package/components/flex/utils.js.map +1 -1
  261. package/components/form-label/FormLabel.d.ts +31 -58
  262. package/components/form-label/FormLabel.js +33 -82
  263. package/components/form-label/FormLabel.js.map +1 -1
  264. package/components/form-row/style/dnb-form-row.css +0 -1
  265. package/components/form-row/style/dnb-form-row.min.css +1 -1
  266. package/components/global-status/GlobalStatus.js +3 -2
  267. package/components/global-status/GlobalStatus.js.map +1 -1
  268. package/components/global-status/style/dnb-global-status.css +2 -4
  269. package/components/global-status/style/dnb-global-status.min.css +1 -1
  270. package/components/global-status/style/dnb-global-status.scss +9 -10
  271. package/components/grid/Grid.d.ts +2 -1
  272. package/components/grid/Grid.js.map +1 -1
  273. package/components/input/style/dnb-input.css +4 -2
  274. package/components/input/style/dnb-input.min.css +1 -1
  275. package/components/input/style/dnb-input.scss +9 -2
  276. package/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  277. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  278. package/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  279. package/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  280. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  281. package/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  282. package/components/input-masked/InputMaskedHooks.js +5 -5
  283. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  284. package/components/lib.d.ts +12 -6
  285. package/components/modal/parts/ModalInner.d.ts +1 -6
  286. package/components/modal/parts/ModalInner.js +6 -6
  287. package/components/modal/parts/ModalInner.js.map +1 -1
  288. package/components/number-format/NumberUtils.js +15 -5
  289. package/components/number-format/NumberUtils.js.map +1 -1
  290. package/components/radio/style/dnb-radio.css +0 -1
  291. package/components/radio/style/dnb-radio.min.css +1 -1
  292. package/components/section/Section.d.ts +43 -17
  293. package/components/section/Section.js +48 -13
  294. package/components/section/Section.js.map +1 -1
  295. package/components/section/style/dnb-section.css +76 -14
  296. package/components/section/style/dnb-section.min.css +7 -1
  297. package/components/section/style/dnb-section.scss +78 -26
  298. package/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  299. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  300. package/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  301. package/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  302. package/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  303. package/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  304. package/components/space/Space.js +11 -12
  305. package/components/space/Space.js.map +1 -1
  306. package/components/space/SpacingHelper.d.ts +1 -3
  307. package/components/space/SpacingHelper.js +1 -2
  308. package/components/space/SpacingHelper.js.map +1 -1
  309. package/components/space/SpacingUtils.d.ts +9 -2
  310. package/components/space/SpacingUtils.js +70 -9
  311. package/components/space/SpacingUtils.js.map +1 -1
  312. package/components/space/style/dnb-space.css +36 -0
  313. package/components/space/style/dnb-space.min.css +1 -1
  314. package/components/space/style/dnb-space.scss +33 -0
  315. package/components/space/types.d.ts +8 -1
  316. package/components/space/types.js.map +1 -1
  317. package/components/tabs/Tabs.d.ts +4 -1
  318. package/components/tabs/TabsContentWrapper.js +7 -3
  319. package/components/tabs/TabsContentWrapper.js.map +1 -1
  320. package/components/tag/Tag.d.ts +2 -1
  321. package/components/textarea/style/dnb-textarea.css +4 -0
  322. package/components/textarea/style/dnb-textarea.min.css +1 -1
  323. package/components/textarea/style/dnb-textarea.scss +9 -0
  324. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  325. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  326. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  327. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  328. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  329. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  330. package/components/toggle-button/ToggleButton.d.ts +1 -1
  331. package/components/toggle-button/style/dnb-toggle-button.css +0 -1
  332. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  333. package/components/upload/Upload.js +14 -3
  334. package/components/upload/Upload.js.map +1 -1
  335. package/elements/Element.d.ts +2 -1
  336. package/elements/Link.d.ts +2 -1
  337. package/elements/blockquote/Blockquote.d.ts +2 -1
  338. package/elements/code/Code.d.ts +2 -1
  339. package/elements/div/Div.d.ts +2 -1
  340. package/elements/hr/style/dnb-hr.scss +1 -1
  341. package/elements/img/Img.js.map +1 -1
  342. package/elements/lib.d.ts +26 -10
  343. package/elements/lists/Dd.d.ts +2 -1
  344. package/elements/lists/Dt.d.ts +2 -1
  345. package/elements/span/Span.d.ts +2 -1
  346. package/elements/typography/H.d.ts +2 -1
  347. package/elements/typography/H.js.map +1 -1
  348. package/es/components/accordion/Accordion.d.ts +2 -3
  349. package/es/components/anchor/Anchor.d.ts +2 -1
  350. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  351. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  352. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  353. package/es/components/avatar/Avatar.d.ts +2 -1
  354. package/es/components/breadcrumb/BreadcrumbItem.js +4 -4
  355. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  356. package/es/components/button/Button.d.ts +1 -0
  357. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  358. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  359. package/es/components/dialog/parts/DialogBody.js +1 -1
  360. package/es/components/dialog/parts/DialogBody.js.map +1 -1
  361. package/es/components/drawer/parts/DrawerBody.js +1 -1
  362. package/es/components/drawer/parts/DrawerBody.js.map +1 -1
  363. package/es/components/dropdown/style/dnb-dropdown.css +39 -1
  364. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  365. package/es/components/dropdown/style/dnb-dropdown.scss +38 -1
  366. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  367. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  368. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  369. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  370. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  371. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  372. package/es/components/flex/Flex.d.ts +2 -1
  373. package/es/components/flex/Flex.js +3 -1
  374. package/es/components/flex/Flex.js.map +1 -1
  375. package/es/components/flex/utils.d.ts +1 -1
  376. package/es/components/flex/utils.js +2 -13
  377. package/es/components/flex/utils.js.map +1 -1
  378. package/es/components/form-label/FormLabel.d.ts +31 -58
  379. package/es/components/form-label/FormLabel.js +33 -82
  380. package/es/components/form-label/FormLabel.js.map +1 -1
  381. package/es/components/form-row/style/dnb-form-row.css +0 -1
  382. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  383. package/es/components/global-status/GlobalStatus.js +3 -2
  384. package/es/components/global-status/GlobalStatus.js.map +1 -1
  385. package/es/components/global-status/style/dnb-global-status.css +2 -4
  386. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  387. package/es/components/global-status/style/dnb-global-status.scss +9 -10
  388. package/es/components/grid/Grid.d.ts +2 -1
  389. package/es/components/grid/Grid.js +3 -1
  390. package/es/components/grid/Grid.js.map +1 -1
  391. package/es/components/input/style/dnb-input.css +4 -2
  392. package/es/components/input/style/dnb-input.min.css +1 -1
  393. package/es/components/input/style/dnb-input.scss +9 -2
  394. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  395. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  396. package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  397. package/es/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  398. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  399. package/es/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  400. package/es/components/input-masked/InputMaskedHooks.js +5 -5
  401. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  402. package/es/components/lib.d.ts +12 -6
  403. package/es/components/modal/parts/ModalInner.d.ts +1 -6
  404. package/es/components/modal/parts/ModalInner.js +6 -6
  405. package/es/components/modal/parts/ModalInner.js.map +1 -1
  406. package/es/components/number-format/NumberUtils.js +15 -5
  407. package/es/components/number-format/NumberUtils.js.map +1 -1
  408. package/es/components/radio/style/dnb-radio.css +0 -1
  409. package/es/components/radio/style/dnb-radio.min.css +1 -1
  410. package/es/components/section/Section.d.ts +43 -17
  411. package/es/components/section/Section.js +48 -13
  412. package/es/components/section/Section.js.map +1 -1
  413. package/es/components/section/style/dnb-section.css +76 -14
  414. package/es/components/section/style/dnb-section.min.css +7 -1
  415. package/es/components/section/style/dnb-section.scss +78 -26
  416. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  417. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  418. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  419. package/es/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  420. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  421. package/es/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  422. package/es/components/space/Space.js +11 -12
  423. package/es/components/space/Space.js.map +1 -1
  424. package/es/components/space/SpacingHelper.d.ts +1 -3
  425. package/es/components/space/SpacingHelper.js +1 -2
  426. package/es/components/space/SpacingHelper.js.map +1 -1
  427. package/es/components/space/SpacingUtils.d.ts +9 -2
  428. package/es/components/space/SpacingUtils.js +70 -9
  429. package/es/components/space/SpacingUtils.js.map +1 -1
  430. package/es/components/space/style/dnb-space.css +36 -0
  431. package/es/components/space/style/dnb-space.min.css +1 -1
  432. package/es/components/space/style/dnb-space.scss +33 -0
  433. package/es/components/space/types.d.ts +8 -1
  434. package/es/components/space/types.js.map +1 -1
  435. package/es/components/tabs/Tabs.d.ts +4 -1
  436. package/es/components/tabs/TabsContentWrapper.js +7 -3
  437. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  438. package/es/components/tag/Tag.d.ts +2 -1
  439. package/es/components/textarea/style/dnb-textarea.css +4 -0
  440. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  441. package/es/components/textarea/style/dnb-textarea.scss +9 -0
  442. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  443. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  444. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  445. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  446. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  447. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  448. package/es/components/toggle-button/ToggleButton.d.ts +1 -1
  449. package/es/components/toggle-button/style/dnb-toggle-button.css +0 -1
  450. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  451. package/es/components/upload/Upload.js +14 -3
  452. package/es/components/upload/Upload.js.map +1 -1
  453. package/es/elements/Element.d.ts +2 -1
  454. package/es/elements/Link.d.ts +2 -1
  455. package/es/elements/blockquote/Blockquote.d.ts +2 -1
  456. package/es/elements/code/Code.d.ts +2 -1
  457. package/es/elements/div/Div.d.ts +2 -1
  458. package/es/elements/hr/style/dnb-hr.scss +1 -1
  459. package/es/elements/img/Img.js.map +1 -1
  460. package/es/elements/lib.d.ts +26 -10
  461. package/es/elements/lists/Dd.d.ts +2 -1
  462. package/es/elements/lists/Dt.d.ts +2 -1
  463. package/es/elements/span/Span.d.ts +2 -1
  464. package/es/elements/typography/H.d.ts +2 -1
  465. package/es/elements/typography/H.js.map +1 -1
  466. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  467. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  468. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  469. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -21
  470. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  471. package/es/extensions/forms/Field/Number/Number.js +5 -1
  472. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  473. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  474. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  475. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
  476. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  477. package/es/extensions/forms/Field/Selection/Selection.js +11 -8
  478. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  479. package/es/extensions/forms/Field/String/String.d.ts +1 -0
  480. package/es/extensions/forms/Field/String/String.js +27 -50
  481. package/es/extensions/forms/Field/String/String.js.map +1 -1
  482. package/es/extensions/forms/Field/Toggle/Toggle.js +24 -27
  483. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  484. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  485. package/es/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  486. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  487. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  488. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  489. package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  490. package/es/extensions/forms/Form/Handler/Handler.js +5 -3
  491. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  492. package/es/extensions/forms/constants/countries.d.ts +11 -2
  493. package/es/extensions/forms/constants/countries.js +1943 -959
  494. package/es/extensions/forms/constants/countries.js.map +1 -1
  495. package/es/extensions/forms/hooks/useDataValue.js +3 -0
  496. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  497. package/es/extensions/forms/style/dnb-forms.css +0 -1
  498. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  499. package/es/extensions/forms/types.d.ts +2 -0
  500. package/es/extensions/forms/types.js.map +1 -1
  501. package/es/extensions/payment-card/PaymentCard.d.ts +6 -3
  502. package/es/extensions/payment-card/PaymentCard.js +47 -31
  503. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  504. package/es/extensions/payment-card/icons/index.js +9 -5
  505. package/es/extensions/payment-card/icons/index.js.map +1 -1
  506. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  507. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
  508. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  509. package/es/fragments/lib.d.ts +2 -1
  510. package/es/fragments/scroll-view/ScrollView.d.ts +2 -1
  511. package/es/shared/Context.d.ts +2 -0
  512. package/es/shared/Context.js.map +1 -1
  513. package/es/shared/Eufemia.d.ts +1 -1
  514. package/es/shared/Eufemia.js +2 -2
  515. package/es/shared/Eufemia.js.map +1 -1
  516. package/es/shared/component-helper.d.ts +1 -1
  517. package/es/shared/component-helper.js +4 -20
  518. package/es/shared/component-helper.js.map +1 -1
  519. package/es/shared/helpers/InteractionInvalidation.d.ts +1 -1
  520. package/es/shared/helpers/InteractionInvalidation.js +2 -2
  521. package/es/shared/helpers/InteractionInvalidation.js.map +1 -1
  522. package/es/shared/helpers/filterProps.d.ts +14 -0
  523. package/es/shared/helpers/filterProps.js +30 -0
  524. package/es/shared/helpers/filterProps.js.map +1 -0
  525. package/es/shared/locales/en-GB.d.ts +6 -0
  526. package/es/shared/locales/en-GB.js +8 -2
  527. package/es/shared/locales/en-GB.js.map +1 -1
  528. package/es/shared/locales/en-US.d.ts +6 -0
  529. package/es/shared/locales/index.d.ts +12 -0
  530. package/es/shared/locales/nb-NO.d.ts +6 -0
  531. package/es/shared/locales/nb-NO.js +8 -2
  532. package/es/shared/locales/nb-NO.js.map +1 -1
  533. package/es/shared/types.d.ts +7 -1
  534. package/es/shared/types.js.map +1 -1
  535. package/es/shared/useMedia.d.ts +5 -0
  536. package/es/shared/useMedia.js +16 -9
  537. package/es/shared/useMedia.js.map +1 -1
  538. package/es/style/core/helper-classes/skip-link.scss +13 -7
  539. package/es/style/core/reset.scss +1 -1
  540. package/es/style/core/utilities.scss +16 -5
  541. package/es/style/dnb-ui-basis.css +14 -9
  542. package/es/style/dnb-ui-basis.min.css +1 -1
  543. package/es/style/dnb-ui-basis.scss +1 -1
  544. package/es/style/dnb-ui-body.css +1 -1
  545. package/es/style/dnb-ui-components.css +167 -28
  546. package/es/style/dnb-ui-components.min.css +7 -1
  547. package/es/style/dnb-ui-core.css +14 -9
  548. package/es/style/dnb-ui-core.min.css +1 -1
  549. package/es/style/dnb-ui-elements.css +1 -1
  550. package/es/style/dnb-ui-extensions.css +0 -1
  551. package/es/style/dnb-ui-extensions.min.css +1 -1
  552. package/es/style/dnb-ui-fragments.css +6 -3
  553. package/es/style/dnb-ui-fragments.min.css +1 -1
  554. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  555. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  556. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
  557. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  558. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  559. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  560. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  561. package/es/style/themes/theme-sbanken/fonts.scss +10 -0
  562. package/es/style/themes/theme-sbanken/globals.scss +8 -0
  563. package/es/style/themes/theme-sbanken/properties.scss +1 -1
  564. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  565. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  566. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
  567. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  568. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  569. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  570. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  571. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  572. package/es/style/themes/theme-ui/globals.scss +8 -0
  573. package/es/style/themes/theme-ui/ui-theme-basis.css +7 -1
  574. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  575. package/es/style/themes/theme-ui/ui-theme-components.css +240 -133
  576. package/es/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  577. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  578. package/es/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  579. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  580. package/esm/dnb-ui-basis.min.mjs +1 -1
  581. package/esm/dnb-ui-components.min.mjs +1 -1
  582. package/esm/dnb-ui-elements.min.mjs +1 -1
  583. package/esm/dnb-ui-extensions.min.mjs +3 -3
  584. package/esm/dnb-ui-lib.min.mjs +1 -1
  585. package/extensions/forms/DataContext/Context.d.ts +2 -0
  586. package/extensions/forms/DataContext/Context.js.map +1 -1
  587. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  588. package/extensions/forms/DataContext/Provider/Provider.js +32 -20
  589. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  590. package/extensions/forms/Field/Number/Number.js +5 -1
  591. package/extensions/forms/Field/Number/Number.js.map +1 -1
  592. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  593. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  594. package/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
  595. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  596. package/extensions/forms/Field/Selection/Selection.js +11 -8
  597. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  598. package/extensions/forms/Field/String/String.d.ts +1 -0
  599. package/extensions/forms/Field/String/String.js +27 -50
  600. package/extensions/forms/Field/String/String.js.map +1 -1
  601. package/extensions/forms/Field/Toggle/Toggle.js +25 -27
  602. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  603. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  604. package/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  605. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  606. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  607. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  608. package/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  609. package/extensions/forms/Form/Handler/Handler.js +5 -3
  610. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  611. package/extensions/forms/constants/countries.d.ts +11 -2
  612. package/extensions/forms/constants/countries.js +1943 -959
  613. package/extensions/forms/constants/countries.js.map +1 -1
  614. package/extensions/forms/hooks/useDataValue.js +3 -0
  615. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  616. package/extensions/forms/style/dnb-forms.css +0 -1
  617. package/extensions/forms/style/dnb-forms.min.css +1 -1
  618. package/extensions/forms/types.d.ts +2 -0
  619. package/extensions/forms/types.js.map +1 -1
  620. package/extensions/payment-card/PaymentCard.d.ts +6 -3
  621. package/extensions/payment-card/PaymentCard.js +53 -36
  622. package/extensions/payment-card/PaymentCard.js.map +1 -1
  623. package/extensions/payment-card/icons/index.js +9 -5
  624. package/extensions/payment-card/icons/index.js.map +1 -1
  625. package/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  626. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
  627. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  628. package/fragments/lib.d.ts +2 -1
  629. package/fragments/scroll-view/ScrollView.d.ts +2 -1
  630. package/package.json +1 -1
  631. package/shared/Context.d.ts +2 -0
  632. package/shared/Context.js.map +1 -1
  633. package/shared/Eufemia.d.ts +1 -1
  634. package/shared/Eufemia.js +2 -2
  635. package/shared/Eufemia.js.map +1 -1
  636. package/shared/component-helper.d.ts +1 -1
  637. package/shared/component-helper.js +4 -23
  638. package/shared/component-helper.js.map +1 -1
  639. package/shared/helpers/InteractionInvalidation.d.ts +1 -1
  640. package/shared/helpers/InteractionInvalidation.js +2 -2
  641. package/shared/helpers/InteractionInvalidation.js.map +1 -1
  642. package/shared/helpers/filterProps.d.ts +14 -0
  643. package/shared/helpers/filterProps.js +33 -0
  644. package/shared/helpers/filterProps.js.map +1 -0
  645. package/shared/locales/en-GB.d.ts +6 -0
  646. package/shared/locales/en-GB.js +8 -2
  647. package/shared/locales/en-GB.js.map +1 -1
  648. package/shared/locales/en-US.d.ts +6 -0
  649. package/shared/locales/index.d.ts +12 -0
  650. package/shared/locales/nb-NO.d.ts +6 -0
  651. package/shared/locales/nb-NO.js +8 -2
  652. package/shared/locales/nb-NO.js.map +1 -1
  653. package/shared/types.d.ts +7 -1
  654. package/shared/types.js.map +1 -1
  655. package/shared/useMedia.d.ts +5 -0
  656. package/shared/useMedia.js +16 -9
  657. package/shared/useMedia.js.map +1 -1
  658. package/style/core/helper-classes/skip-link.scss +13 -7
  659. package/style/core/reset.scss +1 -1
  660. package/style/core/utilities.scss +16 -5
  661. package/style/dnb-ui-basis.css +14 -9
  662. package/style/dnb-ui-basis.min.css +1 -1
  663. package/style/dnb-ui-basis.scss +1 -1
  664. package/style/dnb-ui-body.css +1 -1
  665. package/style/dnb-ui-components.css +167 -28
  666. package/style/dnb-ui-components.min.css +7 -1
  667. package/style/dnb-ui-core.css +14 -9
  668. package/style/dnb-ui-core.min.css +1 -1
  669. package/style/dnb-ui-elements.css +1 -1
  670. package/style/dnb-ui-extensions.css +0 -1
  671. package/style/dnb-ui-extensions.min.css +1 -1
  672. package/style/dnb-ui-fragments.css +6 -3
  673. package/style/dnb-ui-fragments.min.css +1 -1
  674. package/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  675. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  676. package/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
  677. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  678. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  679. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
  680. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  681. package/style/themes/theme-sbanken/fonts.scss +10 -0
  682. package/style/themes/theme-sbanken/globals.scss +8 -0
  683. package/style/themes/theme-sbanken/properties.scss +1 -1
  684. package/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  685. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  686. package/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
  687. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  688. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  689. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  690. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
  691. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  692. package/style/themes/theme-ui/globals.scss +8 -0
  693. package/style/themes/theme-ui/ui-theme-basis.css +7 -1
  694. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  695. package/style/themes/theme-ui/ui-theme-components.css +240 -133
  696. package/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  697. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  698. package/style/themes/theme-ui/ui-theme-extensions.css +0 -1
  699. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  700. package/umd/dnb-ui-basis.min.js +1 -1
  701. package/umd/dnb-ui-components.min.js +1 -1
  702. package/umd/dnb-ui-elements.min.js +1 -1
  703. package/umd/dnb-ui-extensions.min.js +3 -3
  704. package/umd/dnb-ui-lib.min.js +1 -1
  705. package/cjs/extensions/payment-card/icons/CardIn.d.ts +0 -2
  706. package/cjs/extensions/payment-card/icons/CardIn.js +0 -26
  707. package/cjs/extensions/payment-card/icons/CardIn.js.map +0 -1
  708. package/cjs/extensions/payment-card/icons/Padlock.d.ts +0 -3
  709. package/cjs/extensions/payment-card/icons/Padlock.js +0 -26
  710. package/cjs/extensions/payment-card/icons/Padlock.js.map +0 -1
  711. package/es/extensions/payment-card/icons/CardIn.d.ts +0 -2
  712. package/es/extensions/payment-card/icons/CardIn.js +0 -18
  713. package/es/extensions/payment-card/icons/CardIn.js.map +0 -1
  714. package/es/extensions/payment-card/icons/Padlock.d.ts +0 -3
  715. package/es/extensions/payment-card/icons/Padlock.js +0 -18
  716. package/es/extensions/payment-card/icons/Padlock.js.map +0 -1
  717. package/extensions/payment-card/icons/CardIn.d.ts +0 -2
  718. package/extensions/payment-card/icons/CardIn.js +0 -18
  719. package/extensions/payment-card/icons/CardIn.js.map +0 -1
  720. package/extensions/payment-card/icons/Padlock.d.ts +0 -3
  721. package/extensions/payment-card/icons/Padlock.js +0 -18
  722. package/extensions/payment-card/icons/Padlock.js.map +0 -1
@@ -40,7 +40,9 @@ function StringComponent(props) {
40
40
  });
41
41
  const {
42
42
  id,
43
+ name,
43
44
  className,
45
+ autoComplete,
44
46
  innerRef,
45
47
  inputClassName,
46
48
  layout,
@@ -70,6 +72,24 @@ function StringComponent(props) {
70
72
  } = useDataValue(preparedProps);
71
73
  const characterCounterElement = characterCounter ? props.maxLength ? `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}/${props.maxLength}` : `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}` : undefined;
72
74
  const cn = classnames('dnb-forms-field-string__input', inputClassName);
75
+ const sharedProps = {
76
+ id,
77
+ name,
78
+ autoComplete,
79
+ className: cn,
80
+ placeholder: placeholder,
81
+ suffix: help ? React.createElement(HelpButton, {
82
+ title: help.title
83
+ }, help.contents) : undefined,
84
+ on_focus: handleFocus,
85
+ on_blur: handleBlur,
86
+ on_change: handleChange,
87
+ disabled: disabled,
88
+ stretch: width !== undefined,
89
+ inner_ref: innerRef,
90
+ status: error ? 'error' : undefined,
91
+ value: (value === null || value === void 0 ? void 0 : value.toString()) ?? ''
92
+ };
73
93
  return React.createElement(FieldBlock, _extends({
74
94
  className: classnames('dnb-forms-field-string', className),
75
95
  forId: id,
@@ -81,62 +101,19 @@ function StringComponent(props) {
81
101
  warning: warning,
82
102
  error: error,
83
103
  contentsWidth: width !== false ? width : undefined
84
- }, pickSpacingProps(props)), multiline ? React.createElement(Textarea, {
85
- id: id,
86
- className: cn,
87
- placeholder: placeholder,
88
- value: value,
89
- suffix: help ? React.createElement(HelpButton, {
90
- title: help.title,
91
- left: "x-small"
92
- }, help.contents) : undefined,
93
- on_focus: handleFocus,
94
- on_blur: handleBlur,
95
- on_change: handleChange,
104
+ }, pickSpacingProps(props)), multiline ? React.createElement(Textarea, _extends({}, sharedProps, {
96
105
  autoresize: autoresize,
97
- autoresize_max_rows: autoresizeMaxRows,
98
- disabled: disabled,
99
- stretch: width !== undefined,
100
- inner_ref: innerRef,
101
- status: error ? 'error' : undefined
102
- }) : mask ? React.createElement(InputMasked, {
103
- id: id,
104
- className: cn,
106
+ autoresize_max_rows: autoresizeMaxRows
107
+ })) : mask ? React.createElement(InputMasked, _extends({}, sharedProps, {
105
108
  mask: mask,
106
- placeholder: placeholder,
107
- value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
108
109
  icon: leftIcon ?? rightIcon,
109
- icon_position: rightIcon && !leftIcon ? 'right' : undefined,
110
- suffix: help ? React.createElement(HelpButton, {
111
- title: help.title
112
- }, help.contents) : undefined,
113
- on_focus: handleFocus,
114
- on_blur: handleBlur,
115
- on_change: handleChange,
116
- disabled: disabled,
117
- stretch: width !== undefined,
118
- inner_ref: innerRef,
119
- status: error ? 'error' : undefined
120
- }) : React.createElement(Input, {
121
- id: id,
122
- className: cn,
110
+ icon_position: rightIcon && !leftIcon ? 'right' : undefined
111
+ })) : React.createElement(Input, _extends({}, sharedProps, {
123
112
  type: type,
124
- placeholder: placeholder,
125
- value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
126
113
  icon: leftIcon ?? rightIcon,
127
114
  icon_position: rightIcon && !leftIcon ? 'right' : undefined,
128
- clear: clear,
129
- suffix: help ? React.createElement(HelpButton, {
130
- title: help.title
131
- }, help.contents) : undefined,
132
- on_focus: handleFocus,
133
- on_blur: handleBlur,
134
- on_change: handleChange,
135
- disabled: disabled,
136
- stretch: width !== undefined,
137
- inner_ref: innerRef,
138
- status: error ? 'error' : undefined
139
- }));
115
+ clear: clear
116
+ })));
140
117
  }
141
118
  StringComponent._supportsSpacingProps = true;
142
119
  export default StringComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","names":["React","useContext","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","className","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","createElement","_extends","forId","contentsWidth","suffix","title","left","contents","on_focus","on_blur","on_change","autoresize_max_rows","stretch","inner_ref","status","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n const {\n id,\n className,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n id={id}\n className={cn}\n placeholder={placeholder}\n value={value}\n suffix={\n help ? (\n <HelpButton title={help.title} left=\"x-small\">\n {help.contents}\n </HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n ) : mask ? (\n <InputMasked\n id={id}\n className={cn}\n mask={mask}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n ) : (\n <Input\n id={id}\n className={cn}\n type={type}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"String.js","names":["React","useContext","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","name","className","autoComplete","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","sharedProps","suffix","createElement","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","_extends","forId","contentsWidth","autoresize_max_rows","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- var _Space;
4
3
  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; }
5
4
  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; }
6
5
  import React, { useContext, useCallback } from 'react';
7
- import { Checkbox, ToggleButton, Button, Space } from '../../../../components';
6
+ import { Checkbox, ToggleButton } from '../../../../components';
8
7
  import classnames from 'classnames';
9
8
  import ButtonRow from '../../Form/ButtonRow';
10
9
  import FieldBlock from '../../FieldBlock';
11
10
  import { useDataValue } from '../../hooks';
12
11
  import { pickSpacingProps } from '../../../../components/flex/utils';
13
12
  import SharedContext from '../../../../shared/Context';
13
+ import ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext';
14
14
  function Toggle(props) {
15
15
  const sharedContext = useContext(SharedContext);
16
16
  const {
@@ -38,16 +38,12 @@ function Toggle(props) {
38
38
  } = _ref;
39
39
  handleChange === null || handleChange === void 0 ? void 0 : handleChange(checked ? valueOn : valueOff);
40
40
  }, [handleChange, valueOn, valueOff]);
41
- const setOn = useCallback(() => {
42
- if (value !== valueOn) {
43
- handleChange === null || handleChange === void 0 ? void 0 : handleChange(valueOn);
44
- }
45
- }, [handleChange, value, valueOn]);
46
- const setOff = useCallback(() => {
47
- if (value !== valueOff) {
48
- handleChange === null || handleChange === void 0 ? void 0 : handleChange(valueOff);
49
- }
50
- }, [handleChange, value, valueOff]);
41
+ const handleToggleChange = useCallback(_ref2 => {
42
+ let {
43
+ value
44
+ } = _ref2;
45
+ handleChange === null || handleChange === void 0 ? void 0 : handleChange(value === 'on' ? valueOn : valueOff);
46
+ }, [handleChange, valueOn, valueOff]);
51
47
  const cn = classnames('dnb-forms-field-toggle', className);
52
48
  const fieldBlockPropsWithoutLabel = _objectSpread(_objectSpread({
53
49
  forId: id,
@@ -64,6 +60,7 @@ function Toggle(props) {
64
60
  labelSecondary
65
61
  });
66
62
  const isOn = value === valueOn;
63
+ const isOff = value === valueOff;
67
64
  switch (variant) {
68
65
  default:
69
66
  case 'checkbox':
@@ -87,23 +84,24 @@ function Toggle(props) {
87
84
  on_change: handleCheckboxChange
88
85
  }));
89
86
  case 'buttons':
90
- return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ButtonRow, null, React.createElement(Button, {
91
- id: id,
87
+ return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
88
+ asFieldset: true
89
+ }), React.createElement(ButtonRow, {
90
+ bottom: "x-small"
91
+ }, React.createElement(ToggleButtonGroupContext.Provider, {
92
+ value: {
93
+ value: isOn ? 'on' : isOff ? 'off' : undefined,
94
+ onChange: handleToggleChange,
95
+ status: error ? 'error' : undefined,
96
+ disabled
97
+ }
98
+ }, React.createElement(ToggleButton, {
92
99
  text: textOn ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanYes),
93
- on_click: setOn,
94
- variant: isOn ? undefined : 'secondary',
95
- status: error ? 'error' : undefined,
96
- disabled: disabled
97
- }), React.createElement(Button, {
98
- id: id,
100
+ value: "on"
101
+ }), React.createElement(ToggleButton, {
99
102
  text: textOff ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanNo),
100
- on_click: setOff,
101
- variant: isOn ? 'secondary' : undefined,
102
- disabled: disabled,
103
- status: error ? 'error' : undefined
104
- })), _Space || (_Space = React.createElement(Space, {
105
- bottom: "x-small"
106
- })));
103
+ value: "off"
104
+ }))));
107
105
  case 'checkbox-button':
108
106
  return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ToggleButton, {
109
107
  id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","Button","Space","classnames","ButtonRow","FieldBlock","useDataValue","pickSpacingProps","SharedContext","Toggle","props","sharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","labelSecondary","textOn","textOff","value","info","warning","error","handleChange","handleCheckboxChange","_ref","checked","setOn","setOff","cn","fieldBlockPropsWithoutLabel","_objectSpread","forId","fieldBlockProps","isOn","createElement","_extends","status","undefined","on_change","text","translation","Forms","booleanYes","booleanNo","on_click","_Space","bottom","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport {\n Checkbox,\n ToggleButton,\n Button,\n Space,\n} from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n labelSecondary,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const setOn = useCallback(() => {\n if (value !== valueOn) {\n handleChange?.(valueOn)\n }\n }, [handleChange, value, valueOn])\n\n const setOff = useCallback(() => {\n if (value !== valueOff) {\n handleChange?.(valueOff)\n }\n }, [handleChange, value, valueOff])\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n labelSecondary,\n }\n\n const isOn = value === valueOn\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ButtonRow>\n <Button\n id={id}\n text={textOn ?? sharedContext?.translation.Forms.booleanYes}\n on_click={setOn}\n variant={isOn ? undefined : 'secondary'}\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n <Button\n id={id}\n text={textOff ?? sharedContext?.translation.Forms.booleanNo}\n on_click={setOff}\n variant={isOn ? 'secondary' : undefined}\n disabled={disabled}\n status={error ? 'error' : undefined}\n />\n </ButtonRow>\n <Space bottom=\"x-small\" />\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
1
+ {"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","classnames","ButtonRow","FieldBlock","useDataValue","pickSpacingProps","SharedContext","ToggleButtonGroupContext","Toggle","props","sharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","labelSecondary","textOn","textOff","value","info","warning","error","handleChange","handleCheckboxChange","_ref","checked","handleToggleChange","_ref2","cn","fieldBlockPropsWithoutLabel","_objectSpread","forId","fieldBlockProps","isOn","isOff","createElement","_extends","status","undefined","on_change","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n labelSecondary,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n labelSecondary,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : undefined,\n onChange: handleToggleChange,\n status: error ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
@@ -4,6 +4,8 @@ export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' |
4
4
  forId?: string;
5
5
  contentClassName?: string;
6
6
  children: React.ReactNode;
7
+ /** Use true if you have more than one form element */
8
+ asFieldset?: boolean;
7
9
  /** Width of outer block element */
8
10
  width?: false | 'small' | 'medium' | 'large';
9
11
  /** Width of contents block, while label etc can be wider if space is available */
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["className", "forId", "layout", "label", "labelDescription", "labelSecondary", "info", "warning", "error", "width", "contentsWidth", "size", "contentClassName", "children"];
4
+ const _excluded = ["className", "forId", "layout", "label", "labelDescription", "labelSecondary", "asFieldset", "info", "warning", "error", "width", "contentsWidth", "size", "contentClassName", "children"];
5
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
6
6
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
7
  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; }
@@ -21,6 +21,7 @@ function FieldBlock(props) {
21
21
  label,
22
22
  labelDescription,
23
23
  labelSecondary,
24
+ asFieldset,
24
25
  info,
25
26
  warning,
26
27
  error: errorProp,
@@ -86,7 +87,7 @@ function FieldBlock(props) {
86
87
  }, [errorProp, fieldErrorRecord, showFieldErrorRecord]);
87
88
  const mainClasses = classnames('dnb-forms-field-block', className, width !== undefined && `dnb-forms-field-block--width-${width}`);
88
89
  const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
89
- const enableFieldset = useMemo(() => !nestedFieldBlockContext && findElementInChildren(children, child => child.props.label), []);
90
+ const enableFieldset = useMemo(() => label && (asFieldset || !nestedFieldBlockContext && findElementInChildren(children, child => child.props.label)), []);
90
91
  const state = error || warning || info;
91
92
  const stateStatus = error ? 'error' : warning ? 'warn' : info ? 'info' : null;
92
93
  const Label = _ref3 => {
@@ -95,7 +96,7 @@ function FieldBlock(props) {
95
96
  } = _ref3;
96
97
  return React.createElement(FormLabel, {
97
98
  element: enableFieldset ? 'legend' : 'label',
98
- for_id: forId,
99
+ for_id: enableFieldset ? undefined : forId,
99
100
  space: {
100
101
  top: 0,
101
102
  bottom: 'x-small'
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","info","warning","error","errorProp","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","id","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","child","state","stateStatus","Label","_ref3","createElement","element","for_id","space","top","bottom","Provider","value","_extends","Fragment","text","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n info,\n warning,\n error: errorProp,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (id, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(id, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [id]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (id, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(id, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [id]: true,\n }\n } else {\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([id]) => showFieldErrorRecord[id] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useMemo(\n () =>\n !nestedFieldBlockContext &&\n findElementInChildren(\n children,\n (child: React.ReactElement) => child.props.label\n ),\n []\n )\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n for_id={forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <>&nbsp;</>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","id","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","child","state","stateStatus","Label","_ref3","createElement","element","for_id","space","top","bottom","Provider","value","_extends","Fragment","text","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (id, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(id, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [id]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (id, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(id, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [id]: true,\n }\n } else {\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([id]) => showFieldErrorRecord[id] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useMemo(\n () =>\n label &&\n (asFieldset ||\n (!nestedFieldBlockContext &&\n findElementInChildren(\n children,\n (child: React.ReactElement) => child.props.label\n ))),\n []\n )\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n for_id={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <>&nbsp;</>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
@@ -10,7 +10,6 @@
10
10
  fieldset.dnb-forms-field-block {
11
11
  padding: 0;
12
12
  border: none;
13
- line-height: var(--font-size-basis--em);
14
13
  }
15
14
  fieldset.dnb-forms-field-block:not([class*=space__top]) {
16
15
  margin-top: 0;
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;line-height:var(--font-size-basis--em);padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:var(--forms-field-width--medium) auto}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:var(--forms-field-width--medium) auto}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
@@ -1,5 +1,10 @@
1
1
  import { JsonObject } from 'json-pointer';
2
2
  import { Props as ProviderProps } from '../../DataContext/Provider';
3
3
  import type { ElementAllProps } from '../../../../elements/Element';
4
- export type Props = Omit<ElementAllProps, 'data' | 'as'>;
5
- export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, ...rest }: ProviderProps<Data> & Props): import("react/jsx-runtime").JSX.Element;
4
+ export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
5
+ /**
6
+ * Will enable autoComplete for all nested Field.String fields
7
+ */
8
+ autoComplete?: boolean;
9
+ };
10
+ export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- const _excluded = ["children", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId"];
2
+ const _excluded = ["children", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"];
3
3
  import React from 'react';
4
4
  import Provider from '../../DataContext/Provider';
5
5
  import FormElement from '../Element';
@@ -14,7 +14,8 @@ export default function FormHandler(_ref) {
14
14
  onSubmit,
15
15
  onSubmitRequest,
16
16
  scrollTopOnSubmit,
17
- sessionStorageId
17
+ sessionStorageId,
18
+ autoComplete
18
19
  } = _ref,
19
20
  rest = _objectWithoutProperties(_ref, _excluded);
20
21
  const providerProps = {
@@ -30,7 +31,8 @@ export default function FormHandler(_ref) {
30
31
  },
31
32
  onSubmitRequest,
32
33
  scrollTopOnSubmit,
33
- sessionStorageId
34
+ sessionStorageId,
35
+ autoComplete
34
36
  };
35
37
  return React.createElement(Provider, providerProps, React.createElement(FormElement, rest, children));
36
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","rest","_objectWithoutProperties","_excluded","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<ElementAllProps, 'data' | 'as'>\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n ...rest\n}: ProviderProps<Data> & Props) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (data: Data) => {\n if (typeof onSubmit === 'function') {\n onSubmit(data)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAKpC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAYH;EAAA,IAZ6B;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC;IAE2B,CAAC,GAAAV,IAAA;IADzBW,IAAI,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBZ,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAGJ,IAAU,IAAK;MACxB,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAACJ,IAAI,CAAC;MAChB;IACF,CAAC;IACDK,eAAe;IACfC,iBAAiB;IACjBC;EACF,CAA0C;EAE1C,OACEd,KAAA,CAAAmB,aAAA,CAAClB,QAAQ,EAAKiB,aAAa,EACzBlB,KAAA,CAAAmB,aAAA,CAACjB,WAAW,EAAKa,IAAI,EAAGV,QAAsB,CACtC,CAAC;AAEf"}
1
+ {"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (data: Data) => {\n if (typeof onSubmit === 'function') {\n onSubmit(data)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAapC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBb,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAGJ,IAAU,IAAK;MACxB,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAACJ,IAAI,CAAC;MAChB;IACF,CAAC;IACDK,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEf,KAAA,CAAAoB,aAAA,CAACnB,QAAQ,EAAKkB,aAAa,EACzBnB,KAAA,CAAAoB,aAAA,CAAClB,WAAW,EAAKc,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
@@ -1,6 +1,15 @@
1
+ /**
2
+ * Source: Wikipedia's official list of phone number country codes
3
+ *
4
+ * cdc: Country Dialing Code
5
+ */
1
6
  declare const _default: {
2
- name: string;
3
- code: string;
7
+ i18n: {
8
+ en: string;
9
+ nb: string;
10
+ };
11
+ cdc: string;
4
12
  iso: string;
13
+ continent: string;
5
14
  }[];
6
15
  export default _default;