@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
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormat.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_helpers","_SpacingHelper","_SkeletonHelper","_Tooltip","_interopRequireWildcard","_NumberUtils","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberFormat","React","PureComponent","constructor","props","_this$context$getTran","_this$context$getTran2","showSelectionNotice","cleanedValue","label","context","getTranslation","clipboard_copy","run","_ref","current","setState","selected","hasSelectedText","clearTimeout","_selectAllTimeout","setTimeout","setFocus","isTrue","always_selectall","createRef","_selectionRef","_id","id","makeUniqueId","state","omitCurrencySign","componentDidMount","IS_IOS","hasiOSFix","runIOSSelectionFix","componentWillUnmount","_this$outsideClick","outsideClick","remove","_this$_selectionRef$c","focus","selectAll","copy_selection","detectOutsideClick","onBlurHandler","elem","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","e","warn","runFix","comp","className","isValidElement","cloneElement","classnames","createElement","render","extendPropsWithContextInClassComponent","defaultProps","_value","prefix","suffix","children","currency","currency_display","currency_position","compact","ban","nin","phone","org","percent","link","_link","tooltip","skeleton","options","locale","decimals","omit_rounding","clean","selectall","clean_copy_value","srLabel","element","class","_className","_rest","rest","formatOptions","omit_currency_sign","returnAria","useContext","extend","number","display","aria","lang","format","injectTooltipSemantic","attributes","ref","createSpacingClasses","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","validateDOMAttributes","skeletonDOMAttributes","Fragment","convertJsxToString","href","Element","createSkeletonClass","tabIndex","onBlur","onCopy","shortcutHandler","targetElement","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","node","func","bool","oneOf","spacingPropTypes","_supportsSpacingProps"],"sources":["../../../../src/components/number-format/NumberFormat.js"],"sourcesContent":["/**\n * Web NumberFormat Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n convertJsxToString,\n extendPropsWithContextInClassComponent,\n extend,\n detectOutsideClick,\n} from '../../shared/component-helper'\nimport { hasSelectedText, IS_IOS } from '../../shared/helpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Tooltip, { injectTooltipSemantic } from '../tooltip/Tooltip'\nimport {\n format,\n showSelectionNotice,\n runIOSSelectionFix,\n} from './NumberUtils'\n\nexport default class NumberFormat extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n locale: PropTypes.string,\n prefix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n suffix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n // currency\n currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n currency_display: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['code', 'name', 'symbol', 'narrowSymbol', '']),\n ]),\n currency_position: PropTypes.oneOf(['auto', 'before', 'after']),\n\n // shortens any number or currency including an abbreviation\n compact: PropTypes.oneOfType([\n PropTypes.oneOf(['short', 'long']),\n PropTypes.bool,\n ]),\n\n // bank account number\n ban: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // national identification number\n nin: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // phone number\n phone: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // organization number\n org: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // percentage\n percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // can be tel or sms\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n options: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n decimals: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n always_selectall: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n copy_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n clean_copy_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_rounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n clean: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n srLabel: PropTypes.node,\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = {\n id: null,\n value: null,\n locale: null,\n prefix: null,\n suffix: null,\n currency: null,\n currency_display: null, // code, name, symbol\n currency_position: null, // null, before, after\n compact: null,\n ban: null,\n nin: null,\n phone: null,\n org: null,\n percent: null,\n link: null,\n options: null,\n decimals: null,\n selectall: true,\n always_selectall: false,\n copy_selection: true,\n clean_copy_value: false,\n omit_rounding: null,\n clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n this._selectionRef = React.createRef()\n\n this._id = props.id || makeUniqueId()\n this.state = { selected: false, omitCurrencySign: false }\n }\n\n componentDidMount() {\n clearTimeout(this._selectAllTimeout)\n\n // NB: This hack may be removed in future iOS versions\n // in order that iOS v13 can select something on the first try, we run this add range trick\n if (IS_IOS && !hasiOSFix) {\n hasiOSFix = true\n runIOSSelectionFix()\n }\n }\n\n shortcutHandler = () => {\n showSelectionNotice({\n value: this.cleanedValue,\n label: this.context.getTranslation(this.props)?.NumberFormat\n ?.clipboard_copy,\n }).run(this._ref.current)\n }\n\n onBlurHandler = () => {\n this.setState({ selected: false })\n }\n\n onContextMenuHandler = () => {\n if (!hasSelectedText()) {\n clearTimeout(this._selectAllTimeout)\n this._selectAllTimeout = setTimeout(() => {\n this.setFocus()\n }, 1)\n }\n }\n\n onClickHandler = () => {\n if (!hasSelectedText() || isTrue(this.props.always_selectall)) {\n this.setFocus()\n }\n }\n\n componentWillUnmount() {\n this.outsideClick?.remove()\n }\n\n setFocus() {\n this.setState({ selected: true }, () => {\n this._selectionRef.current?.focus()\n this.selectAll()\n\n if (!isTrue(this.props.copy_selection)) {\n this.outsideClick = detectOutsideClick(\n this._ref.current,\n this.onBlurHandler\n )\n }\n })\n }\n\n selectAll() {\n try {\n const elem = this._selectionRef.current || this._ref.current\n if (elem) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(elem)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n } catch (e) {\n warn(e)\n }\n }\n\n runFix(comp, className) {\n if (typeof comp === 'function') {\n comp = comp()\n }\n if (React.isValidElement(comp)) {\n return React.cloneElement(comp, {\n className: classnames(comp.props.className, className),\n })\n }\n return <span className={className}>{comp}</span>\n }\n\n render() {\n // consume the global context\n const props = extendPropsWithContextInClassComponent(\n this.props,\n NumberFormat.defaultProps,\n this.context.getTranslation(this.props).NumberFormat,\n this.context.NumberFormat\n )\n\n const {\n id, // eslint-disable-line\n value: _value,\n prefix,\n suffix,\n children,\n currency,\n currency_display,\n currency_position,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n link: _link,\n tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n class: _className,\n className,\n ..._rest\n } = props\n let rest = _rest\n\n let link = _link\n let value = _value\n\n if (value === null && children !== null) {\n value = children\n }\n\n const formatOptions = {\n locale,\n currency,\n currency_display,\n currency_position,\n omit_currency_sign: this.state.omitCurrencySign,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n decimals,\n omit_rounding: isTrue(omit_rounding),\n options,\n clean: isTrue(clean),\n clean_copy_value: isTrue(clean_copy_value),\n returnAria: true,\n }\n\n // use only the props from context, who are available here anyway\n const useContext = extend(\n true,\n { locale: null, currency: null },\n this.context\n )\n\n if (useContext) {\n if (useContext.locale && !locale) {\n formatOptions.locale = useContext.locale\n }\n\n // only replace if the prop is \"true\" and not actually a currency\n if (useContext.currency && isTrue(currency)) {\n formatOptions.options = formatOptions.options\n ? { ...formatOptions.options }\n : {}\n formatOptions.options.currency = useContext.currency\n }\n }\n\n let {\n cleanedValue,\n number: display,\n aria,\n locale: lang,\n } = format(value, formatOptions)\n this.cleanedValue = cleanedValue\n\n if (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\n _className,\n (isTrue(currency) || typeof currency === 'string') &&\n 'dnb-number-format--currency',\n isTrue(selectall) && 'dnb-number-format--selectall',\n this.state.selected && 'dnb-number-format--selected',\n link && 'dnb-anchor',\n createSpacingClasses(this.props)\n ),\n ...rest,\n }\n\n /**\n * Works in VoiceOver and NVDA\n * Makes the span with it's roles etc. appear as text.\n * Special useful if a number is in side e.g. a paragraph alongside with numbers\n */\n attributes['role'] = 'text' // role=\"text\"\n\n const displayParams = {}\n if (isTrue(selectall) || isTrue(copy_selection)) {\n displayParams.onClick = this.onClickHandler\n displayParams.onContextMenu = this.onContextMenuHandler\n }\n\n validateDOMAttributes(this.props, attributes)\n skeletonDOMAttributes(attributes, skeleton, this.context)\n\n if (prefix) {\n display = (\n <>\n {this.runFix(prefix, 'dnb-number-format__prefix')} {display}\n </>\n )\n aria = String(\n `${convertJsxToString(\n this.runFix(prefix, 'dnb-number-format__prefix')\n )} ${aria}`\n )\n }\n if (suffix) {\n display = (\n <>\n {display} {this.runFix(suffix, 'dnb-number-format__suffix')}\n </>\n )\n aria = `${aria} ${convertJsxToString(\n this.runFix(suffix, 'dnb-number-format__suffix')\n )}`\n }\n\n if (link) {\n if (isTrue(link)) {\n link = 'tel'\n }\n return (\n <a href={`${link}:${display}`} {...attributes}>\n {display}\n </a>\n )\n }\n\n const Element = element\n\n /**\n * This approach is most NVDA friendly, and we used it now also for mac,\n * because if the consistency and SSR JAM Stack build\n */\n return (\n <Element lang={lang} {...attributes}>\n {srLabel && (\n <span className=\"dnb-sr-only\" data-text={srLabel + ' '} />\n )}\n\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n aria-describedby={this._id}\n aria-hidden\n {...displayParams}\n >\n {display}\n </span>\n\n <span\n id={this._id}\n className=\"dnb-number-format__sr-only dnb-sr-only\"\n data-text={aria}\n />\n\n {isTrue(copy_selection) && (\n <span\n className=\"dnb-number-format__selection dnb-no-focus\"\n ref={this._selectionRef}\n tabIndex={-1}\n onBlur={this.onBlurHandler}\n onCopy={this.shortcutHandler}\n aria-hidden\n >\n {this.state.selected && cleanedValue}\n </span>\n )}\n\n {tooltip && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </Element>\n )\n }\n}\n\nlet hasiOSFix = false\n\nNumberFormat._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberFormat.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_helpers","_SpacingHelper","_SkeletonHelper","_Tooltip","_interopRequireWildcard","_NumberUtils","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NumberFormat","React","PureComponent","constructor","props","_this$context$getTran","_this$context$getTran2","showSelectionNotice","cleanedValue","label","context","getTranslation","clipboard_copy","run","_ref","current","setState","selected","hasSelectedText","clearTimeout","_selectAllTimeout","setTimeout","setFocus","isTrue","always_selectall","createRef","_selectionRef","_id","id","makeUniqueId","state","omitCurrencySign","componentDidMount","IS_IOS","hasiOSFix","runIOSSelectionFix","componentWillUnmount","_this$outsideClick","outsideClick","remove","_this$_selectionRef$c","focus","selectAll","copy_selection","detectOutsideClick","onBlurHandler","elem","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","e","warn","runFix","comp","className","isValidElement","cloneElement","classnames","createElement","render","extendPropsWithContextInClassComponent","defaultProps","_value","prefix","suffix","children","currency","currency_display","currency_position","compact","ban","nin","phone","org","percent","link","_link","tooltip","skeleton","options","locale","decimals","omit_rounding","clean","selectall","clean_copy_value","srLabel","element","class","_className","_rest","rest","formatOptions","omit_currency_sign","returnAria","useContext","extend","number","display","aria","lang","format","injectTooltipSemantic","attributes","ref","createSpacingClasses","displayParams","onClick","onClickHandler","onContextMenu","onContextMenuHandler","validateDOMAttributes","skeletonDOMAttributes","Fragment","convertJsxToString","href","Element","createSkeletonClass","tabIndex","onBlur","onCopy","shortcutHandler","targetElement","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","node","func","bool","oneOf","spacingPropTypes","_supportsSpacingProps"],"sources":["../../../../src/components/number-format/NumberFormat.js"],"sourcesContent":["/**\n * Web NumberFormat Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n convertJsxToString,\n extendPropsWithContextInClassComponent,\n extend,\n detectOutsideClick,\n} from '../../shared/component-helper'\nimport { hasSelectedText, IS_IOS } from '../../shared/helpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Tooltip, { injectTooltipSemantic } from '../tooltip/Tooltip'\nimport {\n format,\n showSelectionNotice,\n runIOSSelectionFix,\n} from './NumberUtils'\n\nexport default class NumberFormat extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n locale: PropTypes.string,\n prefix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n suffix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n // currency\n currency: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n currency_display: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['code', 'name', 'symbol', 'narrowSymbol', '']),\n ]),\n currency_position: PropTypes.oneOf(['auto', 'before', 'after']),\n\n // shortens any number or currency including an abbreviation\n compact: PropTypes.oneOfType([\n PropTypes.oneOf(['short', 'long']),\n PropTypes.bool,\n ]),\n\n // bank account number\n ban: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // national identification number\n nin: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // phone number\n phone: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // organization number\n org: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // percentage\n percent: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n // can be tel or sms\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n options: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n decimals: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n always_selectall: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n copy_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n clean_copy_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_rounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n clean: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n srLabel: PropTypes.node,\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = {\n id: null,\n value: null,\n locale: null,\n prefix: null,\n suffix: null,\n currency: null,\n currency_display: null, // code, name, symbol\n currency_position: null, // null, before, after\n compact: null,\n ban: null,\n nin: null,\n phone: null,\n org: null,\n percent: null,\n link: null,\n options: null,\n decimals: null,\n selectall: true,\n always_selectall: false,\n copy_selection: true,\n clean_copy_value: false,\n omit_rounding: null,\n clean: null,\n srLabel: null,\n element: 'span', // span or abbr\n tooltip: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n this._selectionRef = React.createRef()\n\n this._id = props.id || makeUniqueId()\n this.state = { selected: false, omitCurrencySign: false }\n }\n\n componentDidMount() {\n clearTimeout(this._selectAllTimeout)\n\n // NB: This hack may be removed in future iOS versions\n // in order that iOS v13 can select something on the first try, we run this add range trick\n if (IS_IOS && !hasiOSFix) {\n hasiOSFix = true\n runIOSSelectionFix()\n }\n }\n\n shortcutHandler = () => {\n showSelectionNotice({\n value: this.cleanedValue,\n label: this.context.getTranslation(this.props)?.NumberFormat\n ?.clipboard_copy,\n }).run(this._ref.current)\n }\n\n onBlurHandler = () => {\n this.setState({ selected: false })\n }\n\n onContextMenuHandler = () => {\n if (!hasSelectedText()) {\n clearTimeout(this._selectAllTimeout)\n this._selectAllTimeout = setTimeout(() => {\n this.setFocus()\n }, 1)\n }\n }\n\n onClickHandler = () => {\n if (!hasSelectedText() || isTrue(this.props.always_selectall)) {\n this.setFocus()\n }\n }\n\n componentWillUnmount() {\n this.outsideClick?.remove()\n }\n\n setFocus() {\n this.setState({ selected: true }, () => {\n this._selectionRef.current?.focus()\n this.selectAll()\n\n if (!isTrue(this.props.copy_selection)) {\n this.outsideClick = detectOutsideClick(\n this._ref.current,\n this.onBlurHandler\n )\n }\n })\n }\n\n selectAll() {\n try {\n const elem = this._selectionRef.current || this._ref.current\n if (elem) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(elem)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n } catch (e) {\n warn(e)\n }\n }\n\n runFix(comp, className) {\n if (typeof comp === 'function') {\n comp = comp()\n }\n if (React.isValidElement(comp)) {\n return React.cloneElement(comp, {\n className: classnames(comp.props.className, className),\n })\n }\n return <span className={className}>{comp}</span>\n }\n\n render() {\n // consume the global context\n const props = extendPropsWithContextInClassComponent(\n this.props,\n NumberFormat.defaultProps,\n this.context.getTranslation(this.props).NumberFormat,\n this.context.NumberFormat\n )\n\n const {\n id, // eslint-disable-line\n value: _value,\n prefix,\n suffix,\n children,\n currency,\n currency_display,\n currency_position,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n link: _link,\n tooltip,\n skeleton,\n options,\n locale,\n decimals,\n omit_rounding,\n clean,\n selectall,\n copy_selection,\n clean_copy_value,\n srLabel,\n element,\n class: _className,\n className,\n ..._rest\n } = props\n let rest = _rest\n\n let link = _link\n let value = _value\n\n if (value === null && children !== null) {\n value = children\n }\n\n const formatOptions = {\n locale,\n currency,\n currency_display,\n currency_position,\n omit_currency_sign: this.state.omitCurrencySign,\n compact,\n ban,\n nin,\n phone,\n org,\n percent,\n decimals,\n omit_rounding: isTrue(omit_rounding),\n options,\n clean: isTrue(clean),\n clean_copy_value: isTrue(clean_copy_value),\n returnAria: true,\n }\n\n // use only the props from context, who are available here anyway\n const useContext = extend(\n true,\n { locale: null, currency: null },\n this.context\n )\n\n if (useContext) {\n if (useContext.locale && !locale) {\n formatOptions.locale = useContext.locale\n }\n\n // only replace if the prop is \"true\" and not actually a currency\n if (useContext.currency && isTrue(currency)) {\n formatOptions.options = formatOptions.options\n ? { ...formatOptions.options }\n : {}\n formatOptions.options.currency = useContext.currency\n }\n }\n\n let {\n cleanedValue,\n number: display,\n aria,\n locale: lang,\n } = format(value, formatOptions)\n this.cleanedValue = cleanedValue\n\n if (tooltip) {\n rest = injectTooltipSemantic(rest)\n }\n\n const attributes = {\n ref: this._ref,\n className: classnames(\n 'dnb-number-format',\n className,\n _className,\n (isTrue(currency) || typeof currency === 'string') &&\n 'dnb-number-format--currency',\n isTrue(selectall) && 'dnb-number-format--selectall',\n this.state.selected && 'dnb-number-format--selected',\n link && 'dnb-anchor',\n createSpacingClasses(this.props)\n ),\n ...rest,\n }\n\n /**\n * Works in VoiceOver and NVDA\n * Makes the span with it's roles etc. appear as text.\n * Special useful if a number is in side e.g. a paragraph alongside with numbers\n */\n attributes['role'] = 'text' // role=\"text\"\n\n const displayParams = {}\n if (isTrue(selectall) || isTrue(copy_selection)) {\n displayParams.onClick = this.onClickHandler\n displayParams.onContextMenu = this.onContextMenuHandler\n }\n\n validateDOMAttributes(this.props, attributes)\n skeletonDOMAttributes(attributes, skeleton, this.context)\n\n if (prefix) {\n display = (\n <>\n {this.runFix(prefix, 'dnb-number-format__prefix')} {display}\n </>\n )\n aria = String(\n `${convertJsxToString(\n this.runFix(prefix, 'dnb-number-format__prefix')\n )} ${aria}`\n )\n }\n if (suffix) {\n display = (\n <>\n {display} {this.runFix(suffix, 'dnb-number-format__suffix')}\n </>\n )\n aria = `${aria} ${convertJsxToString(\n this.runFix(suffix, 'dnb-number-format__suffix')\n )}`\n }\n\n if (link) {\n if (isTrue(link)) {\n link = 'tel'\n }\n return (\n <a href={`${link}:${display}`} {...attributes}>\n {display}\n </a>\n )\n }\n\n const Element = element\n\n /**\n * This approach is most NVDA friendly, and we used it now also for mac,\n * because if the consistency and SSR JAM Stack build\n */\n return (\n <Element lang={lang} {...attributes}>\n {srLabel && (\n <span className=\"dnb-sr-only\" data-text={srLabel + ' '} />\n )}\n\n <span\n className={classnames(\n 'dnb-number-format__visible',\n createSkeletonClass('font', skeleton, this.context)\n )}\n aria-describedby={this._id}\n aria-hidden\n {...displayParams}\n >\n {display}\n </span>\n\n <span\n id={this._id}\n className=\"dnb-number-format__sr-only dnb-sr-only\"\n data-text={aria}\n />\n\n {isTrue(copy_selection) && (\n <span\n className=\"dnb-number-format__selection dnb-no-focus\"\n ref={this._selectionRef}\n tabIndex={-1}\n onBlur={this.onBlurHandler}\n onCopy={this.shortcutHandler}\n aria-hidden\n >\n {this.state.selected && cleanedValue}\n </span>\n )}\n\n {tooltip && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </Element>\n )\n }\n}\n\nlet hasiOSFix = false\n\nNumberFormat._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":"NumberUtils.js","names":["_react","_interopRequireDefault","require","_Context","_defaults","_componentHelper","_helpers","_locales","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NUMBER_CHARS","format","locale","clean","compact","phone","org","ban","nin","percent","currency","currency_display","currency_position","omit_currency_sign","clean_copy_value","decimals","omit_rounding","options","returnAria","display","aria","type","LOCALE","window","navigator","language","e","warn","isTrue","cleanNumber","opts","JSON","parse","parseFloat","formatDecimals","maximumFractionDigits","number","_number","_aria","formatPhone","formatBAN","formatNIN","formatORG","countDecimals","style","formatNumber","CURRENCY","handleCompactBeforeDisplay","cleanedNumber","currencyDisplay","getFallbackCurrencyDisplay","minimumFractionDigits","indexOf","formatter","item","test","currencySuffix","currencyPositionFormatter","_ref","trim","prepareMinus","handleCompactBeforeAria","enhanceSR","cleanedValue","thousandsSeparator","getThousandsSeparator","replace","RegExp","locales","NumberFormat","not_available","exports","pos","substring","_String$split$","decimalSeparator","Math","floor","valueOf","split","existingFormatter","callback","position","count","countCurrency","first","second","reg","IS_MAC","abs","getGroupFormatter","replaceNaNWithDash","formatToParts","map","reduce","acc","_ref2","toLocaleString","stringify","code","substr","s","join","IS_WIN","num","prefix","suffix","startsWith","endsWith","decimal","thousands","thousandReg","escapeRegexChars","decimalReg","decimalBackup","runIOSSelectionFix","selection","getSelection","range","document","createRange","removeAllRanges","addRange","copyWithEffect","label","positionElement","success","fx","showSelectionNotice","copyToClipboard","run","_ref3","timeout","id","slugify","getElementById","elem","content","root","querySelector","createElement","setAttribute","arrow","appendChild","SelectionFx","remove","removeChild","hide","classList","add","pE","getSelectedElement","top","getOffsetTop","left","getOffsetLeft","innerHTML","HTMLElement","width","offsetWidth","offsetHeight","setTimeout","useCopyWithNotice","translation","clipboard_copy","React","useContext","Context","copy","CURRENCY_DISPLAY","getDecimalSeparator","_formatToParts$find","separator","find","_ref4","_formatToParts$map$fi","_ref5","getCurrencySymbol","_formatToParts$find2","_ref6","separatorSymbol","_ref7","Intl","inst","canHandleCompact","parseInt","notation","compactDisplay","maximumSignificantDigits","isNaN","ref","_ref8","_ref9"],"sources":["../../../../src/components/number-format/NumberUtils.js"],"sourcesContent":["import React from 'react'\nimport Context from '../../shared/Context'\n\n/**\n * Web NumberFormat Helpers\n *\n */\n\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from '../../shared/defaults'\nimport {\n warn,\n isTrue,\n slugify,\n escapeRegexChars,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n getSelectedElement,\n copyToClipboard,\n IS_MAC,\n IS_WIN,\n} from '../../shared/helpers'\nimport locales from '../../shared/locales'\n\nconst NUMBER_CHARS = '\\\\-0-9,.'\n\n/**\n * Format a number to a streamlined format based on the given locale\n *\n * @param {string|number} value any number\n * @type {object} string or object { when: { min: 'small' } } that describes the media query\n * @property {string} locale - media queries\n * @property {boolean} clean - if true, clean the number for unwanted decimal separators\n * @property {string|boolean} compact - shortens any number or currency including an abbreviation. You can combine `compact` with `currency`. It gives you zero decimal by default `decimals={0}`. Use either a boolean, or a string with \"short\" or \"long\"\n * @property {boolean} phone - if true, it formats to a phone number\n * @property {boolean} org - if true, it formats to a Organization Number\n * @property {boolean} ban - if true, it formats to a Bank Account Number\n * @property {boolean} nin - if true, it formats to a National Identification Number\n * @property {boolean} percent - if true, it formats with a percent\n * @property {string|boolean} currency - currency code (ISO 4217) or `true` to use the default, `NOK`\n * @property {string} currency_display - use false or empty string to hide the sign or \"code\", \"name\", \"symbol\" or \"narrowSymbol\" – supports the API from number.toLocaleString\n * @property {string} currency_position - can be \"before\" or \"after\"\n * @property {string} omit_currency_sign - hides currency sign if true is given\n * @property {number} decimals - defines how many decimals should be added\n * @property {boolean} omit_rounding - if true, the decimal will NOT be rounded. Normally, by using `toFixed` or by using `maximumFractionDigits`, decimals get rounded.\n * @property {object} options - accepts all number.toLocaleString API options\n * @property {boolean} returnAria - if true, this function returns an object that includes an aria property with a special aria formatting\n * @returns a formatted number as a string or as an object if \"returnAria\" is true\n */\nexport const format = (\n value,\n {\n locale = null, // can be \"auto\"\n clean = false,\n compact = null,\n phone = null,\n org = null,\n ban = null,\n nin = null,\n percent = null,\n currency = null,\n currency_display = null,\n currency_position = null,\n omit_currency_sign = null,\n clean_copy_value = null,\n decimals = null,\n omit_rounding = null,\n options = null,\n returnAria = false,\n } = {}\n) => {\n let display = value\n let aria = null\n let type = 'number'\n\n // because we are using context comparison\n if (!locale) {\n locale = LOCALE\n } else if (locale === 'auto') {\n try {\n locale = window.navigator.language\n } catch (e) {\n warn(e)\n }\n }\n\n if (isTrue(clean)) {\n value = cleanNumber(value)\n }\n\n const opts =\n (typeof options === 'string' && options[0] === '{'\n ? JSON.parse(options)\n : options) || {}\n\n if (parseFloat(decimals) >= 0) {\n value = formatDecimals(value, decimals, omit_rounding, opts)\n } else if (\n typeof opts.maximumFractionDigits === 'undefined' &&\n !isTrue(percent) &&\n !isTrue(currency)\n ) {\n // if no decimals are set, opts.maximumFractionDigits is set\n // why do we this? because the \".toLocaleString\" will else use 3 as the default\n opts.maximumFractionDigits = 20\n }\n\n if (isTrue(phone)) {\n type = 'phone'\n const { number: _number, aria: _aria } = formatPhone(value, locale)\n\n if (clean === null) {\n value = cleanNumber(value) // clean, because of +47 and ++47\n }\n display = _number\n aria = _aria\n } else if (isTrue(ban)) {\n type = 'ban' // Bank Account Number\n const { number: _number, aria: _aria } = formatBAN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(nin)) {\n type = 'nin' // National Identification Number\n const { number: _number, aria: _aria } = formatNIN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(org)) {\n type = 'org' // organization number\n\n const { number: _number, aria: _aria } = formatORG(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(percent)) {\n if (decimals === null) {\n if (typeof opts.maximumFractionDigits === 'undefined') {\n decimals = countDecimals(value)\n }\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n if (!opts.style) {\n opts.style = 'percent'\n }\n\n display = formatNumber(value / 100, locale, opts)\n } else if (isTrue(currency) || typeof currency === 'string') {\n type = 'currency'\n\n opts.currency =\n opts.currency || (isTrue(currency) ? CURRENCY : currency)\n\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n if (decimals === null) {\n decimals = 2\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n // cleanup, but only if it not got cleaned up already\n let cleanedNumber =\n decimals >= 0 ? value : clean ? cleanNumber(value) : value\n\n if (currency_display === false || currency_display === '') {\n omit_currency_sign = true\n }\n\n opts.style = 'currency'\n opts.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n opts.currencyDisplay || currency_display\n )\n\n // if currency has no decimal, then go ahead and remove it\n if (\n typeof opts.minimumFractionDigits === 'undefined' &&\n String(value).indexOf('.') === -1 &&\n cleanedNumber % 1 === 0\n ) {\n opts.minimumFractionDigits = 0 // to enforce Norwegian style\n }\n\n let formatter = undefined\n\n if (isTrue(omit_currency_sign)) {\n formatter = (item) => {\n switch (item.type) {\n case 'literal':\n item.value = item.value === ' ' ? '' : item.value\n return item\n\n case 'currency':\n item.value = ''\n return item\n\n default:\n return item\n }\n }\n }\n\n /**\n * Make exception – if locale is Norwegian, and position is not defined, then use position \"after\"\n */\n if (!currency_position && locale && /(no|nb|nn)$/i.test(locale)) {\n currency_position = 'after'\n }\n\n let currencySuffix = null\n if (currency_position) {\n formatter = currencyPositionFormatter(\n formatter,\n ({ value }) => (currencySuffix = value.trim()),\n currency_position\n )\n }\n\n display = formatNumber(cleanedNumber, locale, opts, formatter)\n display = prepareMinus(display, locale)\n\n if (currency_position && currencySuffix) {\n if (currency_position === 'after') {\n display = `${display.trim()} ${currencySuffix}`\n } else if (currency_position === 'before') {\n display = `${currencySuffix} ${display.trim()}`\n }\n }\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // aria options\n aria = formatNumber(cleanedNumber, locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n ...opts,\n currencyDisplay: 'name',\n })\n aria = enhanceSR(cleanedNumber, aria, locale) // also calls prepareMinus\n\n // get only the currency name\n // const num = aria.replace(/([^0-9])+$/g, '')\n // const name = aria.replace(num, '')\n // aria = cleanedNumber + name\n } else {\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n display = formatNumber(value, locale, opts)\n display = prepareMinus(display, locale)\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // fix for NVDA to make sure we read the number, we add a minimum fraction digit (decimal)\n // NVDA fix\n aria = formatNumber(value, locale, opts)\n aria = enhanceSR(value, aria, locale) // also calls prepareMinus\n }\n\n if (aria === null) {\n aria = display\n }\n\n if (returnAria) {\n let cleanedValue\n\n if (clean_copy_value) {\n cleanedValue = formatNumber(\n opts.style === 'percent' ? value / 100 : value,\n locale,\n opts,\n (item) => {\n switch (item.type) {\n case 'group':\n case 'literal':\n case 'currency':\n case 'percentSign':\n item.value = ''\n return item\n default:\n return item\n }\n }\n )\n } else {\n const thousandsSeparator = getThousandsSeparator(locale)\n cleanedValue = String(display).replace(\n new RegExp(`${thousandsSeparator}(?=\\\\d{3})`, 'g'),\n ''\n )\n }\n\n if (value === 'invalid') {\n aria = locales[locale].NumberFormat.not_available || 'N/A'\n }\n\n // return \"locale\" as well value,l, since we have to \"auto\" option\n return { value, cleanedValue, number: display, aria, locale, type }\n }\n\n return display\n}\n\n/**\n * Fill format decimals\n *\n * @param {number|string} value\n * @param {number} decimals how many decimals\n * @param {boolean} omit_rounding if decimals should be rounded or cut off\n * @param {boolean} clean whether the value should be cleaned or not\n * @param {object} opts immutable object\n * @returns a decimal prepared number\n */\nexport const formatDecimals = (\n value,\n decimals,\n omit_rounding = false,\n opts = {}\n) => {\n decimals = parseFloat(decimals)\n\n if (decimals >= 0) {\n opts.minimumFractionDigits = decimals\n opts.maximumFractionDigits = decimals\n }\n\n const pos = String(value).indexOf('.')\n if (pos > 0 && omit_rounding === true) {\n value = String(value).substring(\n 0,\n pos + 1 + (decimals || opts.maximumFractionDigits)\n )\n }\n\n return value\n}\n\n/**\n * Find the amount of decimals\n *\n * @param {number|string} value any number\n * @param {string} decimalSeparator a dot or coma\n * @returns amount of decimals\n */\nexport const countDecimals = (value, decimalSeparator = '.') => {\n if (Math.floor(value.valueOf()) === value.valueOf()) {\n return 0\n }\n return String(value).split(decimalSeparator)[1]?.length || 0\n}\n\n/**\n * Changes the currency sign position\n *\n * For Norway, the position defaults to \"after\"\n *\n * @param {function} existingFormatter an existing number formatter or undefined\n * @param {function} callback function that will emitted with the currency\n * @param {string} position blank, before or after\n * @returns {function} number formatter\n */\nconst currencyPositionFormatter = (\n existingFormatter,\n callback,\n position = null\n) => {\n let count = 0\n let countCurrency = -1\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n count++\n\n switch (item.type) {\n case 'currency': {\n if (position === 'after' || (position === 'before' && count > 2)) {\n countCurrency = count\n callback(item)\n item.value = ''\n }\n return item\n }\n\n case 'literal': {\n // Remove the literal after currency\n if (count === countCurrency + 1) {\n item.value = ''\n }\n return item\n }\n\n default:\n return item\n }\n }\n}\n\n/**\n * When e.g. a currency number is given with a minus,\n * this function transforms the minus to be moved before the number\n * instead of the symbol.\n *\n * It only cleans if locale is Norwegian\n *\n * form -NOK 1 234 to NOK -1 234\n *\n * @param {string} display currency number that includes either a minus or not\n * @param {string} locale locale as a string\n * @returns {string} number\n */\nconst prepareMinus = (display, locale) => {\n /**\n * Make exception – if locale is NOT Norwegian,\n * we skip the cleanup\n */\n if (!(locale && /(no|nb|nn)$/i.test(locale))) {\n return display\n }\n\n // check for first and second char\n const first = display[0]\n const second = display[1]\n\n // Seems to be the invalid replacement\n if (first === '-' && second === '-') {\n return display\n }\n\n // change the position of minus if it's first\n // check for two minus - −\n // check also for hyphen ‐\n // check also for dashes ‒ – — ―\n const reg = '^(-|−|‐|‒|–|—|―)'\n\n if (new RegExp(reg).test(first)) {\n // if second is number\n if (parseFloat(second) > 0) {\n // then do not swap\n display = display.replace(new RegExp(reg + '(.*)'), '-$2')\n } else {\n // then first has to be currency\n display = display.replace(new RegExp(reg + '([^0-9]+)(.*)'), '$2-$3')\n }\n }\n\n return display\n}\n\n/**\n * Enhance VoiceOver support on mobile devices\n * Numbers under 99.999 are read out correctly, but only if we remove the spaces\n * Potential we could also check for locale: && /no|nb|nn/.test(locale)\n * but leave it for now without this extra check\n *\n * @param {string|number} value any number\n * @param {string} aria aria formatted number\n * @param {string} locale locale as a string\n * @returns aria number\n */\nconst enhanceSR = (value, aria, locale) => {\n if (IS_MAC && Math.abs(parseFloat(value)) <= 99999) {\n aria = String(aria).replace(/\\s([0-9])/g, '$1')\n }\n\n aria = prepareMinus(aria, locale)\n\n return aria\n}\n\n/**\n * The main number formatter function\n * This function is used to call the browsers/Node.js \"Intl.NumberFormat\" or \"Number.toLocaleString\" APIs\n *\n * @param {string|number} number any number\n * @param {string} locale locale as a string\n * @param {string} options formatting options based on the toLocaleString API\n * @param {string} formatter optional, a custom formatter can be given\n * @returns formatted number\n */\nexport const formatNumber = (\n number,\n locale,\n options = {},\n formatter = null\n) => {\n try {\n if (options.currencyDisplay) {\n options.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n options.currencyDisplay\n )\n }\n\n // remove unsupported decimals\n delete options.decimals\n\n if (locale && /(en|gb)$/i.test(locale)) {\n formatter = getGroupFormatter(locale, null, formatter)\n }\n\n if (formatter) {\n return replaceNaNWithDash(\n formatToParts({ number, locale, options })\n .map(formatter)\n .reduce((acc, { value }) => acc + value, '')\n )\n } else if (\n typeof Number !== 'undefined' &&\n typeof Number.toLocaleString === 'function'\n ) {\n return replaceNaNWithDash(\n parseFloat(number).toLocaleString(locale, options)\n )\n }\n } catch (e) {\n warn(\n `Number could not be formatted: ${JSON.stringify([\n number,\n locale,\n options,\n ])}`,\n e\n )\n }\n return replaceNaNWithDash(number)\n}\n\nfunction replaceNaNWithDash(number) {\n return String(number).replace(/NaN/, '–')\n}\n\n/**\n * Use this function to format phone numbers\n *\n * @param {string|number} number a phone number\n * @param {string} locale locale as a string\n * @returns a formatted phone number\n */\nexport const formatPhone = (number, locale = null) => {\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // cleanup\n number = String(number).replace(/[^+0-9]/g, '')\n\n let code = ''\n if (number.length > 8 && number.substr(0, 2) !== '00') {\n number = '+' + number\n number = number.replace(/^\\+{2,}/, '+')\n }\n if (number[0] === '+') {\n code = number.substr(0, 3) + ' '\n number = number.substr(3)\n } else if (number.substr(0, 2) === '00') {\n code = number.substr(0, 4) + ' '\n number = number.substr(4)\n }\n code = code.replace('+', '00')\n const length = number.length\n\n // get 800 22 222\n if (length === 8 && number[0] === '8') {\n display =\n code +\n number\n .split(/([0-9]{3})([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n } else {\n // get 02000\n if (length < 6) {\n display = code + number\n } else {\n // get 6 or 8 formatting\n display =\n code +\n number\n .split(\n length === 6\n ? /^(\\+[0-9]{2})|([0-9]{3})/\n : /^(\\+[0-9]{2})|([0-9]{2})/\n )\n .filter((s) => s)\n .join(' ')\n }\n }\n\n aria =\n code +\n number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Bank Account Numbers\n *\n * @param {string|number} number a Bank Account Number\n * @param {string} locale locale as a string\n * @returns a formatted Bank Account Number\n */\nexport const formatBAN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 2000 12 34567\n display = number\n .split(/([0-9]{4})([0-9]{2})([0-9]{1,})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Organization Numbers\n *\n * @param {string|number} number a Organization Number\n * @param {string} locale locale as a string\n * @returns a formatted Organization Number\n */\nexport const formatORG = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 123 456 789\n display = number\n .split(/([0-9]{3})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{1})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format National Identification Numbers\n *\n * @param {string|number} number a National Identification Number\n * @param {string} locale locale as a string\n * @returns a formatted National Identification Number\n */\nexport const formatNIN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 180892 12345\n display = number\n .split(/([0-9]{6})/)\n .filter((s) => s)\n .join(' ')\n\n // correct nin for screen readers\n aria = display\n .split(\n /([0-9]{2})([0-9]{2})([0-9]{2}) ([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})/\n )\n .filter((s) => s)\n .join(IS_WIN ? '. ' : ' ') // NVDA fix with a dot to not read date on FF\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * This function cleans numbers for separators\n * https://en.wikipedia.org/wiki/Decimal_separator\n *\n * @param {string|number} num any number\n * @returns a number that contains valid number separators\n */\nexport function cleanNumber(\n num,\n {\n decimalSeparator = null,\n thousandsSeparator = null,\n prefix = null,\n suffix = null,\n } = {}\n) {\n if (typeof num === 'number') {\n return num\n }\n\n num = String(num).trim()\n\n if (typeof prefix === 'string' && num.startsWith(prefix)) {\n num = num.substring(prefix.length, num.length)\n }\n if (typeof suffix === 'string' && num.endsWith(suffix)) {\n num = num.substring(0, num.length - suffix.length)\n }\n\n // 1. Remove invalid chars on the beginning (not a number)\n if (/^[^0-9-]/.test(num)) {\n num = num.replace(/^(^[^0-9-]+)/, '')\n }\n\n let decimal = decimalSeparator\n let thousands = thousandsSeparator\n\n // -12 345,678\n if (/(\\s)([0-9]{3})/.test(num)) {\n thousands = thousands || '\\\\s'\n decimal = decimal || ','\n }\n\n // -12.345,678\n else if (\n /(\\.)([0-9]{3})/.test(num) &&\n !/([,'][0-9]{3})(\\.)([0-9]{3})/.test(num) // just an additional check, for support with more\n ) {\n thousands = thousands || '\\\\.'\n decimal = decimal || \",|·|'\" // also support Spain and CH\n }\n\n // -1,234,567.891\n else if (/(,)([0-9]{3})/.test(num)) {\n thousands = thousands || ','\n decimal = decimal || '\\\\.|·' // also support Spain\n }\n\n // -1'234'567.891, only used in CH\n else if (/(')([0-9]{3})/.test(num)) {\n thousands = thousands || \"'\"\n decimal = decimal || '\\\\.|,'\n } else {\n thousands = ','\n decimal = '\\\\.'\n }\n\n // 3. Remove invalid thousand separators\n const thousandReg = thousandsSeparator\n ? new RegExp(\n `([0-9]|)(${escapeRegexChars(thousandsSeparator)})([0-9]{3})`,\n 'g'\n )\n : new RegExp(`([0-9]|)(${thousands})([0-9]{3})`, 'g')\n if (thousandReg.test(num)) {\n num = num.replace(thousandReg, '$1$3')\n }\n\n // 2. Rename invalid decimal separator\n // Make sure that there are only two digits after the coma, then we clean that up.\n // else we don't, because it can be a US number\n // therefore, check first, is there a chance of being a decimal?\n // const decimalReg = new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n const decimalReg = decimalSeparator\n ? new RegExp(`(${escapeRegexChars(decimalSeparator)})([0-9]{0,})`, 'g')\n : new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n if (decimalReg.test(num)) {\n num = num.replace(decimalReg, '.$2')\n }\n\n // Edge case, if we have more than 2 decimals, replace these decimals\n if (!decimalSeparator) {\n const decimalBackup = new RegExp(`(${decimal})([0-9]{3,})`, 'g')\n if (decimalBackup.test(num)) {\n num = num.replace(decimalBackup, '.$2')\n }\n }\n\n // Remove all invalid chars\n return num.replace(new RegExp(`([^${NUMBER_CHARS}])`, 'g'), '')\n}\n\n/**\n * So iOS v13 can select something on the first try, we run this add range trick.\n * NB: This hack may be removed in future iOS versions.\n */\nexport function runIOSSelectionFix() {\n try {\n const selection = window.getSelection()\n const range = document.createRange()\n selection.removeAllRanges()\n selection.addRange(range)\n } catch (e) {\n //\n }\n}\n\n/**\n * A function that tries to copy to the clipboard\n * at the same time it shows the copy result in a tooltip\n *\n * NB: This function is not documented.\n * It should not be used!\n *\n * @param {string} value any number\n * @param {*} label\n * @param {*} positionElement\n * @returns\n */\nexport async function copyWithEffect(\n value,\n label,\n positionElement = null\n) {\n let success = null\n\n if (value) {\n try {\n const fx = showSelectionNotice({ value, label })\n success = await copyToClipboard(value)\n if (success === true) {\n fx.run(positionElement)\n }\n } catch (e) {\n warn(e)\n success = e\n }\n }\n\n return success\n}\n\n/**\n * This function add a tooltip looking\n *\n * @type {object} object with property\n * @property {string} value any value\n * @property {string} label any additional label that gets added as a suffix\n * @property {number} timeout how long the tooltip should be visible (3 sec)\n * @returns {object} { run, hide, remove } call the \"run\" function when the effect should be shown\n */\nexport function showSelectionNotice({ value, label, timeout = 3e3 }) {\n const id = 'id-' + slugify(value)\n if (typeof document !== 'undefined' && document.getElementById(id)) {\n return { run: () => {} }\n }\n\n let elem, content, root\n\n try {\n root = document.querySelector('.dnb-tooltip__portal, body')\n\n // create that portal element\n elem = document.createElement('span')\n elem.setAttribute('id', id)\n elem.setAttribute('class', 'dnb-tooltip')\n elem.setAttribute('role', 'tooltip')\n\n const arrow = document.createElement('span')\n arrow.setAttribute(\n 'class',\n 'dnb-tooltip__arrow dnb-tooltip__arrow__position--top'\n )\n content = document.createElement('span')\n content.setAttribute('class', 'dnb-tooltip__content')\n content.setAttribute('aria-live', 'assertive')\n elem.appendChild(arrow)\n elem.appendChild(content)\n } catch (e) {\n warn(e)\n }\n\n return new (class SelectionFx {\n remove() {\n try {\n root.removeChild(elem)\n elem = null\n content = null\n } catch (e) {\n //\n }\n }\n hide() {\n try {\n elem.classList.add('dnb-tooltip--hide')\n } catch (e) {\n //\n }\n }\n run(pE = getSelectedElement()) {\n try {\n root.appendChild(elem)\n\n const top = getOffsetTop(pE)\n const left = getOffsetLeft(pE)\n\n content.innerHTML =\n String(label) +\n (pE instanceof HTMLElement\n ? `<span class=\"dnb-sr-only\">: ${\n (\n (pE &&\n pE.querySelector('.dnb-number-format__selection')) ||\n pE\n ).innerHTML\n }</span>`\n : '')\n\n const width =\n (\n (pE && pE.querySelector('.dnb-number-format__visible')) ||\n pE ||\n {}\n ).offsetWidth || 0\n\n elem.style.top = `${top - elem.offsetHeight}px`\n elem.style.left = `${left + width / 2 - elem.offsetWidth / 2}px`\n elem.classList.add('dnb-tooltip--active')\n\n setTimeout(this.hide, timeout)\n setTimeout(this.remove, timeout + 600)\n } catch (e) {\n warn(e)\n }\n }\n })()\n}\n\n/**\n * React Hook\n * It returns \"copyWithEffect\" but with a translated string\n *\n * @returns copyWithEffect function inside object { copy }\n */\nexport function useCopyWithNotice() {\n const {\n translation: {\n NumberFormat: { clipboard_copy },\n },\n } = React.useContext(Context)\n\n const copy = (value, positionElement) => {\n copyWithEffect(value, clipboard_copy, positionElement)\n }\n\n return { copy }\n}\n\n/**\n * Will return currency display value based on navigator/browser and locale\n *\n * @property {string} currency_display (optional) code, name, symbol or narrowSymbol\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getFallbackCurrencyDisplay(\n locale = null,\n currency_display = null\n) {\n // If currencyDisplay is not defined and locale is \"no\", use narrowSymbol\n if (!currency_display && (!locale || /(no|nb|nn)$/i.test(locale))) {\n currency_display = 'narrowSymbol'\n }\n\n return currency_display || CURRENCY_DISPLAY // code, name, symbol\n}\n\n/**\n * This function returns a decimal separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getDecimalSeparator(locale = null) {\n const separator =\n formatToParts({\n number: 1.1,\n locale,\n }).find(({ type }) => type === 'decimal')?.value || ',' // defaults to nb-NO\n\n return separator\n}\n\n/**\n * This function returns a thousands separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getThousandsSeparator(locale = null) {\n const formatter = getGroupFormatter(locale)\n\n return (\n formatToParts({\n number: 1000,\n locale,\n })\n .map(formatter)\n .find(({ type }) => type === 'group')?.value || ' '\n ) // defaults to nb-NO\n}\n\n/**\n * This function returns a currency symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @property {string} currency (optional) a given currency\n * @property {currencyDisplay} currencyDisplay (optional) what currency display\n * @returns {string} a currency symbol\n */\nexport function getCurrencySymbol(\n locale = null,\n currency = null,\n currencyDisplay = null\n) {\n if (!currency) {\n currency = CURRENCY\n }\n return (\n formatToParts({\n number: 1,\n locale,\n options: {\n style: 'currency',\n currency,\n currencyDisplay: getFallbackCurrencyDisplay(\n locale,\n currencyDisplay\n ),\n },\n }).find(({ type }) => type === 'currency')?.value || currency\n )\n}\n\nfunction getGroupFormatter(\n locale = null,\n separatorSymbol = null,\n existingFormatter = null\n) {\n /**\n * We change the thousand separator to be a non-breaking space\n *\n * Effected locales:\n * - en-GB\n * - en\n */\n if (locale && /(en|gb)$/i.test(locale)) {\n separatorSymbol = ' ' // non-breaking space\n }\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n if (item.type === 'group') {\n item.value = separatorSymbol || item.value\n }\n\n return item\n }\n}\n\n/**\n * For internal usage\n *\n * @type {object}\n * @property {string} number - a number\n * @property {string} locale - locale as a string. Defaults to the global LOCALE constant\n * @property {object} options - NumberFormat options\n * @returns {array} that contains all the parts of the given number [{ value: x, type: 'type' }]\n */\nfunction formatToParts({ number, locale = null, options = null }) {\n if (\n typeof Intl !== 'undefined' &&\n typeof Intl.NumberFormat === 'function'\n ) {\n try {\n const inst = Intl.NumberFormat(locale || LOCALE, options || {})\n if (typeof inst.formatToParts === 'function') {\n return inst.formatToParts(number)\n } else {\n return [{ value: inst.format(number) }]\n }\n } catch (e) {\n warn(e)\n }\n }\n\n return [{ value: number }]\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string} value any number\n * @property {string} locale a given locale\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {number} decimals the amount of decimals\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeDisplay({\n value,\n locale,\n compact,\n decimals = 0,\n opts,\n} = {}) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n value = parseInt(Math.abs(value))\n opts.notation = 'compact'\n\n // For numbers under 1M we do\n if (isTrue(compact) && locale && /(no|nb|nn)$/i.test(locale)) {\n opts.compactDisplay = Math.abs(value) < 1000000 ? 'long' : 'short'\n } else {\n opts.compactDisplay = !isTrue(compact) ? compact : 'short'\n }\n\n if (typeof opts.maximumSignificantDigits === 'undefined') {\n if (isNaN(parseFloat(decimals))) {\n decimals = 0\n } else {\n decimals = parseFloat(decimals)\n }\n\n // This formula ensures we always get the same amount decimals\n const ref = String(value).length % 3\n if (ref === 2) {\n decimals += 1\n } else if (ref === 0) {\n decimals += 2\n }\n\n // The result of this formula would be equal to this:\n // if (value >= 100000000000000) {\n // decimals += 2\n // } else if (value >= 10000000000000) {\n // decimals += 1\n // } else if (value >= 1000000000000) {\n // decimals += 0\n // } else if (value >= 100000000000) {\n // decimals += 2\n // } else if (value >= 10000000000) {\n // decimals += 1\n // } else if (value >= 1000000000) {\n // decimals += 0\n // } else if (value >= 100000000) {\n // decimals += 2\n // } else if (value >= 10000000) {\n // decimals += 1\n // } else if (value >= 1000000) {\n // decimals += 0\n // } else if (value >= 100000) {\n // decimals += 2\n // } else if (value >= 10000) {\n // decimals += 1\n // }\n\n // Firefox issue?\n // If we do not define \"maximumSignificantDigits\" Firefox does not show any decimals at all\n opts.maximumSignificantDigits = decimals + 1\n }\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeAria({ value, compact, opts }) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n opts.compactDisplay = 'long'\n}\n\n/**\n * Checks if we should/can handle the compact format\n *\n * @param {object}\n * @property {string|number} value any number\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n */\nfunction canHandleCompact({ value, compact }) {\n if (compact && Math.abs(value) >= 1000) {\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberUtils.js","names":["_react","_interopRequireDefault","require","_Context","_defaults","_componentHelper","_helpers","_locales","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NUMBER_CHARS","format","locale","clean","compact","phone","org","ban","nin","percent","currency","currency_display","currency_position","omit_currency_sign","clean_copy_value","decimals","omit_rounding","options","returnAria","display","aria","type","LOCALE","window","navigator","language","e","warn","isTrue","cleanNumber","opts","JSON","parse","parseFloat","formatDecimals","maximumFractionDigits","number","_number","_aria","formatPhone","formatBAN","formatNIN","formatORG","countDecimals","style","formatNumber","CURRENCY","handleCompactBeforeDisplay","cleanedNumber","currencyDisplay","getFallbackCurrencyDisplay","minimumFractionDigits","indexOf","formatter","item","test","currencySuffix","currencyPositionFormatter","_ref","trim","prepareMinus","handleCompactBeforeAria","enhanceSR","cleanedValue","thousandsSeparator","getThousandsSeparator","replace","RegExp","locales","NumberFormat","not_available","exports","pos","substring","_String$split$","decimalSeparator","Math","floor","valueOf","split","existingFormatter","callback","position","count","countCurrency","first","second","reg","IS_MAC","abs","getGroupFormatter","replaceNaNWithDash","formatToParts","map","reduce","acc","_ref2","toLocaleString","stringify","code","substr","s","join","IS_WIN","num","prefix","suffix","startsWith","endsWith","decimal","thousands","thousandReg","escapeRegexChars","decimalReg","decimalBackup","runIOSSelectionFix","selection","getSelection","range","document","createRange","removeAllRanges","addRange","copyWithEffect","label","positionElement","success","fx","showSelectionNotice","copyToClipboard","run","_ref3","timeout","id","slugify","getElementById","elem","content","root","querySelector","createElement","setAttribute","arrow","appendChild","SelectionFx","remove","removeChild","hide","classList","add","pE","getSelectedElement","top","getOffsetTop","left","getOffsetLeft","innerHTML","HTMLElement","width","offsetWidth","offsetHeight","setTimeout","useCopyWithNotice","translation","clipboard_copy","React","useContext","Context","copy","CURRENCY_DISPLAY","getDecimalSeparator","_formatToParts$find","separator","find","_ref4","_formatToParts$map$fi","_ref5","getCurrencySymbol","_formatToParts$find2","_ref6","separatorSymbol","_ref7","Intl","inst","canHandleCompact","parseInt","notation","compactDisplay","maximumSignificantDigits","isNaN","ref","_ref8","_ref9"],"sources":["../../../../src/components/number-format/NumberUtils.js"],"sourcesContent":["import React from 'react'\nimport Context from '../../shared/Context'\n\n/**\n * Web NumberFormat Helpers\n *\n */\n\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from '../../shared/defaults'\nimport {\n warn,\n isTrue,\n slugify,\n escapeRegexChars,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n getSelectedElement,\n copyToClipboard,\n IS_MAC,\n IS_WIN,\n} from '../../shared/helpers'\nimport locales from '../../shared/locales'\n\nconst NUMBER_CHARS = '\\\\-0-9,.'\n\n/**\n * Format a number to a streamlined format based on the given locale\n *\n * @param {string|number} value any number\n * @type {object} string or object { when: { min: 'small' } } that describes the media query\n * @property {string} locale - media queries\n * @property {boolean} clean - if true, clean the number for unwanted decimal separators\n * @property {string|boolean} compact - shortens any number or currency including an abbreviation. You can combine `compact` with `currency`. It gives you zero decimal by default `decimals={0}`. Use either a boolean, or a string with \"short\" or \"long\"\n * @property {boolean} phone - if true, it formats to a phone number\n * @property {boolean} org - if true, it formats to a Organization Number\n * @property {boolean} ban - if true, it formats to a Bank Account Number\n * @property {boolean} nin - if true, it formats to a National Identification Number\n * @property {boolean} percent - if true, it formats with a percent\n * @property {string|boolean} currency - currency code (ISO 4217) or `true` to use the default, `NOK`\n * @property {string} currency_display - use false or empty string to hide the sign or \"code\", \"name\", \"symbol\" or \"narrowSymbol\" – supports the API from number.toLocaleString\n * @property {string} currency_position - can be \"before\" or \"after\"\n * @property {string} omit_currency_sign - hides currency sign if true is given\n * @property {number} decimals - defines how many decimals should be added\n * @property {boolean} omit_rounding - if true, the decimal will NOT be rounded. Normally, by using `toFixed` or by using `maximumFractionDigits`, decimals get rounded.\n * @property {object} options - accepts all number.toLocaleString API options\n * @property {boolean} returnAria - if true, this function returns an object that includes an aria property with a special aria formatting\n * @returns a formatted number as a string or as an object if \"returnAria\" is true\n */\nexport const format = (\n value,\n {\n locale = null, // can be \"auto\"\n clean = false,\n compact = null,\n phone = null,\n org = null,\n ban = null,\n nin = null,\n percent = null,\n currency = null,\n currency_display = null,\n currency_position = null,\n omit_currency_sign = null,\n clean_copy_value = null,\n decimals = null,\n omit_rounding = null,\n options = null,\n returnAria = false,\n } = {}\n) => {\n let display = value\n let aria = null\n let type = 'number'\n\n // because we are using context comparison\n if (!locale) {\n locale = LOCALE\n } else if (locale === 'auto') {\n try {\n locale = window.navigator.language\n } catch (e) {\n warn(e)\n }\n }\n\n if (isTrue(clean)) {\n value = cleanNumber(value)\n }\n\n const opts =\n (typeof options === 'string' && options[0] === '{'\n ? JSON.parse(options)\n : options) || {}\n\n if (parseFloat(decimals) >= 0) {\n value = formatDecimals(value, decimals, omit_rounding, opts)\n } else if (\n typeof opts.maximumFractionDigits === 'undefined' &&\n !isTrue(percent) &&\n !isTrue(currency)\n ) {\n // if no decimals are set, opts.maximumFractionDigits is set\n // why do we this? because the \".toLocaleString\" will else use 3 as the default\n opts.maximumFractionDigits = 20\n }\n\n if (isTrue(phone)) {\n type = 'phone'\n const { number: _number, aria: _aria } = formatPhone(value, locale)\n\n if (clean === null) {\n value = cleanNumber(value) // clean, because of +47 and ++47\n }\n display = _number\n aria = _aria\n } else if (isTrue(ban)) {\n type = 'ban' // Bank Account Number\n const { number: _number, aria: _aria } = formatBAN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(nin)) {\n type = 'nin' // National Identification Number\n const { number: _number, aria: _aria } = formatNIN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(org)) {\n type = 'org' // organization number\n\n const { number: _number, aria: _aria } = formatORG(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(percent)) {\n if (decimals === null) {\n if (typeof opts.maximumFractionDigits === 'undefined') {\n decimals = countDecimals(value)\n }\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n if (!opts.style) {\n opts.style = 'percent'\n }\n\n display = formatNumber(value / 100, locale, opts)\n } else if (isTrue(currency) || typeof currency === 'string') {\n type = 'currency'\n\n opts.currency =\n opts.currency || (isTrue(currency) ? CURRENCY : currency)\n\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n if (decimals === null) {\n decimals = 2\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n // cleanup, but only if it not got cleaned up already\n let cleanedNumber =\n decimals >= 0 ? value : clean ? cleanNumber(value) : value\n\n if (currency_display === false || currency_display === '') {\n omit_currency_sign = true\n }\n\n opts.style = 'currency'\n opts.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n opts.currencyDisplay || currency_display\n )\n\n // if currency has no decimal, then go ahead and remove it\n if (\n typeof opts.minimumFractionDigits === 'undefined' &&\n String(value).indexOf('.') === -1 &&\n cleanedNumber % 1 === 0\n ) {\n opts.minimumFractionDigits = 0 // to enforce Norwegian style\n }\n\n let formatter = undefined\n\n if (isTrue(omit_currency_sign)) {\n formatter = (item) => {\n switch (item.type) {\n case 'literal':\n item.value = item.value === ' ' ? '' : item.value\n return item\n\n case 'currency':\n item.value = ''\n return item\n\n default:\n return item\n }\n }\n }\n\n /**\n * Make exception – if locale is Norwegian, and position is not defined, then use position \"after\"\n */\n if (!currency_position && locale && /(no|nb|nn)$/i.test(locale)) {\n currency_position = 'after'\n }\n\n let currencySuffix = null\n if (currency_position) {\n formatter = currencyPositionFormatter(\n formatter,\n ({ value }) => (currencySuffix = value.trim()),\n currency_position\n )\n }\n\n display = formatNumber(cleanedNumber, locale, opts, formatter)\n display = prepareMinus(display, locale)\n\n if (currency_position && currencySuffix) {\n if (currency_position === 'after') {\n display = `${display.trim()} ${currencySuffix}`\n } else if (currency_position === 'before') {\n display = `${currencySuffix} ${display.trim()}`\n }\n }\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // aria options\n aria = formatNumber(cleanedNumber, locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n ...opts,\n currencyDisplay: 'name',\n })\n aria = enhanceSR(cleanedNumber, aria, locale) // also calls prepareMinus\n\n // get only the currency name\n // const num = aria.replace(/([^0-9])+$/g, '')\n // const name = aria.replace(num, '')\n // aria = cleanedNumber + name\n } else {\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n display = formatNumber(value, locale, opts)\n display = prepareMinus(display, locale)\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // fix for NVDA to make sure we read the number, we add a minimum fraction digit (decimal)\n // NVDA fix\n aria = formatNumber(value, locale, opts)\n aria = enhanceSR(value, aria, locale) // also calls prepareMinus\n }\n\n if (aria === null) {\n aria = display\n }\n\n if (returnAria) {\n let cleanedValue\n\n if (clean_copy_value) {\n cleanedValue = formatNumber(\n opts.style === 'percent' ? value / 100 : value,\n locale,\n opts,\n (item) => {\n switch (item.type) {\n case 'group':\n case 'literal':\n case 'currency':\n case 'percentSign':\n item.value = ''\n return item\n default:\n return item\n }\n }\n )\n } else {\n const thousandsSeparator = getThousandsSeparator(locale)\n cleanedValue = String(display).replace(\n new RegExp(`${thousandsSeparator}(?=\\\\d{3})`, 'g'),\n ''\n )\n }\n\n if (value === 'invalid') {\n aria = locales[locale].NumberFormat.not_available || 'N/A'\n }\n\n // return \"locale\" as well value,l, since we have to \"auto\" option\n return { value, cleanedValue, number: display, aria, locale, type }\n }\n\n return display\n}\n\n/**\n * Fill format decimals\n *\n * @param {number|string} value\n * @param {number} decimals how many decimals\n * @param {boolean} omit_rounding if decimals should be rounded or cut off\n * @param {boolean} clean whether the value should be cleaned or not\n * @param {object} opts immutable object\n * @returns a decimal prepared number\n */\nexport const formatDecimals = (\n value,\n decimals,\n omit_rounding = false,\n opts = {}\n) => {\n decimals = parseFloat(decimals)\n\n if (decimals >= 0) {\n opts.minimumFractionDigits = decimals\n opts.maximumFractionDigits = decimals\n }\n\n const pos = String(value).indexOf('.')\n if (pos > 0 && omit_rounding === true) {\n value = String(value).substring(\n 0,\n pos + 1 + (decimals || opts.maximumFractionDigits)\n )\n }\n\n return value\n}\n\n/**\n * Find the amount of decimals\n *\n * @param {number|string} value any number\n * @param {string} decimalSeparator a dot or coma\n * @returns amount of decimals\n */\nexport const countDecimals = (value, decimalSeparator = '.') => {\n if (Math.floor(value.valueOf()) === value.valueOf()) {\n return 0\n }\n return String(value).split(decimalSeparator)[1]?.length || 0\n}\n\n/**\n * Changes the currency sign position\n *\n * For Norway, the position defaults to \"after\"\n *\n * @param {function} existingFormatter an existing number formatter or undefined\n * @param {function} callback function that will emitted with the currency\n * @param {string} position blank, before or after\n * @returns {function} number formatter\n */\nconst currencyPositionFormatter = (\n existingFormatter,\n callback,\n position = null\n) => {\n let count = 0\n let countCurrency = -1\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n count++\n\n switch (item.type) {\n case 'currency': {\n if (position === 'after' || (position === 'before' && count > 2)) {\n countCurrency = count\n callback(item)\n item.value = ''\n }\n return item\n }\n\n case 'literal': {\n // Remove the literal after currency\n if (count === countCurrency + 1) {\n item.value = ''\n }\n return item\n }\n\n default:\n return item\n }\n }\n}\n\n/**\n * When e.g. a currency number is given with a minus,\n * this function transforms the minus to be moved before the number\n * instead of the symbol.\n *\n * It only cleans if locale is Norwegian\n *\n * form -NOK 1 234 to NOK -1 234\n *\n * @param {string} display currency number that includes either a minus or not\n * @param {string} locale locale as a string\n * @returns {string} number\n */\nconst prepareMinus = (display, locale) => {\n /**\n * Make exception – if locale is NOT Norwegian,\n * we skip the cleanup\n */\n if (!(locale && /(no|nb|nn)$/i.test(locale))) {\n return display\n }\n\n // check for first and second char\n const first = display[0]\n const second = display[1]\n\n // Seems to be the invalid replacement\n if (first === '-' && second === '-') {\n return display\n }\n\n // change the position of minus if it's first\n // check for two minus - −\n // check also for hyphen ‐\n // check also for dashes ‒ – — ―\n const reg = '^(-|−|‐|‒|–|—|―)'\n\n if (new RegExp(reg).test(first)) {\n // if second is number\n if (parseFloat(second) > 0) {\n // then do not swap\n display = display.replace(new RegExp(reg + '(.*)'), '-$2')\n } else {\n // then first has to be currency\n display = display.replace(new RegExp(reg + '([^0-9]+)(.*)'), '$2-$3')\n }\n }\n\n return display\n}\n\n/**\n * Enhance VoiceOver support on mobile devices\n * Numbers under 99.999 are read out correctly, but only if we remove the spaces\n * Potential we could also check for locale: && /no|nb|nn/.test(locale)\n * but leave it for now without this extra check\n *\n * @param {string|number} value any number\n * @param {string} aria aria formatted number\n * @param {string} locale locale as a string\n * @returns aria number\n */\nconst enhanceSR = (value, aria, locale) => {\n if (IS_MAC && Math.abs(parseFloat(value)) <= 99999) {\n aria = String(aria).replace(/\\s([0-9])/g, '$1')\n }\n\n aria = prepareMinus(aria, locale)\n\n return aria\n}\n\n/**\n * The main number formatter function\n * This function is used to call the browsers/Node.js \"Intl.NumberFormat\" or \"Number.toLocaleString\" APIs\n *\n * @param {string|number} number any number\n * @param {string} locale locale as a string\n * @param {string} options formatting options based on the toLocaleString API\n * @param {string} formatter optional, a custom formatter can be given\n * @returns formatted number\n */\nexport const formatNumber = (\n number,\n locale,\n options = {},\n formatter = null\n) => {\n try {\n if (options.currencyDisplay) {\n options.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n options.currencyDisplay\n )\n }\n\n // remove unsupported decimals\n delete options.decimals\n\n if (locale && /(en|gb)$/i.test(locale)) {\n formatter = getGroupFormatter(locale, null, formatter)\n }\n\n if (formatter) {\n return replaceNaNWithDash(\n formatToParts({ number, locale, options })\n .map(formatter)\n .reduce((acc, { value }) => acc + value, '')\n )\n } else if (\n typeof Number !== 'undefined' &&\n typeof Number.toLocaleString === 'function'\n ) {\n return replaceNaNWithDash(\n parseFloat(number).toLocaleString(locale, options)\n )\n }\n } catch (e) {\n warn(\n `Number could not be formatted: ${JSON.stringify([\n number,\n locale,\n options,\n ])}`,\n e\n )\n }\n return replaceNaNWithDash(number)\n}\n\nfunction replaceNaNWithDash(number) {\n return String(number).replace(/NaN/, '–')\n}\n\n/**\n * Use this function to format phone numbers\n *\n * @param {string|number} number a phone number\n * @param {string} locale locale as a string\n * @returns a formatted phone number\n */\nexport const formatPhone = (number, locale = null) => {\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // cleanup\n number = String(number).replace(/[^+0-9]/g, '')\n\n let code = ''\n if (number.length > 8 && number.substr(0, 2) !== '00') {\n number = '+' + number\n number = number.replace(/^\\+{2,}/, '+')\n }\n if (number[0] === '+') {\n code = number.substr(0, 3) + ' '\n number = number.substr(3)\n } else if (number.substr(0, 2) === '00') {\n code = number.substr(0, 4) + ' '\n number = number.substr(4)\n }\n code = code.replace('+', '00')\n const length = number.length\n\n // get 800 22 222\n if (length === 8 && number[0] === '8') {\n display =\n code +\n number\n .split(/([0-9]{3})([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n } else {\n // get 02000\n if (length < 6) {\n display = code + number\n } else {\n // get 6 or 8 formatting\n display =\n code +\n number\n .split(\n length === 6\n ? /^(\\+[0-9]{2})|([0-9]{3})/\n : /^(\\+[0-9]{2})|([0-9]{2})/\n )\n .filter((s) => s)\n .join(' ')\n }\n }\n\n aria =\n code +\n number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Bank Account Numbers\n *\n * @param {string|number} number a Bank Account Number\n * @param {string} locale locale as a string\n * @returns a formatted Bank Account Number\n */\nexport const formatBAN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 2000 12 34567\n display = number\n .split(/([0-9]{4})([0-9]{2})([0-9]{1,})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Organization Numbers\n *\n * @param {string|number} number a Organization Number\n * @param {string} locale locale as a string\n * @returns a formatted Organization Number\n */\nexport const formatORG = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 123 456 789\n display = number\n .split(/([0-9]{3})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{1})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format National Identification Numbers\n *\n * @param {string|number} number a National Identification Number\n * @param {string} locale locale as a string\n * @returns a formatted National Identification Number\n */\nexport const formatNIN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 180892 12345\n display = number\n .split(/([0-9]{6})/)\n .filter((s) => s)\n .join(' ')\n\n // correct nin for screen readers\n aria = display\n .split(\n /([0-9]{2})([0-9]{2})([0-9]{2}) ([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})/\n )\n .filter((s) => s)\n .join(IS_WIN ? '. ' : ' ') // NVDA fix with a dot to not read date on FF\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * This function cleans numbers for separators\n * https://en.wikipedia.org/wiki/Decimal_separator\n *\n * @param {string|number} num any number\n * @returns a number that contains valid number separators\n */\nexport function cleanNumber(\n num,\n {\n decimalSeparator = null,\n thousandsSeparator = null,\n prefix = null,\n suffix = null,\n } = {}\n) {\n if (typeof num === 'number') {\n return num\n }\n\n num = String(num).trim()\n\n if (typeof prefix === 'string' && num.startsWith(prefix)) {\n num = num.substring(prefix.length, num.length)\n }\n if (typeof suffix === 'string' && num.endsWith(suffix)) {\n num = num.substring(0, num.length - suffix.length)\n }\n\n // 1. Remove invalid chars on the beginning (not a number)\n if (/^[^0-9-]/.test(num)) {\n num = num.replace(/^(^[^0-9-]+)/, '')\n }\n\n let decimal = decimalSeparator\n let thousands = thousandsSeparator\n\n // -12 345,678\n if (/(\\s)([0-9]{3})/.test(num)) {\n thousands = thousands || '\\\\s'\n decimal = decimal || ','\n }\n\n // -12.345,678\n else if (\n /(\\.)([0-9]{3})/.test(num) &&\n !/([,'][0-9]{3})(\\.)([0-9]{3})/.test(num) // just an additional check, for support with more\n ) {\n thousands = thousands || '\\\\.'\n decimal = decimal || \",|·|'\" // also support Spain and CH\n }\n\n // -1,234,567.891\n else if (/(,)([0-9]{3})/.test(num)) {\n thousands = thousands || ','\n decimal = decimal || '\\\\.|·' // also support Spain\n }\n\n // -1'234'567.891, only used in CH\n else if (/(')([0-9]{3})/.test(num)) {\n thousands = thousands || \"'\"\n decimal = decimal || '\\\\.|,'\n } else {\n thousands = ','\n decimal = '\\\\.'\n }\n\n // 3. Remove invalid thousand separators\n const thousandReg = thousandsSeparator\n ? new RegExp(\n `([0-9]|)(${escapeRegexChars(thousandsSeparator)})([0-9]{3})`,\n 'g'\n )\n : new RegExp(`([0-9]|)(${thousands})([0-9]{3})`, 'g')\n if (thousandReg.test(num)) {\n num = num.replace(thousandReg, '$1$3')\n }\n\n // 2. Rename invalid decimal separator\n // Make sure that there are only two digits after the coma, then we clean that up.\n // else we don't, because it can be a US number\n // therefore, check first, is there a chance of being a decimal?\n // const decimalReg = new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n const decimalReg = decimalSeparator\n ? new RegExp(`(${escapeRegexChars(decimalSeparator)})([0-9]{0,})`, 'g')\n : new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n if (decimalReg.test(num)) {\n num = num.replace(decimalReg, '.$2')\n }\n\n // Edge case, if we have more than 2 decimals, replace these decimals\n if (!decimalSeparator) {\n const decimalBackup = new RegExp(`(${decimal})([0-9]{3,})`, 'g')\n if (decimalBackup.test(num)) {\n num = num.replace(decimalBackup, '.$2')\n }\n }\n\n // Remove all invalid chars\n return num.replace(new RegExp(`([^${NUMBER_CHARS}])`, 'g'), '')\n}\n\n/**\n * So iOS v13 can select something on the first try, we run this add range trick.\n * NB: This hack may be removed in future iOS versions.\n */\nexport function runIOSSelectionFix() {\n try {\n const selection = window.getSelection()\n const range = document.createRange()\n selection.removeAllRanges()\n selection.addRange(range)\n } catch (e) {\n //\n }\n}\n\n/**\n * A function that tries to copy to the clipboard\n * at the same time it shows the copy result in a tooltip\n *\n * NB: This function is not documented.\n * It should not be used!\n *\n * @param {string} value any number\n * @param {*} label\n * @param {*} positionElement\n * @returns\n */\nexport async function copyWithEffect(\n value,\n label,\n positionElement = null\n) {\n let success = null\n\n if (value) {\n try {\n const fx = showSelectionNotice({ value, label })\n success = await copyToClipboard(value)\n if (success === true) {\n fx.run(positionElement)\n }\n } catch (e) {\n warn(e)\n success = e\n }\n }\n\n return success\n}\n\n/**\n * This function add a tooltip looking\n *\n * @type {object} object with property\n * @property {string} value any value\n * @property {string} label any additional label that gets added as a suffix\n * @property {number} timeout how long the tooltip should be visible (3 sec)\n * @returns {object} { run, hide, remove } call the \"run\" function when the effect should be shown\n */\nexport function showSelectionNotice({ value, label, timeout = 3e3 }) {\n const id = 'id-' + slugify(value)\n if (typeof document !== 'undefined' && document.getElementById(id)) {\n return { run: () => {} }\n }\n\n let elem, content, root\n\n try {\n root = document.querySelector('.dnb-tooltip__portal, body')\n\n // create that portal element\n elem = document.createElement('span')\n elem.setAttribute('id', id)\n elem.setAttribute('class', 'dnb-tooltip')\n elem.setAttribute('role', 'tooltip')\n\n const arrow = document.createElement('span')\n arrow.setAttribute(\n 'class',\n 'dnb-tooltip__arrow dnb-tooltip__arrow__position--top'\n )\n content = document.createElement('span')\n content.setAttribute('class', 'dnb-tooltip__content')\n content.setAttribute('aria-live', 'assertive')\n elem.appendChild(arrow)\n elem.appendChild(content)\n } catch (e) {\n warn(e)\n }\n\n return new (class SelectionFx {\n remove() {\n try {\n root.removeChild(elem)\n elem = null\n content = null\n } catch (e) {\n //\n }\n }\n hide() {\n try {\n elem.classList.add('dnb-tooltip--hide')\n } catch (e) {\n //\n }\n }\n run(pE = getSelectedElement()) {\n try {\n root.appendChild(elem)\n\n const top = getOffsetTop(pE)\n const left = getOffsetLeft(pE)\n\n content.innerHTML =\n String(label) +\n (pE instanceof HTMLElement\n ? `<span class=\"dnb-sr-only\">: ${\n (\n (pE &&\n pE.querySelector('.dnb-number-format__selection')) ||\n pE\n ).innerHTML\n }</span>`\n : '')\n\n const width =\n (\n (pE && pE.querySelector('.dnb-number-format__visible')) ||\n pE ||\n {}\n ).offsetWidth || 0\n\n elem.style.top = `${top - elem.offsetHeight}px`\n elem.style.left = `${left + width / 2 - elem.offsetWidth / 2}px`\n elem.classList.add('dnb-tooltip--active')\n\n setTimeout(this.hide, timeout)\n setTimeout(this.remove, timeout + 600)\n } catch (e) {\n warn(e)\n }\n }\n })()\n}\n\n/**\n * React Hook\n * It returns \"copyWithEffect\" but with a translated string\n *\n * @returns copyWithEffect function inside object { copy }\n */\nexport function useCopyWithNotice() {\n const {\n translation: {\n NumberFormat: { clipboard_copy },\n },\n } = React.useContext(Context)\n\n const copy = (value, positionElement) => {\n copyWithEffect(value, clipboard_copy, positionElement)\n }\n\n return { copy }\n}\n\n/**\n * Will return currency display value based on navigator/browser and locale\n *\n * @property {string} currency_display (optional) code, name, symbol or narrowSymbol\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getFallbackCurrencyDisplay(\n locale = null,\n currency_display = null\n) {\n // If currencyDisplay is not defined and locale is \"no\", use narrowSymbol\n if (!currency_display && (!locale || /(no|nb|nn)$/i.test(locale))) {\n currency_display = 'narrowSymbol'\n }\n\n return currency_display || CURRENCY_DISPLAY // code, name, symbol\n}\n\n/**\n * This function returns a decimal separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getDecimalSeparator(locale = null) {\n const separator =\n formatToParts({\n number: 1.1,\n locale,\n }).find(({ type }) => type === 'decimal')?.value || ',' // defaults to nb-NO\n\n return separator\n}\n\n/**\n * This function returns a thousands separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getThousandsSeparator(locale = null) {\n const formatter = getGroupFormatter(locale)\n\n return (\n formatToParts({\n number: 1000,\n locale,\n })\n .map(formatter)\n .find(({ type }) => type === 'group')?.value || ' '\n ) // defaults to nb-NO\n}\n\n/**\n * This function returns a currency symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @property {string} currency (optional) a given currency\n * @property {currencyDisplay} currencyDisplay (optional) what currency display\n * @returns {string} a currency symbol\n */\nexport function getCurrencySymbol(\n locale = null,\n currency = null,\n currencyDisplay = null\n) {\n if (!currency) {\n currency = CURRENCY\n }\n return (\n formatToParts({\n number: 1,\n locale,\n options: {\n style: 'currency',\n currency,\n currencyDisplay: getFallbackCurrencyDisplay(\n locale,\n currencyDisplay\n ),\n },\n }).find(({ type }) => type === 'currency')?.value || currency\n )\n}\n\nfunction getGroupFormatter(\n locale = null,\n separatorSymbol = null,\n existingFormatter = null\n) {\n /**\n * We change the thousand separator to be a non-breaking space\n *\n * Effected locales:\n * - en-GB\n * - en\n */\n if (locale && /(en|gb)$/i.test(locale)) {\n separatorSymbol = ' ' // non-breaking space\n }\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n if (item.type === 'group') {\n item.value = separatorSymbol || item.value\n }\n\n return item\n }\n}\n\n/**\n * For internal usage\n *\n * @type {object}\n * @property {string} number - a number\n * @property {string} locale - locale as a string. Defaults to the global LOCALE constant\n * @property {object} options - NumberFormat options\n * @returns {array} that contains all the parts of the given number [{ value: x, type: 'type' }]\n */\nfunction formatToParts({ number, locale = null, options = null }) {\n if (\n typeof Intl !== 'undefined' &&\n typeof Intl.NumberFormat === 'function'\n ) {\n try {\n const inst = Intl.NumberFormat(locale || LOCALE, options || {})\n if (typeof inst.formatToParts === 'function') {\n return inst.formatToParts(number)\n } else {\n return [{ value: inst.format(number) }]\n }\n } catch (e) {\n warn(e)\n }\n }\n\n return [{ value: number }]\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string} value any number\n * @property {string} locale a given locale\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {number} decimals the amount of decimals\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeDisplay({\n value,\n locale,\n compact,\n decimals = 0,\n opts,\n} = {}) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n value = parseInt(Math.abs(value))\n opts.notation = 'compact'\n\n // For numbers under 1M we do\n if (isTrue(compact) && locale && /(no|nb|nn)$/i.test(locale)) {\n opts.compactDisplay = Math.abs(value) < 1000000 ? 'long' : 'short'\n } else {\n opts.compactDisplay = !isTrue(compact) ? compact : 'short'\n }\n\n if (typeof opts.maximumSignificantDigits === 'undefined') {\n if (isNaN(parseFloat(decimals))) {\n decimals = 0\n } else {\n decimals = parseFloat(decimals)\n }\n\n // This formula ensures we always get the same amount decimals\n const ref = String(value).length % 3\n if (ref === 2) {\n decimals += 1\n } else if (ref === 0) {\n decimals += 2\n }\n\n // The result of this formula would be equal to this:\n // if (value >= 100000000000000) {\n // decimals += 2\n // } else if (value >= 10000000000000) {\n // decimals += 1\n // } else if (value >= 1000000000000) {\n // decimals += 0\n // } else if (value >= 100000000000) {\n // decimals += 2\n // } else if (value >= 10000000000) {\n // decimals += 1\n // } else if (value >= 1000000000) {\n // decimals += 0\n // } else if (value >= 100000000) {\n // decimals += 2\n // } else if (value >= 10000000) {\n // decimals += 1\n // } else if (value >= 1000000) {\n // decimals += 0\n // } else if (value >= 100000) {\n // decimals += 2\n // } else if (value >= 10000) {\n // decimals += 1\n // }\n\n // Firefox issue?\n // If we do not define \"maximumSignificantDigits\" Firefox does not show any decimals at all\n opts.maximumSignificantDigits = decimals + 1\n }\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeAria({ value, compact, opts }) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n opts.compactDisplay = 'long'\n}\n\n/**\n * Checks if we should/can handle the compact format\n *\n * @param {object}\n * @property {string|number} value any number\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n */\nfunction canHandleCompact({ value, compact }) {\n if (compact && Math.abs(value) >= 1000) {\n return true\n }\n\n return false\n}\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":"PaginationHelpers.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_ProgressIndicator2","_excluded","_excluded2","_ProgressIndicator","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PaginationIndicator","React","PureComponent","render","indicator_element","props","Element","preparePageElement","ElementChild","isTrElement","createElement","className","context","getTranslation","Pagination","is_loading_text","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","node","func","string","ContentObject","constructor","_ref","pageNumber","content","hasContent","k","insert","onInsert","update","onUpdate","isTr","isValidElement","__emotion_base","includeClassName","forwardRef","_ref2","ref","children","params","classnames"],"sources":["../../../../src/components/pagination/PaginationHelpers.js"],"sourcesContent":["/**\n * Web Pagination Helpers\n *\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport ProgressIndicator from '../progress-indicator/ProgressIndicator'\n\nexport class PaginationIndicator extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n indicator_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n indicator_element: 'div',\n }\n render() {\n const { indicator_element } = this.props\n const Element = preparePageElement(indicator_element)\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return (\n <Element>\n <ElementChild className=\"dnb-pagination__indicator\">\n <div className=\"dnb-pagination__indicator__inner\">\n <ProgressIndicator />\n {\n this.context.getTranslation(this.props).Pagination\n .is_loading_text\n }\n </div>\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class ContentObject {\n constructor({ pageNumber, ...props }) {\n this.content = null\n\n this.pageNumber = pageNumber\n this.hasContent = false\n\n for (let k in props) {\n this[k] = props[k]\n }\n }\n insert(content) {\n this.hasContent = true\n this.content = content\n if (typeof this.onInsert === 'function') {\n this.onInsert(this)\n }\n return this\n }\n update(content) {\n this.hasContent = true\n this.content = content\n if (typeof this.onUpdate === 'function') {\n this.onUpdate(this)\n }\n return this\n }\n}\n\nexport function isTrElement(Element) {\n let isTr = false\n\n if (Element === 'tr') {\n isTr = true\n } else if (\n Element &&\n (typeof Element === 'object' || React.isValidElement(Element))\n ) {\n if ((Element.__emotion_base || Element.target) === 'tr') {\n isTr = true\n }\n }\n\n return isTr\n}\n\nexport function preparePageElement(\n Element,\n includeClassName = 'dnb-pagination__page'\n) {\n if (String(Element) === 'Symbol(react.fragment)') {\n return Element\n }\n\n if (includeClassName) {\n const isTr = isTrElement(Element)\n\n // eslint-disable-next-line\n return React.forwardRef(({ className, children, ...props }, ref) => {\n const params = {\n ...props,\n className: classnames(includeClassName, className),\n ref,\n }\n return isTr ? (\n <td>\n <div {...params}>{children}</div>\n </td>\n ) : (\n <Element {...params}>{children}</Element>\n )\n })\n }\n\n return Element\n}\n\n// NB: We do currently not use scroll direction handling\n// export function detectScrollDirection(cb, direction = null) {\n// if (typeof window === 'undefined' || typeof document === 'undefined') {\n// return cb('down')\n// }\n//\n// let last = 0,\n// current,\n// position\n//\n// const listener = () => {\n// position = window.pageYOffset || document.documentElement.scrollTop\n// current = position > last ? 'down' : 'up'\n// if (current && current !== direction) {\n// direction = current\n// cb(current)\n// }\n// last = position <= 0 ? 0 : position // secure negative scrolling on mobile\n// }\n//\n// window.addEventListener('scroll', listener, false)\n//\n// return {\n// remove: () => {\n// if (typeof window !== 'undefined') {\n// window.removeEventListener('scroll', listener)\n// }\n// }\n// }\n// }\n"],"mappings":"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"}
1
+ {"version":3,"file":"PaginationHelpers.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_ProgressIndicator2","_excluded","_excluded2","_ProgressIndicator","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PaginationIndicator","React","PureComponent","render","indicator_element","props","Element","preparePageElement","ElementChild","isTrElement","createElement","className","context","getTranslation","Pagination","is_loading_text","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","node","func","string","ContentObject","constructor","_ref","pageNumber","content","hasContent","k","insert","onInsert","update","onUpdate","isTr","isValidElement","__emotion_base","includeClassName","forwardRef","_ref2","ref","children","params","classnames"],"sources":["../../../../src/components/pagination/PaginationHelpers.js"],"sourcesContent":["/**\n * Web Pagination Helpers\n *\n */\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport ProgressIndicator from '../progress-indicator/ProgressIndicator'\n\nexport class PaginationIndicator extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n indicator_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n indicator_element: 'div',\n }\n render() {\n const { indicator_element } = this.props\n const Element = preparePageElement(indicator_element)\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return (\n <Element>\n <ElementChild className=\"dnb-pagination__indicator\">\n <div className=\"dnb-pagination__indicator__inner\">\n <ProgressIndicator />\n {\n this.context.getTranslation(this.props).Pagination\n .is_loading_text\n }\n </div>\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class ContentObject {\n constructor({ pageNumber, ...props }) {\n this.content = null\n\n this.pageNumber = pageNumber\n this.hasContent = false\n\n for (let k in props) {\n this[k] = props[k]\n }\n }\n insert(content) {\n this.hasContent = true\n this.content = content\n if (typeof this.onInsert === 'function') {\n this.onInsert(this)\n }\n return this\n }\n update(content) {\n this.hasContent = true\n this.content = content\n if (typeof this.onUpdate === 'function') {\n this.onUpdate(this)\n }\n return this\n }\n}\n\nexport function isTrElement(Element) {\n let isTr = false\n\n if (Element === 'tr') {\n isTr = true\n } else if (\n Element &&\n (typeof Element === 'object' || React.isValidElement(Element))\n ) {\n if ((Element.__emotion_base || Element.target) === 'tr') {\n isTr = true\n }\n }\n\n return isTr\n}\n\nexport function preparePageElement(\n Element,\n includeClassName = 'dnb-pagination__page'\n) {\n if (String(Element) === 'Symbol(react.fragment)') {\n return Element\n }\n\n if (includeClassName) {\n const isTr = isTrElement(Element)\n\n // eslint-disable-next-line\n return React.forwardRef(({ className, children, ...props }, ref) => {\n const params = {\n ...props,\n className: classnames(includeClassName, className),\n ref,\n }\n return isTr ? (\n <td>\n <div {...params}>{children}</div>\n </td>\n ) : (\n <Element {...params}>{children}</Element>\n )\n })\n }\n\n return Element\n}\n\n// NB: We do currently not use scroll direction handling\n// export function detectScrollDirection(cb, direction = null) {\n// if (typeof window === 'undefined' || typeof document === 'undefined') {\n// return cb('down')\n// }\n//\n// let last = 0,\n// current,\n// position\n//\n// const listener = () => {\n// position = window.pageYOffset || document.documentElement.scrollTop\n// current = position > last ? 'down' : 'up'\n// if (current && current !== direction) {\n// direction = current\n// cb(current)\n// }\n// last = position <= 0 ? 0 : position // secure negative scrolling on mobile\n// }\n//\n// window.addEventListener('scroll', listener, false)\n//\n// return {\n// remove: () => {\n// if (typeof window !== 'undefined') {\n// window.removeEventListener('scroll', listener)\n// }\n// }\n// }\n// }\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