@dnb/eufemia 10.75.4 → 10.76.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 (813) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/cjs/components/DateFormat.d.ts +12 -0
  3. package/cjs/components/DateFormat.js +24 -0
  4. package/cjs/components/DateFormat.js.map +1 -0
  5. package/cjs/components/PortalRoot.d.ts +12 -0
  6. package/cjs/components/PortalRoot.js +24 -0
  7. package/cjs/components/PortalRoot.js.map +1 -0
  8. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -0
  9. package/cjs/components/breadcrumb/Breadcrumb.js +9 -4
  10. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  11. package/cjs/components/breadcrumb/BreadcrumbDocs.js +5 -0
  12. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  13. package/cjs/components/card/Card.d.ts +4 -0
  14. package/cjs/components/card/Card.js +13 -4
  15. package/cjs/components/card/Card.js.map +1 -1
  16. package/cjs/components/card/CardDocs.js +1 -1
  17. package/cjs/components/card/CardDocs.js.map +1 -1
  18. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/date-format/DateFormat.d.ts +30 -0
  20. package/cjs/components/date-format/DateFormat.js +86 -0
  21. package/cjs/components/date-format/DateFormat.js.map +1 -0
  22. package/cjs/components/date-format/DateFormatDocs.d.ts +2 -0
  23. package/cjs/components/date-format/DateFormatDocs.js +34 -0
  24. package/cjs/components/date-format/DateFormatDocs.js.map +1 -0
  25. package/cjs/components/date-format/DateFormatUtils.d.ts +11 -0
  26. package/cjs/components/date-format/DateFormatUtils.js +36 -0
  27. package/cjs/components/date-format/DateFormatUtils.js.map +1 -0
  28. package/cjs/components/date-format/index.d.ts +7 -0
  29. package/cjs/components/date-format/index.js +24 -0
  30. package/cjs/components/date-format/index.js.map +1 -0
  31. package/cjs/components/date-picker/DatePicker.js +5 -8
  32. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerCalc.d.ts +0 -13
  34. package/cjs/components/date-picker/DatePickerCalc.js +0 -44
  35. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.js +11 -10
  37. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +7 -7
  39. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerInput.js +2 -1
  41. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerPortal.d.ts +1 -1
  43. package/cjs/components/date-picker/DatePickerPortal.js +4 -4
  44. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -1
  45. package/cjs/components/form-status/FormStatus.js +1 -1
  46. package/cjs/components/form-status/FormStatus.js.map +1 -1
  47. package/cjs/components/form-status/style/dnb-form-status.css +1 -1
  48. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  49. package/cjs/components/form-status/style/dnb-form-status.scss +1 -1
  50. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  51. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  52. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  54. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  55. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  56. package/cjs/components/help-button/style/dnb-help-button-inline.css +1 -1
  57. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  58. package/cjs/components/help-button/style/dnb-help-button-inline.scss +1 -1
  59. package/cjs/components/help-button/style/dnb-help-button.css +1 -1
  60. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  61. package/cjs/components/index.d.ts +3 -1
  62. package/cjs/components/index.js +14 -0
  63. package/cjs/components/index.js.map +1 -1
  64. package/cjs/components/info-card/style/dnb-info-card.css +1 -1
  65. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  66. package/cjs/components/info-card/style/dnb-info-card.scss +1 -1
  67. package/cjs/components/lib.d.ts +5 -1
  68. package/cjs/components/lib.js +16 -0
  69. package/cjs/components/lib.js.map +1 -1
  70. package/cjs/components/modal/ModalRoot.d.ts +2 -7
  71. package/cjs/components/modal/ModalRoot.js +9 -65
  72. package/cjs/components/modal/ModalRoot.js.map +1 -1
  73. package/cjs/components/portal-root/PortalRoot.d.ts +7 -0
  74. package/cjs/components/portal-root/PortalRoot.js +65 -0
  75. package/cjs/components/portal-root/PortalRoot.js.map +1 -0
  76. package/cjs/components/portal-root/PortalRootDocs.d.ts +2 -0
  77. package/cjs/components/portal-root/PortalRootDocs.js +19 -0
  78. package/cjs/components/portal-root/PortalRootDocs.js.map +1 -0
  79. package/cjs/components/portal-root/index.d.ts +7 -0
  80. package/cjs/components/portal-root/index.js +24 -0
  81. package/cjs/components/portal-root/index.js.map +1 -0
  82. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  83. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  84. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  85. package/cjs/components/step-indicator/StepIndicator.js +6 -2
  86. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  87. package/cjs/components/step-indicator/StepIndicatorDocs.js +1 -1
  88. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  89. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  90. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  91. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  92. package/cjs/components/switch/Switch.d.ts +12 -3
  93. package/cjs/components/switch/Switch.js +39 -15
  94. package/cjs/components/switch/Switch.js.map +1 -1
  95. package/cjs/components/switch/SwitchDocs.js +5 -0
  96. package/cjs/components/switch/SwitchDocs.js.map +1 -1
  97. package/cjs/components/tooltip/TooltipPortal.js +28 -59
  98. package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
  99. package/cjs/components/tooltip/style/dnb-tooltip.css +8 -1
  100. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  101. package/cjs/components/tooltip/style/dnb-tooltip.scss +8 -1
  102. package/cjs/components/upload/Upload.js +31 -7
  103. package/cjs/components/upload/Upload.js.map +1 -1
  104. package/cjs/components/upload/UploadContext.d.ts +1 -0
  105. package/cjs/components/upload/UploadContext.js +2 -1
  106. package/cjs/components/upload/UploadContext.js.map +1 -1
  107. package/cjs/components/upload/UploadDocs.js +11 -1
  108. package/cjs/components/upload/UploadDocs.js.map +1 -1
  109. package/cjs/components/upload/UploadDropzone.d.ts +3 -1
  110. package/cjs/components/upload/UploadDropzone.js +5 -4
  111. package/cjs/components/upload/UploadDropzone.js.map +1 -1
  112. package/cjs/components/upload/UploadFileInput.d.ts +3 -1
  113. package/cjs/components/upload/UploadFileInput.js +7 -5
  114. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  115. package/cjs/components/upload/style/dnb-upload.css +10 -2
  116. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  117. package/cjs/components/upload/style/dnb-upload.scss +12 -2
  118. package/cjs/components/upload/types.d.ts +4 -0
  119. package/cjs/components/upload/types.js.map +1 -1
  120. package/cjs/elements/lists/style/lists-mixins.scss +1 -1
  121. package/cjs/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  122. package/cjs/extensions/forms/Connectors/Bring/address.js +185 -0
  123. package/cjs/extensions/forms/Connectors/Bring/address.js.map +1 -0
  124. package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  125. package/cjs/extensions/forms/Connectors/Bring/index.js +3 -1
  126. package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -1
  127. package/cjs/extensions/forms/Connectors/Bring/postalCode.js +10 -1
  128. package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  129. package/cjs/extensions/forms/Connectors/createContext.js +3 -0
  130. package/cjs/extensions/forms/Connectors/createContext.js.map +1 -1
  131. package/cjs/extensions/forms/Field/Address/Address.d.ts +3 -0
  132. package/cjs/extensions/forms/Field/Address/Address.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  134. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Field/Date/Date.js +11 -8
  136. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  137. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  138. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  139. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  140. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  142. package/cjs/extensions/forms/Field/Toggle/Toggle.js +36 -0
  143. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  145. package/cjs/extensions/forms/Field/Upload/Upload.js +26 -7
  146. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  147. package/cjs/extensions/forms/Field/style/field-sizes.scss +1 -1
  148. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  149. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  150. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  151. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -6
  152. package/cjs/extensions/forms/Form/Card/Card.js +1 -1
  153. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
  154. package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  155. package/cjs/extensions/forms/Form/Card/CardDocs.js +14 -11
  156. package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  157. package/cjs/extensions/forms/Value/Date/Date.js +22 -7
  158. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  159. package/cjs/extensions/forms/Value/style/value-sizes.scss +2 -2
  160. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  161. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  162. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  163. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  164. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  165. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  166. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  167. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  168. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  169. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  170. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  171. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  172. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  173. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  174. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  175. package/cjs/extensions/forms/style/dnb-forms.css +4 -4
  176. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  177. package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -0
  178. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  179. package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
  180. package/cjs/fragments/drawer-list/DrawerList.js +6 -5
  181. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  182. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
  183. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  184. package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  185. package/cjs/fragments/drawer-list/DrawerListPortal.js +31 -65
  186. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  187. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  188. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  189. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  190. package/cjs/index.d.ts +3 -1
  191. package/cjs/index.js +14 -0
  192. package/cjs/index.js.map +1 -1
  193. package/cjs/shared/build-info/BuildInfoData.d.ts +2 -2
  194. package/cjs/shared/build-info/BuildInfoData.js +2 -2
  195. package/cjs/shared/build-info/BuildInfoData.js.map +1 -1
  196. package/cjs/shared/locales/en-GB.d.ts +3 -0
  197. package/cjs/shared/locales/en-GB.js +3 -0
  198. package/cjs/shared/locales/en-GB.js.map +1 -1
  199. package/cjs/shared/locales/en-US.d.ts +3 -0
  200. package/cjs/shared/locales/index.d.ts +6 -0
  201. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  202. package/cjs/shared/locales/nb-NO.js +3 -0
  203. package/cjs/shared/locales/nb-NO.js.map +1 -1
  204. package/cjs/shared/locales/sv-SE.d.ts +3 -0
  205. package/cjs/shared/locales/sv-SE.js +3 -0
  206. package/cjs/shared/locales/sv-SE.js.map +1 -1
  207. package/cjs/style/core/scopes.scss +1 -1
  208. package/cjs/style/dnb-ui-basis.css +1 -1
  209. package/cjs/style/dnb-ui-basis.min.css +1 -1
  210. package/cjs/style/dnb-ui-body.css +1 -1
  211. package/cjs/style/dnb-ui-body.min.css +1 -1
  212. package/cjs/style/dnb-ui-components.css +27 -12
  213. package/cjs/style/dnb-ui-components.min.css +4 -4
  214. package/cjs/style/dnb-ui-core.css +1 -1
  215. package/cjs/style/dnb-ui-core.min.css +1 -1
  216. package/cjs/style/dnb-ui-elements.css +1 -1
  217. package/cjs/style/dnb-ui-elements.min.css +1 -1
  218. package/cjs/style/dnb-ui-extensions.css +5 -4
  219. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  220. package/cjs/style/dnb-ui-forms.css +4 -4
  221. package/cjs/style/dnb-ui-forms.min.css +1 -1
  222. package/cjs/style/dnb-ui-fragments.css +1 -1
  223. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  224. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  230. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
  231. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  232. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -0
  235. package/cjs/style/themes/theme-eiendom/properties.js +3 -1
  236. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  237. package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -0
  238. package/cjs/style/themes/theme-sbanken/properties.js +2 -0
  239. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  240. package/cjs/style/themes/theme-sbanken/properties.scss +3 -0
  241. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  242. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  249. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  251. package/cjs/style/themes/theme-ui/properties.d.ts +2 -0
  252. package/cjs/style/themes/theme-ui/properties.js +3 -1
  253. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  254. package/cjs/style/themes/theme-ui/properties.scss +3 -0
  255. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -1
  256. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  257. package/cjs/style/themes/theme-ui/ui-theme-components.css +31 -16
  258. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  259. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  260. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  261. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -4
  262. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  263. package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -4
  264. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  265. package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
  266. package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  267. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  268. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  269. package/components/DateFormat.d.ts +12 -0
  270. package/components/DateFormat.js +4 -0
  271. package/components/DateFormat.js.map +1 -0
  272. package/components/PortalRoot.d.ts +12 -0
  273. package/components/PortalRoot.js +4 -0
  274. package/components/PortalRoot.js.map +1 -0
  275. package/components/breadcrumb/Breadcrumb.d.ts +4 -0
  276. package/components/breadcrumb/Breadcrumb.js +9 -4
  277. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  278. package/components/breadcrumb/BreadcrumbDocs.js +5 -0
  279. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  280. package/components/card/Card.d.ts +4 -0
  281. package/components/card/Card.js +13 -4
  282. package/components/card/Card.js.map +1 -1
  283. package/components/card/CardDocs.js +1 -1
  284. package/components/card/CardDocs.js.map +1 -1
  285. package/components/checkbox/Checkbox.js.map +1 -1
  286. package/components/date-format/DateFormat.d.ts +30 -0
  287. package/components/date-format/DateFormat.js +77 -0
  288. package/components/date-format/DateFormat.js.map +1 -0
  289. package/components/date-format/DateFormatDocs.d.ts +2 -0
  290. package/components/date-format/DateFormatDocs.js +28 -0
  291. package/components/date-format/DateFormatDocs.js.map +1 -0
  292. package/components/date-format/DateFormatUtils.d.ts +11 -0
  293. package/components/date-format/DateFormatUtils.js +29 -0
  294. package/components/date-format/DateFormatUtils.js.map +1 -0
  295. package/components/date-format/index.d.ts +7 -0
  296. package/components/date-format/index.js +4 -0
  297. package/components/date-format/index.js.map +1 -0
  298. package/components/date-picker/DatePicker.js +3 -6
  299. package/components/date-picker/DatePicker.js.map +1 -1
  300. package/components/date-picker/DatePickerCalc.d.ts +0 -13
  301. package/components/date-picker/DatePickerCalc.js +0 -41
  302. package/components/date-picker/DatePickerCalc.js.map +1 -1
  303. package/components/date-picker/DatePickerCalendar.js +7 -6
  304. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  305. package/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  306. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  307. package/components/date-picker/DatePickerInput.js +2 -1
  308. package/components/date-picker/DatePickerInput.js.map +1 -1
  309. package/components/date-picker/DatePickerPortal.d.ts +1 -1
  310. package/components/date-picker/DatePickerPortal.js +4 -4
  311. package/components/date-picker/DatePickerPortal.js.map +1 -1
  312. package/components/form-status/FormStatus.js +1 -1
  313. package/components/form-status/FormStatus.js.map +1 -1
  314. package/components/form-status/style/dnb-form-status.css +1 -1
  315. package/components/form-status/style/dnb-form-status.min.css +1 -1
  316. package/components/form-status/style/dnb-form-status.scss +1 -1
  317. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  318. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  319. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  320. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  321. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  322. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  323. package/components/help-button/style/dnb-help-button-inline.css +1 -1
  324. package/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  325. package/components/help-button/style/dnb-help-button-inline.scss +1 -1
  326. package/components/help-button/style/dnb-help-button.css +1 -1
  327. package/components/help-button/style/dnb-help-button.min.css +1 -1
  328. package/components/index.d.ts +3 -1
  329. package/components/index.js +3 -1
  330. package/components/index.js.map +1 -1
  331. package/components/info-card/style/dnb-info-card.css +1 -1
  332. package/components/info-card/style/dnb-info-card.min.css +1 -1
  333. package/components/info-card/style/dnb-info-card.scss +1 -1
  334. package/components/lib.d.ts +5 -1
  335. package/components/lib.js +5 -1
  336. package/components/lib.js.map +1 -1
  337. package/components/modal/ModalRoot.d.ts +2 -7
  338. package/components/modal/ModalRoot.js +9 -65
  339. package/components/modal/ModalRoot.js.map +1 -1
  340. package/components/portal-root/PortalRoot.d.ts +7 -0
  341. package/components/portal-root/PortalRoot.js +54 -0
  342. package/components/portal-root/PortalRoot.js.map +1 -0
  343. package/components/portal-root/PortalRootDocs.d.ts +2 -0
  344. package/components/portal-root/PortalRootDocs.js +13 -0
  345. package/components/portal-root/PortalRootDocs.js.map +1 -0
  346. package/components/portal-root/index.d.ts +7 -0
  347. package/components/portal-root/index.js +4 -0
  348. package/components/portal-root/index.js.map +1 -0
  349. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  350. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  351. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  352. package/components/step-indicator/StepIndicator.js +6 -2
  353. package/components/step-indicator/StepIndicator.js.map +1 -1
  354. package/components/step-indicator/StepIndicatorDocs.js +1 -1
  355. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  356. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  357. package/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  358. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  359. package/components/switch/Switch.d.ts +12 -3
  360. package/components/switch/Switch.js +40 -16
  361. package/components/switch/Switch.js.map +1 -1
  362. package/components/switch/SwitchDocs.js +5 -0
  363. package/components/switch/SwitchDocs.js.map +1 -1
  364. package/components/tooltip/TooltipPortal.js +27 -60
  365. package/components/tooltip/TooltipPortal.js.map +1 -1
  366. package/components/tooltip/style/dnb-tooltip.css +8 -1
  367. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  368. package/components/tooltip/style/dnb-tooltip.scss +8 -1
  369. package/components/upload/Upload.js +31 -7
  370. package/components/upload/Upload.js.map +1 -1
  371. package/components/upload/UploadContext.d.ts +1 -0
  372. package/components/upload/UploadContext.js +2 -1
  373. package/components/upload/UploadContext.js.map +1 -1
  374. package/components/upload/UploadDocs.js +11 -1
  375. package/components/upload/UploadDocs.js.map +1 -1
  376. package/components/upload/UploadDropzone.d.ts +3 -1
  377. package/components/upload/UploadDropzone.js +5 -4
  378. package/components/upload/UploadDropzone.js.map +1 -1
  379. package/components/upload/UploadFileInput.d.ts +3 -1
  380. package/components/upload/UploadFileInput.js +7 -5
  381. package/components/upload/UploadFileInput.js.map +1 -1
  382. package/components/upload/style/dnb-upload.css +10 -2
  383. package/components/upload/style/dnb-upload.min.css +1 -1
  384. package/components/upload/style/dnb-upload.scss +12 -2
  385. package/components/upload/types.d.ts +4 -0
  386. package/components/upload/types.js.map +1 -1
  387. package/elements/lists/style/lists-mixins.scss +1 -1
  388. package/es/components/DateFormat.d.ts +12 -0
  389. package/es/components/DateFormat.js +4 -0
  390. package/es/components/DateFormat.js.map +1 -0
  391. package/es/components/PortalRoot.d.ts +12 -0
  392. package/es/components/PortalRoot.js +4 -0
  393. package/es/components/PortalRoot.js.map +1 -0
  394. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -0
  395. package/es/components/breadcrumb/Breadcrumb.js +9 -4
  396. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  397. package/es/components/breadcrumb/BreadcrumbDocs.js +5 -0
  398. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  399. package/es/components/card/Card.d.ts +4 -0
  400. package/es/components/card/Card.js +12 -4
  401. package/es/components/card/Card.js.map +1 -1
  402. package/es/components/card/CardDocs.js +1 -1
  403. package/es/components/card/CardDocs.js.map +1 -1
  404. package/es/components/checkbox/Checkbox.js.map +1 -1
  405. package/es/components/date-format/DateFormat.d.ts +30 -0
  406. package/es/components/date-format/DateFormat.js +74 -0
  407. package/es/components/date-format/DateFormat.js.map +1 -0
  408. package/es/components/date-format/DateFormatDocs.d.ts +2 -0
  409. package/es/components/date-format/DateFormatDocs.js +28 -0
  410. package/es/components/date-format/DateFormatDocs.js.map +1 -0
  411. package/es/components/date-format/DateFormatUtils.d.ts +11 -0
  412. package/es/components/date-format/DateFormatUtils.js +27 -0
  413. package/es/components/date-format/DateFormatUtils.js.map +1 -0
  414. package/es/components/date-format/index.d.ts +7 -0
  415. package/es/components/date-format/index.js +4 -0
  416. package/es/components/date-format/index.js.map +1 -0
  417. package/es/components/date-picker/DatePicker.js +3 -6
  418. package/es/components/date-picker/DatePicker.js.map +1 -1
  419. package/es/components/date-picker/DatePickerCalc.d.ts +0 -13
  420. package/es/components/date-picker/DatePickerCalc.js +0 -39
  421. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  422. package/es/components/date-picker/DatePickerCalendar.js +7 -6
  423. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  424. package/es/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  425. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  426. package/es/components/date-picker/DatePickerInput.js +2 -1
  427. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  428. package/es/components/date-picker/DatePickerPortal.d.ts +1 -1
  429. package/es/components/date-picker/DatePickerPortal.js +4 -4
  430. package/es/components/date-picker/DatePickerPortal.js.map +1 -1
  431. package/es/components/form-status/FormStatus.js +1 -1
  432. package/es/components/form-status/FormStatus.js.map +1 -1
  433. package/es/components/form-status/style/dnb-form-status.css +1 -1
  434. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  435. package/es/components/form-status/style/dnb-form-status.scss +1 -1
  436. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  437. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  438. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  439. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  440. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  441. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  442. package/es/components/help-button/style/dnb-help-button-inline.css +1 -1
  443. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  444. package/es/components/help-button/style/dnb-help-button-inline.scss +1 -1
  445. package/es/components/help-button/style/dnb-help-button.css +1 -1
  446. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  447. package/es/components/index.d.ts +3 -1
  448. package/es/components/index.js +3 -1
  449. package/es/components/index.js.map +1 -1
  450. package/es/components/info-card/style/dnb-info-card.css +1 -1
  451. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  452. package/es/components/info-card/style/dnb-info-card.scss +1 -1
  453. package/es/components/lib.d.ts +5 -1
  454. package/es/components/lib.js +5 -1
  455. package/es/components/lib.js.map +1 -1
  456. package/es/components/modal/ModalRoot.d.ts +2 -7
  457. package/es/components/modal/ModalRoot.js +9 -61
  458. package/es/components/modal/ModalRoot.js.map +1 -1
  459. package/es/components/portal-root/PortalRoot.d.ts +7 -0
  460. package/es/components/portal-root/PortalRoot.js +54 -0
  461. package/es/components/portal-root/PortalRoot.js.map +1 -0
  462. package/es/components/portal-root/PortalRootDocs.d.ts +2 -0
  463. package/es/components/portal-root/PortalRootDocs.js +13 -0
  464. package/es/components/portal-root/PortalRootDocs.js.map +1 -0
  465. package/es/components/portal-root/index.d.ts +7 -0
  466. package/es/components/portal-root/index.js +4 -0
  467. package/es/components/portal-root/index.js.map +1 -0
  468. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  469. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  470. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  471. package/es/components/step-indicator/StepIndicator.js +6 -2
  472. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  473. package/es/components/step-indicator/StepIndicatorDocs.js +1 -1
  474. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  475. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  476. package/es/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  477. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  478. package/es/components/switch/Switch.d.ts +12 -3
  479. package/es/components/switch/Switch.js +40 -16
  480. package/es/components/switch/Switch.js.map +1 -1
  481. package/es/components/switch/SwitchDocs.js +5 -0
  482. package/es/components/switch/SwitchDocs.js.map +1 -1
  483. package/es/components/tooltip/TooltipPortal.js +27 -59
  484. package/es/components/tooltip/TooltipPortal.js.map +1 -1
  485. package/es/components/tooltip/style/dnb-tooltip.css +8 -1
  486. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  487. package/es/components/tooltip/style/dnb-tooltip.scss +8 -1
  488. package/es/components/upload/Upload.js +31 -7
  489. package/es/components/upload/Upload.js.map +1 -1
  490. package/es/components/upload/UploadContext.d.ts +1 -0
  491. package/es/components/upload/UploadContext.js +2 -1
  492. package/es/components/upload/UploadContext.js.map +1 -1
  493. package/es/components/upload/UploadDocs.js +11 -1
  494. package/es/components/upload/UploadDocs.js.map +1 -1
  495. package/es/components/upload/UploadDropzone.d.ts +3 -1
  496. package/es/components/upload/UploadDropzone.js +5 -4
  497. package/es/components/upload/UploadDropzone.js.map +1 -1
  498. package/es/components/upload/UploadFileInput.d.ts +3 -1
  499. package/es/components/upload/UploadFileInput.js +7 -5
  500. package/es/components/upload/UploadFileInput.js.map +1 -1
  501. package/es/components/upload/style/dnb-upload.css +10 -2
  502. package/es/components/upload/style/dnb-upload.min.css +1 -1
  503. package/es/components/upload/style/dnb-upload.scss +12 -2
  504. package/es/components/upload/types.d.ts +4 -0
  505. package/es/components/upload/types.js.map +1 -1
  506. package/es/elements/lists/style/lists-mixins.scss +1 -1
  507. package/es/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  508. package/es/extensions/forms/Connectors/Bring/address.js +169 -0
  509. package/es/extensions/forms/Connectors/Bring/address.js.map +1 -0
  510. package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  511. package/es/extensions/forms/Connectors/Bring/index.js +3 -1
  512. package/es/extensions/forms/Connectors/Bring/index.js.map +1 -1
  513. package/es/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  514. package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  515. package/es/extensions/forms/Connectors/createContext.js +3 -0
  516. package/es/extensions/forms/Connectors/createContext.js.map +1 -1
  517. package/es/extensions/forms/Field/Address/Address.d.ts +3 -0
  518. package/es/extensions/forms/Field/Address/Address.js.map +1 -1
  519. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  520. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  521. package/es/extensions/forms/Field/Date/Date.js +5 -2
  522. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  523. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  524. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  525. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  526. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  527. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  528. package/es/extensions/forms/Field/Toggle/Toggle.js +37 -1
  529. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  530. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  531. package/es/extensions/forms/Field/Upload/Upload.js +26 -7
  532. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  533. package/es/extensions/forms/Field/style/field-sizes.scss +1 -1
  534. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  535. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  536. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  537. package/es/extensions/forms/Form/Card/Card.d.ts +3 -6
  538. package/es/extensions/forms/Form/Card/Card.js +1 -1
  539. package/es/extensions/forms/Form/Card/Card.js.map +1 -1
  540. package/es/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  541. package/es/extensions/forms/Form/Card/CardDocs.js +12 -10
  542. package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  543. package/es/extensions/forms/Value/Date/Date.js +20 -5
  544. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  545. package/es/extensions/forms/Value/style/value-sizes.scss +2 -2
  546. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  547. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  548. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  549. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  550. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  551. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  552. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  553. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  554. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  555. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  556. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  557. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  558. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  559. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  560. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  561. package/es/extensions/forms/style/dnb-forms.css +4 -4
  562. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  563. package/es/extensions/payment-card/style/dnb-payment-card.css +1 -0
  564. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  565. package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
  566. package/es/fragments/drawer-list/DrawerList.js +6 -5
  567. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  568. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
  569. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  570. package/es/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  571. package/es/fragments/drawer-list/DrawerListPortal.js +32 -66
  572. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  573. package/es/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  574. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  575. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  576. package/es/index.d.ts +3 -1
  577. package/es/index.js +3 -1
  578. package/es/index.js.map +1 -1
  579. package/es/shared/build-info/BuildInfoData.cjs +2 -2
  580. package/es/shared/build-info/BuildInfoData.d.ts +2 -2
  581. package/es/shared/build-info/BuildInfoData.js +2 -2
  582. package/es/shared/build-info/BuildInfoData.js.map +1 -1
  583. package/es/shared/locales/en-GB.d.ts +3 -0
  584. package/es/shared/locales/en-GB.js +3 -0
  585. package/es/shared/locales/en-GB.js.map +1 -1
  586. package/es/shared/locales/en-US.d.ts +3 -0
  587. package/es/shared/locales/index.d.ts +6 -0
  588. package/es/shared/locales/nb-NO.d.ts +3 -0
  589. package/es/shared/locales/nb-NO.js +3 -0
  590. package/es/shared/locales/nb-NO.js.map +1 -1
  591. package/es/shared/locales/sv-SE.d.ts +3 -0
  592. package/es/shared/locales/sv-SE.js +3 -0
  593. package/es/shared/locales/sv-SE.js.map +1 -1
  594. package/es/style/core/scopes.scss +1 -1
  595. package/es/style/dnb-ui-basis.css +1 -1
  596. package/es/style/dnb-ui-basis.min.css +1 -1
  597. package/es/style/dnb-ui-body.css +1 -1
  598. package/es/style/dnb-ui-body.min.css +1 -1
  599. package/es/style/dnb-ui-components.css +27 -12
  600. package/es/style/dnb-ui-components.min.css +4 -4
  601. package/es/style/dnb-ui-core.css +1 -1
  602. package/es/style/dnb-ui-core.min.css +1 -1
  603. package/es/style/dnb-ui-elements.css +1 -1
  604. package/es/style/dnb-ui-elements.min.css +1 -1
  605. package/es/style/dnb-ui-extensions.css +5 -4
  606. package/es/style/dnb-ui-extensions.min.css +1 -1
  607. package/es/style/dnb-ui-forms.css +4 -4
  608. package/es/style/dnb-ui-forms.min.css +1 -1
  609. package/es/style/dnb-ui-fragments.css +1 -1
  610. package/es/style/dnb-ui-fragments.min.css +1 -1
  611. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  612. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  613. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
  614. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  615. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  616. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  617. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
  618. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  619. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
  620. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  621. package/es/style/themes/theme-eiendom/properties.d.ts +2 -0
  622. package/es/style/themes/theme-eiendom/properties.js +3 -1
  623. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  624. package/es/style/themes/theme-sbanken/properties.d.ts +2 -0
  625. package/es/style/themes/theme-sbanken/properties.js +2 -0
  626. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  627. package/es/style/themes/theme-sbanken/properties.scss +3 -0
  628. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  629. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  630. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
  631. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  632. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  633. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  634. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
  635. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  636. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
  637. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  638. package/es/style/themes/theme-ui/properties.d.ts +2 -0
  639. package/es/style/themes/theme-ui/properties.js +3 -1
  640. package/es/style/themes/theme-ui/properties.js.map +1 -1
  641. package/es/style/themes/theme-ui/properties.scss +3 -0
  642. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -1
  643. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  644. package/es/style/themes/theme-ui/ui-theme-components.css +31 -16
  645. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  646. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  647. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  648. package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -4
  649. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  650. package/es/style/themes/theme-ui/ui-theme-forms.css +4 -4
  651. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  652. package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
  653. package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  654. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  655. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  656. package/esm/dnb-ui-components.min.mjs +1 -1
  657. package/esm/dnb-ui-elements.min.mjs +1 -1
  658. package/esm/dnb-ui-extensions.min.mjs +3 -3
  659. package/esm/dnb-ui-lib.min.mjs +1 -1
  660. package/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  661. package/extensions/forms/Connectors/Bring/address.js +170 -0
  662. package/extensions/forms/Connectors/Bring/address.js.map +1 -0
  663. package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  664. package/extensions/forms/Connectors/Bring/index.js +2 -0
  665. package/extensions/forms/Connectors/Bring/index.js.map +1 -1
  666. package/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  667. package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  668. package/extensions/forms/Connectors/createContext.js +3 -0
  669. package/extensions/forms/Connectors/createContext.js.map +1 -1
  670. package/extensions/forms/Field/Address/Address.d.ts +3 -0
  671. package/extensions/forms/Field/Address/Address.js.map +1 -1
  672. package/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  673. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  674. package/extensions/forms/Field/Date/Date.js +5 -2
  675. package/extensions/forms/Field/Date/Date.js.map +1 -1
  676. package/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  677. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  678. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  679. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  680. package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  681. package/extensions/forms/Field/Toggle/Toggle.js +37 -1
  682. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  683. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  684. package/extensions/forms/Field/Upload/Upload.js +26 -7
  685. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  686. package/extensions/forms/Field/style/field-sizes.scss +1 -1
  687. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  688. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  689. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  690. package/extensions/forms/Form/Card/Card.d.ts +3 -6
  691. package/extensions/forms/Form/Card/Card.js +1 -1
  692. package/extensions/forms/Form/Card/Card.js.map +1 -1
  693. package/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  694. package/extensions/forms/Form/Card/CardDocs.js +12 -10
  695. package/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  696. package/extensions/forms/Value/Date/Date.js +20 -5
  697. package/extensions/forms/Value/Date/Date.js.map +1 -1
  698. package/extensions/forms/Value/style/value-sizes.scss +2 -2
  699. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  700. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  701. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  702. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  703. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  704. package/extensions/forms/constants/locales/en-GB.js +2 -1
  705. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  706. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  707. package/extensions/forms/constants/locales/index.d.ts +2 -0
  708. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  709. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  710. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  711. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  712. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  713. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  714. package/extensions/forms/style/dnb-forms.css +4 -4
  715. package/extensions/forms/style/dnb-forms.min.css +1 -1
  716. package/extensions/payment-card/style/dnb-payment-card.css +1 -0
  717. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  718. package/fragments/drawer-list/DrawerList.d.ts +4 -2
  719. package/fragments/drawer-list/DrawerList.js +6 -5
  720. package/fragments/drawer-list/DrawerList.js.map +1 -1
  721. package/fragments/drawer-list/DrawerListHelpers.js +1 -1
  722. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  723. package/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  724. package/fragments/drawer-list/DrawerListPortal.js +32 -66
  725. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  726. package/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  727. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  728. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  729. package/index.d.ts +3 -1
  730. package/index.js +3 -1
  731. package/index.js.map +1 -1
  732. package/package.json +1 -1
  733. package/shared/build-info/BuildInfoData.cjs +2 -2
  734. package/shared/build-info/BuildInfoData.d.ts +2 -2
  735. package/shared/build-info/BuildInfoData.js +2 -2
  736. package/shared/build-info/BuildInfoData.js.map +1 -1
  737. package/shared/locales/en-GB.d.ts +3 -0
  738. package/shared/locales/en-GB.js +3 -0
  739. package/shared/locales/en-GB.js.map +1 -1
  740. package/shared/locales/en-US.d.ts +3 -0
  741. package/shared/locales/index.d.ts +6 -0
  742. package/shared/locales/nb-NO.d.ts +3 -0
  743. package/shared/locales/nb-NO.js +3 -0
  744. package/shared/locales/nb-NO.js.map +1 -1
  745. package/shared/locales/sv-SE.d.ts +3 -0
  746. package/shared/locales/sv-SE.js +3 -0
  747. package/shared/locales/sv-SE.js.map +1 -1
  748. package/style/core/scopes.scss +1 -1
  749. package/style/dnb-ui-basis.css +1 -1
  750. package/style/dnb-ui-basis.min.css +1 -1
  751. package/style/dnb-ui-body.css +1 -1
  752. package/style/dnb-ui-body.min.css +1 -1
  753. package/style/dnb-ui-components.css +27 -12
  754. package/style/dnb-ui-components.min.css +4 -4
  755. package/style/dnb-ui-core.css +1 -1
  756. package/style/dnb-ui-core.min.css +1 -1
  757. package/style/dnb-ui-elements.css +1 -1
  758. package/style/dnb-ui-elements.min.css +1 -1
  759. package/style/dnb-ui-extensions.css +5 -4
  760. package/style/dnb-ui-extensions.min.css +1 -1
  761. package/style/dnb-ui-forms.css +4 -4
  762. package/style/dnb-ui-forms.min.css +1 -1
  763. package/style/dnb-ui-fragments.css +1 -1
  764. package/style/dnb-ui-fragments.min.css +1 -1
  765. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  766. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  767. package/style/themes/theme-eiendom/eiendom-theme-components.css +31 -16
  768. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  769. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  770. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  771. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -4
  772. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  773. package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -4
  774. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  775. package/style/themes/theme-eiendom/properties.d.ts +2 -0
  776. package/style/themes/theme-eiendom/properties.js +3 -1
  777. package/style/themes/theme-eiendom/properties.js.map +1 -1
  778. package/style/themes/theme-sbanken/properties.d.ts +2 -0
  779. package/style/themes/theme-sbanken/properties.js +2 -0
  780. package/style/themes/theme-sbanken/properties.js.map +1 -1
  781. package/style/themes/theme-sbanken/properties.scss +3 -0
  782. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  783. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  784. package/style/themes/theme-sbanken/sbanken-theme-components.css +44 -20
  785. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  786. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  787. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  788. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -4
  789. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  790. package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -4
  791. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  792. package/style/themes/theme-ui/properties.d.ts +2 -0
  793. package/style/themes/theme-ui/properties.js +3 -1
  794. package/style/themes/theme-ui/properties.js.map +1 -1
  795. package/style/themes/theme-ui/properties.scss +3 -0
  796. package/style/themes/theme-ui/ui-theme-basis.css +2 -1
  797. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  798. package/style/themes/theme-ui/ui-theme-components.css +31 -16
  799. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  800. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  801. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  802. package/style/themes/theme-ui/ui-theme-extensions.css +5 -4
  803. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  804. package/style/themes/theme-ui/ui-theme-forms.css +4 -4
  805. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  806. package/style/themes/theme-ui/ui-theme-properties.css +1 -0
  807. package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  808. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  809. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  810. package/umd/dnb-ui-components.min.js +1 -1
  811. package/umd/dnb-ui-elements.min.js +1 -1
  812. package/umd/dnb-ui-extensions.min.js +3 -3
  813. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_useCountries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","labelSrOnly","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","useCountries","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","label_sr_only","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport useCountries from '../SelectCountry/useCountries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n | 'layout'\n | 'layoutOptions'\n | 'labelSize'\n | 'labelDescription'\n | 'labelDescriptionInline'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n labelSrOnly,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const { countries } = useCountries()\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n countries,\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [countries, lang, ccFilter, filter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, countries, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n label_sr_only={labelSrOnly}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n labelSrOnly={labelSrOnly}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_useCountries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre2","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","labelSrOnly","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","useCountries","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","_countryCodeRef$curre","_numberRef$current","selectedKey","trim","includes","truncatedNumber","substring","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","label_sr_only","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport useCountries from '../SelectCountry/useCountries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n | 'layout'\n | 'layoutOptions'\n | 'labelSize'\n | 'labelDescription'\n | 'labelDescriptionInline'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n labelSrOnly,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const { countries } = useCountries()\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n countries,\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [countries, lang, ccFilter, filter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n // If the phone number is more than 8 digits, and the country code is the default one (+47),\n // we truncate the phone number to 8 digits.\n // This is to ensure that the phone number does not exceed the maximum length set by the mask.\n // TODO: This is a temporary solution, and should be removed once the mask is updated to handle this case.\n if (\n !numberMask &&\n countryCodeRef.current?.includes(defaultCountryCode) &&\n numberRef.current?.length > 8\n ) {\n const truncatedNumber = numberRef.current.substring(0, 8)\n callOnChange({\n countryCode,\n phoneNumber: truncatedNumber,\n })\n onNumberChange?.(truncatedNumber)\n } else {\n callOnChange({ countryCode })\n }\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, countries, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n label_sr_only={labelSrOnly}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n labelSrOnly={labelSrOnly}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import type { ToggleButtonProps } from '../../../../components/ToggleButton';
5
5
  export type ToggleProps = {
6
6
  valueOn: unknown;
7
7
  valueOff: unknown;
8
- variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons';
8
+ variant?: 'checkbox' | 'radio' | 'switch' | 'checkbox-button' | 'button' | 'buttons';
9
9
  textOn?: string;
10
10
  textOff?: string;
11
11
  size?: ToggleButtonProps['size'] | CheckboxProps['size'];
@@ -72,6 +72,9 @@ function Toggle(props) {
72
72
  } = _ref;
73
73
  handleChange === null || handleChange === void 0 ? void 0 : handleChange(value === 'on' ? valueOn : valueOff);
74
74
  }, [handleChange, valueOn, valueOff]);
