@dnb/eufemia 10.45.0 → 10.46.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 (465) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cjs/components/CopyOnClick.d.ts +12 -0
  3. package/cjs/components/CopyOnClick.js +24 -0
  4. package/cjs/components/CopyOnClick.js.map +1 -0
  5. package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
  6. package/cjs/components/copy-on-click/CopyOnClick.js +72 -0
  7. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
  8. package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  9. package/cjs/components/copy-on-click/CopyOnClickDocs.js +25 -0
  10. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  11. package/cjs/components/copy-on-click/index.d.ts +7 -0
  12. package/cjs/components/copy-on-click/index.js +24 -0
  13. package/cjs/components/copy-on-click/index.js.map +1 -0
  14. package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  15. package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  16. package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  17. package/cjs/components/copy-on-click/style/index.d.ts +5 -0
  18. package/cjs/components/copy-on-click/style/index.js +4 -0
  19. package/cjs/components/copy-on-click/style/index.js.map +1 -0
  20. package/cjs/components/copy-on-click/style.d.ts +5 -0
  21. package/cjs/components/copy-on-click/style.js +4 -0
  22. package/cjs/components/copy-on-click/style.js.map +1 -0
  23. package/cjs/components/copy-on-click/types.d.ts +19 -0
  24. package/cjs/components/copy-on-click/types.js +1 -0
  25. package/cjs/components/copy-on-click/types.js.map +1 -0
  26. package/cjs/components/index.d.ts +2 -1
  27. package/cjs/components/index.js +7 -0
  28. package/cjs/components/index.js.map +1 -1
  29. package/cjs/components/lib.d.ts +6 -1
  30. package/cjs/components/lib.js +8 -0
  31. package/cjs/components/lib.js.map +1 -1
  32. package/cjs/components/pagination/Pagination.d.ts +27 -1
  33. package/cjs/components/pagination/Pagination.js +3 -1
  34. package/cjs/components/pagination/Pagination.js.map +1 -1
  35. package/cjs/components/pagination/PaginationInfinity.js +20 -8
  36. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  37. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
  38. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js +26 -19
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  43. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  45. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  46. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  47. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  48. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  49. package/cjs/extensions/forms/Field/Email/Email.js +1 -1
  50. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  51. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +22 -3
  52. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  53. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  54. package/cjs/extensions/forms/Field/Number/Number.js +33 -31
  55. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  56. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  57. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  62. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  63. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  64. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
  65. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  66. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  67. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  68. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  69. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  70. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
  72. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  73. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  74. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
  75. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  76. package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  77. package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
  78. package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  79. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  80. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  81. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  82. package/cjs/extensions/forms/Value/index.js +7 -0
  83. package/cjs/extensions/forms/Value/index.js.map +1 -1
  84. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  85. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  86. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  87. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  88. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  89. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  90. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  91. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  92. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -1
  93. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  94. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -0
  95. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -0
  96. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  97. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -1
  98. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  99. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  100. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  101. package/cjs/extensions/forms/style/dnb-forms.css +3 -0
  102. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  103. package/cjs/extensions/forms/types.d.ts +5 -2
  104. package/cjs/extensions/forms/types.js.map +1 -1
  105. package/cjs/index.d.ts +2 -1
  106. package/cjs/index.js +7 -0
  107. package/cjs/index.js.map +1 -1
  108. package/cjs/shared/Context.js +4 -6
  109. package/cjs/shared/Context.js.map +1 -1
  110. package/cjs/shared/Eufemia.d.ts +1 -1
  111. package/cjs/shared/Eufemia.js +2 -2
  112. package/cjs/shared/Eufemia.js.map +1 -1
  113. package/cjs/shared/locales/en-GB.d.ts +3 -0
  114. package/cjs/shared/locales/en-GB.js +3 -0
  115. package/cjs/shared/locales/en-GB.js.map +1 -1
  116. package/cjs/shared/locales/en-US.d.ts +3 -0
  117. package/cjs/shared/locales/index.d.ts +6 -0
  118. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  119. package/cjs/shared/locales/nb-NO.js +3 -0
  120. package/cjs/shared/locales/nb-NO.js.map +1 -1
  121. package/cjs/style/core/scopes.scss +1 -1
  122. package/cjs/style/dnb-ui-basis.css +1 -1
  123. package/cjs/style/dnb-ui-basis.min.css +1 -1
  124. package/cjs/style/dnb-ui-body.css +1 -1
  125. package/cjs/style/dnb-ui-body.min.css +1 -1
  126. package/cjs/style/dnb-ui-components.css +11 -0
  127. package/cjs/style/dnb-ui-components.min.css +2 -2
  128. package/cjs/style/dnb-ui-components.scss +1 -0
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +3 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +3 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +14 -0
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/CopyOnClick.d.ts +12 -0
  154. package/components/CopyOnClick.js +4 -0
  155. package/components/CopyOnClick.js.map +1 -0
  156. package/components/copy-on-click/CopyOnClick.d.ts +9 -0
  157. package/components/copy-on-click/CopyOnClick.js +62 -0
  158. package/components/copy-on-click/CopyOnClick.js.map +1 -0
  159. package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  160. package/components/copy-on-click/CopyOnClickDocs.js +18 -0
  161. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  162. package/components/copy-on-click/index.d.ts +7 -0
  163. package/components/copy-on-click/index.js +4 -0
  164. package/components/copy-on-click/index.js.map +1 -0
  165. package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  166. package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  167. package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  168. package/components/copy-on-click/style/index.d.ts +5 -0
  169. package/components/copy-on-click/style/index.js +1 -0
  170. package/components/copy-on-click/style/index.js.map +1 -0
  171. package/components/copy-on-click/style.d.ts +5 -0
  172. package/components/copy-on-click/style.js +1 -0
  173. package/components/copy-on-click/style.js.map +1 -0
  174. package/components/copy-on-click/types.d.ts +19 -0
  175. package/components/copy-on-click/types.js +1 -0
  176. package/components/copy-on-click/types.js.map +1 -0
  177. package/components/index.d.ts +2 -1
  178. package/components/index.js +2 -1
  179. package/components/index.js.map +1 -1
  180. package/components/lib.d.ts +6 -1
  181. package/components/lib.js +3 -1
  182. package/components/lib.js.map +1 -1
  183. package/components/pagination/Pagination.d.ts +27 -1
  184. package/components/pagination/Pagination.js +3 -1
  185. package/components/pagination/Pagination.js.map +1 -1
  186. package/components/pagination/PaginationInfinity.js +20 -8
  187. package/components/pagination/PaginationInfinity.js.map +1 -1
  188. package/es/components/CopyOnClick.d.ts +12 -0
  189. package/es/components/CopyOnClick.js +4 -0
  190. package/es/components/CopyOnClick.js.map +1 -0
  191. package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
  192. package/es/components/copy-on-click/CopyOnClick.js +62 -0
  193. package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
  194. package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  195. package/es/components/copy-on-click/CopyOnClickDocs.js +18 -0
  196. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  197. package/es/components/copy-on-click/index.d.ts +7 -0
  198. package/es/components/copy-on-click/index.js +4 -0
  199. package/es/components/copy-on-click/index.js.map +1 -0
  200. package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  201. package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  202. package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  203. package/es/components/copy-on-click/style/index.d.ts +5 -0
  204. package/es/components/copy-on-click/style/index.js +1 -0
  205. package/es/components/copy-on-click/style/index.js.map +1 -0
  206. package/es/components/copy-on-click/style.d.ts +5 -0
  207. package/es/components/copy-on-click/style.js +1 -0
  208. package/es/components/copy-on-click/style.js.map +1 -0
  209. package/es/components/copy-on-click/types.d.ts +19 -0
  210. package/es/components/copy-on-click/types.js +1 -0
  211. package/es/components/copy-on-click/types.js.map +1 -0
  212. package/es/components/index.d.ts +2 -1
  213. package/es/components/index.js +2 -1
  214. package/es/components/index.js.map +1 -1
  215. package/es/components/lib.d.ts +6 -1
  216. package/es/components/lib.js +3 -1
  217. package/es/components/lib.js.map +1 -1
  218. package/es/components/pagination/Pagination.d.ts +27 -1
  219. package/es/components/pagination/Pagination.js +3 -1
  220. package/es/components/pagination/Pagination.js.map +1 -1
  221. package/es/components/pagination/PaginationInfinity.js +20 -8
  222. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  223. package/es/extensions/forms/DataContext/Context.d.ts +2 -2
  224. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  225. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  226. package/es/extensions/forms/DataContext/Provider/Provider.js +25 -18
  227. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  228. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  229. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  230. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  231. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  232. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  233. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  234. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  235. package/es/extensions/forms/Field/Email/Email.js +1 -1
  236. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  237. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  238. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  239. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  240. package/es/extensions/forms/Field/Number/Number.js +33 -31
  241. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  242. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  243. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  244. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  245. package/es/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  246. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  247. package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  248. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  249. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  250. package/es/extensions/forms/Form/Handler/Handler.js +1 -3
  251. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  252. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  253. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  254. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  255. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  256. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  257. package/es/extensions/forms/Form/data-context/useData.js +9 -7
  258. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  259. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  260. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  261. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  262. package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  263. package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
  264. package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  265. package/es/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  266. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  267. package/es/extensions/forms/Value/index.d.ts +1 -0
  268. package/es/extensions/forms/Value/index.js +1 -0
  269. package/es/extensions/forms/Value/index.js.map +1 -1
  270. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  271. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  272. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  273. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  274. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  275. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  276. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  277. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  278. package/es/extensions/forms/constants/locales/en-GB.js +3 -1
  279. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  280. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -0
  281. package/es/extensions/forms/constants/locales/index.d.ts +4 -0
  282. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  283. package/es/extensions/forms/constants/locales/nb-NO.js +3 -1
  284. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  285. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  286. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  287. package/es/extensions/forms/style/dnb-forms.css +3 -0
  288. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  289. package/es/extensions/forms/types.d.ts +5 -2
  290. package/es/extensions/forms/types.js.map +1 -1
  291. package/es/index.d.ts +2 -1
  292. package/es/index.js +2 -1
  293. package/es/index.js.map +1 -1
  294. package/es/shared/Context.js +4 -6
  295. package/es/shared/Context.js.map +1 -1
  296. package/es/shared/Eufemia.d.ts +1 -1
  297. package/es/shared/Eufemia.js +2 -2
  298. package/es/shared/Eufemia.js.map +1 -1
  299. package/es/shared/locales/en-GB.d.ts +3 -0
  300. package/es/shared/locales/en-GB.js +3 -0
  301. package/es/shared/locales/en-GB.js.map +1 -1
  302. package/es/shared/locales/en-US.d.ts +3 -0
  303. package/es/shared/locales/index.d.ts +6 -0
  304. package/es/shared/locales/nb-NO.d.ts +3 -0
  305. package/es/shared/locales/nb-NO.js +3 -0
  306. package/es/shared/locales/nb-NO.js.map +1 -1
  307. package/es/style/core/scopes.scss +1 -1
  308. package/es/style/dnb-ui-basis.css +1 -1
  309. package/es/style/dnb-ui-basis.min.css +1 -1
  310. package/es/style/dnb-ui-body.css +1 -1
  311. package/es/style/dnb-ui-body.min.css +1 -1
  312. package/es/style/dnb-ui-components.css +11 -0
  313. package/es/style/dnb-ui-components.min.css +2 -2
  314. package/es/style/dnb-ui-components.scss +1 -0
  315. package/es/style/dnb-ui-core.css +1 -1
  316. package/es/style/dnb-ui-core.min.css +1 -1
  317. package/es/style/dnb-ui-extensions.css +3 -0
  318. package/es/style/dnb-ui-extensions.min.css +1 -1
  319. package/es/style/dnb-ui-forms.css +3 -0
  320. package/es/style/dnb-ui-forms.min.css +1 -1
  321. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  322. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  323. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  324. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  325. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  326. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  327. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  328. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  329. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  330. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  331. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  332. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  333. package/es/style/themes/theme-ui/ui-theme-components.css +14 -0
  334. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  335. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  336. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  337. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
  338. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  339. package/esm/dnb-ui-basis.min.mjs +1 -1
  340. package/esm/dnb-ui-components.min.mjs +1 -1
  341. package/esm/dnb-ui-elements.min.mjs +1 -1
  342. package/esm/dnb-ui-extensions.min.mjs +2 -2
  343. package/esm/dnb-ui-lib.min.mjs +1 -1
  344. package/extensions/forms/DataContext/Context.d.ts +2 -2
  345. package/extensions/forms/DataContext/Context.js.map +1 -1
  346. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  347. package/extensions/forms/DataContext/Provider/Provider.js +26 -19
  348. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  349. package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  350. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  351. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  352. package/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  353. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  354. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  355. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  356. package/extensions/forms/Field/Email/Email.js +1 -1
  357. package/extensions/forms/Field/Email/Email.js.map +1 -1
  358. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  359. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  360. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  361. package/extensions/forms/Field/Number/Number.js +33 -31
  362. package/extensions/forms/Field/Number/Number.js.map +1 -1
  363. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  364. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  365. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  366. package/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  367. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  368. package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  369. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  370. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  371. package/extensions/forms/Form/Handler/Handler.js +1 -3
  372. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  373. package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  374. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  375. package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  376. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  377. package/extensions/forms/Form/Section/Section.js.map +1 -1
  378. package/extensions/forms/Form/data-context/useData.js +9 -7
  379. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  380. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  381. package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  382. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  383. package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  384. package/extensions/forms/Value/SelectCountry/index.js +3 -0
  385. package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  386. package/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  387. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  388. package/extensions/forms/Value/index.d.ts +1 -0
  389. package/extensions/forms/Value/index.js +1 -0
  390. package/extensions/forms/Value/index.js.map +1 -1
  391. package/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  392. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  393. package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  394. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  395. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  396. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  397. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  398. package/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  399. package/extensions/forms/constants/locales/en-GB.js +3 -1
  400. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  401. package/extensions/forms/constants/locales/en-US.d.ts +2 -0
  402. package/extensions/forms/constants/locales/index.d.ts +4 -0
  403. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  404. package/extensions/forms/constants/locales/nb-NO.js +3 -1
  405. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  406. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  407. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  408. package/extensions/forms/style/dnb-forms.css +3 -0
  409. package/extensions/forms/style/dnb-forms.min.css +1 -1
  410. package/extensions/forms/types.d.ts +5 -2
  411. package/extensions/forms/types.js.map +1 -1
  412. package/index.d.ts +2 -1
  413. package/index.js +2 -1
  414. package/index.js.map +1 -1
  415. package/package.json +2 -1
  416. package/shared/Context.js +4 -6
  417. package/shared/Context.js.map +1 -1
  418. package/shared/Eufemia.d.ts +1 -1
  419. package/shared/Eufemia.js +2 -2
  420. package/shared/Eufemia.js.map +1 -1
  421. package/shared/locales/en-GB.d.ts +3 -0
  422. package/shared/locales/en-GB.js +3 -0
  423. package/shared/locales/en-GB.js.map +1 -1
  424. package/shared/locales/en-US.d.ts +3 -0
  425. package/shared/locales/index.d.ts +6 -0
  426. package/shared/locales/nb-NO.d.ts +3 -0
  427. package/shared/locales/nb-NO.js +3 -0
  428. package/shared/locales/nb-NO.js.map +1 -1
  429. package/style/core/scopes.scss +1 -1
  430. package/style/dnb-ui-basis.css +1 -1
  431. package/style/dnb-ui-basis.min.css +1 -1
  432. package/style/dnb-ui-body.css +1 -1
  433. package/style/dnb-ui-body.min.css +1 -1
  434. package/style/dnb-ui-components.css +11 -0
  435. package/style/dnb-ui-components.min.css +2 -2
  436. package/style/dnb-ui-components.scss +1 -0
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +3 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +3 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +14 -0
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +3 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +2 -2
  465. package/umd/dnb-ui-lib.min.js +1 -1
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import type { SkeletonShow } from '../Skeleton';
3
3
  import type { SpacingProps } from '../space/types';
