@dnb/eufemia 10.13.0 → 10.14.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 (885) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/cjs/components/accordion/AccordionContent.js +1 -0
  3. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  4. package/cjs/components/anchor/Anchor.js +1 -0
  5. package/cjs/components/anchor/Anchor.js.map +1 -1
  6. package/cjs/components/autocomplete/Autocomplete.js +80 -77
  7. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  8. package/cjs/components/avatar/Avatar.js +1 -0
  9. package/cjs/components/avatar/Avatar.js.map +1 -1
  10. package/cjs/components/avatar/AvatarGroup.js +1 -0
  11. package/cjs/components/avatar/AvatarGroup.js.map +1 -1
  12. package/cjs/components/badge/Badge.js +1 -0
  13. package/cjs/components/badge/Badge.js.map +1 -1
  14. package/cjs/components/breadcrumb/BreadcrumbItem.js +1 -0
  15. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  16. package/cjs/components/button/Button.js +2 -0
  17. package/cjs/components/button/Button.js.map +1 -1
  18. package/cjs/components/checkbox/Checkbox.js +2 -0
  19. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  20. package/cjs/components/date-picker/DatePicker.js +2 -0
  21. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  22. package/cjs/components/date-picker/DatePickerProvider.js +1 -0
  23. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  24. package/cjs/components/dropdown/Dropdown.js +1 -0
  25. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  26. package/cjs/components/flex/Container.js +1 -0
  27. package/cjs/components/flex/Container.js.map +1 -1
  28. package/cjs/components/flex/Flex.d.ts +1 -1
  29. package/cjs/components/flex/Flex.js +1 -1
  30. package/cjs/components/flex/Flex.js.map +1 -1
  31. package/cjs/components/flex/export.d.ts +5 -0
  32. package/cjs/components/flex/export.js +42 -0
  33. package/cjs/components/flex/export.js.map +1 -0
  34. package/cjs/components/flex/index.d.ts +2 -5
  35. package/cjs/components/flex/index.js +5 -36
  36. package/cjs/components/flex/index.js.map +1 -1
  37. package/cjs/components/form-label/FormLabel.d.ts +1 -0
  38. package/cjs/components/form-label/FormLabel.js +2 -0
  39. package/cjs/components/form-label/FormLabel.js.map +1 -1
  40. package/cjs/components/form-row/FormRow.js +1 -0
  41. package/cjs/components/form-row/FormRow.js.map +1 -1
  42. package/cjs/components/form-set/FormSet.js +1 -0
  43. package/cjs/components/form-set/FormSet.js.map +1 -1
  44. package/cjs/components/form-status/FormStatus.js +1 -0
  45. package/cjs/components/form-status/FormStatus.js.map +1 -1
  46. package/cjs/components/global-error/GlobalError.js +1 -0
  47. package/cjs/components/global-error/GlobalError.js.map +1 -1
  48. package/cjs/components/global-status/GlobalStatus.js +1 -0
  49. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  50. package/cjs/components/grid/Grid.d.ts +1 -1
  51. package/cjs/components/grid/Grid.js +1 -1
  52. package/cjs/components/grid/Grid.js.map +1 -1
  53. package/cjs/components/grid/export.d.ts +2 -0
  54. package/cjs/components/grid/export.js +21 -0
  55. package/cjs/components/grid/export.js.map +1 -0
  56. package/cjs/components/grid/index.d.ts +2 -2
  57. package/cjs/components/grid/index.js +5 -15
  58. package/cjs/components/grid/index.js.map +1 -1
  59. package/cjs/components/heading/Heading.js +1 -0
  60. package/cjs/components/heading/Heading.js.map +1 -1
  61. package/cjs/components/help-button/HelpButton.js +1 -0
  62. package/cjs/components/help-button/HelpButton.js.map +1 -1
  63. package/cjs/components/help-button/HelpButtonInstance.js +1 -0
  64. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  65. package/cjs/components/icon/Icon.js +1 -0
  66. package/cjs/components/icon/Icon.js.map +1 -1
  67. package/cjs/components/icon-primary/IconPrimary.js +1 -0
  68. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  69. package/cjs/components/info-card/InfoCard.js +1 -0
  70. package/cjs/components/info-card/InfoCard.js.map +1 -1
  71. package/cjs/components/input/Input.d.ts +4 -0
  72. package/cjs/components/input/Input.js +12 -2
  73. package/cjs/components/input/Input.js.map +1 -1
  74. package/cjs/components/input/InputPassword.js +2 -0
  75. package/cjs/components/input/InputPassword.js.map +1 -1
  76. package/cjs/components/input-masked/InputMasked.js +2 -0
  77. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  78. package/cjs/components/input-masked/MultiInputMask.d.ts +9 -1
  79. package/cjs/components/input-masked/MultiInputMask.js +14 -7
  80. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  81. package/cjs/components/input-masked/TextMask.d.ts +1 -1
  82. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
  83. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  84. package/cjs/components/lib.d.ts +2 -0
  85. package/cjs/components/logo/Logo.js +1 -0
  86. package/cjs/components/logo/Logo.js.map +1 -1
  87. package/cjs/components/modal/Modal.js +1 -0
  88. package/cjs/components/modal/Modal.js.map +1 -1
  89. package/cjs/components/modal/ModalContent.js +1 -0
  90. package/cjs/components/modal/ModalContent.js.map +1 -1
  91. package/cjs/components/modal/parts/CloseButton.js +1 -0
  92. package/cjs/components/modal/parts/CloseButton.js.map +1 -1
  93. package/cjs/components/number-format/NumberFormat.js +1 -0
  94. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  95. package/cjs/components/number-format/NumberUtils.js +1 -0
  96. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  97. package/cjs/components/pagination/PaginationHelpers.js +1 -0
  98. package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
  99. package/cjs/components/pagination/PaginationInfinity.js +1 -0
  100. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  101. package/cjs/components/pagination/PaginationProvider.js +1 -0
  102. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  103. package/cjs/components/progress-indicator/ProgressIndicator.js +1 -0
  104. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  105. package/cjs/components/radio/Radio.js +4 -2
  106. package/cjs/components/radio/Radio.js.map +1 -1
  107. package/cjs/components/radio/RadioGroup.js +5 -4
  108. package/cjs/components/radio/RadioGroup.js.map +1 -1
  109. package/cjs/components/radio/style/dnb-radio.css +106 -0
  110. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  111. package/cjs/components/radio/style/dnb-radio.scss +202 -0
  112. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
  113. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
  114. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
  115. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
  116. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  117. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
  118. package/cjs/components/section/Section.js +1 -0
  119. package/cjs/components/section/Section.js.map +1 -1
  120. package/cjs/components/skeleton/Skeleton.js +1 -0
  121. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  122. package/cjs/components/skeleton/figures/Article.js +1 -0
  123. package/cjs/components/skeleton/figures/Article.js.map +1 -1
  124. package/cjs/components/skeleton/figures/Circle.js +1 -0
  125. package/cjs/components/skeleton/figures/Circle.js.map +1 -1
  126. package/cjs/components/skeleton/figures/Product.js +1 -0
  127. package/cjs/components/skeleton/figures/Product.js.map +1 -1
  128. package/cjs/components/skeleton/figures/Table.js +1 -0
  129. package/cjs/components/skeleton/figures/Table.js.map +1 -1
  130. package/cjs/components/slider/Slider.d.ts +1 -0
  131. package/cjs/components/slider/Slider.js +1 -0
  132. package/cjs/components/slider/Slider.js.map +1 -1
  133. package/cjs/components/slider/SliderInstance.js +1 -0
  134. package/cjs/components/slider/SliderInstance.js.map +1 -1
  135. package/cjs/components/slider/SliderProvider.js +1 -0
  136. package/cjs/components/slider/SliderProvider.js.map +1 -1
  137. package/cjs/components/space/Space.js +1 -0
  138. package/cjs/components/space/Space.js.map +1 -1
  139. package/cjs/components/switch/Switch.js +2 -0
  140. package/cjs/components/switch/Switch.js.map +1 -1
  141. package/cjs/components/table/Table.js +1 -0
  142. package/cjs/components/table/Table.js.map +1 -1
  143. package/cjs/components/tabs/Tabs.js +1 -0
  144. package/cjs/components/tabs/Tabs.js.map +1 -1
  145. package/cjs/components/tag/Tag.d.ts +1 -0
  146. package/cjs/components/tag/Tag.js +2 -0
  147. package/cjs/components/tag/Tag.js.map +1 -1
  148. package/cjs/components/tag/TagGroup.js +1 -0
  149. package/cjs/components/tag/TagGroup.js.map +1 -1
  150. package/cjs/components/textarea/Textarea.js +2 -0
  151. package/cjs/components/textarea/Textarea.js.map +1 -1
  152. package/cjs/components/timeline/Timeline.js +1 -0
  153. package/cjs/components/timeline/Timeline.js.map +1 -1
  154. package/cjs/components/timeline/TimelineItem.js +1 -0
  155. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  156. package/cjs/components/toggle-button/ToggleButton.js +2 -0
  157. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  158. package/cjs/components/toggle-button/ToggleButtonGroup.js +5 -4
  159. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  160. package/cjs/components/tooltip/Tooltip.js +1 -0
  161. package/cjs/components/tooltip/Tooltip.js.map +1 -1
  162. package/cjs/components/tooltip/TooltipPortal.js +1 -0
  163. package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
  164. package/cjs/components/upload/Upload.d.ts +1 -0
  165. package/cjs/components/upload/Upload.js +2 -0
  166. package/cjs/components/upload/Upload.js.map +1 -1
  167. package/cjs/components/upload/useUpload.js +1 -0
  168. package/cjs/components/upload/useUpload.js.map +1 -1
  169. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -0
  170. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  171. package/cjs/elements/Element.js +1 -0
  172. package/cjs/elements/Element.js.map +1 -1
  173. package/cjs/elements/typography/H.js +1 -0
  174. package/cjs/elements/typography/H.js.map +1 -1
  175. package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -42
  176. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  177. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +8 -5
  178. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  179. package/cjs/extensions/forms/Field/Email/Email.js +6 -4
  180. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  181. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
  182. package/cjs/extensions/forms/Field/Expiry/Expiry.js +99 -0
  183. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
  184. package/cjs/extensions/forms/Field/Expiry/index.d.ts +2 -0
  185. package/cjs/extensions/forms/Field/Expiry/index.js +27 -0
  186. package/cjs/extensions/forms/Field/Expiry/index.js.map +1 -0
  187. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
  188. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
  189. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
  190. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -5
  191. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  192. package/cjs/extensions/forms/Field/Number/Number.js +47 -25
  193. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  194. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +8 -5
  195. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  196. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +46 -33
  197. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  198. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
  199. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  200. package/cjs/extensions/forms/Field/String/String.js +30 -20
  201. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  202. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  203. package/cjs/extensions/forms/Field/index.js +7 -0
  204. package/cjs/extensions/forms/Field/index.js.map +1 -1
  205. package/cjs/extensions/forms/Field/style/dnb-forms-field.css +13 -0
  206. package/cjs/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
  207. package/cjs/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
  208. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +36 -2
  209. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  210. package/cjs/extensions/forms/Form/Element/Element.js +1 -0
  211. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  212. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  213. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  214. package/cjs/extensions/forms/hooks/index.d.ts +3 -0
  215. package/cjs/extensions/forms/hooks/index.js +21 -0
  216. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  217. package/cjs/extensions/forms/hooks/useDataValue.js +127 -61
  218. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  219. package/cjs/extensions/forms/hooks/useMountEffect.d.ts +5 -0
  220. package/cjs/extensions/forms/hooks/useMountEffect.js +14 -0
  221. package/cjs/extensions/forms/hooks/useMountEffect.js.map +1 -0
  222. package/cjs/extensions/forms/hooks/useProcessManager.d.ts +6 -0
  223. package/cjs/extensions/forms/hooks/useProcessManager.js +21 -0
  224. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -0
  225. package/cjs/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
  226. package/cjs/extensions/forms/hooks/useUpdateEffect.js +19 -0
  227. package/cjs/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
  228. package/cjs/extensions/forms/style/dnb-forms.css +13 -0
  229. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  230. package/cjs/extensions/forms/types.d.ts +10 -2
  231. package/cjs/extensions/forms/types.js +2 -0
  232. package/cjs/extensions/forms/types.js.map +1 -1
  233. package/cjs/extensions/forms/utils/ajv.js +25 -1
  234. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  235. package/cjs/extensions/forms/utils/errors.d.ts +2 -0
  236. package/cjs/extensions/forms/utils/errors.js +16 -0
  237. package/cjs/extensions/forms/utils/errors.js.map +1 -0
  238. package/cjs/extensions/forms/utils/index.d.ts +1 -0
  239. package/cjs/extensions/forms/utils/index.js +12 -0
  240. package/cjs/extensions/forms/utils/index.js.map +1 -1
  241. package/cjs/extensions/payment-card/PaymentCard.js +1 -0
  242. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  243. package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
  244. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  245. package/cjs/fragments/scroll-view/ScrollView.js +1 -0
  246. package/cjs/fragments/scroll-view/ScrollView.js.map +1 -1
  247. package/cjs/shared/Eufemia.d.ts +1 -1
  248. package/cjs/shared/Eufemia.js +2 -2
  249. package/cjs/shared/Eufemia.js.map +1 -1
  250. package/cjs/shared/MediaQuery.js +1 -0
  251. package/cjs/shared/MediaQuery.js.map +1 -1
  252. package/cjs/shared/Provider.js +1 -0
  253. package/cjs/shared/Provider.js.map +1 -1
  254. package/cjs/shared/Theme.js +1 -0
  255. package/cjs/shared/Theme.js.map +1 -1
  256. package/cjs/shared/VisibilityByTheme.js +1 -0
  257. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  258. package/cjs/shared/index.js +1 -0
  259. package/cjs/shared/index.js.map +1 -1
  260. package/cjs/shared/locales/en-GB.d.ts +11 -0
  261. package/cjs/shared/locales/en-GB.js +12 -1
  262. package/cjs/shared/locales/en-GB.js.map +1 -1
  263. package/cjs/shared/locales/en-US.d.ts +11 -0
  264. package/cjs/shared/locales/index.d.ts +22 -0
  265. package/cjs/shared/locales/nb-NO.d.ts +11 -0
  266. package/cjs/shared/locales/nb-NO.js +12 -1
  267. package/cjs/shared/locales/nb-NO.js.map +1 -1
  268. package/cjs/shared/useMedia.js +1 -0
  269. package/cjs/shared/useMedia.js.map +1 -1
  270. package/cjs/shared/useMediaQuery.js +1 -0
  271. package/cjs/shared/useMediaQuery.js.map +1 -1
  272. package/cjs/shared/useTheme.js +1 -0
  273. package/cjs/shared/useTheme.js.map +1 -1
  274. package/cjs/shared/useTranslation.js +1 -0
  275. package/cjs/shared/useTranslation.js.map +1 -1
  276. package/cjs/style/dnb-ui-components.css +106 -0
  277. package/cjs/style/dnb-ui-components.min.css +1 -1
  278. package/cjs/style/dnb-ui-extensions.css +13 -0
  279. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
  281. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  282. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
  283. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  284. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
  285. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  286. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  287. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
  288. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  289. package/cjs/style/themes/theme-ui/ui-theme-components.css +126 -86
  290. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  291. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -0
  292. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  293. package/components/accordion/AccordionContent.js +2 -0
  294. package/components/accordion/AccordionContent.js.map +1 -1
  295. package/components/anchor/Anchor.js +2 -0
  296. package/components/anchor/Anchor.js.map +1 -1
  297. package/components/autocomplete/Autocomplete.js +80 -77
  298. package/components/autocomplete/Autocomplete.js.map +1 -1
  299. package/components/avatar/Avatar.js +2 -0
  300. package/components/avatar/Avatar.js.map +1 -1
  301. package/components/avatar/AvatarGroup.js +2 -0
  302. package/components/avatar/AvatarGroup.js.map +1 -1
  303. package/components/badge/Badge.js +2 -0
  304. package/components/badge/Badge.js.map +1 -1
  305. package/components/breadcrumb/BreadcrumbItem.js +2 -0
  306. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  307. package/components/button/Button.js +3 -0
  308. package/components/button/Button.js.map +1 -1
  309. package/components/checkbox/Checkbox.js +3 -0
  310. package/components/checkbox/Checkbox.js.map +1 -1
  311. package/components/date-picker/DatePicker.js +3 -0
  312. package/components/date-picker/DatePicker.js.map +1 -1
  313. package/components/date-picker/DatePickerProvider.js +2 -0
  314. package/components/date-picker/DatePickerProvider.js.map +1 -1
  315. package/components/dropdown/Dropdown.js +1 -0
  316. package/components/dropdown/Dropdown.js.map +1 -1
  317. package/components/flex/Container.js +2 -0
  318. package/components/flex/Container.js.map +1 -1
  319. package/components/flex/Flex.d.ts +1 -1
  320. package/components/flex/Flex.js +1 -1
  321. package/components/flex/Flex.js.map +1 -1
  322. package/components/flex/export.d.ts +5 -0
  323. package/components/flex/export.js +6 -0
  324. package/components/flex/export.js.map +1 -0
  325. package/components/flex/index.d.ts +2 -5
  326. package/components/flex/index.js +2 -5
  327. package/components/flex/index.js.map +1 -1
  328. package/components/form-label/FormLabel.d.ts +1 -0
  329. package/components/form-label/FormLabel.js +3 -0
  330. package/components/form-label/FormLabel.js.map +1 -1
  331. package/components/form-row/FormRow.js +2 -0
  332. package/components/form-row/FormRow.js.map +1 -1
  333. package/components/form-set/FormSet.js +2 -0
  334. package/components/form-set/FormSet.js.map +1 -1
  335. package/components/form-status/FormStatus.js +2 -0
  336. package/components/form-status/FormStatus.js.map +1 -1
  337. package/components/global-error/GlobalError.js +2 -0
  338. package/components/global-error/GlobalError.js.map +1 -1
  339. package/components/global-status/GlobalStatus.js +2 -0
  340. package/components/global-status/GlobalStatus.js.map +1 -1
  341. package/components/grid/Grid.d.ts +1 -1
  342. package/components/grid/Grid.js +1 -1
  343. package/components/grid/Grid.js.map +1 -1
  344. package/components/grid/export.d.ts +2 -0
  345. package/components/grid/export.js +3 -0
  346. package/components/grid/export.js.map +1 -0
  347. package/components/grid/index.d.ts +2 -2
  348. package/components/grid/index.js +2 -2
  349. package/components/grid/index.js.map +1 -1
  350. package/components/heading/Heading.js +2 -0
  351. package/components/heading/Heading.js.map +1 -1
  352. package/components/help-button/HelpButton.js +2 -0
  353. package/components/help-button/HelpButton.js.map +1 -1
  354. package/components/help-button/HelpButtonInstance.js +2 -0
  355. package/components/help-button/HelpButtonInstance.js.map +1 -1
  356. package/components/icon/Icon.js +2 -0
  357. package/components/icon/Icon.js.map +1 -1
  358. package/components/icon-primary/IconPrimary.js +2 -0
  359. package/components/icon-primary/IconPrimary.js.map +1 -1
  360. package/components/info-card/InfoCard.js +2 -0
  361. package/components/info-card/InfoCard.js.map +1 -1
  362. package/components/input/Input.d.ts +4 -0
  363. package/components/input/Input.js +13 -2
  364. package/components/input/Input.js.map +1 -1
  365. package/components/input/InputPassword.js +3 -0
  366. package/components/input/InputPassword.js.map +1 -1
  367. package/components/input-masked/InputMasked.js +3 -0
  368. package/components/input-masked/InputMasked.js.map +1 -1
  369. package/components/input-masked/MultiInputMask.d.ts +9 -1
  370. package/components/input-masked/MultiInputMask.js +14 -7
  371. package/components/input-masked/MultiInputMask.js.map +1 -1
  372. package/components/input-masked/TextMask.d.ts +1 -1
  373. package/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
  374. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  375. package/components/lib.d.ts +2 -0
  376. package/components/logo/Logo.js +2 -0
  377. package/components/logo/Logo.js.map +1 -1
  378. package/components/modal/Modal.js +2 -0
  379. package/components/modal/Modal.js.map +1 -1
  380. package/components/modal/ModalContent.js +2 -0
  381. package/components/modal/ModalContent.js.map +1 -1
  382. package/components/modal/parts/CloseButton.js +2 -0
  383. package/components/modal/parts/CloseButton.js.map +1 -1
  384. package/components/number-format/NumberFormat.js +2 -0
  385. package/components/number-format/NumberFormat.js.map +1 -1
  386. package/components/number-format/NumberUtils.js +2 -0
  387. package/components/number-format/NumberUtils.js.map +1 -1
  388. package/components/pagination/PaginationHelpers.js +2 -0
  389. package/components/pagination/PaginationHelpers.js.map +1 -1
  390. package/components/pagination/PaginationInfinity.js +2 -0
  391. package/components/pagination/PaginationInfinity.js.map +1 -1
  392. package/components/pagination/PaginationProvider.js +2 -0
  393. package/components/pagination/PaginationProvider.js.map +1 -1
  394. package/components/progress-indicator/ProgressIndicator.js +2 -0
  395. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  396. package/components/radio/Radio.js +5 -2
  397. package/components/radio/Radio.js.map +1 -1
  398. package/components/radio/RadioGroup.js +6 -4
  399. package/components/radio/RadioGroup.js.map +1 -1
  400. package/components/radio/style/dnb-radio.css +106 -0
  401. package/components/radio/style/dnb-radio.min.css +1 -1
  402. package/components/radio/style/dnb-radio.scss +202 -0
  403. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
  404. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
  405. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
  406. package/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
  407. package/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  408. package/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
  409. package/components/section/Section.js +2 -0
  410. package/components/section/Section.js.map +1 -1
  411. package/components/skeleton/Skeleton.js +2 -0
  412. package/components/skeleton/Skeleton.js.map +1 -1
  413. package/components/skeleton/figures/Article.js +2 -0
  414. package/components/skeleton/figures/Article.js.map +1 -1
  415. package/components/skeleton/figures/Circle.js +2 -0
  416. package/components/skeleton/figures/Circle.js.map +1 -1
  417. package/components/skeleton/figures/Product.js +2 -0
  418. package/components/skeleton/figures/Product.js.map +1 -1
  419. package/components/skeleton/figures/Table.js +2 -0
  420. package/components/skeleton/figures/Table.js.map +1 -1
  421. package/components/slider/Slider.d.ts +1 -0
  422. package/components/slider/Slider.js +1 -0
  423. package/components/slider/Slider.js.map +1 -1
  424. package/components/slider/SliderInstance.js +2 -0
  425. package/components/slider/SliderInstance.js.map +1 -1
  426. package/components/slider/SliderProvider.js +2 -0
  427. package/components/slider/SliderProvider.js.map +1 -1
  428. package/components/space/Space.js +2 -0
  429. package/components/space/Space.js.map +1 -1
  430. package/components/switch/Switch.js +3 -0
  431. package/components/switch/Switch.js.map +1 -1
  432. package/components/table/Table.js +2 -0
  433. package/components/table/Table.js.map +1 -1
  434. package/components/tabs/Tabs.js +2 -0
  435. package/components/tabs/Tabs.js.map +1 -1
  436. package/components/tag/Tag.d.ts +1 -0
  437. package/components/tag/Tag.js +3 -0
  438. package/components/tag/Tag.js.map +1 -1
  439. package/components/tag/TagGroup.js +2 -0
  440. package/components/tag/TagGroup.js.map +1 -1
  441. package/components/textarea/Textarea.js +3 -0
  442. package/components/textarea/Textarea.js.map +1 -1
  443. package/components/timeline/Timeline.js +2 -0
  444. package/components/timeline/Timeline.js.map +1 -1
  445. package/components/timeline/TimelineItem.js +2 -0
  446. package/components/timeline/TimelineItem.js.map +1 -1
  447. package/components/toggle-button/ToggleButton.js +3 -0
  448. package/components/toggle-button/ToggleButton.js.map +1 -1
  449. package/components/toggle-button/ToggleButtonGroup.js +6 -4
  450. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  451. package/components/tooltip/Tooltip.js +2 -0
  452. package/components/tooltip/Tooltip.js.map +1 -1
  453. package/components/tooltip/TooltipPortal.js +2 -0
  454. package/components/tooltip/TooltipPortal.js.map +1 -1
  455. package/components/upload/Upload.d.ts +1 -0
  456. package/components/upload/Upload.js +3 -0
  457. package/components/upload/Upload.js.map +1 -1
  458. package/components/upload/useUpload.js +2 -0
  459. package/components/upload/useUpload.js.map +1 -1
  460. package/components/visually-hidden/VisuallyHidden.js +2 -0
  461. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  462. package/elements/Element.js +2 -0
  463. package/elements/Element.js.map +1 -1
  464. package/elements/typography/H.js +2 -0
  465. package/elements/typography/H.js.map +1 -1
  466. package/es/components/accordion/AccordionContent.js +2 -0
  467. package/es/components/accordion/AccordionContent.js.map +1 -1
  468. package/es/components/anchor/Anchor.js +2 -0
  469. package/es/components/anchor/Anchor.js.map +1 -1
  470. package/es/components/autocomplete/Autocomplete.js +79 -77
  471. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  472. package/es/components/avatar/Avatar.js +2 -0
  473. package/es/components/avatar/Avatar.js.map +1 -1
  474. package/es/components/avatar/AvatarGroup.js +2 -0
  475. package/es/components/avatar/AvatarGroup.js.map +1 -1
  476. package/es/components/badge/Badge.js +2 -0
  477. package/es/components/badge/Badge.js.map +1 -1
  478. package/es/components/breadcrumb/BreadcrumbItem.js +2 -0
  479. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  480. package/es/components/button/Button.js +3 -0
  481. package/es/components/button/Button.js.map +1 -1
  482. package/es/components/checkbox/Checkbox.js +3 -0
  483. package/es/components/checkbox/Checkbox.js.map +1 -1
  484. package/es/components/date-picker/DatePicker.js +3 -0
  485. package/es/components/date-picker/DatePicker.js.map +1 -1
  486. package/es/components/date-picker/DatePickerProvider.js +2 -0
  487. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  488. package/es/components/dropdown/Dropdown.js +1 -0
  489. package/es/components/dropdown/Dropdown.js.map +1 -1
  490. package/es/components/flex/Container.js +2 -0
  491. package/es/components/flex/Container.js.map +1 -1
  492. package/es/components/flex/Flex.d.ts +1 -1
  493. package/es/components/flex/Flex.js +1 -1
  494. package/es/components/flex/Flex.js.map +1 -1
  495. package/es/components/flex/export.d.ts +5 -0
  496. package/es/components/flex/export.js +6 -0
  497. package/es/components/flex/export.js.map +1 -0
  498. package/es/components/flex/index.d.ts +2 -5
  499. package/es/components/flex/index.js +2 -5
  500. package/es/components/flex/index.js.map +1 -1
  501. package/es/components/form-label/FormLabel.d.ts +1 -0
  502. package/es/components/form-label/FormLabel.js +3 -0
  503. package/es/components/form-label/FormLabel.js.map +1 -1
  504. package/es/components/form-row/FormRow.js +2 -0
  505. package/es/components/form-row/FormRow.js.map +1 -1
  506. package/es/components/form-set/FormSet.js +2 -0
  507. package/es/components/form-set/FormSet.js.map +1 -1
  508. package/es/components/form-status/FormStatus.js +2 -0
  509. package/es/components/form-status/FormStatus.js.map +1 -1
  510. package/es/components/global-error/GlobalError.js +2 -0
  511. package/es/components/global-error/GlobalError.js.map +1 -1
  512. package/es/components/global-status/GlobalStatus.js +2 -0
  513. package/es/components/global-status/GlobalStatus.js.map +1 -1
  514. package/es/components/grid/Grid.d.ts +1 -1
  515. package/es/components/grid/Grid.js +1 -1
  516. package/es/components/grid/Grid.js.map +1 -1
  517. package/es/components/grid/export.d.ts +2 -0
  518. package/es/components/grid/export.js +3 -0
  519. package/es/components/grid/export.js.map +1 -0
  520. package/es/components/grid/index.d.ts +2 -2
  521. package/es/components/grid/index.js +2 -2
  522. package/es/components/grid/index.js.map +1 -1
  523. package/es/components/heading/Heading.js +2 -0
  524. package/es/components/heading/Heading.js.map +1 -1
  525. package/es/components/help-button/HelpButton.js +2 -0
  526. package/es/components/help-button/HelpButton.js.map +1 -1
  527. package/es/components/help-button/HelpButtonInstance.js +2 -0
  528. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  529. package/es/components/icon/Icon.js +2 -0
  530. package/es/components/icon/Icon.js.map +1 -1
  531. package/es/components/icon-primary/IconPrimary.js +2 -0
  532. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  533. package/es/components/info-card/InfoCard.js +2 -0
  534. package/es/components/info-card/InfoCard.js.map +1 -1
  535. package/es/components/input/Input.d.ts +4 -0
  536. package/es/components/input/Input.js +13 -2
  537. package/es/components/input/Input.js.map +1 -1
  538. package/es/components/input/InputPassword.js +3 -0
  539. package/es/components/input/InputPassword.js.map +1 -1
  540. package/es/components/input-masked/InputMasked.js +3 -0
  541. package/es/components/input-masked/InputMasked.js.map +1 -1
  542. package/es/components/input-masked/MultiInputMask.d.ts +9 -1
  543. package/es/components/input-masked/MultiInputMask.js +14 -7
  544. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  545. package/es/components/input-masked/TextMask.d.ts +1 -1
  546. package/es/components/input-masked/hooks/useHandleCursorPosition.js +1 -1
  547. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  548. package/es/components/lib.d.ts +2 -0
  549. package/es/components/logo/Logo.js +2 -0
  550. package/es/components/logo/Logo.js.map +1 -1
  551. package/es/components/modal/Modal.js +2 -0
  552. package/es/components/modal/Modal.js.map +1 -1
  553. package/es/components/modal/ModalContent.js +2 -0
  554. package/es/components/modal/ModalContent.js.map +1 -1
  555. package/es/components/modal/parts/CloseButton.js +2 -0
  556. package/es/components/modal/parts/CloseButton.js.map +1 -1
  557. package/es/components/number-format/NumberFormat.js +2 -0
  558. package/es/components/number-format/NumberFormat.js.map +1 -1
  559. package/es/components/number-format/NumberUtils.js +2 -0
  560. package/es/components/number-format/NumberUtils.js.map +1 -1
  561. package/es/components/pagination/PaginationHelpers.js +2 -0
  562. package/es/components/pagination/PaginationHelpers.js.map +1 -1
  563. package/es/components/pagination/PaginationInfinity.js +2 -0
  564. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  565. package/es/components/pagination/PaginationProvider.js +2 -0
  566. package/es/components/pagination/PaginationProvider.js.map +1 -1
  567. package/es/components/progress-indicator/ProgressIndicator.js +2 -0
  568. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  569. package/es/components/radio/Radio.js +5 -2
  570. package/es/components/radio/Radio.js.map +1 -1
  571. package/es/components/radio/RadioGroup.js +6 -4
  572. package/es/components/radio/RadioGroup.js.map +1 -1
  573. package/es/components/radio/style/dnb-radio.css +106 -0
  574. package/es/components/radio/style/dnb-radio.min.css +1 -1
  575. package/es/components/radio/style/dnb-radio.scss +202 -0
  576. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +26 -0
  577. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -0
  578. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +33 -0
  579. package/es/components/radio/style/themes/dnb-radio-theme-ui.css +20 -86
  580. package/es/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  581. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +26 -143
  582. package/es/components/section/Section.js +2 -0
  583. package/es/components/section/Section.js.map +1 -1
  584. package/es/components/skeleton/Skeleton.js +2 -0
  585. package/es/components/skeleton/Skeleton.js.map +1 -1
  586. package/es/components/skeleton/figures/Article.js +2 -0
  587. package/es/components/skeleton/figures/Article.js.map +1 -1
  588. package/es/components/skeleton/figures/Circle.js +2 -0
  589. package/es/components/skeleton/figures/Circle.js.map +1 -1
  590. package/es/components/skeleton/figures/Product.js +2 -0
  591. package/es/components/skeleton/figures/Product.js.map +1 -1
  592. package/es/components/skeleton/figures/Table.js +2 -0
  593. package/es/components/skeleton/figures/Table.js.map +1 -1
  594. package/es/components/slider/Slider.d.ts +1 -0
  595. package/es/components/slider/Slider.js +1 -0
  596. package/es/components/slider/Slider.js.map +1 -1
  597. package/es/components/slider/SliderInstance.js +2 -0
  598. package/es/components/slider/SliderInstance.js.map +1 -1
  599. package/es/components/slider/SliderProvider.js +2 -0
  600. package/es/components/slider/SliderProvider.js.map +1 -1
  601. package/es/components/space/Space.js +2 -0
  602. package/es/components/space/Space.js.map +1 -1
  603. package/es/components/switch/Switch.js +3 -0
  604. package/es/components/switch/Switch.js.map +1 -1
  605. package/es/components/table/Table.js +2 -0
  606. package/es/components/table/Table.js.map +1 -1
  607. package/es/components/tabs/Tabs.js +2 -0
  608. package/es/components/tabs/Tabs.js.map +1 -1
  609. package/es/components/tag/Tag.d.ts +1 -0
  610. package/es/components/tag/Tag.js +3 -0
  611. package/es/components/tag/Tag.js.map +1 -1
  612. package/es/components/tag/TagGroup.js +2 -0
  613. package/es/components/tag/TagGroup.js.map +1 -1
  614. package/es/components/textarea/Textarea.js +3 -0
  615. package/es/components/textarea/Textarea.js.map +1 -1
  616. package/es/components/timeline/Timeline.js +2 -0
  617. package/es/components/timeline/Timeline.js.map +1 -1
  618. package/es/components/timeline/TimelineItem.js +2 -0
  619. package/es/components/timeline/TimelineItem.js.map +1 -1
  620. package/es/components/toggle-button/ToggleButton.js +3 -0
  621. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  622. package/es/components/toggle-button/ToggleButtonGroup.js +6 -4
  623. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  624. package/es/components/tooltip/Tooltip.js +2 -0
  625. package/es/components/tooltip/Tooltip.js.map +1 -1
  626. package/es/components/tooltip/TooltipPortal.js +2 -0
  627. package/es/components/tooltip/TooltipPortal.js.map +1 -1
  628. package/es/components/upload/Upload.d.ts +1 -0
  629. package/es/components/upload/Upload.js +3 -0
  630. package/es/components/upload/Upload.js.map +1 -1
  631. package/es/components/upload/useUpload.js +2 -0
  632. package/es/components/upload/useUpload.js.map +1 -1
  633. package/es/components/visually-hidden/VisuallyHidden.js +2 -0
  634. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  635. package/es/elements/Element.js +2 -0
  636. package/es/elements/Element.js.map +1 -1
  637. package/es/elements/typography/H.js +2 -0
  638. package/es/elements/typography/H.js.map +1 -1
  639. package/es/extensions/forms/DataContext/Provider/Provider.js +53 -43
  640. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  641. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +9 -6
  642. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  643. package/es/extensions/forms/Field/Email/Email.js +7 -5
  644. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  645. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
  646. package/es/extensions/forms/Field/Expiry/Expiry.js +88 -0
  647. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
  648. package/es/extensions/forms/Field/Expiry/index.d.ts +2 -0
  649. package/es/extensions/forms/Field/Expiry/index.js +3 -0
  650. package/es/extensions/forms/Field/Expiry/index.js.map +1 -0
  651. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
  652. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
  653. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
  654. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -6
  655. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  656. package/es/extensions/forms/Field/Number/Number.js +48 -25
  657. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  658. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +9 -6
  659. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  660. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +34 -21
  661. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  662. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
  663. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  664. package/es/extensions/forms/Field/String/String.js +30 -20
  665. package/es/extensions/forms/Field/String/String.js.map +1 -1
  666. package/es/extensions/forms/Field/index.d.ts +1 -0
  667. package/es/extensions/forms/Field/index.js +1 -0
  668. package/es/extensions/forms/Field/index.js.map +1 -1
  669. package/es/extensions/forms/Field/style/dnb-forms-field.css +13 -0
  670. package/es/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
  671. package/es/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
  672. package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -3
  673. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  674. package/es/extensions/forms/Form/Element/Element.js +2 -0
  675. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  676. package/es/extensions/forms/Form/Handler/Handler.js +2 -0
  677. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  678. package/es/extensions/forms/hooks/index.d.ts +3 -0
  679. package/es/extensions/forms/hooks/index.js +5 -1
  680. package/es/extensions/forms/hooks/index.js.map +1 -1
  681. package/es/extensions/forms/hooks/useDataValue.js +127 -62
  682. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  683. package/es/extensions/forms/hooks/useMountEffect.d.ts +5 -0
  684. package/es/extensions/forms/hooks/useMountEffect.js +9 -0
  685. package/es/extensions/forms/hooks/useMountEffect.js.map +1 -0
  686. package/es/extensions/forms/hooks/useProcessManager.d.ts +6 -0
  687. package/es/extensions/forms/hooks/useProcessManager.js +16 -0
  688. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -0
  689. package/es/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
  690. package/es/extensions/forms/hooks/useUpdateEffect.js +14 -0
  691. package/es/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
  692. package/es/extensions/forms/style/dnb-forms.css +13 -0
  693. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  694. package/es/extensions/forms/types.d.ts +10 -2
  695. package/es/extensions/forms/types.js +2 -0
  696. package/es/extensions/forms/types.js.map +1 -1
  697. package/es/extensions/forms/utils/ajv.js +25 -1
  698. package/es/extensions/forms/utils/ajv.js.map +1 -1
  699. package/es/extensions/forms/utils/errors.d.ts +2 -0
  700. package/es/extensions/forms/utils/errors.js +10 -0
  701. package/es/extensions/forms/utils/errors.js.map +1 -0
  702. package/es/extensions/forms/utils/index.d.ts +1 -0
  703. package/es/extensions/forms/utils/index.js +1 -0
  704. package/es/extensions/forms/utils/index.js.map +1 -1
  705. package/es/extensions/payment-card/PaymentCard.js +2 -0
  706. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  707. package/es/fragments/drawer-list/DrawerListProvider.js +2 -0
  708. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  709. package/es/fragments/scroll-view/ScrollView.js +2 -0
  710. package/es/fragments/scroll-view/ScrollView.js.map +1 -1
  711. package/es/shared/Eufemia.d.ts +1 -1
  712. package/es/shared/Eufemia.js +2 -2
  713. package/es/shared/Eufemia.js.map +1 -1
  714. package/es/shared/MediaQuery.js +2 -0
  715. package/es/shared/MediaQuery.js.map +1 -1
  716. package/es/shared/Provider.js +2 -0
  717. package/es/shared/Provider.js.map +1 -1
  718. package/es/shared/Theme.js +2 -0
  719. package/es/shared/Theme.js.map +1 -1
  720. package/es/shared/VisibilityByTheme.js +2 -0
  721. package/es/shared/VisibilityByTheme.js.map +1 -1
  722. package/es/shared/index.js +2 -0
  723. package/es/shared/index.js.map +1 -1
  724. package/es/shared/locales/en-GB.d.ts +11 -0
  725. package/es/shared/locales/en-GB.js +12 -1
  726. package/es/shared/locales/en-GB.js.map +1 -1
  727. package/es/shared/locales/en-US.d.ts +11 -0
  728. package/es/shared/locales/index.d.ts +22 -0
  729. package/es/shared/locales/nb-NO.d.ts +11 -0
  730. package/es/shared/locales/nb-NO.js +12 -1
  731. package/es/shared/locales/nb-NO.js.map +1 -1
  732. package/es/shared/useMedia.js +2 -0
  733. package/es/shared/useMedia.js.map +1 -1
  734. package/es/shared/useMediaQuery.js +2 -0
  735. package/es/shared/useMediaQuery.js.map +1 -1
  736. package/es/shared/useTheme.js +2 -0
  737. package/es/shared/useTheme.js.map +1 -1
  738. package/es/shared/useTranslation.js +2 -0
  739. package/es/shared/useTranslation.js.map +1 -1
  740. package/es/style/dnb-ui-components.css +106 -0
  741. package/es/style/dnb-ui-components.min.css +1 -1
  742. package/es/style/dnb-ui-extensions.css +13 -0
  743. package/es/style/dnb-ui-extensions.min.css +1 -1
  744. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
  745. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  746. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
  747. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  748. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
  749. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  750. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  751. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
  752. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  753. package/es/style/themes/theme-ui/ui-theme-components.css +126 -86
  754. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  755. package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -0
  756. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  757. package/esm/dnb-ui-basis.min.mjs +1 -1
  758. package/esm/dnb-ui-components.min.mjs +1 -1
  759. package/esm/dnb-ui-elements.min.mjs +1 -1
  760. package/esm/dnb-ui-extensions.min.mjs +3 -3
  761. package/esm/dnb-ui-lib.min.mjs +1 -1
  762. package/extensions/forms/DataContext/Provider/Provider.js +53 -43
  763. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  764. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +9 -6
  765. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  766. package/extensions/forms/Field/Email/Email.js +7 -5
  767. package/extensions/forms/Field/Email/Email.js.map +1 -1
  768. package/extensions/forms/Field/Expiry/Expiry.d.ts +7 -0
  769. package/extensions/forms/Field/Expiry/Expiry.js +88 -0
  770. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -0
  771. package/extensions/forms/Field/Expiry/index.d.ts +2 -0
  772. package/extensions/forms/Field/Expiry/index.js +3 -0
  773. package/extensions/forms/Field/Expiry/index.js.map +1 -0
  774. package/extensions/forms/Field/Expiry/style/dnb-expiry.css +12 -0
  775. package/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -0
  776. package/extensions/forms/Field/Expiry/style/dnb-expiry.scss +9 -0
  777. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -6
  778. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  779. package/extensions/forms/Field/Number/Number.js +49 -26
  780. package/extensions/forms/Field/Number/Number.js.map +1 -1
  781. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +9 -6
  782. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  783. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +46 -33
  784. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  785. package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -4
  786. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  787. package/extensions/forms/Field/String/String.js +31 -21
  788. package/extensions/forms/Field/String/String.js.map +1 -1
  789. package/extensions/forms/Field/index.d.ts +1 -0
  790. package/extensions/forms/Field/index.js +1 -0
  791. package/extensions/forms/Field/index.js.map +1 -1
  792. package/extensions/forms/Field/style/dnb-forms-field.css +13 -0
  793. package/extensions/forms/Field/style/dnb-forms-field.min.css +1 -1
  794. package/extensions/forms/Field/style/dnb-forms-field.scss +1 -0
  795. package/extensions/forms/FieldBlock/FieldBlock.js +37 -3
  796. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  797. package/extensions/forms/Form/Element/Element.js +2 -0
  798. package/extensions/forms/Form/Element/Element.js.map +1 -1
  799. package/extensions/forms/Form/Handler/Handler.js +2 -0
  800. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  801. package/extensions/forms/hooks/index.d.ts +3 -0
  802. package/extensions/forms/hooks/index.js +5 -1
  803. package/extensions/forms/hooks/index.js.map +1 -1
  804. package/extensions/forms/hooks/useDataValue.js +128 -62
  805. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  806. package/extensions/forms/hooks/useMountEffect.d.ts +5 -0
  807. package/extensions/forms/hooks/useMountEffect.js +9 -0
  808. package/extensions/forms/hooks/useMountEffect.js.map +1 -0
  809. package/extensions/forms/hooks/useProcessManager.d.ts +6 -0
  810. package/extensions/forms/hooks/useProcessManager.js +16 -0
  811. package/extensions/forms/hooks/useProcessManager.js.map +1 -0
  812. package/extensions/forms/hooks/useUpdateEffect.d.ts +5 -0
  813. package/extensions/forms/hooks/useUpdateEffect.js +14 -0
  814. package/extensions/forms/hooks/useUpdateEffect.js.map +1 -0
  815. package/extensions/forms/style/dnb-forms.css +13 -0
  816. package/extensions/forms/style/dnb-forms.min.css +1 -1
  817. package/extensions/forms/types.d.ts +10 -2
  818. package/extensions/forms/types.js +2 -0
  819. package/extensions/forms/types.js.map +1 -1
  820. package/extensions/forms/utils/ajv.js +25 -1
  821. package/extensions/forms/utils/ajv.js.map +1 -1
  822. package/extensions/forms/utils/errors.d.ts +2 -0
  823. package/extensions/forms/utils/errors.js +10 -0
  824. package/extensions/forms/utils/errors.js.map +1 -0
  825. package/extensions/forms/utils/index.d.ts +1 -0
  826. package/extensions/forms/utils/index.js +1 -0
  827. package/extensions/forms/utils/index.js.map +1 -1
  828. package/extensions/payment-card/PaymentCard.js +2 -0
  829. package/extensions/payment-card/PaymentCard.js.map +1 -1
  830. package/fragments/drawer-list/DrawerListProvider.js +2 -0
  831. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  832. package/fragments/scroll-view/ScrollView.js +2 -0
  833. package/fragments/scroll-view/ScrollView.js.map +1 -1
  834. package/package.json +1 -1
  835. package/shared/Eufemia.d.ts +1 -1
  836. package/shared/Eufemia.js +2 -2
  837. package/shared/Eufemia.js.map +1 -1
  838. package/shared/MediaQuery.js +2 -0
  839. package/shared/MediaQuery.js.map +1 -1
  840. package/shared/Provider.js +2 -0
  841. package/shared/Provider.js.map +1 -1
  842. package/shared/Theme.js +2 -0
  843. package/shared/Theme.js.map +1 -1
  844. package/shared/VisibilityByTheme.js +2 -0
  845. package/shared/VisibilityByTheme.js.map +1 -1
  846. package/shared/index.js +2 -0
  847. package/shared/index.js.map +1 -1
  848. package/shared/locales/en-GB.d.ts +11 -0
  849. package/shared/locales/en-GB.js +12 -1
  850. package/shared/locales/en-GB.js.map +1 -1
  851. package/shared/locales/en-US.d.ts +11 -0
  852. package/shared/locales/index.d.ts +22 -0
  853. package/shared/locales/nb-NO.d.ts +11 -0
  854. package/shared/locales/nb-NO.js +12 -1
  855. package/shared/locales/nb-NO.js.map +1 -1
  856. package/shared/useMedia.js +2 -0
  857. package/shared/useMedia.js.map +1 -1
  858. package/shared/useMediaQuery.js +2 -0
  859. package/shared/useMediaQuery.js.map +1 -1
  860. package/shared/useTheme.js +2 -0
  861. package/shared/useTheme.js.map +1 -1
  862. package/shared/useTranslation.js +2 -0
  863. package/shared/useTranslation.js.map +1 -1
  864. package/style/dnb-ui-components.css +106 -0
  865. package/style/dnb-ui-components.min.css +1 -1
  866. package/style/dnb-ui-extensions.css +13 -0
  867. package/style/dnb-ui-extensions.min.css +1 -1
  868. package/style/themes/theme-eiendom/eiendom-theme-components.css +126 -86
  869. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  870. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -0
  871. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  872. package/style/themes/theme-sbanken/sbanken-theme-components.css +133 -93
  873. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  874. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  875. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -0
  876. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  877. package/style/themes/theme-ui/ui-theme-components.css +126 -86
  878. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  879. package/style/themes/theme-ui/ui-theme-extensions.css +13 -0
  880. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  881. package/umd/dnb-ui-basis.min.js +1 -1
  882. package/umd/dnb-ui-components.min.js +1 -1
  883. package/umd/dnb-ui-elements.min.js +1 -1
  884. package/umd/dnb-ui-extensions.min.js +2 -2
  885. package/umd/dnb-ui-lib.min.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