75
+ const handleSwitchChange = (0, _react.useCallback)(args => {
76
+ handleChange === null || handleChange === void 0 ? void 0 : handleChange(args.checked ? valueOn : valueOff, args);
77
+ }, [handleChange, valueOn, valueOff]);
75
78
  const cn = (0, _classnames.default)('dnb-forms-field-toggle', className);
76
79
  const fieldBlockProps = _objectSpread({
77
80
  forId: id,
@@ -114,6 +117,21 @@ function Toggle(props) {
114
117
  onChange: handleCheckboxChange,
115
118
  onClick: handleClick
116
119
  }, htmlAttributes)));
120
+ case 'switch':
121
+ return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, {
122
+ label: undefined
123
+ }), _react.default.createElement(_components.Switch, _extends({
124
+ id: id,
125
+ className: cn,
126
+ label: labelWithItemNo !== null && labelWithItemNo !== void 0 ? labelWithItemNo : isOn ? textOn !== null && textOn !== void 0 ? textOn : translations.yes : textOff !== null && textOff !== void 0 ? textOff : translations.no,
127
+ labelSrOnly: labelSrOnly,
128
+ checked: isOn,
129
+ disabled: disabled,
130
+ size: size !== 'small' ? size : undefined,
131
+ status: hasError ? 'error' : undefined,
132
+ onChange: handleSwitchChange,
133
+ onClick: handleClick
134
+ }, htmlAttributes)));
117
135
  case 'button':