4
4
  import PaginationBar from './PaginationBar';
5
+ import { ButtonIconPosition } from '../Button';
5
6
  type PaginationStartupPage = string | number;
6
7
  type PaginationCurrentPage = string | number;
7
8
  type PaginationPageCount = string | number;
@@ -34,6 +35,18 @@ type PaginationIndicatorElement =
34
35
  | ((...args: any[]) => any)
35
36
  | string;
36
37
  type PaginationChildren = React.ReactNode | ((...args: any[]) => any);
38
+ type LoadButtonProps =
39
+ | (() => React.ReactNode)
40
+ | {
41
+ /**
42
+ * Used during infinity mode. If `use_load_button` is set to true, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
43
+ */
44
+ text: string;
45
+ /**
46
+ * Used during infinity mode. Sets the icon position on the `use_load_button`. Default: `left`.
47
+ */
48
+ iconPosition: ButtonIconPosition;
49
+ };
37
50
  export interface PaginationProps
38
51
  extends Omit<React.HTMLProps<HTMLElement>, 'ref'>,
39
52
  SpacingProps {
@@ -146,6 +159,10 @@ export interface PaginationProps
146
159
  * Used during infinity mode. If `use_load_button` is set to `true`, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
147
160
  */
148
161
  load_button_text?: string;
162
+ /**
163
+ * Used to set load button text and icon aligment. Accepts a function returning a ReactNode too, so you can replace the button with your own component.
164
+ */
165
+ loadButton?: LoadButtonProps;
149
166
  className?: string;
150
167
  /**
151
168
  * The given content can be either a function or a React node, depending on your needs. A function contains several helper functions. More details down below and have a look at the examples in the demos section.
@@ -325,9 +342,13 @@ interface PaginationInstanceProps extends SpacingProps {
325
342
  is_loading_text?: string;
326
343
  /**
327
344
  * Used during infinity mode. If `use_load_button` is set to true, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
345
+ * @deprecated use `loadButtonProps.text` instead
328
346
  */
329
347
  load_button_text?: string;
330
- className?: string;
348
+ /**
349
+ * Used to set loadButton text and icon aligment. Accepts a function returning a ReactNode too, so you can replace the button with your own component.
350
+ */
351
+ loadButton?: LoadButtonProps;
331
352
  /**
332
353
  * The given content can be either a function or a React node, depending on your needs. A function contains several helper functions. More details down below and have a look at the examples in the demos section.
333
354
  */
@@ -500,8 +521,13 @@ interface InfinityMarkerProps extends SpacingProps {
500
521
  is_loading_text?: string;
501
522
  /**
502
523
  * Used during infinity mode. If `use_load_button` is set to true, then a button is show on the bottom. If the `startup_page` is higher than 1. Defaults to `Vis mer innhold`.
524
+ * @deprecated use `loadButtonProps.text` instead
503
525
  */
504
526
  load_button_text?: string;
527
+ /**
528
+ * Used to set loadButton text and icon aligment. Accepts a function returning a ReactNode too, so you can replace the button with your own component.
529
+ */
530
+ loadButton?: LoadButtonProps;
505
531
  className?: string;
506
532
  /**
507
533
  * The given content can be either a function or a React node, depending on your needs. A function contains several helper functions. More details down below and have a look at the examples in the demos section.
@@ -55,7 +55,8 @@ const paginationPropTypes = process.env.NODE_ENV !== "production" ? _objectSprea
55
55
  next_title: _propTypes.default.string,
56
56
  more_pages: _propTypes.default.string,
57
57
  is_loading_text: _propTypes.default.string,
58
- load_button_text: _propTypes.default.string
58
+ load_button_text: _propTypes.default.string,
59
+ loadButton: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
59
60
  }, _SpacingHelper.spacingPropTypes), {}, {
60
61
  className: _propTypes.default.string,
61
62
  children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
@@ -85,6 +86,7 @@ const paginationDefaultProps = {
85
86
  more_pages: null,
86
87
  is_loading_text: null,
87
88
  load_button_text: null,
89
+ loadButton: null,
88
90
  startup_count: 1,
89
91
  parallel_load_count: 1,
90
92
  place_maker_before_content: false,
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_PaginationContext","_PaginationProvider","_componentHelper","_SpacingHelper","_PaginationHelpers","_PaginationInfinity","_PaginationBar","_InfinityScroller","_excluded","_excluded2","_excluded3","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","paginationPropTypes","process","env","NODE_ENV","startup_page","PropTypes","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","spacingPropTypes","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","Pagination","React","PureComponent","render","createElement","tagName","internalContent","props","PaginationInstance","exports","propTypes","constructor","_contentRef","createRef","extendPropsWithContextInClassComponent","context","getTranslation","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","pagination","_items$find","mainParams","classnames","createSpacingClasses","validateDOMAttributes","content","find","_ref","pageNumber","contentRef","PaginationContent","ref","PaginationIndicator","PaginationContext","InfinityMarker","_this$props","useMarkerOnly","forwardRef","_ref2","tabIndex","isRequired","Bar","PaginationBar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n\nPagination._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_PaginationContext","_PaginationProvider","_componentHelper","_SpacingHelper","_PaginationHelpers","_PaginationInfinity","_PaginationBar","_InfinityScroller","_excluded","_excluded2","_excluded3","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","paginationPropTypes","process","env","NODE_ENV","startup_page","PropTypes","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","loadButton","spacingPropTypes","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","Pagination","React","PureComponent","render","createElement","tagName","internalContent","props","PaginationInstance","exports","propTypes","constructor","_contentRef","createRef","extendPropsWithContextInClassComponent","context","getTranslation","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","pagination","_items$find","mainParams","classnames","createSpacingClasses","validateDOMAttributes","content","find","_ref","pageNumber","contentRef","PaginationContent","ref","PaginationIndicator","PaginationContext","InfinityMarker","_this$props","useMarkerOnly","forwardRef","_ref2","tabIndex","isRequired","Bar","PaginationBar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n loadButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n loadButton: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n\nPagination._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -231,7 +231,9 @@ class InfinityScroller extends _react.default.PureComponent {
231
231
  page_element,
232
232
  fallback_element,
233
233
  marker_element,
234
- indicator_element
234
+ indicator_element,
235
+ load_button_text,
236
+ loadButton
235
237
  } = this.context.pagination;
236
238
  if (!(items && items.length > 0)) {
237
239
  clearTimeout(this._startupTimeout);
@@ -272,8 +274,10 @@ class InfinityScroller extends _react.default.PureComponent {
272
274
  key: pageNumber,
273
275
  ref: ref
274
276
  }, hasContent && startupPage > 1 && pageNumber > 1 && pageNumber <= startupPage && _react.default.createElement(InfinityLoadButton, {
275
- element: fallback_element,
277
+ element: typeof loadButton === 'function' ? loadButton : fallback_element,
276
278
  icon: "arrow_up",
279
+ text: load_button_text !== null && load_button_text !== void 0 ? load_button_text : loadButton === null || loadButton === void 0 ? void 0 : loadButton.text,
280
+ icon_position: loadButton === null || loadButton === void 0 ? void 0 : loadButton.iconPosition,
277
281
  on_click: event => this.getNewContent(pageNumber - 1, {
278
282
  position: 'before',
279
283
  skipObserver: true,
@@ -282,7 +286,9 @@ class InfinityScroller extends _react.default.PureComponent {
282
286
  }), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, showIndicator && _react.default.createElement(_PaginationHelpers.PaginationIndicator, {
283
287
  indicator_element: indicator_element || fallback_element
284
288
  }), hasContent && this.useLoadButton && isLastItem && (typeof pageCount === 'undefined' || pageNumber < pageCount) && _react.default.createElement(InfinityLoadButton, {
285
- element: fallback_element,
289
+ element: typeof loadButton === 'function' ? loadButton : fallback_element,
290
+ text: load_button_text !== null && load_button_text !== void 0 ? load_button_text : loadButton === null || loadButton === void 0 ? void 0 : loadButton.text,
291
+ icon_position: loadButton === null || loadButton === void 0 ? void 0 : loadButton.iconPosition,
286
292
  icon: "arrow_down",
287
293
  on_click: event => this.getNewContent(pageNumber + 1, {
288
294
  position: 'after',
@@ -406,7 +412,9 @@ class InfinityLoadButton extends _react.default.PureComponent {
406
412
  render() {
407
413
  const {
408
414
  element,
409
- icon
415
+ icon,
416
+ text,
417
+ icon_position
410
418
  } = this.props;
411
419
  const Element = element;
412
420
  const ElementChild = (0, _PaginationHelpers.isTrElement)(Element) ? 'td' : 'div';
@@ -415,8 +423,8 @@ class InfinityLoadButton extends _react.default.PureComponent {
415
423
  }, _react.default.createElement(_Button.default, {
416
424
  size: "medium",
417
425
  icon: icon,
418
- icon_position: "left",
419
- text: this.context.translation.Pagination.load_button_text,
426
+ icon_position: icon_position,
427
+ text: text || this.context.translation.Pagination.load_button_text,
420
428
  variant: "secondary",
421
429
  on_click: this.onClickHandler
422
430
  })));
@@ -427,13 +435,17 @@ _defineProperty(InfinityLoadButton, "contextType", _Context.default);
427
435
  _defineProperty(InfinityLoadButton, "defaultProps", {
428
436
  element: 'div',
429
437
  pressed_element: null,
430
- icon: 'arrow_down'
438
+ icon: 'arrow_down',
439
+ text: null,
440
+ icon_position: 'left'
431
441
  });
432
442
  process.env.NODE_ENV !== "production" ? InfinityLoadButton.propTypes = {
433
443
  element: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.node, _propTypes.default.func, _propTypes.default.string]),
434
444
  pressed_element: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.node, _propTypes.default.func]),
435
445
  icon: _propTypes.default.string.isRequired,
436
- on_click: _propTypes.default.func.isRequired
446
+ on_click: _propTypes.default.func.isRequired,
447
+ text: _propTypes.default.string,
448
+ icon_position: _propTypes.default.string
437
449
  } : void 0;
438
450
  class ScrollToElement extends _react.default.PureComponent {
439
451
  componentDidMount() {
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationInfinity.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactDom","_componentHelper","_Context","_Button","_PaginationHelpers","_PaginationContext","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","InfinityScroller","React","PureComponent","constructor","props","context","_this","this","startupPage","startup_count","pagination","startupCount","parseFloat","newPageNo","skipObserver","callStartupEvent","preventWaitForDelay","getNewContent","position","pageCount","endInfinity","exists","items","findIndex","pageNumber","prefillItems","setItems","callEventHandler","hideIndicator","isTrue","hide_progress_indicator","useLoadButton","use_load_button","lastElement","createRef","callOnUnmount","componentWillUnmount","clearTimeout","_startupTimeout","_bufferTimeout","f","waitForReachedTime","fn","params","callbackBuffer","callBuffer","minTime","diff","_lastCall","Date","getTime","waitTime","nextTick","shift","setTimeout","callOnEnd","onDispatch","_ref","createEvent","eventName","isNaN","ret","dispatchCustomElementEvent","handleInfinityMarker","children","lowerPage","upperPage","hasEndedInfinity","parallelLoadCount","current_page","fallback_element","marker_element","indicator_element","Marker","createElement","InteractionMarker","markerElement","onVisible","onPageUpdate","setState","LoadButton","InfinityLoadButton","icon","element","pressed_element","PaginationIndicator","on_click","Fragment","render","placeMakerBeforeContent","page_element","startup","useMarkerOnly","Element","preparePageElement","map","_ref2","idx","hasContent","content","ref","ScrollElement","isLastItem","Elem","marker","showIndicator","event","ScrollToElement","exports","PaginationContext","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","node","func","isConnected","_this$intersectionObs","intersectionObserver","disconnect","_readyTimeout","_isMounted","warn","IntersectionObserver","entries","isIntersecting","callReady","componentDidMount","current","_this$intersectionObs2","observe","getContentHeight","height","sibling","getPreviousSibling","window","getComputedStyle","querySelector","e","state","isTrElement","ElementChild","className","number","isRequired","string","isPressed","size","icon_position","text","translation","Pagination","load_button_text","variant","onClickHandler","Context","elem","ReactDOM","findDOMNode","scrollToPage","scrollIntoView","block","behavior","_this$props","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/PaginationInfinity.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDOM from 'react-dom'\nimport {\n warn,\n isTrue,\n dispatchCustomElementEvent,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport Button from '../button/Button'\nimport {\n preparePageElement,\n isTrElement,\n PaginationIndicator,\n} from './PaginationHelpers'\nimport PaginationContext from './PaginationContext'\n\nexport default class InfinityScroller extends React.PureComponent {\n static contextType = PaginationContext\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = { children: null }\n\n constructor(props, context) {\n super(props)\n this.hideIndicator = isTrue(context.pagination.hide_progress_indicator)\n this.useLoadButton = isTrue(context.pagination.use_load_button)\n this.lastElement = React.createRef()\n this.callOnUnmount = []\n }\n\n componentWillUnmount() {\n clearTimeout(this._startupTimeout)\n clearTimeout(this._bufferTimeout)\n this.callOnUnmount.forEach((f) => typeof f === 'function' && f())\n }\n\n startup = () => {\n const { startupPage, startup_count } = this.context.pagination\n const startupCount = parseFloat(startup_count)\n\n let newPageNo, skipObserver, callStartupEvent, preventWaitForDelay\n for (let i = 0; i < startupCount; ++i) {\n newPageNo = startupPage + i\n skipObserver = newPageNo < startupCount\n callStartupEvent = i === 0\n preventWaitForDelay = i <= startupCount - 1\n\n // NB: Looks like we have to do more work here to use a waitBuffer\n this.getNewContent(\n newPageNo,\n {\n position: 'after',\n skipObserver,\n },\n { callStartupEvent, preventWaitForDelay }\n )\n }\n }\n\n getNewContent = (\n newPageNo,\n props = {},\n { callStartupEvent = false, preventWaitForDelay = false } = {}\n ) => {\n const { pageCount, endInfinity } = this.context.pagination\n\n // if \"page_count\" is set do not load more than that value\n if (newPageNo > pageCount) {\n return endInfinity()\n }\n\n const exists =\n this.context.pagination.items.findIndex((obj) => {\n return obj.pageNumber === newPageNo\n }) > -1\n\n if (exists) {\n return // stop here!\n }\n\n const items = this.context.pagination.prefillItems(newPageNo, props)\n\n this.context.pagination.setItems(items, () => {\n this.callEventHandler(newPageNo, {\n callStartupEvent,\n preventWaitForDelay,\n })\n })\n }\n\n waitForReachedTime(fn, params) {\n this.callbackBuffer = this.callbackBuffer || []\n this.callbackBuffer.push({ fn, params })\n this.callBuffer({\n minTime: params.preventWaitForDelay\n ? -1\n : this.context.pagination.minTime,\n })\n }\n\n callBuffer({ minTime = this.context.pagination.minTime } = {}) {\n if (this.callbackBuffer.length === 0) {\n return // stop here\n }\n\n const diff =\n this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0\n const waitTime = diff < minTime ? minTime : 0\n\n const nextTick = () => {\n if (this.callbackBuffer.length > 0) {\n this._lastCall = new Date().getTime()\n const { fn, params } = this.callbackBuffer.shift()\n fn(params)\n this.callBuffer({\n minTime: params.preventWaitForDelay ? -1 : minTime,\n })\n }\n }\n\n if (minTime > 0) {\n clearTimeout(this._bufferTimeout)\n this._bufferTimeout = setTimeout(nextTick, waitTime)\n } else {\n nextTick()\n }\n }\n\n callEventHandler(\n pageNumber,\n {\n callStartupEvent = false,\n preventWaitForDelay = false,\n callOnEnd = false,\n onDispatch = null,\n } = {}\n ) {\n this.waitForReachedTime(\n ({ pageNumber, callStartupEvent }) => {\n const context = this.context.pagination\n const createEvent = (eventName) => {\n if (isNaN(pageNumber)) {\n pageNumber = 1\n }\n const ret = dispatchCustomElementEvent(context, eventName, {\n pageNumber,\n ...context,\n })\n\n if (typeof onDispatch === 'function') {\n onDispatch()\n }\n\n if (typeof ret === 'function') {\n this.callOnUnmount.push(ret)\n }\n }\n\n if (callOnEnd) {\n createEvent('on_end')\n } else {\n if (callStartupEvent) {\n createEvent('on_startup')\n } else {\n createEvent('on_change')\n }\n\n createEvent('on_load')\n }\n },\n { pageNumber, callStartupEvent, preventWaitForDelay }\n )\n }\n\n handleInfinityMarker() {\n const { children } = this.props\n\n const {\n // our states\n lowerPage,\n upperPage,\n pageCount,\n hasEndedInfinity,\n parallelLoadCount,\n\n // our props\n current_page,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n const Marker = () => (\n <InteractionMarker\n pageNumber={upperPage}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n upperPage: newPageNo,\n skipObserver: i + 1 < parallelLoadCount,\n })\n })\n this.callEventHandler(newPageNo)\n }\n }}\n />\n )\n\n const LoadButton = () => (\n <InfinityLoadButton\n icon=\"arrow_up\"\n element={fallback_element}\n pressed_element={\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n }\n on_click={() => {\n const newPageNo = lowerPage - 1\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n lowerPage: newPageNo,\n })\n })\n this.callEventHandler(newPageNo)\n }}\n />\n )\n\n return (\n <>\n {parseFloat(current_page) > 0 && lowerPage > 1 && <LoadButton />}\n\n {children}\n\n {!hasEndedInfinity &&\n parseFloat(current_page) > 0 &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <Marker />\n )}\n\n {!hasEndedInfinity &&\n !this.hideIndicator &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </>\n )\n }\n\n render() {\n const {\n // our states\n items,\n pageCount,\n startupPage,\n hasEndedInfinity,\n parallelLoadCount,\n placeMakerBeforeContent,\n\n // our props\n page_element,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n // invoke startup if needed\n if (!(items && items.length > 0)) {\n clearTimeout(this._startupTimeout)\n this._startupTimeout = setTimeout(this.startup, 1) // call startup()\n return null // stop here\n }\n\n if (this.context.pagination.useMarkerOnly) {\n return this.handleInfinityMarker()\n }\n\n // make sure we handle Table markup correctly\n const Element = preparePageElement(page_element || React.Fragment)\n\n return items.map(\n (\n {\n pageNumber,\n hasContent,\n content,\n ref,\n skipObserver,\n ScrollElement,\n },\n idx\n ) => {\n const isLastItem = idx === items.length - 1\n\n // decide to whether use the default Element, or use the scrollTo element\n const Elem = (hasContent && ScrollElement) || Element\n\n // render the marker before\n const marker = hasContent &&\n !this.useLoadButton &&\n !skipObserver &&\n !hasEndedInfinity &&\n (typeof pageCount === 'undefined' ||\n pageNumber <= pageCount) && (\n <InteractionMarker\n pageNumber={pageNumber}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n this.getNewContent(newPageNo, {\n position: 'after',\n skipObserver: i + 1 < parallelLoadCount,\n })\n }\n }}\n />\n )\n\n const showIndicator =\n (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) &&\n !hasContent &&\n !this.hideIndicator\n\n return (\n <Elem key={pageNumber} ref={ref}>\n {hasContent &&\n startupPage > 1 &&\n pageNumber > 1 &&\n pageNumber <= startupPage && (\n <InfinityLoadButton\n element={fallback_element}\n icon=\"arrow_up\"\n on_click={(event) =>\n this.getNewContent(pageNumber - 1, {\n position: 'before',\n skipObserver: true,\n event,\n })\n }\n />\n )}\n\n {placeMakerBeforeContent && marker}\n {content}\n {!placeMakerBeforeContent && marker}\n\n {showIndicator && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n\n {hasContent &&\n this.useLoadButton &&\n isLastItem &&\n (typeof pageCount === 'undefined' ||\n pageNumber < pageCount) && (\n <InfinityLoadButton\n element={fallback_element}\n icon=\"arrow_down\"\n on_click={(event) =>\n this.getNewContent(pageNumber + 1, {\n position: 'after',\n skipObserver: true,\n ScrollElement: (props) =>\n hasContent && (\n <ScrollToElement\n page_element={page_element}\n {...props}\n />\n ),\n event,\n })\n }\n />\n )}\n </Elem>\n )\n }\n )\n }\n}\n\nclass InteractionMarker extends React.PureComponent {\n static propTypes = {\n pageNumber: PropTypes.number.isRequired,\n onVisible: PropTypes.func.isRequired,\n markerElement: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n markerElement: null,\n }\n state = { isConnected: false }\n\n constructor(props) {\n super(props)\n\n if (typeof props.markerElement === 'function') {\n warn(\n 'Pagination: Please use a string or React element e.g. marker_element=\"tr\"'\n )\n }\n\n this._ref = React.createRef()\n\n if (typeof IntersectionObserver !== 'undefined') {\n this.intersectionObserver = new IntersectionObserver((entries) => {\n const [{ isIntersecting }] = entries\n if (isIntersecting) {\n this.callReady()\n }\n })\n } else {\n warn('Pagination is missing IntersectionObserver supported!')\n }\n }\n\n componentDidMount() {\n if (this._ref.current) {\n this._isMounted = true\n this.intersectionObserver?.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n if (this.intersectionObserver) {\n clearTimeout(this._readyTimeout)\n this.intersectionObserver.disconnect()\n }\n }\n\n callReady = () => {\n this.intersectionObserver?.disconnect()\n this.intersectionObserver = null\n clearTimeout(this._readyTimeout)\n this._readyTimeout = setTimeout(() => {\n if (this._isMounted) {\n this.setState({ isConnected: true })\n }\n this.props.onVisible(this.props.pageNumber)\n }, 1) // because of re-render loop\n }\n\n getContentHeight() {\n let height = 0\n\n try {\n const sibling = getPreviousSibling('dnb-table', this._ref.current)\n height = parseFloat(\n window.getComputedStyle(sibling.querySelector('tbody')).height\n )\n } catch (e) {\n //\n }\n\n return height\n }\n\n render() {\n const { markerElement } = this.props\n\n if (this.state.isConnected || !this.intersectionObserver) {\n return null\n }\n\n // NB: make sure we don't actually use the marker element,\n // because it looks like React as troubles regarding handling ref during a re-render?\n const Element =\n markerElement && isTrElement(markerElement) ? 'tr' : 'div'\n const ElementChild =\n markerElement && isTrElement(markerElement) ? 'td' : 'div'\n\n return (\n <Element className=\"dnb-pagination__marker dnb-table--ignore\">\n <ElementChild\n className=\"dnb-pagination__marker__inner\"\n ref={this._ref}\n >\n {/* {this.props.pageNumber} */}\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class InfinityLoadButton extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n pressed_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon: PropTypes.string.isRequired,\n on_click: PropTypes.func.isRequired,\n }\n static defaultProps = {\n element: 'div',\n pressed_element: null,\n icon: 'arrow_down',\n }\n state = { isPressed: false }\n onClickHandler = (e) => {\n this.setState({ isPressed: true })\n if (typeof this.props.on_click === 'function') {\n this.props.on_click(e)\n }\n }\n render() {\n const { element, icon } = this.props\n const Element = element\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return this.state.isPressed ? (\n this.props.pressed_element\n ) : (\n <Element>\n <ElementChild className=\"dnb-pagination__loadbar\">\n <Button\n size=\"medium\"\n icon={icon}\n icon_position=\"left\"\n text={this.context.translation.Pagination.load_button_text}\n variant=\"secondary\"\n on_click={this.onClickHandler}\n />\n </ElementChild>\n </Element>\n )\n }\n}\n\nclass ScrollToElement extends React.PureComponent {\n static propTypes = {\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n page_element: null,\n }\n componentDidMount() {\n // we use \"findDOMNode\" here, because we have situations, where we don't know about what the input element is,\n // we also don't want to wrap them because of markup collisions\n // therefor we use \"findDOMNode\" here\n // so we can scroll to that page\n // eslint-disable-next-line\n const elem = ReactDOM.findDOMNode(this)\n this.scrollToPage(elem)\n }\n scrollToPage(element) {\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n })\n }\n }\n render() {\n const { page_element, ...props } = this.props\n const Element = preparePageElement(page_element || React.Fragment)\n return <Element {...props} />\n }\n}\n\nInfinityScroller._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"PaginationInfinity.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactDom","_componentHelper","_Context","_Button","_PaginationHelpers","_PaginationContext","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","_extends","assign","bind","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","InfinityScroller","React","PureComponent","constructor","props","context","_this","this","startupPage","startup_count","pagination","startupCount","parseFloat","newPageNo","skipObserver","callStartupEvent","preventWaitForDelay","getNewContent","position","pageCount","endInfinity","exists","items","findIndex","pageNumber","prefillItems","setItems","callEventHandler","hideIndicator","isTrue","hide_progress_indicator","useLoadButton","use_load_button","lastElement","createRef","callOnUnmount","componentWillUnmount","clearTimeout","_startupTimeout","_bufferTimeout","f","waitForReachedTime","fn","params","callbackBuffer","callBuffer","minTime","diff","_lastCall","Date","getTime","waitTime","nextTick","shift","setTimeout","callOnEnd","onDispatch","_ref","createEvent","eventName","isNaN","ret","dispatchCustomElementEvent","handleInfinityMarker","children","lowerPage","upperPage","hasEndedInfinity","parallelLoadCount","current_page","fallback_element","marker_element","indicator_element","Marker","createElement","InteractionMarker","markerElement","onVisible","onPageUpdate","setState","LoadButton","InfinityLoadButton","icon","element","pressed_element","PaginationIndicator","on_click","Fragment","render","placeMakerBeforeContent","page_element","load_button_text","loadButton","startup","useMarkerOnly","Element","preparePageElement","map","_ref2","idx","hasContent","content","ref","ScrollElement","isLastItem","Elem","marker","showIndicator","text","icon_position","iconPosition","event","ScrollToElement","exports","PaginationContext","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","node","func","isConnected","_this$intersectionObs","intersectionObserver","disconnect","_readyTimeout","_isMounted","warn","IntersectionObserver","entries","isIntersecting","callReady","componentDidMount","current","_this$intersectionObs2","observe","getContentHeight","height","sibling","getPreviousSibling","window","getComputedStyle","querySelector","e","state","isTrElement","ElementChild","className","number","isRequired","string","isPressed","size","translation","Pagination","variant","onClickHandler","Context","elem","ReactDOM","findDOMNode","scrollToPage","scrollIntoView","block","behavior","_this$props","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/PaginationInfinity.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDOM from 'react-dom'\nimport {\n warn,\n isTrue,\n dispatchCustomElementEvent,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport Button from '../button/Button'\nimport {\n preparePageElement,\n isTrElement,\n PaginationIndicator,\n} from './PaginationHelpers'\nimport PaginationContext from './PaginationContext'\n\nexport default class InfinityScroller extends React.PureComponent {\n static contextType = PaginationContext\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = { children: null }\n\n constructor(props, context) {\n super(props)\n this.hideIndicator = isTrue(context.pagination.hide_progress_indicator)\n this.useLoadButton = isTrue(context.pagination.use_load_button)\n this.lastElement = React.createRef()\n this.callOnUnmount = []\n }\n\n componentWillUnmount() {\n clearTimeout(this._startupTimeout)\n clearTimeout(this._bufferTimeout)\n this.callOnUnmount.forEach((f) => typeof f === 'function' && f())\n }\n\n startup = () => {\n const { startupPage, startup_count } = this.context.pagination\n const startupCount = parseFloat(startup_count)\n\n let newPageNo, skipObserver, callStartupEvent, preventWaitForDelay\n for (let i = 0; i < startupCount; ++i) {\n newPageNo = startupPage + i\n skipObserver = newPageNo < startupCount\n callStartupEvent = i === 0\n preventWaitForDelay = i <= startupCount - 1\n\n // NB: Looks like we have to do more work here to use a waitBuffer\n this.getNewContent(\n newPageNo,\n {\n position: 'after',\n skipObserver,\n },\n { callStartupEvent, preventWaitForDelay }\n )\n }\n }\n\n getNewContent = (\n newPageNo,\n props = {},\n { callStartupEvent = false, preventWaitForDelay = false } = {}\n ) => {\n const { pageCount, endInfinity } = this.context.pagination\n\n // if \"page_count\" is set do not load more than that value\n if (newPageNo > pageCount) {\n return endInfinity()\n }\n\n const exists =\n this.context.pagination.items.findIndex((obj) => {\n return obj.pageNumber === newPageNo\n }) > -1\n\n if (exists) {\n return // stop here!\n }\n\n const items = this.context.pagination.prefillItems(newPageNo, props)\n\n this.context.pagination.setItems(items, () => {\n this.callEventHandler(newPageNo, {\n callStartupEvent,\n preventWaitForDelay,\n })\n })\n }\n\n waitForReachedTime(fn, params) {\n this.callbackBuffer = this.callbackBuffer || []\n this.callbackBuffer.push({ fn, params })\n this.callBuffer({\n minTime: params.preventWaitForDelay\n ? -1\n : this.context.pagination.minTime,\n })\n }\n\n callBuffer({ minTime = this.context.pagination.minTime } = {}) {\n if (this.callbackBuffer.length === 0) {\n return // stop here\n }\n\n const diff =\n this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0\n const waitTime = diff < minTime ? minTime : 0\n\n const nextTick = () => {\n if (this.callbackBuffer.length > 0) {\n this._lastCall = new Date().getTime()\n const { fn, params } = this.callbackBuffer.shift()\n fn(params)\n this.callBuffer({\n minTime: params.preventWaitForDelay ? -1 : minTime,\n })\n }\n }\n\n if (minTime > 0) {\n clearTimeout(this._bufferTimeout)\n this._bufferTimeout = setTimeout(nextTick, waitTime)\n } else {\n nextTick()\n }\n }\n\n callEventHandler(\n pageNumber,\n {\n callStartupEvent = false,\n preventWaitForDelay = false,\n callOnEnd = false,\n onDispatch = null,\n } = {}\n ) {\n this.waitForReachedTime(\n ({ pageNumber, callStartupEvent }) => {\n const context = this.context.pagination\n const createEvent = (eventName) => {\n if (isNaN(pageNumber)) {\n pageNumber = 1\n }\n const ret = dispatchCustomElementEvent(context, eventName, {\n pageNumber,\n ...context,\n })\n\n if (typeof onDispatch === 'function') {\n onDispatch()\n }\n\n if (typeof ret === 'function') {\n this.callOnUnmount.push(ret)\n }\n }\n\n if (callOnEnd) {\n createEvent('on_end')\n } else {\n if (callStartupEvent) {\n createEvent('on_startup')\n } else {\n createEvent('on_change')\n }\n\n createEvent('on_load')\n }\n },\n { pageNumber, callStartupEvent, preventWaitForDelay }\n )\n }\n\n handleInfinityMarker() {\n const { children } = this.props\n\n const {\n // our states\n lowerPage,\n upperPage,\n pageCount,\n hasEndedInfinity,\n parallelLoadCount,\n\n // our props\n current_page,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n const Marker = () => (\n <InteractionMarker\n pageNumber={upperPage}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n upperPage: newPageNo,\n skipObserver: i + 1 < parallelLoadCount,\n })\n })\n this.callEventHandler(newPageNo)\n }\n }}\n />\n )\n\n const LoadButton = () => (\n <InfinityLoadButton\n icon=\"arrow_up\"\n element={fallback_element}\n pressed_element={\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n }\n on_click={() => {\n const newPageNo = lowerPage - 1\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n lowerPage: newPageNo,\n })\n })\n this.callEventHandler(newPageNo)\n }}\n />\n )\n\n return (\n <>\n {parseFloat(current_page) > 0 && lowerPage > 1 && <LoadButton />}\n\n {children}\n\n {!hasEndedInfinity &&\n parseFloat(current_page) > 0 &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <Marker />\n )}\n\n {!hasEndedInfinity &&\n !this.hideIndicator &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </>\n )\n }\n\n render() {\n const {\n // our states\n items,\n pageCount,\n startupPage,\n hasEndedInfinity,\n parallelLoadCount,\n placeMakerBeforeContent,\n\n // our props\n page_element,\n fallback_element,\n marker_element,\n indicator_element,\n load_button_text,\n loadButton,\n } = this.context.pagination\n\n // invoke startup if needed\n if (!(items && items.length > 0)) {\n clearTimeout(this._startupTimeout)\n this._startupTimeout = setTimeout(this.startup, 1) // call startup()\n return null // stop here\n }\n\n if (this.context.pagination.useMarkerOnly) {\n return this.handleInfinityMarker()\n }\n\n // make sure we handle Table markup correctly\n const Element = preparePageElement(page_element || React.Fragment)\n\n return items.map(\n (\n {\n pageNumber,\n hasContent,\n content,\n ref,\n skipObserver,\n ScrollElement,\n },\n idx\n ) => {\n const isLastItem = idx === items.length - 1\n\n // decide to whether use the default Element, or use the scrollTo element\n const Elem = (hasContent && ScrollElement) || Element\n\n // render the marker before\n const marker = hasContent &&\n !this.useLoadButton &&\n !skipObserver &&\n !hasEndedInfinity &&\n (typeof pageCount === 'undefined' ||\n pageNumber <= pageCount) && (\n <InteractionMarker\n pageNumber={pageNumber}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n this.getNewContent(newPageNo, {\n position: 'after',\n skipObserver: i + 1 < parallelLoadCount,\n })\n }\n }}\n />\n )\n\n const showIndicator =\n (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) &&\n !hasContent &&\n !this.hideIndicator\n\n return (\n <Elem key={pageNumber} ref={ref}>\n {hasContent &&\n startupPage > 1 &&\n pageNumber > 1 &&\n pageNumber <= startupPage && (\n <InfinityLoadButton\n element={\n typeof loadButton === 'function'\n ? loadButton\n : fallback_element\n }\n icon=\"arrow_up\"\n text={load_button_text ?? loadButton?.text}\n icon_position={loadButton?.iconPosition}\n on_click={(event) =>\n this.getNewContent(pageNumber - 1, {\n position: 'before',\n skipObserver: true,\n event,\n })\n }\n />\n )}\n\n {placeMakerBeforeContent && marker}\n {content}\n {!placeMakerBeforeContent && marker}\n\n {showIndicator && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n\n {hasContent &&\n this.useLoadButton &&\n isLastItem &&\n (typeof pageCount === 'undefined' ||\n pageNumber < pageCount) && (\n <InfinityLoadButton\n element={\n typeof loadButton === 'function'\n ? loadButton\n : fallback_element\n }\n text={load_button_text ?? loadButton?.text}\n icon_position={loadButton?.iconPosition}\n icon=\"arrow_down\"\n on_click={(event) =>\n this.getNewContent(pageNumber + 1, {\n position: 'after',\n skipObserver: true,\n ScrollElement: (props) =>\n hasContent && (\n <ScrollToElement\n page_element={page_element}\n {...props}\n />\n ),\n event,\n })\n }\n />\n )}\n </Elem>\n )\n }\n )\n }\n}\n\nclass InteractionMarker extends React.PureComponent {\n static propTypes = {\n pageNumber: PropTypes.number.isRequired,\n onVisible: PropTypes.func.isRequired,\n markerElement: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n markerElement: null,\n }\n state = { isConnected: false }\n\n constructor(props) {\n super(props)\n\n if (typeof props.markerElement === 'function') {\n warn(\n 'Pagination: Please use a string or React element e.g. marker_element=\"tr\"'\n )\n }\n\n this._ref = React.createRef()\n\n if (typeof IntersectionObserver !== 'undefined') {\n this.intersectionObserver = new IntersectionObserver((entries) => {\n const [{ isIntersecting }] = entries\n if (isIntersecting) {\n this.callReady()\n }\n })\n } else {\n warn('Pagination is missing IntersectionObserver supported!')\n }\n }\n\n componentDidMount() {\n if (this._ref.current) {\n this._isMounted = true\n this.intersectionObserver?.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n if (this.intersectionObserver) {\n clearTimeout(this._readyTimeout)\n this.intersectionObserver.disconnect()\n }\n }\n\n callReady = () => {\n this.intersectionObserver?.disconnect()\n this.intersectionObserver = null\n clearTimeout(this._readyTimeout)\n this._readyTimeout = setTimeout(() => {\n if (this._isMounted) {\n this.setState({ isConnected: true })\n }\n this.props.onVisible(this.props.pageNumber)\n }, 1) // because of re-render loop\n }\n\n getContentHeight() {\n let height = 0\n\n try {\n const sibling = getPreviousSibling('dnb-table', this._ref.current)\n height = parseFloat(\n window.getComputedStyle(sibling.querySelector('tbody')).height\n )\n } catch (e) {\n //\n }\n\n return height\n }\n\n render() {\n const { markerElement } = this.props\n\n if (this.state.isConnected || !this.intersectionObserver) {\n return null\n }\n\n // NB: make sure we don't actually use the marker element,\n // because it looks like React as troubles regarding handling ref during a re-render?\n const Element =\n markerElement && isTrElement(markerElement) ? 'tr' : 'div'\n const ElementChild =\n markerElement && isTrElement(markerElement) ? 'td' : 'div'\n\n return (\n <Element className=\"dnb-pagination__marker dnb-table--ignore\">\n <ElementChild\n className=\"dnb-pagination__marker__inner\"\n ref={this._ref}\n >\n {/* {this.props.pageNumber} */}\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class InfinityLoadButton extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n pressed_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon: PropTypes.string.isRequired,\n on_click: PropTypes.func.isRequired,\n text: PropTypes.string,\n icon_position: PropTypes.string,\n }\n static defaultProps = {\n element: 'div',\n pressed_element: null,\n icon: 'arrow_down',\n text: null,\n icon_position: 'left',\n }\n state = { isPressed: false }\n onClickHandler = (e) => {\n this.setState({ isPressed: true })\n if (typeof this.props.on_click === 'function') {\n this.props.on_click(e)\n }\n }\n render() {\n const { element, icon, text, icon_position } = this.props\n const Element = element\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return this.state.isPressed ? (\n this.props.pressed_element\n ) : (\n <Element>\n <ElementChild className=\"dnb-pagination__loadbar\">\n <Button\n size=\"medium\"\n icon={icon}\n icon_position={icon_position}\n text={\n text || this.context.translation.Pagination.load_button_text\n }\n variant=\"secondary\"\n on_click={this.onClickHandler}\n />\n </ElementChild>\n </Element>\n )\n }\n}\n\nclass ScrollToElement extends React.PureComponent {\n static propTypes = {\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n page_element: null,\n }\n componentDidMount() {\n // we use \"findDOMNode\" here, because we have situations, where we don't know about what the input element is,\n // we also don't want to wrap them because of markup collisions\n // therefor we use \"findDOMNode\" here\n // so we can scroll to that page\n // eslint-disable-next-line\n const elem = ReactDOM.findDOMNode(this)\n this.scrollToPage(elem)\n }\n scrollToPage(element) {\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n })\n }\n }\n render() {\n const { page_element, ...props } = this.props\n const Element = preparePageElement(page_element || React.Fragment)\n return <Element {...props} />\n }\n}\n\nInfinityScroller._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Ajv } from '../utils/ajv';
3
- import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps } from '../types';
3
+ import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps, OnChange } from '../types';
4
4
  import { Props as ProviderProps } from './Provider';
5
5
  type HandleSubmitProps = {
6
6
  formElement?: HTMLFormElement;
@@ -58,7 +58,7 @@ export interface ContextState {
58
58
  handleUnMountField: (path: Path) => void;
59
59
  setFormState?: (state: SubmitState) => void;
60
60
  setSubmitState?: (state: EventStateObject) => void;
61
- addOnChangeHandler?: (callback: (data: unknown) => void) => void;
61
+ addOnChangeHandler?: (callback: OnChange) => void;
62
62
  handleSubmitCall: ({ onSubmit, enableAsyncBehaviour, skipFieldValidation, skipErrorCheck, }: {
63
63
  onSubmit: () => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
64
64
  enableAsyncBehaviour: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit'\n callback: () => void\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: (data: unknown) => void) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldPathsRef?: React.MutableRefObject<Path[]>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAyI5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE3B,SAAS;EAC/B4B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAjC,mBAAA,GAAAA,mBAAA;AAED,MAAMkC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAepC,mBAAmB,CAAC;AAAA,IAAAqC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAlC,OAAA,GAAAsC,QAAA"}
1
+ {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit'\n callback: () => void\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldPathsRef?: React.MutableRefObject<Path[]>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA0I5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE3B,SAAS;EAC/B4B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAjC,mBAAA,GAAAA,mBAAA;AAED,MAAMkC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAepC,mBAAmB,CAAC;AAAA,IAAAqC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAlC,OAAA,GAAAsC,QAAA"}
@@ -35,13 +35,9 @@ export interface Props<Data extends JsonObject> extends IsolationProviderProps<D
35
35
  */
36
36
  errorMessages?: CustomErrorMessagesWithPaths;
37
37
  /**
38
- * Filter the `onSubmit` output data, based on your criteria: `({ path, value, data, props, internal }) => !props?.disabled`. It will iterate on each data entry (/path). Return false to exclude the entry.
38
+ * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.
39
39
  */
40
40
  filterSubmitData?: FilterData;
41
- /**
42
- * @deprecated Use `filterSubmitData` instead
43
- */
44
- filterData?: FilterData;
45
41
  /**
46
42
  * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).
47
43
  */