3
3
  All notable changes to @dnb/eufemia will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.14.0](https://github.com/dnbexperience/eufemia/compare/v10.13.0...v10.14.0) (2023-11-16)
7
+
8
+
9
+ ### :memo: Documentation
10
+
11
+ * **Forms:** lists component specific props 1st ([#2892](https://github.com/dnbexperience/eufemia/issues/2892)) ([c05740c](https://github.com/dnbexperience/eufemia/commit/c05740cbd6905558f3c69e97571b85fe23ee2e37))
12
+ * **PhoneNumber:** remove unsupported props ([#2894](https://github.com/dnbexperience/eufemia/issues/2894)) ([4800a8e](https://github.com/dnbexperience/eufemia/commit/4800a8e0d6a63fe2ed701f32b1b77449bd00cd95))
13
+ * **PostalCodeAndCity:** remove unsupported props ([#2890](https://github.com/dnbexperience/eufemia/issues/2890)) ([fe1ee9e](https://github.com/dnbexperience/eufemia/commit/fe1ee9e77cb30995542c54f04cf0d3acdf626287))
14
+
15
+
16
+ ### :sparkles: Features
17
+
18
+ * **Forms:** expiry field ([#2660](https://github.com/dnbexperience/eufemia/issues/2660)) ([af5aa61](https://github.com/dnbexperience/eufemia/commit/af5aa61f939bcc5ffd891ad99ef19a4d123b0e3f))
19
+ * **forms:** improved state management and reacting to more changed props ([#2882](https://github.com/dnbexperience/eufemia/issues/2882)) ([0ca9533](https://github.com/dnbexperience/eufemia/commit/0ca9533deaff48d2e714e8a04a04c97d0a8958c8))
20
+ * **Input:** add clear button event "on_clear" ([#2898](https://github.com/dnbexperience/eufemia/issues/2898)) ([eb6b722](https://github.com/dnbexperience/eufemia/commit/eb6b722b09861c809f5f8afacf31f655fe7d95ac))
21
+ * **Radio:** Sbanken styling ([#2888](https://github.com/dnbexperience/eufemia/issues/2888)) ([d7ffcf8](https://github.com/dnbexperience/eufemia/commit/d7ffcf80384d54f5268d99346b2832d634dd687f))
22
+
23
+
24
+ ### :bug: Bug Fixes
25
+
26
+ * add "use client" to non hook components like the Button ([#2895](https://github.com/dnbexperience/eufemia/issues/2895)) ([2d54a13](https://github.com/dnbexperience/eufemia/commit/2d54a131b23e44d967270e4d54fd66fcb098e38c))
27
+ * **Autocomplete:** enhance logic for when to blur ([#2886](https://github.com/dnbexperience/eufemia/issues/2886)) ([ce5c3fa](https://github.com/dnbexperience/eufemia/commit/ce5c3fa9ab811f0f66a654bf9f1712a40f887b8f))
28
+ * **Autocomplete:** make clear button work with enter key ([#2901](https://github.com/dnbexperience/eufemia/issues/2901)) ([30007c4](https://github.com/dnbexperience/eufemia/commit/30007c4737105dcff9b64675d4b7528108b4e3c6)), closes [#2185](https://github.com/dnbexperience/eufemia/issues/2185)
29
+ * **FieldBlock:** enhance fieldset/legend detection ([#2902](https://github.com/dnbexperience/eufemia/issues/2902)) ([4c62052](https://github.com/dnbexperience/eufemia/commit/4c62052549b5e1e5e6311f8e330f0462b508741a)), closes [#2893](https://github.com/dnbexperience/eufemia/issues/2893)
30
+ * fix Flex and Grid export to work with Vite.js ([#2905](https://github.com/dnbexperience/eufemia/issues/2905)) ([ef83713](https://github.com/dnbexperience/eufemia/commit/ef837139425ab4427efb18dfb209330ec1aa33f6))
31
+ * fix vertical label_direction support for Radio group and ToggleButton group ([#2899](https://github.com/dnbexperience/eufemia/issues/2899)) ([d650c66](https://github.com/dnbexperience/eufemia/commit/d650c66743c8f02d83f28c0f1e2ac0dfee8b324d))
32
+ * **forms:** Field block error handling ([#2900](https://github.com/dnbexperience/eufemia/issues/2900)) ([9582c64](https://github.com/dnbexperience/eufemia/commit/9582c6498bd80619fb03920f40586d5f834d1fa4))
33
+ * **forms:** Improved message value replacements ([#2903](https://github.com/dnbexperience/eufemia/issues/2903)) ([a61140b](https://github.com/dnbexperience/eufemia/commit/a61140b247e98cd6338f21382f1916f91d937b64))
34
+ * **PhoneNumber:** keep selected countryCode value on blur ([#2869](https://github.com/dnbexperience/eufemia/issues/2869)) ([7e0f9c5](https://github.com/dnbexperience/eufemia/commit/7e0f9c55ccc07ac6dfeb2fa887adf66e6b61fe39))
35
+
6
36
  ## [10.13.0](https://github.com/dnbexperience/eufemia/compare/v10.12.0...v10.13.0) (2023-11-12)
7
37
 
8
38
 
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContent.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_shared","_AccordionContext","_SpacingHelper","_HeightAnimation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AccordionContent","props","context","React","useContext","AccordionContext","id","expanded","prerender","prevent_rerender","single_container","disabled","no_animation","contentRef","className","children","instance","rest","elementRef","useRef","cacheRef","setContainerHeight","contentElem","current","style","height","containerElement","getPreviousSibling","transitionDuration","minHeight","offsetHeight","offsetTop","e","warn","renderContent","processChildren","prevent_rerender_conditional","content","createElement","useEffect","useState","isSmallScreen","useMediaQuery","when","max","wrapperParams","classnames","keepInDOM","innerParams","createSpacingClasses","validateDOMAttributes","animate","open","innerRef","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionContent.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps } from 'react'\nimport classnames from 'classnames'\nimport {\n warn,\n validateDOMAttributes,\n processChildren,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport { useMediaQuery } from '../../shared'\nimport AccordionContext, {\n AccordionContextProps,\n} from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { SpacingProps } from '../space/types'\n\nexport type AccordionContentProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onAnimationEnd' | 'children'\n> &\n SpacingProps & {\n instance?: React.MutableRefObject<unknown>\n className?: string\n children?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport default function AccordionContent(props: AccordionContentProps) {\n const context = React.useContext<AccordionContextProps>(AccordionContext)\n\n const {\n id,\n expanded,\n prerender,\n prevent_rerender,\n single_container,\n disabled,\n no_animation,\n contentRef,\n } = context\n\n const { className, children, instance, ...rest } = props\n\n let elementRef = React.useRef(null)\n const cacheRef = React.useRef(null)\n\n if (contentRef) {\n elementRef = contentRef\n }\n\n const setContainerHeight = () => {\n const { single_container } = context\n\n if (single_container) {\n const contentElem = elementRef.current\n if (contentElem) {\n try {\n contentElem.style.height = ''\n\n const containerElement = getPreviousSibling(\n 'dnb-accordion-group--single-container',\n contentElem\n ) as HTMLElement\n\n if (no_animation) {\n containerElement.style.transitionDuration = '1ms'\n }\n\n const minHeight =\n (contentElem.offsetHeight + contentElem.offsetTop) / 16\n containerElement.style.minHeight = `${minHeight}rem`\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n const renderContent = () => {\n const children = processChildren(props)\n\n const {\n expanded,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n } = context\n\n let content = children\n\n if (typeof content === 'string') {\n content = <p className=\"dnb-p\">{content}</p>\n }\n\n if (prevent_rerender) {\n /**\n * Ensure we do not render, if it is not expanded\n */\n if (!(expanded || prerender)) {\n content = null\n }\n\n // update the cache if children is not the same anymore\n if (prevent_rerender_conditional && cacheRef.current !== content) {\n cacheRef.current = content\n }\n\n if (cacheRef.current) {\n content = cacheRef.current\n } else {\n cacheRef.current = content\n }\n }\n\n return content\n }\n\n React.useEffect(() => {\n if (expanded && single_container) {\n setContainerHeight()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, expanded, single_container])\n\n React.useState(() => {\n if (\n instance &&\n Object.prototype.hasOwnProperty.call(instance, 'current')\n ) {\n instance.current = { setContainerHeight }\n }\n })\n\n const isSmallScreen = useMediaQuery({\n when: { max: 'small' },\n })\n\n const content = renderContent()\n\n const wrapperParams = {\n className: classnames('dnb-accordion__content', className),\n ...rest,\n }\n\n const keepInDOM = prerender || prevent_rerender\n\n const innerParams = {\n id: `${id}-content`,\n 'aria-labelledby': `${id}-header`,\n className: classnames(\n 'dnb-accordion__content__inner',\n createSpacingClasses(rest)\n ),\n } as HTMLProps<HTMLElement>\n\n if (expanded) {\n innerParams['aria-expanded'] = true\n }\n\n if (!expanded || disabled) {\n innerParams.disabled = true\n innerParams['aria-hidden'] = true\n }\n\n // to remove spacing props\n validateDOMAttributes(props, wrapperParams)\n validateDOMAttributes(null, innerParams)\n\n const animate =\n !no_animation && (single_container ? isSmallScreen : true)\n\n return (\n <HeightAnimation\n {...wrapperParams}\n open={expanded}\n animate={animate}\n keepInDOM={keepInDOM}\n innerRef={elementRef}\n >\n <section {...innerParams}>{content}</section>\n </HeightAnimation>\n )\n}\n\nAccordionContent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionContent.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_shared","_AccordionContext","_SpacingHelper","_HeightAnimation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AccordionContent","props","context","React","useContext","AccordionContext","id","expanded","prerender","prevent_rerender","single_container","disabled","no_animation","contentRef","className","children","instance","rest","elementRef","useRef","cacheRef","setContainerHeight","contentElem","current","style","height","containerElement","getPreviousSibling","transitionDuration","minHeight","offsetHeight","offsetTop","e","warn","renderContent","processChildren","prevent_rerender_conditional","content","createElement","useEffect","useState","isSmallScreen","useMediaQuery","when","max","wrapperParams","classnames","keepInDOM","innerParams","createSpacingClasses","validateDOMAttributes","animate","open","innerRef","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionContent.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps } from 'react'\nimport classnames from 'classnames'\nimport {\n warn,\n validateDOMAttributes,\n processChildren,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport { useMediaQuery } from '../../shared'\nimport AccordionContext, {\n AccordionContextProps,\n} from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport { SpacingProps } from '../space/types'\n\nexport type AccordionContentProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onAnimationEnd' | 'children'\n> &\n SpacingProps & {\n instance?: React.MutableRefObject<unknown>\n className?: string\n children?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport default function AccordionContent(props: AccordionContentProps) {\n const context = React.useContext<AccordionContextProps>(AccordionContext)\n\n const {\n id,\n expanded,\n prerender,\n prevent_rerender,\n single_container,\n disabled,\n no_animation,\n contentRef,\n } = context\n\n const { className, children, instance, ...rest } = props\n\n let elementRef = React.useRef(null)\n const cacheRef = React.useRef(null)\n\n if (contentRef) {\n elementRef = contentRef\n }\n\n const setContainerHeight = () => {\n const { single_container } = context\n\n if (single_container) {\n const contentElem = elementRef.current\n if (contentElem) {\n try {\n contentElem.style.height = ''\n\n const containerElement = getPreviousSibling(\n 'dnb-accordion-group--single-container',\n contentElem\n ) as HTMLElement\n\n if (no_animation) {\n containerElement.style.transitionDuration = '1ms'\n }\n\n const minHeight =\n (contentElem.offsetHeight + contentElem.offsetTop) / 16\n containerElement.style.minHeight = `${minHeight}rem`\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n const renderContent = () => {\n const children = processChildren(props)\n\n const {\n expanded,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n } = context\n\n let content = children\n\n if (typeof content === 'string') {\n content = <p className=\"dnb-p\">{content}</p>\n }\n\n if (prevent_rerender) {\n /**\n * Ensure we do not render, if it is not expanded\n */\n if (!(expanded || prerender)) {\n content = null\n }\n\n // update the cache if children is not the same anymore\n if (prevent_rerender_conditional && cacheRef.current !== content) {\n cacheRef.current = content\n }\n\n if (cacheRef.current) {\n content = cacheRef.current\n } else {\n cacheRef.current = content\n }\n }\n\n return content\n }\n\n React.useEffect(() => {\n if (expanded && single_container) {\n setContainerHeight()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children, expanded, single_container])\n\n React.useState(() => {\n if (\n instance &&\n Object.prototype.hasOwnProperty.call(instance, 'current')\n ) {\n instance.current = { setContainerHeight }\n }\n })\n\n const isSmallScreen = useMediaQuery({\n when: { max: 'small' },\n })\n\n const content = renderContent()\n\n const wrapperParams = {\n className: classnames('dnb-accordion__content', className),\n ...rest,\n }\n\n const keepInDOM = prerender || prevent_rerender\n\n const innerParams = {\n id: `${id}-content`,\n 'aria-labelledby': `${id}-header`,\n className: classnames(\n 'dnb-accordion__content__inner',\n createSpacingClasses(rest)\n ),\n } as HTMLProps<HTMLElement>\n\n if (expanded) {\n innerParams['aria-expanded'] = true\n }\n\n if (!expanded || disabled) {\n innerParams.disabled = true\n innerParams['aria-hidden'] = true\n }\n\n // to remove spacing props\n validateDOMAttributes(props, wrapperParams)\n validateDOMAttributes(null, innerParams)\n\n const animate =\n !no_animation && (single_container ? isSmallScreen : true)\n\n return (\n <HeightAnimation\n {...wrapperParams}\n open={expanded}\n animate={animate}\n keepInDOM={keepInDOM}\n innerRef={elementRef}\n >\n <section {...innerParams}>{content}</section>\n </HeightAnimation>\n )\n}\n\nAccordionContent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.js","names":["_react","_interopRequireDefault","require","_classnames","_Element","_Context","_componentHelper","_helpers","_IconPrimary2","_Tooltip","_icons","_IconPrimary","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","AnchorInstance","localProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","attributes","internalId","makeUniqueId","as","prefix","suffix","href","to","showLaunchicon","test","showTooltip","title","createElement","launchIcon","iconNode","pickIcon","Fragment","classnames","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","_default","exports","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","includes","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","getOffsetTop","scroll","error","console","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps, ElementIsType } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: ElementIsType\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = (element || 'a') as string\n\n let prefix: React.ReactNode\n let suffix: React.ReactNode\n\n const href = allProps.href || allProps.to\n const showLaunchicon =\n allProps.target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n const showTooltip = (tooltip || showLaunchicon) && !allProps.title\n\n // WCAG guide: https://www.w3.org/TR/WCAG20-TECHS/G201.html\n if (showLaunchicon) {\n suffix = <IconPrimary icon={launchIcon} />\n }\n\n if (icon) {\n const iconNode = pickIcon(icon) || <IconPrimary icon={icon} />\n if (iconPosition === 'left') {\n prefix = <>{iconNode} </>\n } else if (iconPosition === 'right') {\n suffix = <> {iconNode}</>\n }\n }\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true && 'dnb-anchor',\n className,\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n showLaunchicon && 'dnb-anchor--launch-icon'\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nexport function pickIcon(icon) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, 'dnb-button__icon'),\n })\n : null\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Anchor.js","names":["_react","_interopRequireDefault","require","_classnames","_Element","_Context","_componentHelper","_helpers","_IconPrimary2","_Tooltip","_icons","_IconPrimary","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","AnchorInstance","localProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","attributes","internalId","makeUniqueId","as","prefix","suffix","href","to","showLaunchicon","test","showTooltip","title","createElement","launchIcon","iconNode","pickIcon","Fragment","classnames","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","_default","exports","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","includes","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","getOffsetTop","scroll","error","console","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps, ElementIsType } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: ElementIsType\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = (element || 'a') as string\n\n let prefix: React.ReactNode\n let suffix: React.ReactNode\n\n const href = allProps.href || allProps.to\n const showLaunchicon =\n allProps.target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n const showTooltip = (tooltip || showLaunchicon) && !allProps.title\n\n // WCAG guide: https://www.w3.org/TR/WCAG20-TECHS/G201.html\n if (showLaunchicon) {\n suffix = <IconPrimary icon={launchIcon} />\n }\n\n if (icon) {\n const iconNode = pickIcon(icon) || <IconPrimary icon={icon} />\n if (iconPosition === 'left') {\n prefix = <>{iconNode} </>\n } else if (iconPosition === 'right') {\n suffix = <> {iconNode}</>\n }\n }\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true && 'dnb-anchor',\n className,\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n showLaunchicon && 'dnb-anchor--launch-icon'\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nexport function pickIcon(icon) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, 'dnb-button__icon'),\n })\n : null\n}\n"],"mappings":";;;;;;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAIA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,QAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAAkD,IAAAS,YAAA;AAAA,MAAAC,SAAA;AAAA,SAAAX,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AA0BlD,MAAMmB,YAAY,GAAG,CAAC,CAAC;AAEhB,SAASC,cAAcA,CAACC,UAA0B,EAAE;EACzD,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,gBAAO,CAAC;EACzC,MAAMC,QAAQ,GAAG,IAAAC,uCAAsB,EACrCN,UAAU,EACVF,YAAY,EACZ;IAAES,QAAQ,EAAEN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM;EAAS,CAAC,EAC/BN,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,cAAc,CAACR,UAA4B,CAAC,CAACS,MAAM,EAC5DR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,MACX,CAAC;EAGD,IAAI,OAAOJ,QAAQ,CAACK,SAAS,KAAK,WAAW,EAAE;IAC7CL,QAAQ,CAACM,QAAQ,GAAGN,QAAQ,CAACK,SAAS;IACtC,OAAOL,QAAQ,CAACK,SAAS;EAC3B;EAEA,IAAI,CAACL,QAAQ,CAACM,QAAQ,EAAE;IACtBN,QAAQ,CAACM,QAAQ,GAAGT,cAAK,CAACU,SAAS,CAAC,CAAC;EACvC;EAEA,MAAM;MACJC,EAAE;MACFC,OAAO;MACPC,SAAS;MACTC,QAAQ;MACRC,OAAO;MACPC,IAAI;MACJC,YAAY,GAAG,MAAM;MACrBC,SAAS;MACTT,QAAQ;MACRU;IAEF,CAAC,GAAGhB,QAAQ;IADPiB,IAAI,GAAAjC,wBAAA,CACLgB,QAAQ,EAAAlC,SAAA;EAEZ,MAAMoD,UAAU,GAAGD,IAAoB;EACvC,MAAME,UAAU,GAAGX,EAAE,IAAI,IAAI,GAAG,IAAAY,6BAAY,EAAC,CAAC;EAC9C,MAAMC,EAAE,GAAIZ,OAAO,IAAI,GAAc;EAErC,IAAIa,MAAuB;EAC3B,IAAIC,MAAuB;EAE3B,MAAMC,IAAI,GAAGxB,QAAQ,CAACwB,IAAI,IAAIxB,QAAQ,CAACyB,EAAE;EACzC,MAAMC,cAAc,GAClB1B,QAAQ,CAAC1B,MAAM,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAACqD,IAAI,CAACH,IAAI,CAAC;EACjE,MAAMI,WAAW,GAAG,CAAChB,OAAO,IAAIc,cAAc,KAAK,CAAC1B,QAAQ,CAAC6B,KAAK;EAGlE,IAAIH,cAAc,EAAE;IAClBH,MAAM,GAAA1D,YAAA,KAAAA,YAAA,GAAGX,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAACpE,aAAA,CAAAO,OAAW;MAAC4C,IAAI,EAAEkB;IAAW,CAAE,CAAC;EAC5C;EAEA,IAAIlB,IAAI,EAAE;IACR,MAAMmB,QAAQ,GAAGC,QAAQ,CAACpB,IAAI,CAAC,IAAI3D,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAACpE,aAAA,CAAAO,OAAW;MAAC4C,IAAI,EAAEA;IAAK,CAAE,CAAC;IAC9D,IAAIC,YAAY,KAAK,MAAM,EAAE;MAC3BQ,MAAM,GAAGpE,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAAA5E,MAAA,CAAAe,OAAA,CAAAiE,QAAA,QAAGF,QAAQ,EAAC,GAAG,CAAC;IAC3B,CAAC,MAAM,IAAIlB,YAAY,KAAK,OAAO,EAAE;MACnCS,MAAM,GAAGrE,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAAA5E,MAAA,CAAAe,OAAA,CAAAiE,QAAA,QAAE,GAAC,EAACF,QAAW,CAAC;IAC3B;EACF;EAEA,OACE9E,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAAA5E,MAAA,CAAAe,OAAA,CAAAiE,QAAA,QACEhF,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAACxE,QAAA,CAAAW,OAAC,EAAAC,QAAA;IACAmD,EAAE,EAAEA,EAAG;IACPb,EAAE,EAAEA,EAAG;IACPE,SAAS,EAAE,IAAAyB,mBAAU,EAEnBzB,SAAS,EADTK,SAAS,KAAK,IAAI,IAAI,YAAY,EAElCO,MAAM,IAAI,uBAAuB,EACjCC,MAAM,IAAI,wBAAwB,EAClC,OAAOZ,QAAQ,KAAK,QAAQ,IAAI,sBAAsB,EACtDe,cAAc,IAAI,yBACpB;EAAE,GACER,UAAU;IACdZ,QAAQ,EAAEA;EAAS,IAElBgB,MAAM,EACNX,QAAQ,EACRY,MACA,CAAC,EAEHK,WAAW,IACV1E,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAACnE,QAAA,CAAAM,OAAO;IACNmE,SAAS,EAAE,GAAI;IACf5B,EAAE,EAAEW,UAAU,GAAG,UAAW;IAC5BkB,aAAa,EAAE/B,QAAS;IACxBM,OAAO,EAAEA;EAAQ,GAEhBZ,QAAQ,CAAC6B,KAAK,IAAIb,gBACZ,CAEX,CAAC;AAEP;AAEA,MAAMZ,MAAM,GAAGP,cAAK,CAACyC,UAAU,CAC7B,CAACC,KAAqB,EAAEC,GAAuC,KAAK;EAClE,OAAOtF,MAAA,CAAAe,OAAA,CAAA6D,aAAA,CAACpC,cAAc,EAAAxB,QAAA;IAACoC,QAAQ,EAAEkC;EAAI,GAAKD,KAAK,CAAG,CAAC;AACrD,CACF,CAAC;AAIDnC,MAAM,CAACqC,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAEpBtC,MAAM;AAAAuC,OAAA,CAAA1E,OAAA,GAAAyE,QAAA;AAEd,SAASE,mBAAmBA,CACjCC,KAAsD,EACtD;EAAA,IAAAC,iBAAA;EACA,MAAMrC,OAAO,GAAGoC,KAAK,CAACE,aAAkC;EACxD,MAAMvB,IAAI,GAAGf,OAAO,CAACuC,YAAY,CAAC,MAAM,CAAC;EAEzC,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACzB,IAAI,CAAC0B,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1D;EACF;EASA,MAAMC,UAAU,GACd3B,IAAI,CAAC4B,UAAU,CAAC,GAAG,CAAC,IACpBC,MAAM,CAACC,QAAQ,CAAC9B,IAAI,CAAC0B,QAAQ,EAAAJ,iBAAA,GAACrC,OAAO,CAAC8C,QAAQ,cAAAT,iBAAA,uBAAhBA,iBAAA,CAAkBU,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EAIrE,IAAIL,UAAU,EAAE;IACd,MAAM3C,EAAE,GAAGgB,IAAI,CAACiC,KAAK,CAAC,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAMC,UAAU,GAAGV,QAAQ,CAACW,cAAc,CAACpD,EAAE,CAAC;IAE9C,IAAImD,UAAU,YAAYE,WAAW,EAAE;MACrC,IAAI;QACF,MAAMC,aAAa,GAAGC,UAAU,CAC9BV,MAAM,CAACW,gBAAgB,CAACf,QAAQ,CAACgB,eAAe,CAAC,CAC9CC,gBACL,CAAC;QACD,MAAMC,GAAG,GAAG,IAAAC,qBAAY,EAACT,UAAU,CAAC,GAAGG,aAAa,IAAI,CAAC;QAEzDT,MAAM,CAACgB,MAAM,CAAC;UAAEF;QAAI,CAAC,CAAC;QAEtB,OAAO;UAAE1D,OAAO,EAAEkD;QAAW,CAAC;MAChC,CAAC,CAAC,OAAOW,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF;EACF;AACF;AAEO,SAASrC,QAAQA,CAACpB,IAAI,EAAE;EAAA,IAAA2D,WAAA,EAAAC,YAAA,EAAAC,qBAAA,EAAAC,YAAA;EAC7B,OAAO9D,IAAI,aAAJA,IAAI,gBAAA2D,WAAA,GAAJ3D,IAAI,CAAE0B,KAAK,cAAAiC,WAAA,eAAXA,WAAA,CAAa3D,IAAI,IAAIA,IAAI,aAAJA,IAAI,gBAAA4D,YAAA,GAAJ5D,IAAI,CAAE0B,KAAK,cAAAkC,YAAA,gBAAAC,qBAAA,GAAXD,YAAA,CAAa/D,SAAS,cAAAgE,qBAAA,eAAtBA,qBAAA,CAAwBxB,QAAQ,CAAC,UAAU,CAAC,GACpErD,cAAK,CAAC+E,YAAY,CAAC/D,IAAI,EAAE;IACvBlC,GAAG,EAAE,mBAAmB;IACxB+B,SAAS,EAAE,IAAAyB,mBAAU,GAAAwC,YAAA,GAAC9D,IAAI,CAAC0B,KAAK,cAAAoC,YAAA,uBAAVA,YAAA,CAAYjE,SAAS,EAAE,kBAAkB;EACjE,CAAC,CAAC,GACF,IAAI;AACV"}
@@ -345,6 +345,10 @@ class AutocompleteInstance extends _react.default.PureComponent {
345
345
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
346
346
  const data = _this.runFilter(value, options);
347
347
  const count = _this.countData(data);
348
+ const {
349
+ keep_value,
350
+ keep_value_and_selection
351
+ } = _this.props;
348
352
  if (value && value.length > 0) {
349
353
  if (count === 0) {
350
354
  if (_this.state.mode !== 'async') {
@@ -362,10 +366,10 @@ class AutocompleteInstance extends _react.default.PureComponent {
362
366
  }
363
367
  }
364
368
  } else {
365
- if (!(0, _componentHelper.isTrue)(_this.props.keep_value) && !(0, _componentHelper.isTrue)(_this.props.keep_value_and_selection)) {
369
+ if (!(0, _componentHelper.isTrue)(keep_value) && !(0, _componentHelper.isTrue)(keep_value_and_selection)) {
366
370
  _this.totalReset();
367
371
  }
368
- if ((0, _componentHelper.isTrue)(_this.props.keep_value)) {
372
+ if ((0, _componentHelper.isTrue)(keep_value)) {
369
373
  _this.resetSelectedItem();
370
374
  }
371
375
  _this.showAllItems();
@@ -572,6 +576,32 @@ class AutocompleteInstance extends _react.default.PureComponent {
572
576
  e.preventDefault();
573
577
  break;
574
578
  }
579
+ switch (key) {
580
+ case 'up':
581
+ case 'down':
582
+ if (!this.context.drawerList.opened) {
583
+ this.setVisible();
584
+ }
585
+ break;
586
+ case 'esc':
587
+ this.setState({
588
+ showAllNextTime: true,
589
+ _listenForPropChanges: false
590
+ });
591
+ break;
592
+ case 'enter':
593
+ e.preventDefault();
594
+ if (!this.context.drawerList.opened && this.hasFilterActive()) {
595
+ this.ignoreEvents();
596
+ this.showAll();
597
+ }
598
+ if ((!this.hasValidData() || !this.hasSelectedItem()) && !this.hasActiveItem()) {
599
+ this.toggleVisible();
600
+ } else {
601
+ this.setVisible();
602
+ }
603
+ break;
604
+ }
575
605
  });
576
606
  _defineProperty(this, "onInputClickHandler", e => {
577
607
  const {
@@ -612,10 +642,20 @@ class AutocompleteInstance extends _react.default.PureComponent {
612
642
  });
613
643
  }
614
644
  });
615
- _defineProperty(this, "onReserveActivityHandler", event => {
616
- this.__preventFiringBlurEvent = event.key === 'enter' || event.key === 'space' || event.target && (0, _componentHelper.getPreviousSibling)('dnb-drawer-list', event.target);
645
+ _defineProperty(this, "reserveActivityHandler", function () {
646
+ let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
647
+ _this.__preventFiringBlurEvent = Boolean(event.key === 'enter' || (event !== null && event !== void 0 && event.currentTarget ? (0, _componentHelper.getPreviousSibling)('dnb-drawer-list', event.currentTarget) || (0, _componentHelper.getPreviousSibling)('dnb-input__submit-button__button', event.currentTarget) : false));
648
+ if (_this.__preventFiringBlurEvent) {
649
+ setTimeout(() => {
650
+ _this.__preventFiringBlurEvent = false;
651
+ }, (0, _componentHelper.isTrue)(_this.props.no_animation) ? 1 : _DrawerList.default.blurDelay);
652
+ }
617
653
  });
618
654
  _defineProperty(this, "onBlurHandler", event => {
655
+ if (this.__preventFiringBlurEvent || this.context.drawerList.hasFocusOnElement || this.state.hasBlur) {
656
+ this.__preventFiringBlurEvent = null;
657
+ return false;
658
+ }
619
659
  const {
620
660
  open_on_focus,
621
661
  keep_value,
@@ -623,42 +663,39 @@ class AutocompleteInstance extends _react.default.PureComponent {
623
663
  prevent_selection,
624
664
  no_animation
625
665
  } = this.props;
626
- if (!this.state.hasBlur && !this.__preventFiringBlurEvent && !this.context.drawerList.hasFocusOnElement) {
627
- (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_blur', _objectSpread({
628
- event
629
- }, this.getEventObjects('on_blur')));
666
+ (0, _componentHelper.dispatchCustomElementEvent)(this, 'on_blur', _objectSpread({
667
+ event
668
+ }, this.getEventObjects('on_blur')));
669
+ this.setState({
670
+ hasBlur: true,
671
+ hasFocus: false
672
+ });
673
+ if (!(0, _componentHelper.isTrue)(keep_value) && !(0, _componentHelper.isTrue)(keep_value_and_selection)) {
630
674
  this.setState({
631
- hasBlur: true,
632
- hasFocus: false
675
+ typedInputValue: null,
676
+ _listenForPropChanges: false
633
677
  });
634
- if (!(0, _componentHelper.isTrue)(keep_value_and_selection)) {
635
- this.setState({
636
- typedInputValue: null,
637
- _listenForPropChanges: false
638
- });
639
- }
640
- if (!(0, _componentHelper.isTrue)(prevent_selection)) {
641
- const existingValue = this.state.inputValue;
678
+ }
679
+ if (!(0, _componentHelper.isTrue)(prevent_selection)) {
680
+ const existingValue = this.state.inputValue;
681
+ if (!(0, _componentHelper.isTrue)(keep_value) && !(0, _componentHelper.isTrue)(keep_value_and_selection)) {
642
682
  this.clearInputValue();
643
- const resetAfterClose = () => {
644
- if (!(0, _componentHelper.isTrue)(keep_value) || !existingValue || this.hasSelectedItem()) {
645
- this.resetActiveItem();
646
- }
647
- this.resetFilter();
648
- };
649
- if ((0, _componentHelper.isTrue)(no_animation)) {
650
- resetAfterClose();
651
- } else {
652
- clearTimeout(this._blurTimeout);
653
- this._blurTimeout = setTimeout(resetAfterClose, _DrawerList.default.blurDelay);
654
- }
655
683
  }
656
- if ((0, _componentHelper.isTrue)(open_on_focus)) {
657
- this.setHidden();
684
+ const resetAfterClose = () => {
685
+ if (!(0, _componentHelper.isTrue)(keep_value) || !existingValue || this.hasSelectedItem()) {
686
+ this.resetActiveItem();
687
+ }
688
+ this.resetFilter();
689
+ };
690
+ if ((0, _componentHelper.isTrue)(no_animation)) {
691
+ resetAfterClose();
692
+ } else {
693
+ clearTimeout(this._blurTimeout);
694
+ this._blurTimeout = setTimeout(resetAfterClose, _DrawerList.default.blurDelay);
658
695
  }
659
- } else if (this.__preventFiringBlurEvent) {
660
- this.__preventFiringBlurEvent = null;
661
- return false;
696
+ }
697
+ if ((0, _componentHelper.isTrue)(open_on_focus)) {
698
+ this.setHidden();
662
699
  }
663
700
  });
664
701
  _defineProperty(this, "onTriggerKeyDownHandler", e => {
@@ -688,37 +725,6 @@ class AutocompleteInstance extends _react.default.PureComponent {
688
725
  break;
689
726
  }
690
727
  });
691
- _defineProperty(this, "onShellKeyDownHandler", e => {
692
- const key = (0, _keycode.default)(e);
693
- switch (key) {
694
- case 'up':
695
- case 'down':
696
- if (!this.context.drawerList.opened) {
697
- e.preventDefault();
698
- this.setVisible();
699
- }
700
- break;
701
- case 'esc':
702
- this.setState({
703
- showAllNextTime: true,
704
- _listenForPropChanges: false
705
- });
706
- break;
707
- case 'enter':
708
- e.preventDefault();
709
- if (!this.context.drawerList.opened && this.hasFilterActive()) {
710
- this.ignoreEvents();
711
- this.showAll();
712
- }
713
- if ((!this.hasValidData() || !this.hasSelectedItem()) && !this.hasActiveItem()) {
714
- clearTimeout(this._toggleVisibleTimeout);
715
- this._toggleVisibleTimeout = setTimeout(this.toggleVisible, 1);
716
- } else {
717
- this.setVisible();
718
- }
719
- break;
720
- }
721
- });
722
728
  _defineProperty(this, "getEventObjects", key => {
723
729
  const attributes = this.attributes;
724
730
  return {
@@ -1168,7 +1174,6 @@ class AutocompleteInstance extends _react.default.PureComponent {
1168
1174
  clearTimeout(this._ariaLiveUpdateTimeout);
1169
1175
  clearTimeout(this._focusTimeout);
1170
1176
  clearTimeout(this._blurTimeout);
1171
- clearTimeout(this._toggleVisibleTimeout);
1172
1177
  }
1173
1178
  setSearchIndex() {
1174
1179
  let {
@@ -1196,12 +1201,9 @@ class AutocompleteInstance extends _react.default.PureComponent {
1196
1201
  preventScroll: true
1197
1202
  });
1198
1203
  } catch (e) {}
1199
- clearTimeout(this._focusTimeout);
1200
- this._focusTimeout = setTimeout(() => {
1201
- this.setState({
1202
- hasFocus: false
1203
- });
1204
- }, 1);
1204
+ this.setState({
1205
+ hasFocus: false
1206
+ });
1205
1207
  });
1206
1208
  }
1207
1209
  setAriaLiveUpdate() {
@@ -1345,8 +1347,7 @@ class AutocompleteInstance extends _react.default.PureComponent {
1345
1347
  };
1346
1348
  const shellParams = {
1347
1349
  className: 'dnb-autocomplete__shell dnb-no-focus',
1348
- ref: this._refShell,
1349
- onKeyDown: this.onShellKeyDownHandler
1350
+ ref: this._refShell
1350
1351
  };
1351
1352
  const inputParams = _objectSpread({
1352
1353
  className: 'dnb-autocomplete__input',
@@ -1394,6 +1395,7 @@ class AutocompleteInstance extends _react.default.PureComponent {
1394
1395
  status: !opened && status ? status_state : null,
1395
1396
  onKeyDown: this.onTriggerKeyDownHandler,
1396
1397
  onSubmit: this.toggleVisible,
1398
+ onMouseDown: this.reserveActivityHandler,
1397
1399
  'aria-haspopup': 'listbox',
1398
1400
  'aria-expanded': isExpanded,
1399
1401
  'aria-label': !hidden ? submit_button_title : undefined,
@@ -1494,8 +1496,8 @@ class AutocompleteInstance extends _react.default.PureComponent {
1494
1496
  on_select: this.onSelectHandler,
1495
1497
  on_hide: this.onHideHandler,
1496
1498
  on_pre_change: this.onPreChangeHandler,
1497
- on_key_down: this.onReserveActivityHandler,
1498
- onMouseDown: this.onReserveActivityHandler,
1499
+ on_key_down: this.reserveActivityHandler,
1500
+ onMouseDown: this.reserveActivityHandler,
1499
1501
  independent_width: independent_width
1500
1502
  })), suffix && _react.default.createElement(_Suffix.default, {
1501
1503
  className: "dnb-autocomplete__suffix",
@@ -1511,5 +1513,6 @@ _defineProperty(AutocompleteInstance, "defaultProps", Autocomplete.defaultProps)
1511
1513
  _defineProperty(AutocompleteInstance, "contextType", _DrawerListContext.default);
1512
1514
  process.env.NODE_ENV !== "production" ? AutocompleteInstance.propTypes = Autocomplete.propTypes : void 0;
1513
1515
  Autocomplete.HorizontalItem = _DrawerList.default.HorizontalItem;
1516
+ Autocomplete._formElement = true;
1514
1517
  Autocomplete._supportsSpacingProps = true;
1515
1518
  //# sourceMappingURL=Autocomplete.js.map