118
136
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_components.ToggleButton, _extends({
119
137
  id: id,
@@ -150,6 +168,24 @@ function Toggle(props) {
150
168
  value: "off",
151
169
  role: "radio"
152
170
  }, htmlAttributes))))));
171
+ case 'radio':
172
+ return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, {
173
+ asFieldset: true
174
+ }), _react.default.createElement(_components.Radio.Group, {
175
+ value: isOn ? 'on' : isOff ? 'off' : null,
176
+ on_change: handleToggleChange,
177
+ status: hasError ? 'error' : undefined,
178
+ disabled: disabled,
179
+ size: size !== 'small' ? size : 'default'
180
+ }, _react.default.createElement(_components.Radio, _extends({
181
+ label: textOn !== null && textOn !== void 0 ? textOn : translations.yes,
182
+ value: "on",
183
+ status: hasError ? 'error' : undefined
184
+ }, htmlAttributes)), _react.default.createElement(_components.Radio, _extends({
185
+ label: textOff !== null && textOff !== void 0 ? textOff : translations.no,
186
+ value: "off",
187
+ status: hasError ? 'error' : undefined
188
+ }, htmlAttributes))));
153
189
  case 'checkbox-button':
154
190
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_components.ToggleButton, _extends({
155
191
  id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_ButtonRow","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","_useTranslation","_useIterateItemNo","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Toggle","props","translations","useTranslation","ToggleField","preparedProps","errorMessages","id","className","valueOn","valueOff","variant","disabled","textOn","textOff","size","hasError","htmlAttributes","handleChange","setDisplayValue","useFieldProps","preventChangeRef","useRef","onClick","handleClick","useCallback","args","preventDefault","_args$preventDefault","current","checked","event","handleCheckboxChange","handleToggleChange","_ref","cn","classnames","fieldBlockProps","forId","pickSpacingProps","isOn","isOff","useMemo","text","label","labelSuffix","required","labelSrOnly","labelWithItemNo","useIterateItemNo","createElement","undefined","Checkbox","yes","no","status","onChange","ToggleButton","on_change","role","asFieldset","bottom","Group","Provider","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport { useIterateItemNo } from '../../Iterate/ItemNo/useIterateItemNo'\nimport type {\n CheckboxProps,\n OnChangeParams,\n OnClickParams,\n} from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n /**\n * Checkbox props\n */\n onClick?: (\n value: unknown,\n params: { event: React.MouseEvent<HTMLInputElement> }\n ) => void\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n textOn,\n textOff,\n value,\n size,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const preventChangeRef = useRef(false)\n\n const onClick = preparedProps?.onClick\n const handleClick = useCallback(\n (args: OnClickParams) => {\n const preventDefault = () => {\n preventChangeRef.current = true\n args.preventDefault?.()\n }\n\n if (preventChangeRef.current) {\n args.checked = !args.checked\n preventChangeRef.current = false\n }\n\n const event = {\n ...args,\n preventDefault,\n }\n onClick?.(args.checked ? valueOn : valueOff, event)\n },\n [onClick, valueOff, valueOn]\n )\n const handleCheckboxChange = useCallback(\n (args: OnChangeParams) => {\n handleChange?.(args.checked ? valueOn : valueOff, args)\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 fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(text)\n }\n }, [isOn, setDisplayValue, textOff, textOn])\n\n const { label, labelSuffix, required, labelSrOnly } = props\n const labelWithItemNo = useIterateItemNo({\n label,\n labelSuffix,\n required,\n })\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n labelWithItemNo ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n labelSrOnly={labelSrOnly}\n checked={isOn}\n disabled={disabled}\n size={size !== 'small' ? size : undefined}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n onClick={handleClick}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButton.Group role=\"radiogroup\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n role=\"radio\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n role=\"radio\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ToggleButton.Group>\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 ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_ButtonRow","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","_useTranslation","_useIterateItemNo","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Toggle","props","translations","useTranslation","ToggleField","preparedProps","errorMessages","id","className","valueOn","valueOff","variant","disabled","textOn","textOff","size","hasError","htmlAttributes","handleChange","setDisplayValue","useFieldProps","preventChangeRef","useRef","onClick","handleClick","useCallback","args","preventDefault","_args$preventDefault","current","checked","event","handleCheckboxChange","handleToggleChange","_ref","handleSwitchChange","cn","classnames","fieldBlockProps","forId","pickSpacingProps","isOn","isOff","useMemo","text","label","labelSuffix","required","labelSrOnly","labelWithItemNo","useIterateItemNo","createElement","undefined","Checkbox","yes","no","status","onChange","Switch","ToggleButton","on_change","role","asFieldset","bottom","Group","Provider","Radio","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n Checkbox,\n Switch,\n ToggleButton,\n Radio,\n} from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport { useIterateItemNo } from '../../Iterate/ItemNo/useIterateItemNo'\nimport type {\n CheckboxProps,\n OnChangeParams,\n OnClickParams,\n} from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\nimport { SwitchOnChangeParams } from '../../../../components/Switch'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?:\n | 'checkbox'\n | 'radio'\n | 'switch'\n | 'checkbox-button'\n | 'button'\n | 'buttons'\n textOn?: string\n textOff?: string\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n /**\n * Checkbox props\n */\n onClick?: (\n value: unknown,\n params: { event: React.MouseEvent<HTMLInputElement> }\n ) => void\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n textOn,\n textOff,\n value,\n size,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const preventChangeRef = useRef(false)\n\n const onClick = preparedProps?.onClick\n const handleClick = useCallback(\n (args: OnClickParams) => {\n const preventDefault = () => {\n preventChangeRef.current = true\n args.preventDefault?.()\n }\n\n if (preventChangeRef.current) {\n args.checked = !args.checked\n preventChangeRef.current = false\n }\n\n const event = {\n ...args,\n preventDefault,\n }\n onClick?.(args.checked ? valueOn : valueOff, event)\n },\n [onClick, valueOff, valueOn]\n )\n const handleCheckboxChange = useCallback(\n (args: OnChangeParams) => {\n handleChange?.(args.checked ? valueOn : valueOff, args)\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 const handleSwitchChange = useCallback(\n (args: SwitchOnChangeParams) => {\n handleChange?.(args.checked ? valueOn : valueOff, args)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(text)\n }\n }, [isOn, setDisplayValue, textOff, textOn])\n\n const { label, labelSuffix, required, labelSrOnly } = props\n const labelWithItemNo = useIterateItemNo({\n label,\n labelSuffix,\n required,\n })\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n labelWithItemNo ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n labelSrOnly={labelSrOnly}\n checked={isOn}\n disabled={disabled}\n size={size !== 'small' ? size : undefined}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n onClick={handleClick}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'switch':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Switch\n id={id}\n className={cn}\n label={\n labelWithItemNo ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n labelSrOnly={labelSrOnly}\n checked={isOn}\n disabled={disabled}\n size={size !== 'small' ? size : undefined}\n status={hasError ? 'error' : undefined}\n onChange={handleSwitchChange}\n onClick={handleClick}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButton.Group role=\"radiogroup\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n role=\"radio\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n role=\"radio\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ToggleButton.Group>\n </ButtonRow>\n </FieldBlock>\n )\n case 'radio':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <Radio.Group\n value={isOn ? 'on' : isOff ? 'off' : null}\n on_change={handleToggleChange}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n size={size !== 'small' ? size : 'default'} // Radio does not support \"small\" size\n >\n <Radio\n label={textOn ?? translations.yes}\n value=\"on\"\n status={hasError ? 'error' : undefined}\n {...htmlAttributes}\n />\n <Radio\n label={textOff ?? translations.no}\n value=\"off\"\n status={hasError ? 'error' : undefined}\n {...htmlAttributes}\n />\n </Radio.Group>\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 ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,yBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,eAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,iBAAA,GAAAV,OAAA;AAAwE,SAAAE,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAA1B,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAe,IAAA,CAAA3B,CAAA,OAAAY,MAAA,CAAAgB,qBAAA,QAAAC,CAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAA5B,CAAA,GAAAK,CAAA,KAAAwB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAzB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA0B,UAAA,OAAAzB,CAAA,CAAA0B,IAAA,CAAAP,KAAA,CAAAnB,CAAA,EAAAuB,CAAA,YAAAvB,CAAA;AAAA,SAAA2B,cAAAjC,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAkB,SAAA,CAAAC,MAAA,EAAAnB,CAAA,UAAAC,CAAA,WAAAiB,SAAA,CAAAlB,CAAA,IAAAkB,SAAA,CAAAlB,CAAA,QAAAA,CAAA,OAAAqB,OAAA,CAAAd,MAAA,CAAAN,CAAA,OAAA4B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAArC,CAAA,EAAAY,MAAA,CAAAwB,yBAAA,CAAA9B,CAAA,KAAAoB,OAAA,CAAAd,MAAA,CAAAN,CAAA,GAAA4B,OAAA,WAAA7B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAmC,gBAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAiC,cAAA,CAAAjC,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAAkC,KAAA,EAAAjC,CAAA,EAAAyB,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAzC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAsC,eAAAhC,CAAA,QAAAY,CAAA,GAAAwB,YAAA,CAAApC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAwB,aAAApC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAAzC,CAAA;AAmCxE,SAAS0C,MAAMA,CAACC,KAAY,EAAE;EAC5B,MAAMC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,WAAW;EAEjD,MAAMC,aAAoB,GAAApB,aAAA,CAAAA,aAAA,KACrBgB,KAAK;IACRK,aAAa,EAAEL,KAAK,CAACK;EAAa,EACnC;EAED,MAAM;IACJC,EAAE;IACFC,SAAS;IACTC,OAAO;IACPC,QAAQ;IACRC,OAAO;IACPC,QAAQ;IACRC,MAAM;IACNC,OAAO;IACPvB,KAAK;IACLwB,IAAI;IACJC,QAAQ;IACRC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,oBAAa,EAACf,aAAa,CAAC;EAEhC,MAAMgB,gBAAgB,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAEtC,MAAMC,OAAO,GAAGlB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEkB,OAAO;EACtC,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,IAAmB,IAAK;IACvB,MAAMC,cAAc,GAAGA,CAAA,KAAM;MAAA,IAAAC,oBAAA;MAC3BP,gBAAgB,CAACQ,OAAO,GAAG,IAAI;MAC/B,CAAAD,oBAAA,GAAAF,IAAI,CAACC,cAAc,cAAAC,oBAAA,uBAAnBA,oBAAA,CAAA3D,IAAA,CAAAyD,IAAsB,CAAC;IACzB,CAAC;IAED,IAAIL,gBAAgB,CAACQ,OAAO,EAAE;MAC5BH,IAAI,CAACI,OAAO,GAAG,CAACJ,IAAI,CAACI,OAAO;MAC5BT,gBAAgB,CAACQ,OAAO,GAAG,KAAK;IAClC;IAEA,MAAME,KAAK,GAAA9C,aAAA,CAAAA,aAAA,KACNyC,IAAI;MACPC;IAAc,EACf;IACDJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGG,IAAI,CAACI,OAAO,GAAGrB,OAAO,GAAGC,QAAQ,EAAEqB,KAAK,CAAC;EACrD,CAAC,EACD,CAACR,OAAO,EAAEb,QAAQ,EAAED,OAAO,CAC7B,CAAC;EACD,MAAMuB,oBAAoB,GAAG,IAAAP,kBAAW,EACrCC,IAAoB,IAAK;IACxBR,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGQ,IAAI,CAACI,OAAO,GAAGrB,OAAO,GAAGC,QAAQ,EAAEgB,IAAI,CAAC;EACzD,CAAC,EACD,CAACR,YAAY,EAAET,OAAO,EAAEC,QAAQ,CAClC,CAAC;EACD,MAAMuB,kBAAkB,GAAG,IAAAR,kBAAW,EACpCS,IAAA,IAAe;IAAA,IAAd;MAAE3C;IAAM,CAAC,GAAA2C,IAAA;IACRhB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG3B,KAAK,KAAK,IAAI,GAAGkB,OAAO,GAAGC,QAAQ,CAAC;EACrD,CAAC,EACD,CAACQ,YAAY,EAAET,OAAO,EAAEC,QAAQ,CAClC,CAAC;EACD,MAAMyB,kBAAkB,GAAG,IAAAV,kBAAW,EACnCC,IAA0B,IAAK;IAC9BR,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGQ,IAAI,CAACI,OAAO,GAAGrB,OAAO,GAAGC,QAAQ,EAAEgB,IAAI,CAAC;EACzD,CAAC,EACD,CAACR,YAAY,EAAET,OAAO,EAAEC,QAAQ,CAClC,CAAC;EAED,MAAM0B,EAAE,GAAG,IAAAC,mBAAU,EAAC,wBAAwB,EAAE7B,SAAS,CAAC;EAE1D,MAAM8B,eAAgC,GAAArD,aAAA;IACpCsD,KAAK,EAAEhC,EAAE;IACTC,SAAS,EAAE4B,EAAE;IACbxB;EAAQ,GACL,IAAA4B,uBAAgB,EAACvC,KAAK,CAAC,CAC3B;EAED,MAAMwC,IAAI,GAAGlD,KAAK,KAAKkB,OAAO;EAC9B,MAAMiC,KAAK,GAAGnD,KAAK,KAAKmB,QAAQ;EAEhC,IAAAiC,cAAO,EAAC,MAAM;IACZ,MAAMC,IAAI,GAAGH,IAAI,GAAG5B,MAAM,GAAGC,OAAO;IACpC,IAAI8B,IAAI,EAAE;MACRzB,eAAe,CAACyB,IAAI,CAAC;IACvB;EACF,CAAC,EAAE,CAACH,IAAI,EAAEtB,eAAe,EAAEL,OAAO,EAAED,MAAM,CAAC,CAAC;EAE5C,MAAM;IAAEgC,KAAK;IAAEC,WAAW;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAG/C,KAAK;EAC3D,MAAMgD,eAAe,GAAG,IAAAC,kCAAgB,EAAC;IACvCL,KAAK;IACLC,WAAW;IACXC;EACF,CAAC,CAAC;EAEF,QAAQpC,OAAO;IACb;IACA,KAAK,UAAU;MACb,OACExE,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAAkB,QAAA,KAAKkE,eAAe;QAAEO,KAAK,EAAEO;MAAU,IAChDjH,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAA6G,QAAQ,EAAAjF,QAAA;QACPmC,EAAE,EAAEA,EAAG;QACPC,SAAS,EAAE4B,EAAG;QACdS,KAAK,EACHI,eAAe,aAAfA,eAAe,cAAfA,eAAe,GACdR,IAAI,GACD5B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAG,GAC1BxC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAC7B;QACDP,WAAW,EAAEA,WAAY;QACzBlB,OAAO,EAAEW,IAAK;QACd7B,QAAQ,EAAEA,QAAS;QACnBG,IAAI,EAAEA,IAAI,KAAK,OAAO,GAAGA,IAAI,GAAGqC,SAAU;QAC1CI,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAU;QACvCK,QAAQ,EAAEzB,oBAAqB;QAC/BT,OAAO,EAAEC;MAAY,GACjBP,cAAc,CACnB,CACS,CAAC;IAEjB,KAAK,QAAQ;MACX,OACE9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAAkB,QAAA,KAAKkE,eAAe;QAAEO,KAAK,EAAEO;MAAU,IAChDjH,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAkH,MAAM,EAAAtF,QAAA;QACLmC,EAAE,EAAEA,EAAG;QACPC,SAAS,EAAE4B,EAAG;QACdS,KAAK,EACHI,eAAe,aAAfA,eAAe,cAAfA,eAAe,GACdR,IAAI,GACD5B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAG,GAC1BxC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAC7B;QACDP,WAAW,EAAEA,WAAY;QACzBlB,OAAO,EAAEW,IAAK;QACd7B,QAAQ,EAAEA,QAAS;QACnBG,IAAI,EAAEA,IAAI,KAAK,OAAO,GAAGA,IAAI,GAAGqC,SAAU;QAC1CI,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAU;QACvCK,QAAQ,EAAEtB,kBAAmB;QAC7BZ,OAAO,EAAEC;MAAY,GACjBP,cAAc,CACnB,CACS,CAAC;IAEjB,KAAK,QAAQ;MACX,OACE9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAKoF,eAAe,EAC7BnG,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAmH,YAAY,EAAAvF,QAAA;QACXmC,EAAE,EAAEA,EAAG;QACPqC,IAAI,EACFH,IAAI,GACA5B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAG,GAC1BxC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAC7B;QACDzB,OAAO,EAAEW,IAAK;QACd7B,QAAQ,EAAEA,QAAS;QACnB4C,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAU;QACvC7D,KAAK,EAAEA,KAAK,GAAG,MAAM,GAAG,OAAQ;QAChCwB,IAAI,EAAEA,IAAK;QACX6C,SAAS,EAAE5B,oBAAqB;QAChC6B,IAAI,EAAC;MAAU,GACX5C,cAAc,CACnB,CACS,CAAC;IAEjB,KAAK,SAAS;MACZ,OACE9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAAkB,QAAA,KAAKkE,eAAe;QAAEwB,UAAU;MAAA,IACzC3H,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC1G,UAAA,CAAAS,OAAS;QAAC6G,MAAM,EAAC;MAAS,GACzB5H,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAmH,YAAY,CAACK,KAAK;QAACH,IAAI,EAAC;MAAY,GACnC1H,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACtG,yBAAA,CAAAK,OAAwB,CAAC+G,QAAQ;QAChC1E,KAAK,EAAE;UACLA,KAAK,EAAEkD,IAAI,GAAG,IAAI,GAAGC,KAAK,GAAG,KAAK,GAAG,IAAI;UACzCe,QAAQ,EAAExB,kBAAkB;UAC5BuB,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAS;UACtCxC,QAAQ;UACRG;QACF;MAAE,GAEF5E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAmH,YAAY,EAAAvF,QAAA;QACXwE,IAAI,EAAE/B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAI;QACjC/D,KAAK,EAAC,IAAI;QACVsE,IAAI,EAAC;MAAO,GACR5C,cAAc,CACnB,CAAC,EACF9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAmH,YAAY,EAAAvF,QAAA;QACXwE,IAAI,EAAE9B,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAAG;QACjChE,KAAK,EAAC,KAAK;QACXsE,IAAI,EAAC;MAAO,GACR5C,cAAc,CACnB,CACgC,CACjB,CACX,CACD,CAAC;IAEjB,KAAK,OAAO;MACV,OACE9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAAkB,QAAA,KAAKkE,eAAe;QAAEwB,UAAU;MAAA,IACzC3H,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAA0H,KAAK,CAACF,KAAK;QACVzE,KAAK,EAAEkD,IAAI,GAAG,IAAI,GAAGC,KAAK,GAAG,KAAK,GAAG,IAAK;QAC1CkB,SAAS,EAAE3B,kBAAmB;QAC9BuB,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAU;QACvCxC,QAAQ,EAAEA,QAAS;QACnBG,IAAI,EAAEA,IAAI,KAAK,OAAO,GAAGA,IAAI,GAAG;MAAU,GAE1C5E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAA0H,KAAK,EAAA9F,QAAA;QACJyE,KAAK,EAAEhC,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAI;QAClC/D,KAAK,EAAC,IAAI;QACViE,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC;MAAU,GACnCnC,cAAc,CACnB,CAAC,EACF9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAA0H,KAAK,EAAA9F,QAAA;QACJyE,KAAK,EAAE/B,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAAG;QAClChE,KAAK,EAAC,KAAK;QACXiE,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC;MAAU,GACnCnC,cAAc,CACnB,CACU,CACH,CAAC;IAEjB,KAAK,iBAAiB;MACpB,OACE9E,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAACzG,WAAA,CAAAQ,OAAU,EAAKoF,eAAe,EAC7BnG,MAAA,CAAAe,OAAA,CAAAiG,aAAA,CAAC3G,WAAA,CAAAmH,YAAY,EAAAvF,QAAA;QACXmC,EAAE,EAAEA,EAAG;QACPI,OAAO,EAAC,UAAU;QAClBiC,IAAI,EACFH,IAAI,GACA5B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIX,YAAY,CAACoD,GAAG,GAC1BxC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIZ,YAAY,CAACqD,EAC7B;QACDzB,OAAO,EAAEW,IAAK;QACd7B,QAAQ,EAAEA,QAAS;QACnB4C,MAAM,EAAExC,QAAQ,GAAG,OAAO,GAAGoC,SAAU;QACvC7D,KAAK,EAAEA,KAAK,GAAG,MAAM,GAAG,OAAQ;QAChCwB,IAAI,EAAEA,IAAK;QACX6C,SAAS,EAAE5B,oBAAqB;QAChC6B,IAAI,EAAC;MAAU,GACX5C,cAAc,CACnB,CACS,CAAC;EAEnB;AACF;AAEAjB,MAAM,CAACmE,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAnH,OAAA,GACpB8C,MAAM","ignoreList":[]}
@@ -3,7 +3,7 @@ import { UploadFile, UploadFileNative, UploadProps } from '../../../../component
3
3
  import { SpacingProps } from '../../../../shared/types';
4
4
  export type { UploadFile, UploadFileNative };
5
5
  export type UploadValue = Array<UploadFile | UploadFileNative>;
6
- export type Props = Omit<FieldProps<UploadValue, UploadValue | undefined>, 'layout' | 'layoutOptions' | 'onBlurValidator' | 'onChangeValidator' | 'contentWidth' | 'labelSize' | 'labelDescriptionInline' | 'labelSrOnly' | 'labelSize' | 'labelSuffix'> & SpacingProps & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'onFileClick' | 'skeleton' | 'download' | 'allowDuplicates' | 'disableDragAndDrop'> & {
6
+ export type Props = Omit<FieldProps<UploadValue, UploadValue | undefined>, 'layout' | 'layoutOptions' | 'onBlurValidator' | 'onChangeValidator' | 'contentWidth' | 'labelSize' | 'labelDescriptionInline' | 'labelSrOnly' | 'labelSize' | 'labelSuffix'> & SpacingProps & Pick<Partial<UploadProps>, 'children' | 'title' | 'variant' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'onFileClick' | 'skeleton' | 'download' | 'allowDuplicates' | 'disableDragAndDrop'> & {
7
7
  fileHandler?: (newFiles: UploadValue) => UploadValue | Promise<UploadValue>;
8
8
  width?: 'large' | 'stretch';
9
9
  };
@@ -90,6 +90,7 @@ function UploadComponent(props) {
90
90
  const {
91
91
  title = sharedTr.title,
92
92
  text = sharedTr.text,
93
+ variant = 'normal',
93
94
  acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],
94
95
  filesAmountLimit = 100,
95
96
  fileMaxSize = 5,
@@ -174,8 +175,10 @@ function UploadComponent(props) {
174
175
  width,
175
176
  help: undefined
176
177
  }, (0, _utils.pickSpacingProps)(props));
178
+ const usedLabelDescription = labelDescription !== null && labelDescription !== void 0 ? labelDescription : text;
177
179
  return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_Upload.default, _extends({
178
180
  id: id,
181
+ variant: variant,
179
182
  acceptedFileTypes: acceptedFileTypes,
180
183
  filesAmountLimit: filesAmountLimit,
181
184
  download: download,
@@ -187,17 +190,33 @@ function UploadComponent(props) {
187
190
  onChange: changeHandler,
188
191
  onFileDelete: onFileDelete,
189
192
  onFileClick: onFileClick,
190
- title: label !== null && label !== void 0 ? label : title,
191
- text: help ? _react.default.createElement(_react.default.Fragment, null, labelDescription !== null && labelDescription !== void 0 ? labelDescription : text, _react.default.createElement(_HelpButtonInline.default, {
192
- contentId: `${id}-help`,
193
- left: text ? 'x-small' : false,
193
+ title: help && labelDescription === false ? _react.default.createElement(LabelWithHelpButton, {
194
+ label: label !== null && label !== void 0 ? label : title,
195
+ id: id,
194
196
  help: help
195
- })) : labelDescription !== null && labelDescription !== void 0 ? labelDescription : text
197
+ }) : label !== null && label !== void 0 ? label : title,
198
+ text: help && (labelDescription !== null && labelDescription !== void 0 ? labelDescription : text) ? _react.default.createElement(LabelWithHelpButton, {
199
+ label: usedLabelDescription,
200
+ id: id,
201
+ help: help
202
+ }) : usedLabelDescription
196
203
  }, htmlAttributes), help && _react.default.createElement(_HelpButtonInline.HelpButtonInlineContent, {
197
204
  contentId: `${id}-help`,
198
205
  help: help,
199
- roundedCorner: false
200
- })));
206
+ roundedCorner: variant === 'compact'
207
+ }), props.children));
208
+ }
209
+ function LabelWithHelpButton(props) {
210
+ const {
211
+ label,
212
+ id,
213
+ help
214
+ } = props;
215
+ return _react.default.createElement(_react.default.Fragment, null, label, _react.default.createElement(_HelpButtonInline.default, {
216
+ contentId: `${id}-help`,
217
+ left: label ? 'x-small' : false,
218
+ help: help
219
+ }));
201
220
  }
202
221
  var _default = exports.default = UploadComponent;
203
222
  UploadComponent._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","undefined","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","disabled","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","download","allowDuplicates","disableDragAndDrop","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","existingFiles","includes","newFiles","newValidFiles","newFilesLoading","isLoading","incomingFiles","_incomingFiles$filter","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","roundedCorner","_default","exports","_supportsSpacingProps","Array","isArray","File","_lastModified","_item$file2","_type","_item$file3","lastModified","type"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n | 'layout'\n | 'layoutOptions'\n | 'onBlurValidator'\n | 'onChangeValidator'\n | 'contentWidth'\n | 'labelSize'\n | 'labelDescriptionInline'\n | 'labelSrOnly'\n | 'labelSize'\n | 'labelSuffix'\n> &\n SpacingProps &\n Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n | 'allowDuplicates'\n | 'disableDragAndDrop'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n width?: 'large' | 'stretch'\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n if (!item) {\n return\n }\n\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n download,\n allowDuplicates,\n disableDragAndDrop,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const existingFiles = files.filter((file) =>\n existingFileIds.includes(file.id)\n )\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n\n if (!incomingFiles) {\n setFiles(existingFiles)\n handleChange(existingFiles)\n } else {\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...(incomingFiles?.filter((file) => file != null) ?? []),\n ...filesRef.current.slice(\n indexOfFirstNewFile + incomingFiles.length\n ),\n ]\n setFiles(updatedFiles)\n handleChange(updatedFiles)\n }\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n download={download}\n allowDuplicates={allowDuplicates}\n disableDragAndDrop={disableDragAndDrop}\n disabled={disabled}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n help={help}\n roundedCorner={false}\n />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'] || item?.file['name'], {\n lastModified: (item.file as File)?.lastModified ?? 0,\n type: (item.file as File)?.type ?? '',\n })\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","undefined","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","disabled","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","variant","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","download","allowDuplicates","disableDragAndDrop","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","existingFiles","includes","newFiles","newValidFiles","newFilesLoading","isLoading","incomingFiles","_incomingFiles$filter","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","usedLabelDescription","createElement","onChange","LabelWithHelpButton","HelpButtonInlineContent","contentId","roundedCorner","children","Fragment","left","_default","exports","_supportsSpacingProps","Array","isArray","File","_lastModified","_item$file2","_type","_item$file3","lastModified","type"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n | 'layout'\n | 'layoutOptions'\n | 'onBlurValidator'\n | 'onChangeValidator'\n | 'contentWidth'\n | 'labelSize'\n | 'labelDescriptionInline'\n | 'labelSrOnly'\n | 'labelSize'\n | 'labelSuffix'\n> &\n SpacingProps &\n Pick<\n Partial<UploadProps>,\n | 'children'\n | 'title'\n | 'variant'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n | 'allowDuplicates'\n | 'disableDragAndDrop'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n width?: 'large' | 'stretch'\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n if (!item) {\n return\n }\n\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n disabled,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n variant = 'normal',\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n download,\n allowDuplicates,\n disableDragAndDrop,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const existingFiles = files.filter((file) =>\n existingFileIds.includes(file.id)\n )\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n\n if (!incomingFiles) {\n setFiles(existingFiles)\n handleChange(existingFiles)\n } else {\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...(incomingFiles?.filter((file) => file != null) ?? []),\n ...filesRef.current.slice(\n indexOfFirstNewFile + incomingFiles.length\n ),\n ]\n setFiles(updatedFiles)\n handleChange(updatedFiles)\n }\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n const usedLabelDescription = labelDescription ?? text\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n variant={variant}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n download={download}\n allowDuplicates={allowDuplicates}\n disableDragAndDrop={disableDragAndDrop}\n disabled={disabled}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={\n help && labelDescription === false ? (\n <LabelWithHelpButton\n label={label ?? title}\n id={id}\n help={help}\n />\n ) : (\n label ?? title\n )\n }\n text={\n help && (labelDescription ?? text) ? (\n <LabelWithHelpButton\n label={usedLabelDescription}\n id={id}\n help={help}\n />\n ) : (\n usedLabelDescription\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n help={help}\n roundedCorner={variant === 'compact'}\n />\n )}\n {props.children}\n </Upload>\n </FieldBlock>\n )\n}\n\nfunction LabelWithHelpButton(props: {\n label: React.ReactNode\n id: string\n help?: HelpProps\n}) {\n const { label, id, help } = props\n return (\n <>\n {label}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={label ? 'x-small' : false}\n help={help}\n />\n </>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'] || item?.file['name'], {\n lastModified: (item.file as File)?.lastModified ?? 0,\n type: (item.file as File)?.type ?? '',\n })\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,5 +2,5 @@
2
2
  --forms-field-width--small: 5rem;
3
3
  --forms-field-width--medium: 11rem;
4
4
  --forms-field-width--large: 21rem;
5
- --forms-field-label-max-width--large: 60ch;
5
+ --forms-field-label-max-width--large: var(--text-block-max-width);
6
6
  }
@@ -6,7 +6,7 @@
6
6
  --forms-field-width--small: 5rem;
7
7
  --forms-field-width--medium: 11rem;
8
8
  --forms-field-width--large: 21rem;
9
- --forms-field-label-max-width--large: 60ch;
9
+ --forms-field-label-max-width--large: var(--text-block-max-width);
10
10
  }
11
11
 
12
12
  fieldset.dnb-forms-field-block {
@@ -151,7 +151,7 @@ fieldset.dnb-forms-field-block:not([class*=space__right]) {
151
151
  }
152
152
  .dnb-forms-field-block__status .dnb-form-status__shell {
153
153
  margin-top: 0.5rem;
154
- max-width: 60ch;
154
+ max-width: var(--text-block-max-width);
155
155
  }
156
156
  @media screen and (max-width: 15em) {
157
157
  .dnb-forms-field-block__status {
@@ -1 +1 @@
1
- @charset "UTF-8";:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem;--forms-field-label-max-width--large:60ch}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__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}.dnb-forms-field-block{--label-margin:0.25rem}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(-webkit-min-content,var(--block-content-width,auto));grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}.dnb-forms-field-block--width-stretch label.dnb-form-label{max-width:none}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.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:not([class*="--content-width"]){--max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content{margin-right:.3em}.dnb-forms-field-block__label .dnb-help-button__word-joiner,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner{margin-left:.45em;white-space:nowrap}.dnb-forms-field-block__label .dnb-help-button__word-joiner:before,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner:before{content:"⁠"}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,-webkit-min-content),var(--dnb-forms-field-block-layout-width-max,-webkit-max-content)) auto;grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator;position:relative}.dnb-forms-field-block__indicator .dnb-forms-submit-indicator__content{position:absolute}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}.dnb-forms-field-block__contents--width-custom{--field-block-content-width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{--field-block-content-width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{--field-block-content-width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{--field-block-content-width:var(--forms-field-width--large)}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{max-width:var(--field-block-content-width,none)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{width:var(--field-block-content-width,-webkit-max-content);width:var(--field-block-content-width,max-content)}}.dnb-forms-field-block__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{column-gap:var(--spacing-small);display:flex;flex-flow:row;flex-wrap:wrap;row-gap:var(--spacing-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents>.dnb-forms-field-block--width-stretch{flex:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}
1
+ @charset "UTF-8";:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem;--forms-field-label-max-width--large:var(--text-block-max-width)}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__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}.dnb-forms-field-block{--label-margin:0.25rem}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(-webkit-min-content,var(--block-content-width,auto));grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}.dnb-forms-field-block--width-stretch label.dnb-form-label{max-width:none}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.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:not([class*="--content-width"]){--max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content{margin-right:.3em}.dnb-forms-field-block__label .dnb-help-button__word-joiner,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner{margin-left:.45em;white-space:nowrap}.dnb-forms-field-block__label .dnb-help-button__word-joiner:before,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner:before{content:"⁠"}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,-webkit-min-content),var(--dnb-forms-field-block-layout-width-max,-webkit-max-content)) auto;grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator;position:relative}.dnb-forms-field-block__indicator .dnb-forms-submit-indicator__content{position:absolute}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:var(--text-block-max-width)}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}.dnb-forms-field-block__contents--width-custom{--field-block-content-width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{--field-block-content-width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{--field-block-content-width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{--field-block-content-width:var(--forms-field-width--large)}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{max-width:var(--field-block-content-width,none)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{width:var(--field-block-content-width,-webkit-max-content);width:var(--field-block-content-width,max-content)}}.dnb-forms-field-block__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{column-gap:var(--spacing-small);display:flex;flex-flow:row;flex-wrap:wrap;row-gap:var(--spacing-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents>.dnb-forms-field-block--width-stretch{flex:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}