@amboss/design-system 1.15.2 → 1.15.4

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 (344) hide show
  1. package/build/cjs/build-tokens/_breakpoints.json.js +10 -0
  2. package/build/cjs/build-tokens/_icon_sizes_map.json.js +5 -0
  3. package/build/cjs/build-tokens/_zindex.json.js +10 -0
  4. package/build/cjs/build-tokens/assets/icons.json.js +82 -0
  5. package/build/cjs/build-tokens/assets/icons16.json.js +87 -0
  6. package/build/cjs/build-tokens/assets/logo.json.js +7 -0
  7. package/build/cjs/build-tokens/visualConfig.js +1329 -0
  8. package/build/cjs/scss/themes/dark.scss +111 -0
  9. package/build/cjs/scss/themes/light.scss +111 -0
  10. package/build/cjs/src/components/Badge/Badge.js +63 -0
  11. package/build/cjs/src/components/Box/Box.js +89 -0
  12. package/build/cjs/src/components/Button/Button.js +290 -0
  13. package/build/cjs/src/components/Callout/Callout.js +102 -0
  14. package/build/cjs/src/components/Card/Card.js +69 -0
  15. package/build/cjs/src/components/Card/CardBox.js +23 -0
  16. package/build/cjs/src/components/Card/CardHeader/CardHeader.js +59 -0
  17. package/build/cjs/src/components/Collapsible/Collapsible.js +117 -0
  18. package/build/cjs/src/components/Column/Columns.js +147 -0
  19. package/build/cjs/src/components/Container/Container.js +63 -0
  20. package/build/cjs/src/components/DataTable/DataTable.js +187 -0
  21. package/build/cjs/src/components/DataTable/TableBody.js +161 -0
  22. package/build/cjs/src/components/DataTable/TableCell.js +45 -0
  23. package/build/cjs/src/components/DataTable/TableHeader.js +194 -0
  24. package/build/cjs/src/components/DataTable/useDataTableSort.js +42 -0
  25. package/build/cjs/src/components/Divider/Divider.js +68 -0
  26. package/build/cjs/src/components/DropdownMenu/DropdownMenu.js +227 -0
  27. package/build/cjs/src/components/DropdownMenu/MenuItem.js +103 -0
  28. package/build/cjs/src/components/Form/Checkbox/Checkbox.js +148 -0
  29. package/build/cjs/src/components/Form/FormErrorMessages/FormErrorMessages.js +27 -0
  30. package/build/cjs/src/components/Form/FormField/FormField.js +58 -0
  31. package/build/cjs/src/components/Form/FormFieldGroup/FormFieldGroup.js +55 -0
  32. package/build/cjs/src/components/Form/FormLabelText/FormLabelText.js +42 -0
  33. package/build/cjs/src/components/Form/Input/Input.js +187 -0
  34. package/build/cjs/src/components/Form/PasswordInput/PasswordInput.js +227 -0
  35. package/build/cjs/src/components/Form/Radio/Radio.js +139 -0
  36. package/build/cjs/src/components/Form/RadioButton/RadioButton.js +124 -0
  37. package/build/cjs/src/components/Form/SegmentedControl/SegmentedControl.js +131 -0
  38. package/build/cjs/src/components/Form/SegmentedControl/SegmentedControlOption.js +216 -0
  39. package/build/cjs/src/components/Form/Select/Select.js +291 -0
  40. package/build/cjs/src/components/Form/Textarea/Textarea.js +94 -0
  41. package/build/cjs/src/components/Form/Toggle/Toggle.js +180 -0
  42. package/build/cjs/src/components/Form/ToggleButton/ToggleButton.js +144 -0
  43. package/build/cjs/src/components/Icon/Icon.js +110 -0
  44. package/build/cjs/src/components/Inline/Inline.js +113 -0
  45. package/build/cjs/src/components/Link/Link.js +77 -0
  46. package/build/cjs/src/components/LoadingSpinner/LoadingSpinner.js +84 -0
  47. package/build/cjs/src/components/Logo/Logo.js +44 -0
  48. package/build/cjs/src/components/MediaItem/MediaItem.js +120 -0
  49. package/build/cjs/src/components/MediaViewerBar/MediaViewerBar.js +73 -0
  50. package/build/cjs/src/components/Notification/Notification.js +108 -0
  51. package/build/cjs/src/components/Pagination/Pagination.js +91 -0
  52. package/build/cjs/src/components/Patterns/ButtonGroup/ButtonGroup.js +52 -0
  53. package/build/cjs/src/components/Patterns/Modal/Modal.js +221 -0
  54. package/build/cjs/src/components/PictogramButton/PictogramButton.js +150 -0
  55. package/build/cjs/src/components/Portal/Portal.js +22 -0
  56. package/build/cjs/src/components/ProgressBar/ProgressBar.js +38 -0
  57. package/build/cjs/src/components/RoundButton/RoundButton.js +140 -0
  58. package/build/cjs/src/components/SearchResult/SearchResult.js +184 -0
  59. package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBar.js +110 -0
  60. package/build/cjs/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +42 -0
  61. package/build/cjs/src/components/Stack/Stack.js +80 -0
  62. package/build/cjs/src/components/SubThemeProvider/SubThemeProvider.js +55 -0
  63. package/build/cjs/src/components/Tabs/Tabs.js +137 -0
  64. package/build/cjs/src/components/Tag/Tag.js +90 -0
  65. package/build/cjs/src/components/Tooltip/Tooltip.js +275 -0
  66. package/build/cjs/src/components/Tooltip/utils.js +81 -0
  67. package/build/cjs/src/components/Typography/Header/Header.js +140 -0
  68. package/build/cjs/src/components/Typography/StyledText/StyledText.js +168 -0
  69. package/build/cjs/src/components/Typography/Text/Text.js +71 -0
  70. package/build/cjs/src/components/Typography/TextClamped/TextClamped.js +54 -0
  71. package/build/cjs/src/components/VirtualScrollList/VirtualScrollList.js +116 -0
  72. package/build/cjs/src/components/VirtualScrollList/VirtualScrollListReducer.js +131 -0
  73. package/build/cjs/src/index.js +136 -0
  74. package/build/cjs/src/shared/ScreenReaderText.js +26 -0
  75. package/build/cjs/src/shared/flattenChildren.js +33 -0
  76. package/build/cjs/src/shared/informDeprecation.js +12 -0
  77. package/build/cjs/src/shared/mediaQueries.js +68 -0
  78. package/build/cjs/src/shared/useAutoPosition.js +42 -0
  79. package/build/cjs/src/shared/useDocument.js +7 -0
  80. package/build/cjs/src/shared/useHover.js +26 -0
  81. package/build/cjs/src/shared/useKeyboard.js +43 -0
  82. package/build/cjs/src/shared/useOnEscapePress.js +52 -0
  83. package/build/cjs/src/shared/useOutsideClick.js +33 -0
  84. package/build/cjs/src/shared/useWindow.js +7 -0
  85. package/build/esm/build-tokens/_breakpoints.json +17 -0
  86. package/build/esm/build-tokens/_breakpoints.json.js +4 -0
  87. package/build/esm/build-tokens/_breakpoints.json.js.map +1 -0
  88. package/build/esm/build-tokens/_colors.json +918 -0
  89. package/build/esm/build-tokens/_icon_sizes_map.json +7 -0
  90. package/build/esm/build-tokens/_icon_sizes_map.json.js +4 -0
  91. package/build/esm/build-tokens/_icon_sizes_map.json.js.map +1 -0
  92. package/build/esm/build-tokens/_sizes.json +782 -0
  93. package/build/esm/build-tokens/_subThemeType.d.ts +1 -0
  94. package/build/esm/build-tokens/_zindex.json +17 -0
  95. package/build/esm/build-tokens/_zindex.json.js +4 -0
  96. package/build/esm/build-tokens/_zindex.json.js.map +1 -0
  97. package/build/esm/build-tokens/assets/icons.json +142 -0
  98. package/build/esm/build-tokens/assets/icons.json.js +4 -0
  99. package/build/esm/build-tokens/assets/icons.json.js.map +1 -0
  100. package/build/esm/build-tokens/assets/icons16.json +153 -0
  101. package/build/esm/build-tokens/assets/icons16.json.js +4 -0
  102. package/build/esm/build-tokens/assets/icons16.json.js.map +1 -0
  103. package/build/esm/build-tokens/assets/logo.json +3 -0
  104. package/build/esm/build-tokens/assets/logo.json.js +4 -0
  105. package/build/esm/build-tokens/assets/logo.json.js.map +1 -0
  106. package/build/esm/build-tokens/visualConfig.d.ts +767 -0
  107. package/build/esm/build-tokens/visualConfig.js +1328 -0
  108. package/build/esm/build-tokens/visualConfig.js.map +1 -0
  109. package/build/esm/scss/themes/dark.scss +111 -0
  110. package/build/esm/scss/themes/light.scss +111 -0
  111. package/build/esm/src/components/Badge/Badge.d.ts +11 -0
  112. package/build/esm/src/components/Badge/Badge.js +57 -0
  113. package/build/esm/src/components/Badge/Badge.js.map +1 -0
  114. package/build/esm/src/components/Box/Box.d.ts +35 -0
  115. package/build/esm/src/components/Box/Box.js +82 -0
  116. package/build/esm/src/components/Box/Box.js.map +1 -0
  117. package/build/esm/src/components/Button/Button.d.ts +33 -0
  118. package/build/esm/src/components/Button/Button.js +282 -0
  119. package/build/esm/src/components/Button/Button.js.map +1 -0
  120. package/build/esm/src/components/Callout/Callout.d.ts +14 -0
  121. package/build/esm/src/components/Callout/Callout.js +96 -0
  122. package/build/esm/src/components/Callout/Callout.js.map +1 -0
  123. package/build/esm/src/components/Card/Card.d.ts +16 -0
  124. package/build/esm/src/components/Card/Card.js +63 -0
  125. package/build/esm/src/components/Card/Card.js.map +1 -0
  126. package/build/esm/src/components/Card/CardBox.d.ts +6 -0
  127. package/build/esm/src/components/Card/CardBox.js +18 -0
  128. package/build/esm/src/components/Card/CardBox.js.map +1 -0
  129. package/build/esm/src/components/Card/CardHeader/CardHeader.d.ts +12 -0
  130. package/build/esm/src/components/Card/CardHeader/CardHeader.js +52 -0
  131. package/build/esm/src/components/Card/CardHeader/CardHeader.js.map +1 -0
  132. package/build/esm/src/components/Collapsible/Collapsible.d.ts +15 -0
  133. package/build/esm/src/components/Collapsible/Collapsible.js +110 -0
  134. package/build/esm/src/components/Collapsible/Collapsible.js.map +1 -0
  135. package/build/esm/src/components/Column/Columns.d.ts +45 -0
  136. package/build/esm/src/components/Column/Columns.js +141 -0
  137. package/build/esm/src/components/Column/Columns.js.map +1 -0
  138. package/build/esm/src/components/Container/Container.d.ts +11 -0
  139. package/build/esm/src/components/Container/Container.js +57 -0
  140. package/build/esm/src/components/Container/Container.js.map +1 -0
  141. package/build/esm/src/components/DataTable/DataTable.d.ts +58 -0
  142. package/build/esm/src/components/DataTable/DataTable.js +180 -0
  143. package/build/esm/src/components/DataTable/DataTable.js.map +1 -0
  144. package/build/esm/src/components/DataTable/TableBody.d.ts +9 -0
  145. package/build/esm/src/components/DataTable/TableBody.js +153 -0
  146. package/build/esm/src/components/DataTable/TableBody.js.map +1 -0
  147. package/build/esm/src/components/DataTable/TableCell.d.ts +15 -0
  148. package/build/esm/src/components/DataTable/TableCell.js +38 -0
  149. package/build/esm/src/components/DataTable/TableCell.js.map +1 -0
  150. package/build/esm/src/components/DataTable/TableHeader.d.ts +9 -0
  151. package/build/esm/src/components/DataTable/TableHeader.js +185 -0
  152. package/build/esm/src/components/DataTable/TableHeader.js.map +1 -0
  153. package/build/esm/src/components/DataTable/index.d.ts +4 -0
  154. package/build/esm/src/components/DataTable/types.d.ts +15 -0
  155. package/build/esm/src/components/DataTable/useDataTableSort.d.ts +14 -0
  156. package/build/esm/src/components/DataTable/useDataTableSort.js +41 -0
  157. package/build/esm/src/components/DataTable/useDataTableSort.js.map +1 -0
  158. package/build/esm/src/components/Divider/Divider.d.ts +6 -0
  159. package/build/esm/src/components/Divider/Divider.js +62 -0
  160. package/build/esm/src/components/Divider/Divider.js.map +1 -0
  161. package/build/esm/src/components/DropdownMenu/DropdownMenu.d.ts +35 -0
  162. package/build/esm/src/components/DropdownMenu/DropdownMenu.js +221 -0
  163. package/build/esm/src/components/DropdownMenu/DropdownMenu.js.map +1 -0
  164. package/build/esm/src/components/DropdownMenu/MenuItem.d.ts +19 -0
  165. package/build/esm/src/components/DropdownMenu/MenuItem.js +97 -0
  166. package/build/esm/src/components/DropdownMenu/MenuItem.js.map +1 -0
  167. package/build/esm/src/components/Form/Checkbox/Checkbox.d.ts +26 -0
  168. package/build/esm/src/components/Form/Checkbox/Checkbox.js +141 -0
  169. package/build/esm/src/components/Form/Checkbox/Checkbox.js.map +1 -0
  170. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.d.ts +6 -0
  171. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js +22 -0
  172. package/build/esm/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -0
  173. package/build/esm/src/components/Form/FormField/FormField.d.ts +15 -0
  174. package/build/esm/src/components/Form/FormField/FormField.js +52 -0
  175. package/build/esm/src/components/Form/FormField/FormField.js.map +1 -0
  176. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.d.ts +11 -0
  177. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js +49 -0
  178. package/build/esm/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -0
  179. package/build/esm/src/components/Form/FormLabelText/FormLabelText.d.ts +7 -0
  180. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js +36 -0
  181. package/build/esm/src/components/Form/FormLabelText/FormLabelText.js.map +1 -0
  182. package/build/esm/src/components/Form/Input/Input.d.ts +78 -0
  183. package/build/esm/src/components/Form/Input/Input.js +179 -0
  184. package/build/esm/src/components/Form/Input/Input.js.map +1 -0
  185. package/build/esm/src/components/Form/Input/index.d.ts +2 -0
  186. package/build/esm/src/components/Form/PasswordInput/PasswordInput.d.ts +76 -0
  187. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js +219 -0
  188. package/build/esm/src/components/Form/PasswordInput/PasswordInput.js.map +1 -0
  189. package/build/esm/src/components/Form/PasswordInput/index.d.ts +2 -0
  190. package/build/esm/src/components/Form/Radio/Radio.d.ts +24 -0
  191. package/build/esm/src/components/Form/Radio/Radio.js +132 -0
  192. package/build/esm/src/components/Form/Radio/Radio.js.map +1 -0
  193. package/build/esm/src/components/Form/RadioButton/RadioButton.d.ts +17 -0
  194. package/build/esm/src/components/Form/RadioButton/RadioButton.js +117 -0
  195. package/build/esm/src/components/Form/RadioButton/RadioButton.js.map +1 -0
  196. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.d.ts +31 -0
  197. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.js +124 -0
  198. package/build/esm/src/components/Form/SegmentedControl/SegmentedControl.js.map +1 -0
  199. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.d.ts +8 -0
  200. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.js +210 -0
  201. package/build/esm/src/components/Form/SegmentedControl/SegmentedControlOption.js.map +1 -0
  202. package/build/esm/src/components/Form/Select/Select.d.ts +23 -0
  203. package/build/esm/src/components/Form/Select/Select.js +284 -0
  204. package/build/esm/src/components/Form/Select/Select.js.map +1 -0
  205. package/build/esm/src/components/Form/Textarea/Textarea.d.ts +48 -0
  206. package/build/esm/src/components/Form/Textarea/Textarea.js +87 -0
  207. package/build/esm/src/components/Form/Textarea/Textarea.js.map +1 -0
  208. package/build/esm/src/components/Form/Toggle/Toggle.d.ts +32 -0
  209. package/build/esm/src/components/Form/Toggle/Toggle.js +173 -0
  210. package/build/esm/src/components/Form/Toggle/Toggle.js.map +1 -0
  211. package/build/esm/src/components/Form/ToggleButton/ToggleButton.d.ts +26 -0
  212. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js +137 -0
  213. package/build/esm/src/components/Form/ToggleButton/ToggleButton.js.map +1 -0
  214. package/build/esm/src/components/Icon/Icon.d.ts +22 -0
  215. package/build/esm/src/components/Icon/Icon.js +104 -0
  216. package/build/esm/src/components/Icon/Icon.js.map +1 -0
  217. package/build/esm/src/components/Inline/Inline.d.ts +30 -0
  218. package/build/esm/src/components/Inline/Inline.js +107 -0
  219. package/build/esm/src/components/Inline/Inline.js.map +1 -0
  220. package/build/esm/src/components/Link/Link.d.ts +14 -0
  221. package/build/esm/src/components/Link/Link.js +70 -0
  222. package/build/esm/src/components/Link/Link.js.map +1 -0
  223. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.d.ts +11 -0
  224. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js +78 -0
  225. package/build/esm/src/components/LoadingSpinner/LoadingSpinner.js.map +1 -0
  226. package/build/esm/src/components/Logo/Logo.d.ts +8 -0
  227. package/build/esm/src/components/Logo/Logo.js +38 -0
  228. package/build/esm/src/components/Logo/Logo.js.map +1 -0
  229. package/build/esm/src/components/MediaItem/MediaItem.d.ts +14 -0
  230. package/build/esm/src/components/MediaItem/MediaItem.js +114 -0
  231. package/build/esm/src/components/MediaItem/MediaItem.js.map +1 -0
  232. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.d.ts +7 -0
  233. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js +67 -0
  234. package/build/esm/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -0
  235. package/build/esm/src/components/Notification/ExpandedContent.d.ts +2 -0
  236. package/build/esm/src/components/Notification/Notification.d.ts +16 -0
  237. package/build/esm/src/components/Notification/Notification.js +102 -0
  238. package/build/esm/src/components/Notification/Notification.js.map +1 -0
  239. package/build/esm/src/components/Pagination/Pagination.d.ts +17 -0
  240. package/build/esm/src/components/Pagination/Pagination.js +86 -0
  241. package/build/esm/src/components/Pagination/Pagination.js.map +1 -0
  242. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.d.ts +14 -0
  243. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js +46 -0
  244. package/build/esm/src/components/Patterns/ButtonGroup/ButtonGroup.js.map +1 -0
  245. package/build/esm/src/components/Patterns/Modal/Modal.d.ts +28 -0
  246. package/build/esm/src/components/Patterns/Modal/Modal.js +214 -0
  247. package/build/esm/src/components/Patterns/Modal/Modal.js.map +1 -0
  248. package/build/esm/src/components/PictogramButton/PictogramButton.d.ts +15 -0
  249. package/build/esm/src/components/PictogramButton/PictogramButton.js +143 -0
  250. package/build/esm/src/components/PictogramButton/PictogramButton.js.map +1 -0
  251. package/build/esm/src/components/Portal/Portal.d.ts +7 -0
  252. package/build/esm/src/components/Portal/Portal.js +16 -0
  253. package/build/esm/src/components/Portal/Portal.js.map +1 -0
  254. package/build/esm/src/components/ProgressBar/ProgressBar.d.ts +15 -0
  255. package/build/esm/src/components/ProgressBar/ProgressBar.js +33 -0
  256. package/build/esm/src/components/ProgressBar/ProgressBar.js.map +1 -0
  257. package/build/esm/src/components/RoundButton/RoundButton.d.ts +12 -0
  258. package/build/esm/src/components/RoundButton/RoundButton.js +133 -0
  259. package/build/esm/src/components/RoundButton/RoundButton.js.map +1 -0
  260. package/build/esm/src/components/SearchResult/SearchResult.d.ts +43 -0
  261. package/build/esm/src/components/SearchResult/SearchResult.js +178 -0
  262. package/build/esm/src/components/SearchResult/SearchResult.js.map +1 -0
  263. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.d.ts +28 -0
  264. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js +104 -0
  265. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -0
  266. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.d.ts +10 -0
  267. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +40 -0
  268. package/build/esm/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js.map +1 -0
  269. package/build/esm/src/components/ShadowWebComponent/ShadowWebComponent.d.ts +13 -0
  270. package/build/esm/src/components/Stack/Stack.d.ts +20 -0
  271. package/build/esm/src/components/Stack/Stack.js +74 -0
  272. package/build/esm/src/components/Stack/Stack.js.map +1 -0
  273. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.d.ts +8 -0
  274. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js +50 -0
  275. package/build/esm/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -0
  276. package/build/esm/src/components/Tabs/Tabs.d.ts +28 -0
  277. package/build/esm/src/components/Tabs/Tabs.js +130 -0
  278. package/build/esm/src/components/Tabs/Tabs.js.map +1 -0
  279. package/build/esm/src/components/Tag/Tag.d.ts +18 -0
  280. package/build/esm/src/components/Tag/Tag.js +84 -0
  281. package/build/esm/src/components/Tag/Tag.js.map +1 -0
  282. package/build/esm/src/components/Tooltip/Tooltip.d.ts +23 -0
  283. package/build/esm/src/components/Tooltip/Tooltip.js +269 -0
  284. package/build/esm/src/components/Tooltip/Tooltip.js.map +1 -0
  285. package/build/esm/src/components/Tooltip/utils.d.ts +11 -0
  286. package/build/esm/src/components/Tooltip/utils.js +75 -0
  287. package/build/esm/src/components/Tooltip/utils.js.map +1 -0
  288. package/build/esm/src/components/Typography/Header/Header.d.ts +36 -0
  289. package/build/esm/src/components/Typography/Header/Header.js +130 -0
  290. package/build/esm/src/components/Typography/Header/Header.js.map +1 -0
  291. package/build/esm/src/components/Typography/StyledText/StyledText.d.ts +11 -0
  292. package/build/esm/src/components/Typography/StyledText/StyledText.js +161 -0
  293. package/build/esm/src/components/Typography/StyledText/StyledText.js.map +1 -0
  294. package/build/esm/src/components/Typography/Text/Text.d.ts +21 -0
  295. package/build/esm/src/components/Typography/Text/Text.js +65 -0
  296. package/build/esm/src/components/Typography/Text/Text.js.map +1 -0
  297. package/build/esm/src/components/Typography/TextClamped/TextClamped.d.ts +10 -0
  298. package/build/esm/src/components/Typography/TextClamped/TextClamped.js +47 -0
  299. package/build/esm/src/components/Typography/TextClamped/TextClamped.js.map +1 -0
  300. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.d.ts +11 -0
  301. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js +110 -0
  302. package/build/esm/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -0
  303. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.d.ts +36 -0
  304. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.js +130 -0
  305. package/build/esm/src/components/VirtualScrollList/VirtualScrollListReducer.js.map +1 -0
  306. package/build/esm/src/index.d.ts +53 -0
  307. package/build/esm/src/index.js +60 -0
  308. package/build/esm/src/index.js.map +1 -0
  309. package/build/esm/src/shared/ScreenReaderText.d.ts +5 -0
  310. package/build/esm/src/shared/ScreenReaderText.js +21 -0
  311. package/build/esm/src/shared/ScreenReaderText.js.map +1 -0
  312. package/build/esm/src/shared/flattenChildren.d.ts +11 -0
  313. package/build/esm/src/shared/flattenChildren.js +32 -0
  314. package/build/esm/src/shared/flattenChildren.js.map +1 -0
  315. package/build/esm/src/shared/informDeprecation.d.ts +1 -0
  316. package/build/esm/src/shared/informDeprecation.js +11 -0
  317. package/build/esm/src/shared/informDeprecation.js.map +1 -0
  318. package/build/esm/src/shared/mediaQueries.d.ts +14 -0
  319. package/build/esm/src/shared/mediaQueries.js +66 -0
  320. package/build/esm/src/shared/mediaQueries.js.map +1 -0
  321. package/build/esm/src/shared/replaceDeprecated.d.ts +1 -0
  322. package/build/esm/src/shared/useAutoPosition.d.ts +5 -0
  323. package/build/esm/src/shared/useAutoPosition.js +41 -0
  324. package/build/esm/src/shared/useAutoPosition.js.map +1 -0
  325. package/build/esm/src/shared/useDocument.d.ts +1 -0
  326. package/build/esm/src/shared/useDocument.js +6 -0
  327. package/build/esm/src/shared/useDocument.js.map +1 -0
  328. package/build/esm/src/shared/useHover.d.ts +2 -0
  329. package/build/esm/src/shared/useHover.js +25 -0
  330. package/build/esm/src/shared/useHover.js.map +1 -0
  331. package/build/esm/src/shared/useKeyboard.d.ts +17 -0
  332. package/build/esm/src/shared/useKeyboard.js +42 -0
  333. package/build/esm/src/shared/useKeyboard.js.map +1 -0
  334. package/build/esm/src/shared/useOnEscapePress.d.ts +2 -0
  335. package/build/esm/src/shared/useOnEscapePress.js +51 -0
  336. package/build/esm/src/shared/useOnEscapePress.js.map +1 -0
  337. package/build/esm/src/shared/useOutsideClick.d.ts +11 -0
  338. package/build/esm/src/shared/useOutsideClick.js +32 -0
  339. package/build/esm/src/shared/useOutsideClick.js.map +1 -0
  340. package/build/esm/src/shared/useWindow.d.ts +1 -0
  341. package/build/esm/src/shared/useWindow.js +6 -0
  342. package/build/esm/src/shared/useWindow.js.map +1 -0
  343. package/build/esm/src/types/index.d.ts +57 -0
  344. package/package.json +2 -2
@@ -0,0 +1,168 @@
1
+ 'use strict';
2
+
3
+ var _styled = require('@emotion/styled/base');
4
+ var React = require('react');
5
+ var Text = require('../Text/Text.js');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
10
+ var React__default = /*#__PURE__*/_interopDefault(React);
11
+
12
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
13
+ const Italic = /*#__PURE__*/_styled__default.default("i", process.env.NODE_ENV === "production" ? {
14
+ target: "e1v2v1iq1"
15
+ } : {
16
+ target: "e1v2v1iq1",
17
+ label: "Italic"
18
+ })(process.env.NODE_ENV === "production" ? {
19
+ name: "1jwcxx3",
20
+ styles: "font-style:italic"
21
+ } : {
22
+ name: "1jwcxx3",
23
+ styles: "font-style:italic",
24
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0eWxlZFRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNlIiwiZmlsZSI6IlN0eWxlZFRleHQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1RleHQvVGV4dFwiO1xuXG5leHBvcnQgdHlwZSBGb3JtYXR0ZWRFbGVtZW50UHJvcHMgPSB7XG4gIGtleTogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nIHwgUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5jb25zdCBJdGFsaWMgPSBzdHlsZWQuaSh7IGZvbnRTdHlsZTogXCJpdGFsaWNcIiB9KTtcbmNvbnN0IEJvbGQgPSBzdHlsZWQuYih7IGZvbnRXZWlnaHQ6IFwiYm9sZGVyXCIgfSk7XG5cbmNvbnN0IENvbXBvbmVudHM6IFJlY29yZDxcbiAgc3RyaW5nLFxuICAocHJvcHM6IEZvcm1hdHRlZEVsZW1lbnRQcm9wcykgPT4gUmVhY3QuUmVhY3ROb2RlXG4+ID0ge1xuICBiOiAoeyBrZXksIGNoaWxkcmVuIH0pID0+IDxCb2xkIGtleT17a2V5fT57Y2hpbGRyZW59PC9Cb2xkPixcbiAgaTogKHsga2V5LCBjaGlsZHJlbiB9KSA9PiA8SXRhbGljIGtleT17a2V5fT57Y2hpbGRyZW59PC9JdGFsaWM+LFxuICBwOiAoeyBrZXksIGNoaWxkcmVuIH0pID0+IChcbiAgICA8VGV4dCBrZXk9e2tleX0gYXM9XCJwXCIgdmFyaWFudD1cInNlY29uZGFyeVwiPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvVGV4dD5cbiAgKSxcbiAgc21hbGw6ICh7IGtleSwgY2hpbGRyZW4gfSkgPT4gKFxuICAgIDxUZXh0IGtleT17a2V5fSBhcz1cInNwYW5cIiB2YXJpYW50PVwidGVydGlhcnlcIj5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1RleHQ+XG4gICksXG4gIHN1cDogKHsga2V5LCBjaGlsZHJlbiB9KSA9PiA8c3VwIGtleT17a2V5fT57Y2hpbGRyZW59PC9zdXA+LFxuICBzdWI6ICh7IGtleSwgY2hpbGRyZW4gfSkgPT4gPHN1YiBrZXk9e2tleX0+e2NoaWxkcmVufTwvc3ViPixcbn07XG5cbmNvbnN0IGdldE5vZGVzID0gKFxuICBzdHJpbmc6IHN0cmluZ1xuKTogeyBlbGVtZW50TmFtZTogc3RyaW5nOyBwcmV2OiBzdHJpbmc7IG5vZGU6IHN0cmluZzsgbmV4dDogc3RyaW5nIH0gfCBudWxsID0+IHtcbiAgY29uc3QgZWxlbWVudE5hbWVzID0gT2JqZWN0LmtleXMoQ29tcG9uZW50cykuam9pbihcInxcIik7XG4gIGNvbnN0IGVsZW1lbnRSZWdleCA9IG5ldyBSZWdFeHAoYDwoJHtlbGVtZW50TmFtZXN9KT4uKjwvXFxcXDE+YCk7XG4gIGNvbnN0IGVsZW1lbnRNYXRjaCA9IGVsZW1lbnRSZWdleC5leGVjKHN0cmluZyk7XG5cbiAgaWYgKCFlbGVtZW50TWF0Y2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudE1hdGNoWzFdO1xuICBjb25zdCBvcGVuaW5nVGFnU3RhcnRJbmRleCA9IGVsZW1lbnRNYXRjaC5pbmRleDtcbiAgY29uc3Qgb3BlbmluZ1RhZ0VuZEluZGV4ID0gZWxlbWVudE1hdGNoLmluZGV4ICsgZWxlbWVudE5hbWUubGVuZ3RoICsgMjtcbiAgbGV0IG51bWJlck9wZW5UYWdzID0gMTtcblxuICBjb25zdCBlbGVtZW50VGFnc1JlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICBgKDwke2VsZW1lbnROYW1lfT4pfCg8LyR7ZWxlbWVudE5hbWV9PilgLFxuICAgIFwiZ1wiXG4gICk7XG4gIGxldCBjdXJyZW50VGFnTWF0Y2ggPSBlbGVtZW50VGFnc1JlZ2V4LmV4ZWMoc3RyaW5nKTtcbiAgbGV0IGNsb3NpbmdUYWdTdGFydEluZGV4O1xuICBsZXQgY2xvc2luZ1RhZ0VuZEluZGV4O1xuXG4gIGRvIHtcbiAgICBpZiAoY3VycmVudFRhZ01hdGNoLmluZGV4ID4gb3BlbmluZ1RhZ1N0YXJ0SW5kZXgpIHtcbiAgICAgIGlmIChjdXJyZW50VGFnTWF0Y2hbMV0pIHtcbiAgICAgICAgbnVtYmVyT3BlblRhZ3MgKz0gMTtcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFRhZ01hdGNoWzJdKSB7XG4gICAgICAgIG51bWJlck9wZW5UYWdzIC09IDE7XG4gICAgICAgIGNsb3NpbmdUYWdTdGFydEluZGV4ID0gY3VycmVudFRhZ01hdGNoLmluZGV4O1xuICAgICAgICBjbG9zaW5nVGFnRW5kSW5kZXggPSBjbG9zaW5nVGFnU3RhcnRJbmRleCArIGN1cnJlbnRUYWdNYXRjaFsyXS5sZW5ndGg7XG4gICAgICB9XG4gICAgfVxuICAgIGN1cnJlbnRUYWdNYXRjaCA9IGVsZW1lbnRUYWdzUmVnZXguZXhlYyhzdHJpbmcpO1xuICAgIGlmICghY3VycmVudFRhZ01hdGNoKSBicmVhaztcbiAgfSB3aGlsZSAobnVtYmVyT3BlblRhZ3MgPiAwKTtcblxuICByZXR1cm4ge1xuICAgIGVsZW1lbnROYW1lLFxuICAgIHByZXY6IHN0cmluZy5zbGljZSgwLCBvcGVuaW5nVGFnU3RhcnRJbmRleCksXG4gICAgbm9kZTogc3RyaW5nLnNsaWNlKG9wZW5pbmdUYWdFbmRJbmRleCwgY2xvc2luZ1RhZ1N0YXJ0SW5kZXgpLFxuICAgIG5leHQ6IHN0cmluZy5zbGljZShjbG9zaW5nVGFnRW5kSW5kZXgpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ha2VTdHlsZWRKU1ggPSAoXG4gIHN0cmluZzogc3RyaW5nXG4pOiBSZWFjdC5SZWFjdE5vZGVbXSB8IHN0cmluZyB8IG51bGwgPT4ge1xuICBpZiAoIXN0cmluZyB8fCBzdHJpbmcubGVuZ3RoIDwgMSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9kZXMgPSBnZXROb2RlcyhzdHJpbmcpO1xuICBpZiAoIW5vZGVzKSB7XG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHsgZWxlbWVudE5hbWUsIHByZXYsIG5vZGUsIG5leHQgfSA9IG5vZGVzO1xuXG4gIHJldHVybiBbXG4gICAgcHJldixcbiAgICBDb21wb25lbnRzW2VsZW1lbnROYW1lXSh7IGtleTogbm9kZSwgY2hpbGRyZW46IG1ha2VTdHlsZWRKU1gobm9kZSkgfSksXG4gICAgbWFrZVN0eWxlZEpTWChuZXh0KSxcbiAgXS5maWx0ZXIoKGkpID0+IGkgIT09IG51bGwgJiYgaSAhPT0gXCJcIiAmJiAhKEFycmF5LmlzQXJyYXkoaSkgJiYgIWkubGVuZ3RoKSk7XG59O1xuXG5leHBvcnQgdHlwZSBTdHlsZWRUZXh0UHJvcHMgPSB7XG4gIC8qIFRoZSBzdHJpbmdpZmllZCBtYXJrdXAgdG8gYmUgcmVuZGVyZWQgKi9cbiAgY2hpbGRyZW46IHN0cmluZztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gU3R5bGVkVGV4dCh7XG4gIGNoaWxkcmVuLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFN0eWxlZFRleHRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gIT09IFwic3RyaW5nXCIpIHJldHVybiBjaGlsZHJlbjtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9IGRhdGEtZHMtaWQ9XCJTdHlsZWRUZXh0XCI+XG4gICAgICB7bWFrZVN0eWxlZEpTWChjaGlsZHJlbil9XG4gICAgPC9zcGFuPlxuICApO1xufVxuIl19 */",
25
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
26
+ });
27
+ const Bold = /*#__PURE__*/_styled__default.default("b", process.env.NODE_ENV === "production" ? {
28
+ target: "e1v2v1iq0"
29
+ } : {
30
+ target: "e1v2v1iq0",
31
+ label: "Bold"
32
+ })(process.env.NODE_ENV === "production" ? {
33
+ name: "d3kzo8",
34
+ styles: "font-weight:bolder"
35
+ } : {
36
+ name: "d3kzo8",
37
+ styles: "font-weight:bolder",
38
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0eWxlZFRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVhIiwiZmlsZSI6IlN0eWxlZFRleHQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1RleHQvVGV4dFwiO1xuXG5leHBvcnQgdHlwZSBGb3JtYXR0ZWRFbGVtZW50UHJvcHMgPSB7XG4gIGtleTogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nIHwgUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5jb25zdCBJdGFsaWMgPSBzdHlsZWQuaSh7IGZvbnRTdHlsZTogXCJpdGFsaWNcIiB9KTtcbmNvbnN0IEJvbGQgPSBzdHlsZWQuYih7IGZvbnRXZWlnaHQ6IFwiYm9sZGVyXCIgfSk7XG5cbmNvbnN0IENvbXBvbmVudHM6IFJlY29yZDxcbiAgc3RyaW5nLFxuICAocHJvcHM6IEZvcm1hdHRlZEVsZW1lbnRQcm9wcykgPT4gUmVhY3QuUmVhY3ROb2RlXG4+ID0ge1xuICBiOiAoeyBrZXksIGNoaWxkcmVuIH0pID0+IDxCb2xkIGtleT17a2V5fT57Y2hpbGRyZW59PC9Cb2xkPixcbiAgaTogKHsga2V5LCBjaGlsZHJlbiB9KSA9PiA8SXRhbGljIGtleT17a2V5fT57Y2hpbGRyZW59PC9JdGFsaWM+LFxuICBwOiAoeyBrZXksIGNoaWxkcmVuIH0pID0+IChcbiAgICA8VGV4dCBrZXk9e2tleX0gYXM9XCJwXCIgdmFyaWFudD1cInNlY29uZGFyeVwiPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvVGV4dD5cbiAgKSxcbiAgc21hbGw6ICh7IGtleSwgY2hpbGRyZW4gfSkgPT4gKFxuICAgIDxUZXh0IGtleT17a2V5fSBhcz1cInNwYW5cIiB2YXJpYW50PVwidGVydGlhcnlcIj5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1RleHQ+XG4gICksXG4gIHN1cDogKHsga2V5LCBjaGlsZHJlbiB9KSA9PiA8c3VwIGtleT17a2V5fT57Y2hpbGRyZW59PC9zdXA+LFxuICBzdWI6ICh7IGtleSwgY2hpbGRyZW4gfSkgPT4gPHN1YiBrZXk9e2tleX0+e2NoaWxkcmVufTwvc3ViPixcbn07XG5cbmNvbnN0IGdldE5vZGVzID0gKFxuICBzdHJpbmc6IHN0cmluZ1xuKTogeyBlbGVtZW50TmFtZTogc3RyaW5nOyBwcmV2OiBzdHJpbmc7IG5vZGU6IHN0cmluZzsgbmV4dDogc3RyaW5nIH0gfCBudWxsID0+IHtcbiAgY29uc3QgZWxlbWVudE5hbWVzID0gT2JqZWN0LmtleXMoQ29tcG9uZW50cykuam9pbihcInxcIik7XG4gIGNvbnN0IGVsZW1lbnRSZWdleCA9IG5ldyBSZWdFeHAoYDwoJHtlbGVtZW50TmFtZXN9KT4uKjwvXFxcXDE+YCk7XG4gIGNvbnN0IGVsZW1lbnRNYXRjaCA9IGVsZW1lbnRSZWdleC5leGVjKHN0cmluZyk7XG5cbiAgaWYgKCFlbGVtZW50TWF0Y2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudE1hdGNoWzFdO1xuICBjb25zdCBvcGVuaW5nVGFnU3RhcnRJbmRleCA9IGVsZW1lbnRNYXRjaC5pbmRleDtcbiAgY29uc3Qgb3BlbmluZ1RhZ0VuZEluZGV4ID0gZWxlbWVudE1hdGNoLmluZGV4ICsgZWxlbWVudE5hbWUubGVuZ3RoICsgMjtcbiAgbGV0IG51bWJlck9wZW5UYWdzID0gMTtcblxuICBjb25zdCBlbGVtZW50VGFnc1JlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICBgKDwke2VsZW1lbnROYW1lfT4pfCg8LyR7ZWxlbWVudE5hbWV9PilgLFxuICAgIFwiZ1wiXG4gICk7XG4gIGxldCBjdXJyZW50VGFnTWF0Y2ggPSBlbGVtZW50VGFnc1JlZ2V4LmV4ZWMoc3RyaW5nKTtcbiAgbGV0IGNsb3NpbmdUYWdTdGFydEluZGV4O1xuICBsZXQgY2xvc2luZ1RhZ0VuZEluZGV4O1xuXG4gIGRvIHtcbiAgICBpZiAoY3VycmVudFRhZ01hdGNoLmluZGV4ID4gb3BlbmluZ1RhZ1N0YXJ0SW5kZXgpIHtcbiAgICAgIGlmIChjdXJyZW50VGFnTWF0Y2hbMV0pIHtcbiAgICAgICAgbnVtYmVyT3BlblRhZ3MgKz0gMTtcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFRhZ01hdGNoWzJdKSB7XG4gICAgICAgIG51bWJlck9wZW5UYWdzIC09IDE7XG4gICAgICAgIGNsb3NpbmdUYWdTdGFydEluZGV4ID0gY3VycmVudFRhZ01hdGNoLmluZGV4O1xuICAgICAgICBjbG9zaW5nVGFnRW5kSW5kZXggPSBjbG9zaW5nVGFnU3RhcnRJbmRleCArIGN1cnJlbnRUYWdNYXRjaFsyXS5sZW5ndGg7XG4gICAgICB9XG4gICAgfVxuICAgIGN1cnJlbnRUYWdNYXRjaCA9IGVsZW1lbnRUYWdzUmVnZXguZXhlYyhzdHJpbmcpO1xuICAgIGlmICghY3VycmVudFRhZ01hdGNoKSBicmVhaztcbiAgfSB3aGlsZSAobnVtYmVyT3BlblRhZ3MgPiAwKTtcblxuICByZXR1cm4ge1xuICAgIGVsZW1lbnROYW1lLFxuICAgIHByZXY6IHN0cmluZy5zbGljZSgwLCBvcGVuaW5nVGFnU3RhcnRJbmRleCksXG4gICAgbm9kZTogc3RyaW5nLnNsaWNlKG9wZW5pbmdUYWdFbmRJbmRleCwgY2xvc2luZ1RhZ1N0YXJ0SW5kZXgpLFxuICAgIG5leHQ6IHN0cmluZy5zbGljZShjbG9zaW5nVGFnRW5kSW5kZXgpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ha2VTdHlsZWRKU1ggPSAoXG4gIHN0cmluZzogc3RyaW5nXG4pOiBSZWFjdC5SZWFjdE5vZGVbXSB8IHN0cmluZyB8IG51bGwgPT4ge1xuICBpZiAoIXN0cmluZyB8fCBzdHJpbmcubGVuZ3RoIDwgMSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9kZXMgPSBnZXROb2RlcyhzdHJpbmcpO1xuICBpZiAoIW5vZGVzKSB7XG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHsgZWxlbWVudE5hbWUsIHByZXYsIG5vZGUsIG5leHQgfSA9IG5vZGVzO1xuXG4gIHJldHVybiBbXG4gICAgcHJldixcbiAgICBDb21wb25lbnRzW2VsZW1lbnROYW1lXSh7IGtleTogbm9kZSwgY2hpbGRyZW46IG1ha2VTdHlsZWRKU1gobm9kZSkgfSksXG4gICAgbWFrZVN0eWxlZEpTWChuZXh0KSxcbiAgXS5maWx0ZXIoKGkpID0+IGkgIT09IG51bGwgJiYgaSAhPT0gXCJcIiAmJiAhKEFycmF5LmlzQXJyYXkoaSkgJiYgIWkubGVuZ3RoKSk7XG59O1xuXG5leHBvcnQgdHlwZSBTdHlsZWRUZXh0UHJvcHMgPSB7XG4gIC8qIFRoZSBzdHJpbmdpZmllZCBtYXJrdXAgdG8gYmUgcmVuZGVyZWQgKi9cbiAgY2hpbGRyZW46IHN0cmluZztcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gU3R5bGVkVGV4dCh7XG4gIGNoaWxkcmVuLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFN0eWxlZFRleHRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gIT09IFwic3RyaW5nXCIpIHJldHVybiBjaGlsZHJlbjtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9IGRhdGEtZHMtaWQ9XCJTdHlsZWRUZXh0XCI+XG4gICAgICB7bWFrZVN0eWxlZEpTWChjaGlsZHJlbil9XG4gICAgPC9zcGFuPlxuICApO1xufVxuIl19 */",
39
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
+ });
41
+ const Components = {
42
+ b: _ref => {
43
+ let {
44
+ key,
45
+ children
46
+ } = _ref;
47
+ return /*#__PURE__*/React__default.default.createElement(Bold, {
48
+ key: key
49
+ }, children);
50
+ },
51
+ i: _ref2 => {
52
+ let {
53
+ key,
54
+ children
55
+ } = _ref2;
56
+ return /*#__PURE__*/React__default.default.createElement(Italic, {
57
+ key: key
58
+ }, children);
59
+ },
60
+ p: _ref3 => {
61
+ let {
62
+ key,
63
+ children
64
+ } = _ref3;
65
+ return /*#__PURE__*/React__default.default.createElement(Text.Text, {
66
+ key: key,
67
+ as: "p",
68
+ variant: "secondary"
69
+ }, children);
70
+ },
71
+ small: _ref4 => {
72
+ let {
73
+ key,
74
+ children
75
+ } = _ref4;
76
+ return /*#__PURE__*/React__default.default.createElement(Text.Text, {
77
+ key: key,
78
+ as: "span",
79
+ variant: "tertiary"
80
+ }, children);
81
+ },
82
+ sup: _ref5 => {
83
+ let {
84
+ key,
85
+ children
86
+ } = _ref5;
87
+ return /*#__PURE__*/React__default.default.createElement("sup", {
88
+ key: key
89
+ }, children);
90
+ },
91
+ sub: _ref6 => {
92
+ let {
93
+ key,
94
+ children
95
+ } = _ref6;
96
+ return /*#__PURE__*/React__default.default.createElement("sub", {
97
+ key: key
98
+ }, children);
99
+ }
100
+ };
101
+ const getNodes = string => {
102
+ const elementNames = Object.keys(Components).join("|");
103
+ const elementRegex = new RegExp(`<(${elementNames})>.*</\\1>`);
104
+ const elementMatch = elementRegex.exec(string);
105
+ if (!elementMatch) {
106
+ return null;
107
+ }
108
+ const elementName = elementMatch[1];
109
+ const openingTagStartIndex = elementMatch.index;
110
+ const openingTagEndIndex = elementMatch.index + elementName.length + 2;
111
+ let numberOpenTags = 1;
112
+ const elementTagsRegex = new RegExp(`(<${elementName}>)|(</${elementName}>)`, "g");
113
+ let currentTagMatch = elementTagsRegex.exec(string);
114
+ let closingTagStartIndex;
115
+ let closingTagEndIndex;
116
+ do {
117
+ if (currentTagMatch.index > openingTagStartIndex) {
118
+ if (currentTagMatch[1]) {
119
+ numberOpenTags += 1;
120
+ } else if (currentTagMatch[2]) {
121
+ numberOpenTags -= 1;
122
+ closingTagStartIndex = currentTagMatch.index;
123
+ closingTagEndIndex = closingTagStartIndex + currentTagMatch[2].length;
124
+ }
125
+ }
126
+ currentTagMatch = elementTagsRegex.exec(string);
127
+ if (!currentTagMatch) break;
128
+ } while (numberOpenTags > 0);
129
+ return {
130
+ elementName,
131
+ prev: string.slice(0, openingTagStartIndex),
132
+ node: string.slice(openingTagEndIndex, closingTagStartIndex),
133
+ next: string.slice(closingTagEndIndex)
134
+ };
135
+ };
136
+ const makeStyledJSX = string => {
137
+ if (!string || string.length < 1) {
138
+ return null;
139
+ }
140
+ const nodes = getNodes(string);
141
+ if (!nodes) {
142
+ return string;
143
+ }
144
+ const {
145
+ elementName,
146
+ prev,
147
+ node,
148
+ next
149
+ } = nodes;
150
+ return [prev, Components[elementName]({
151
+ key: node,
152
+ children: makeStyledJSX(node)
153
+ }), makeStyledJSX(next)].filter(i => i !== null && i !== "" && !(Array.isArray(i) && !i.length));
154
+ };
155
+ function StyledText(_ref7) {
156
+ let {
157
+ children,
158
+ "data-e2e-test-id": dataE2eTestId
159
+ } = _ref7;
160
+ if (typeof children !== "string") return children;
161
+ return /*#__PURE__*/React__default.default.createElement("span", {
162
+ "data-e2e-test-id": dataE2eTestId,
163
+ "data-ds-id": "StyledText"
164
+ }, makeStyledJSX(children));
165
+ }
166
+
167
+ exports.StyledText = StyledText;
168
+ exports.makeStyledJSX = makeStyledJSX;
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ var _styled = require('@emotion/styled/base');
4
+ var isPropValid = require('@emotion/is-prop-valid');
5
+ var mediaQueries = require('../../../shared/mediaQueries.js');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
10
+ var isPropValid__default = /*#__PURE__*/_interopDefault(isPropValid);
11
+
12
+ const defaultProps = {
13
+ size: "m",
14
+ weight: "normal",
15
+ transform: "none",
16
+ as: "p",
17
+ color: "primary",
18
+ align: "left",
19
+ hyphens: "none",
20
+ "data-e2e-test-id": undefined,
21
+ "data-ds-id": "Text"
22
+ };
23
+ const Text = /*#__PURE__*/_styled__default.default("p", process.env.NODE_ENV === "production" ? {
24
+ shouldForwardProp: prop => isPropValid__default.default(prop) && prop !== "transform",
25
+ target: "efktmsx0"
26
+ } : {
27
+ shouldForwardProp: prop => isPropValid__default.default(prop) && prop !== "transform",
28
+ target: "efktmsx0",
29
+ label: "Text"
30
+ })(_ref => {
31
+ let {
32
+ theme,
33
+ align,
34
+ weight,
35
+ size,
36
+ transform,
37
+ hyphens,
38
+ variant,
39
+ color
40
+ } = _ref;
41
+ return {
42
+ fontFamily: theme.variables.fontFamily.lato,
43
+ margin: 0,
44
+ textTransform: transform,
45
+ textAlign: align,
46
+ fontWeight: theme.variables.weight[weight],
47
+ color: theme.values.color.text[color].default,
48
+ // variant is deprecated and it should be deleted asap
49
+ ...(variant && {
50
+ color: theme.values.color.text[variant].default,
51
+ ...(variant === "primary" && {
52
+ color: theme.values.color.text.accent.default
53
+ }),
54
+ ...(variant === "secondary" && {
55
+ color: theme.values.color.text.primary.default
56
+ })
57
+ }),
58
+ fontSize: theme.variables.size.font.text[size],
59
+ lineHeight: theme.variables.size.lineHeight.text[size],
60
+ ...mediaQueries.mq({
61
+ hyphens: [hyphens, {
62
+ none: "none",
63
+ auto: "auto",
64
+ manual: "manual"
65
+ }]
66
+ })
67
+ };
68
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDb0IiLCJmaWxlIjoiVGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkLCB7IENTU09iamVjdCB9IGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBpc1Byb3BWYWxpZCBmcm9tIFwiQGVtb3Rpb24vaXMtcHJvcC12YWxpZFwiO1xuaW1wb3J0IHsgbXEgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21lZGlhUXVlcmllc1wiO1xuXG5pbXBvcnQge1xuICBUZXh0QWxpZ25tZW50LFxuICBUZXh0VmFyaWF0aW9ucyxcbiAgVGV4dENvbG9ycyxcbiAgVGV4dFNpemUsXG4gIE1RLFxuICBIeXBoZW5zLFxufSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgVGV4dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBzaXplPzogVGV4dFNpemU7XG4gIHdlaWdodD86IFwibm9ybWFsXCIgfCBcImJvbGRcIiB8IFwiYmxhY2tcIiB8IFwiaW5oZXJpdFwiO1xuICB0cmFuc2Zvcm0/OiBcIm5vbmVcIiB8IFwiY2FwaXRhbGl6ZVwiIHwgXCJ1cHBlcmNhc2VcIiB8IFwibG93ZXJjYXNlXCI7XG4gIGFzPzogXCJwXCIgfCBcInNwYW5cIjtcbiAgLyoqIEBkZXByZWNhdGVkIHZhcmlhbnQgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBub3cuIFBsZWFzZSB1c2UgY29sb3IgcHJvcC4gKi9cbiAgdmFyaWFudD86IFRleHRWYXJpYXRpb25zO1xuICBjb2xvcj86IFRleHRDb2xvcnM7XG4gIGFsaWduPzogVGV4dEFsaWdubWVudDtcbiAgaHlwaGVucz86IEh5cGhlbnMgfCBNUTxIeXBoZW5zPjtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiBAaWdub3JlICovXG4gIFwiZGF0YS1kcy1pZFwiPzogc3RyaW5nO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQYXJ0aWFsPFRleHRQcm9wcz4gPSB7XG4gIHNpemU6IFwibVwiLFxuICB3ZWlnaHQ6IFwibm9ybWFsXCIsXG4gIHRyYW5zZm9ybTogXCJub25lXCIsXG4gIGFzOiBcInBcIixcbiAgY29sb3I6IFwicHJpbWFyeVwiLFxuICBhbGlnbjogXCJsZWZ0XCIsXG4gIGh5cGhlbnM6IFwibm9uZVwiLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogdW5kZWZpbmVkLFxuICBcImRhdGEtZHMtaWRcIjogXCJUZXh0XCIsXG59O1xuXG5leHBvcnQgY29uc3QgVGV4dCA9IHN0eWxlZChcInBcIiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3A6IHN0cmluZykgPT5cbiAgICBpc1Byb3BWYWxpZChwcm9wKSAmJiBwcm9wICE9PSBcInRyYW5zZm9ybVwiLFxufSk8VGV4dFByb3BzPihcbiAgKHsgdGhlbWUsIGFsaWduLCB3ZWlnaHQsIHNpemUsIHRyYW5zZm9ybSwgaHlwaGVucywgdmFyaWFudCwgY29sb3IgfSkgPT5cbiAgICAoe1xuICAgICAgZm9udEZhbWlseTogdGhlbWUudmFyaWFibGVzLmZvbnRGYW1pbHkubGF0byxcbiAgICAgIG1hcmdpbjogMCxcbiAgICAgIHRleHRUcmFuc2Zvcm06IHRyYW5zZm9ybSxcbiAgICAgIHRleHRBbGlnbjogYWxpZ24sXG4gICAgICBmb250V2VpZ2h0OiB0aGVtZS52YXJpYWJsZXMud2VpZ2h0W3dlaWdodF0sXG4gICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHRbY29sb3JdLmRlZmF1bHQsXG5cbiAgICAgIC8vIHZhcmlhbnQgaXMgZGVwcmVjYXRlZCBhbmQgaXQgc2hvdWxkIGJlIGRlbGV0ZWQgYXNhcFxuICAgICAgLi4uKHZhcmlhbnQgJiYge1xuICAgICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHRbdmFyaWFudF0uZGVmYXVsdCxcbiAgICAgICAgLi4uKHZhcmlhbnQgPT09IFwicHJpbWFyeVwiICYmIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLnRleHQuYWNjZW50LmRlZmF1bHQsXG4gICAgICAgIH0pLFxuICAgICAgICAuLi4odmFyaWFudCA9PT0gXCJzZWNvbmRhcnlcIiAmJiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci50ZXh0LnByaW1hcnkuZGVmYXVsdCxcbiAgICAgICAgfSksXG4gICAgICB9KSxcblxuICAgICAgZm9udFNpemU6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmZvbnQudGV4dFtzaXplXSxcbiAgICAgIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQudGV4dFtzaXplXSxcbiAgICAgIC4uLm1xKHtcbiAgICAgICAgaHlwaGVuczogW2h5cGhlbnMsIHsgbm9uZTogXCJub25lXCIsIGF1dG86IFwiYXV0b1wiLCBtYW51YWw6IFwibWFudWFsXCIgfV0sXG4gICAgICB9KSxcbiAgICB9IGFzIENTU09iamVjdClcbik7XG5cblRleHQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuIl19 */");
69
+ Text.defaultProps = defaultProps;
70
+
71
+ exports.Text = Text;
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('@babel/runtime/helpers/extends');
4
+ var _styled = require('@emotion/styled/base');
5
+ var React = require('react');
6
+ var Text = require('../Text/Text.js');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var _extends__default = /*#__PURE__*/_interopDefault(_extends);
11
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
12
+ var React__default = /*#__PURE__*/_interopDefault(React);
13
+
14
+ const defaultProps = {
15
+ lines: 1,
16
+ size: "m"
17
+ };
18
+ const Container = /*#__PURE__*/_styled__default.default("span", process.env.NODE_ENV === "production" ? {
19
+ target: "e7ey0cg0"
20
+ } : {
21
+ target: "e7ey0cg0",
22
+ label: "Container"
23
+ })(_ref => {
24
+ let {
25
+ lines,
26
+ theme,
27
+ size
28
+ } = _ref;
29
+ return {
30
+ display: "-webkit-box",
31
+ "-webkit-box-orient": "vertical",
32
+ overflow: "hidden",
33
+ WebkitLineClamp: lines,
34
+ maxHeight: lines * parseInt(theme.variables.size.lineHeight.text[size], 10)
35
+ };
36
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRleHRDbGFtcGVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFla0IiLCJmaWxlIjoiVGV4dENsYW1wZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBUZXh0LCBUZXh0UHJvcHMgfSBmcm9tIFwiLi4vVGV4dC9UZXh0XCI7XG5cbmV4cG9ydCB0eXBlIFRleHRDbGFtcGVkUHJvcHMgPSBUZXh0UHJvcHMgJiB7XG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMuIERlZmF1bHQgaXMgMS4gKi9cbiAgbGluZXM/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8VGV4dENsYW1wZWRQcm9wcz4gPSB7XG4gIGxpbmVzOiAxLFxuICBzaXplOiBcIm1cIixcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5zcGFuPFRleHRDbGFtcGVkUHJvcHM+KCh7IGxpbmVzLCB0aGVtZSwgc2l6ZSB9KSA9PiAoe1xuICBkaXNwbGF5OiBcIi13ZWJraXQtYm94XCIsXG4gIFwiLXdlYmtpdC1ib3gtb3JpZW50XCI6IFwidmVydGljYWxcIixcbiAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gIFdlYmtpdExpbmVDbGFtcDogbGluZXMsXG4gIG1heEhlaWdodDogbGluZXMgKiBwYXJzZUludCh0aGVtZS52YXJpYWJsZXMuc2l6ZS5saW5lSGVpZ2h0LnRleHRbc2l6ZV0sIDEwKSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFRleHRDbGFtcGVkKHByb3BzOiBUZXh0Q2xhbXBlZFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3Qge1xuICAgIGxpbmVzLFxuICAgIGNoaWxkcmVuLFxuICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgIC4uLnRleHRQcm9wc1xuICB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8VGV4dFxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIGRhdGEtZHMtaWQ9XCJUZXh0Q2xhbXBlZFwiXG4gICAgICB7Li4udGV4dFByb3BzfVxuICAgID5cbiAgICAgIDxDb250YWluZXIgbGluZXM9e2xpbmVzfSBzaXplPXt0ZXh0UHJvcHMuc2l6ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvVGV4dD5cbiAgKTtcbn1cblxuVGV4dENsYW1wZWQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuIl19 */");
37
+ function TextClamped(props) {
38
+ const {
39
+ lines,
40
+ children,
41
+ "data-e2e-test-id": dataE2eTestId,
42
+ ...textProps
43
+ } = props;
44
+ return /*#__PURE__*/React__default.default.createElement(Text.Text, _extends__default.default({
45
+ "data-e2e-test-id": dataE2eTestId,
46
+ "data-ds-id": "TextClamped"
47
+ }, textProps), /*#__PURE__*/React__default.default.createElement(Container, {
48
+ lines: lines,
49
+ size: textProps.size
50
+ }, children));
51
+ }
52
+ TextClamped.defaultProps = defaultProps;
53
+
54
+ exports.TextClamped = TextClamped;
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ var _styled = require('@emotion/styled/base');
4
+ var React = require('react');
5
+ var VirtualScrollListReducer = require('./VirtualScrollListReducer.js');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
10
+ var React__default = /*#__PURE__*/_interopDefault(React);
11
+
12
+ const StyledContainer = /*#__PURE__*/_styled__default.default("div", process.env.NODE_ENV === "production" ? {
13
+ target: "ebr5g6s1"
14
+ } : {
15
+ target: "ebr5g6s1",
16
+ label: "StyledContainer"
17
+ })(_ref => {
18
+ let {
19
+ maxHeight
20
+ } = _ref;
21
+ return {
22
+ overflow: "auto",
23
+ width: "100%",
24
+ height: "100%",
25
+ maxHeight
26
+ };
27
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpcnR1YWxTY3JvbGxMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLd0IiLCJmaWxlIjoiVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3Qgb3ZlcnNjYW4gPSAxMDtcblxuZXhwb3J0IGZ1bmN0aW9uIFZpcnR1YWxTY3JvbGxMaXN0KHtcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBbXG4gICAge1xuICAgICAgc2Nyb2xsZWRJdGVtQ291bnQsXG4gICAgICBhbW91bnRPZkl0ZW1zSW5WaWV3LFxuICAgICAgc2Nyb2xsZWRJblB4LFxuICAgICAgbWF4Q29udGVudEhlaWdodCA9IG1heEhlaWdodCxcbiAgICAgIHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24sXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgXSA9IHVzZVJlZHVjZXIoVmlydHVhbFNjcm9sbFJlZHVjZXIsIHt9KTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHsgdHlwZTogXCJyZXNldFwiLCBpdGVtSGVpZ2h0LCBtYXhIZWlnaHQsIG92ZXJzY2FuIH0pO1xuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSAwO1xuICB9LCBbaXRlbUhlaWdodCwgaXRlbUFtb3VudCwgbWF4SGVpZ2h0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInJlY29tbWVuZFNjcm9sbFBvc2l0aW9uXCIsXG4gICAgICBzY3JvbGxUb3A6IHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AsXG4gICAgICBpdGVtVG9CZUluVmlldzogaXRlbUluVmlldyxcbiAgICB9KTtcbiAgfSwgW2l0ZW1JblZpZXddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uID09PSBudWxsKSByZXR1cm47XG5cbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbjtcbiAgfSwgW3JlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb25dKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3sgbWF4SGVpZ2h0IH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXX0= */");
28
+ const StyledScrollableContent = /*#__PURE__*/_styled__default.default("div", process.env.NODE_ENV === "production" ? {
29
+ target: "ebr5g6s0"
30
+ } : {
31
+ target: "ebr5g6s0",
32
+ label: "StyledScrollableContent"
33
+ })(_ref2 => {
34
+ let {
35
+ maxContentHeight
36
+ } = _ref2;
37
+ return {
38
+ overflow: "hidden",
39
+ boxSizing: "border-box",
40
+ height: maxContentHeight
41
+ };
42
+ }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpcnR1YWxTY3JvbGxMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjZ0MiLCJmaWxlIjoiVmlydHVhbFNjcm9sbExpc3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VSZWR1Y2VyLCB1c2VMYXlvdXRFZmZlY3QsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsUmVkdWNlciB9IGZyb20gXCIuL1ZpcnR1YWxTY3JvbGxMaXN0UmVkdWNlclwiO1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8VmlydHVhbFNjcm9sbExpc3RQcm9wcz4+KFxuICAoeyBtYXhIZWlnaHQgfSkgPT4gKHtcbiAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgbWF4SGVpZ2h0LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkU2Nyb2xsYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgbWF4Q29udGVudEhlaWdodDogbnVtYmVyIH0+KFxuICAoeyBtYXhDb250ZW50SGVpZ2h0IH0pID0+ICh7XG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICBoZWlnaHQ6IG1heENvbnRlbnRIZWlnaHQsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBWaXJ0dWFsU2Nyb2xsTGlzdFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGl0ZW1IZWlnaHQ6IG51bWJlcjtcbiAgaXRlbUFtb3VudDogbnVtYmVyO1xuICBlbXB0eVN0YXRlOiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIGl0ZW1JblZpZXc6IG51bWJlcjtcbiAgaXRlbVRlbXBsYXRlOiAoaW5kZXg6IG51bWJlcikgPT4gUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3Qgb3ZlcnNjYW4gPSAxMDtcblxuZXhwb3J0IGZ1bmN0aW9uIFZpcnR1YWxTY3JvbGxMaXN0KHtcbiAgbWF4SGVpZ2h0LFxuICBpdGVtSGVpZ2h0LFxuICBpdGVtQW1vdW50LFxuICBlbXB0eVN0YXRlID0gKCkgPT4gbnVsbCxcbiAgaXRlbUluVmlldyxcbiAgaXRlbVRlbXBsYXRlLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFZpcnR1YWxTY3JvbGxMaXN0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB2aWV3cG9ydFJlZiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBbXG4gICAge1xuICAgICAgc2Nyb2xsZWRJdGVtQ291bnQsXG4gICAgICBhbW91bnRPZkl0ZW1zSW5WaWV3LFxuICAgICAgc2Nyb2xsZWRJblB4LFxuICAgICAgbWF4Q29udGVudEhlaWdodCA9IG1heEhlaWdodCxcbiAgICAgIHJlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb24sXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgXSA9IHVzZVJlZHVjZXIoVmlydHVhbFNjcm9sbFJlZHVjZXIsIHt9KTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHsgdHlwZTogXCJyZXNldFwiLCBpdGVtSGVpZ2h0LCBtYXhIZWlnaHQsIG92ZXJzY2FuIH0pO1xuICAgIHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AgPSAwO1xuICB9LCBbaXRlbUhlaWdodCwgaXRlbUFtb3VudCwgbWF4SGVpZ2h0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInJlY29tbWVuZFNjcm9sbFBvc2l0aW9uXCIsXG4gICAgICBzY3JvbGxUb3A6IHNjcm9sbGFibGVDb250YWluZXJSZWYuY3VycmVudC5zY3JvbGxUb3AsXG4gICAgICBpdGVtVG9CZUluVmlldzogaXRlbUluVmlldyxcbiAgICB9KTtcbiAgfSwgW2l0ZW1JblZpZXddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbFBvc2l0aW9uID09PSBudWxsKSByZXR1cm47XG5cbiAgICBzY3JvbGxhYmxlQ29udGFpbmVyUmVmLmN1cnJlbnQuc2Nyb2xsVG9wID0gcmVjb21tZW5kZWRTY3JvbGxQb3NpdGlvbjtcbiAgfSwgW3JlY29tbWVuZGVkU2Nyb2xsUG9zaXRpb25dKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXZpZXdwb3J0UmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBcInVwZGF0ZVZpZXdwb3J0XCIsXG4gICAgICB2aWV3cG9ydE5vZGU6IHZpZXdwb3J0UmVmLmN1cnJlbnQsXG4gICAgICBpdGVtQW1vdW50LFxuICAgIH0pO1xuICB9LCBbaXRlbUFtb3VudCwgc2Nyb2xsZWRJdGVtQ291bnRdKTtcblxuICBjb25zdCBpdGVtQ291bnRUb0JlUmVuZGVyZWQgPSBNYXRoLm1pbihcbiAgICBNYXRoLm1heCgwLCBpdGVtQW1vdW50IC0gc2Nyb2xsZWRJdGVtQ291bnQpLFxuICAgIGFtb3VudE9mSXRlbXNJblZpZXdcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgIHJlZj17c2Nyb2xsYWJsZUNvbnRhaW5lclJlZn1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgc3R5bGU9e3sgbWF4SGVpZ2h0IH19XG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD1cIlZpcnR1YWxTY3JvbGxMaXN0XCJcbiAgICAgIG9uU2Nyb2xsPXsoZTogUmVhY3QuVUlFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IFwic2Nyb2xsXCIsXG4gICAgICAgICAgc2Nyb2xsVG9wOiBlLmN1cnJlbnRUYXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICB9KTtcbiAgICAgIH19XG4gICAgPlxuICAgICAge2l0ZW1BbW91bnQgPT09IDAgPyAoXG4gICAgICAgIGVtcHR5U3RhdGUoKVxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZFNjcm9sbGFibGVDb250ZW50IG1heENvbnRlbnRIZWlnaHQ9e21heENvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17dmlld3BvcnRSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7c2Nyb2xsZWRJblB4fXB4YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyEhaXRlbUNvdW50VG9CZVJlbmRlcmVkICYmXG4gICAgICAgICAgICAgIG5ldyBBcnJheShpdGVtQ291bnRUb0JlUmVuZGVyZWQpXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAubWFwKChfLCBpbmRleCkgPT4gaXRlbVRlbXBsYXRlKHNjcm9sbGVkSXRlbUNvdW50ICsgaW5kZXgpKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRTY3JvbGxhYmxlQ29udGVudD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59XG4iXX0= */");
43
+ const overscan = 10;
44
+ function VirtualScrollList(_ref3) {
45
+ let {
46
+ maxHeight,
47
+ itemHeight,
48
+ itemAmount,
49
+ emptyState = () => null,
50
+ itemInView,
51
+ itemTemplate,
52
+ "data-e2e-test-id": dataE2eTestId
53
+ } = _ref3;
54
+ const scrollableContainerRef = React.useRef(null);
55
+ const viewportRef = React.useRef(null);
56
+ const [{
57
+ scrolledItemCount,
58
+ amountOfItemsInView,
59
+ scrolledInPx,
60
+ maxContentHeight = maxHeight,
61
+ recommendedScrollPosition
62
+ }, dispatch] = React.useReducer(VirtualScrollListReducer.VirtualScrollReducer, {});
63
+ React.useLayoutEffect(() => {
64
+ dispatch({
65
+ type: "reset",
66
+ itemHeight,
67
+ maxHeight,
68
+ overscan
69
+ });
70
+ scrollableContainerRef.current.scrollTop = 0;
71
+ }, [itemHeight, itemAmount, maxHeight]);
72
+ React.useEffect(() => {
73
+ dispatch({
74
+ type: "recommendScrollPosition",
75
+ scrollTop: scrollableContainerRef.current.scrollTop,
76
+ itemToBeInView: itemInView
77
+ });
78
+ }, [itemInView]);
79
+ React.useEffect(() => {
80
+ if (recommendedScrollPosition === null) return;
81
+ scrollableContainerRef.current.scrollTop = recommendedScrollPosition;
82
+ }, [recommendedScrollPosition]);
83
+ React.useLayoutEffect(() => {
84
+ if (!viewportRef.current) return;
85
+ dispatch({
86
+ type: "updateViewport",
87
+ viewportNode: viewportRef.current,
88
+ itemAmount
89
+ });
90
+ }, [itemAmount, scrolledItemCount]);
91
+ const itemCountToBeRendered = Math.min(Math.max(0, itemAmount - scrolledItemCount), amountOfItemsInView);
92
+ return /*#__PURE__*/React__default.default.createElement(StyledContainer, {
93
+ ref: scrollableContainerRef,
94
+ maxHeight: maxHeight,
95
+ style: {
96
+ maxHeight
97
+ },
98
+ "data-e2e-test-id": dataE2eTestId,
99
+ "data-ds-id": "VirtualScrollList",
100
+ onScroll: e => {
101
+ dispatch({
102
+ type: "scroll",
103
+ scrollTop: e.currentTarget.scrollTop
104
+ });
105
+ }
106
+ }, itemAmount === 0 ? emptyState() : /*#__PURE__*/React__default.default.createElement(StyledScrollableContent, {
107
+ maxContentHeight: maxContentHeight
108
+ }, /*#__PURE__*/React__default.default.createElement("div", {
109
+ ref: viewportRef,
110
+ style: {
111
+ transform: `translateY(${scrolledInPx}px`
112
+ }
113
+ }, !!itemCountToBeRendered && new Array(itemCountToBeRendered).fill(0).map((_, index) => itemTemplate(scrolledItemCount + index)))));
114
+ }
115
+
116
+ exports.VirtualScrollList = VirtualScrollList;
@@ -0,0 +1,131 @@
1
+ 'use strict';
2
+
3
+ const findClosestOffsetIndex = (arr, val) => {
4
+ let start = 0;
5
+ let end = arr.length - 1;
6
+ let mid = Math.floor((start + end) / 2);
7
+ while (start <= end) {
8
+ mid = Math.floor((start + end) / 2);
9
+ if (arr[mid].amount === val) {
10
+ return mid;
11
+ }
12
+ if (val < arr[mid].amount) {
13
+ end = mid - 1;
14
+ } else {
15
+ start = mid + 1;
16
+ }
17
+ }
18
+ return mid;
19
+ };
20
+ const getMaxHeight = function (maxAmountOfItems, offsets) {
21
+ let lastItemHeight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
22
+ const amountOfOffsets = Math.min(offsets.length, maxAmountOfItems);
23
+ const maxOffset = offsets[amountOfOffsets - 1]?.amount || 0;
24
+ const result = maxOffset + lastItemHeight;
25
+ return result;
26
+ };
27
+ const reduceScroll = (prevState, scrollTop) => {
28
+ const {
29
+ topOffsets,
30
+ overscan: tolerance
31
+ } = prevState;
32
+ const scrolledItemCount = Math.max(0, findClosestOffsetIndex(topOffsets, scrollTop) - tolerance / 2);
33
+ const scrolledInPx = topOffsets[scrolledItemCount]?.amount || 0;
34
+ return {
35
+ ...prevState,
36
+ scrolledItemCount,
37
+ scrolledInPx
38
+ };
39
+ };
40
+ const reduceUpdateViewport = (prevState, viewportNode, itemAmount) => {
41
+ const {
42
+ topOffsets = [],
43
+ scrolledInPx,
44
+ scrolledItemCount,
45
+ avgItemHeight,
46
+ lastItemHeight,
47
+ maxHeight,
48
+ overscan: tolerance
49
+ } = prevState;
50
+ const newTopOffsets = [...topOffsets];
51
+ let updatedLastItemHeight = lastItemHeight;
52
+ Array.from(viewportNode.children).forEach((child, i) => {
53
+ newTopOffsets[i + scrolledItemCount] = {
54
+ amount: scrolledInPx + child.offsetTop,
55
+ isInterpolated: false
56
+ };
57
+ if (i + scrolledItemCount === itemAmount - 1 && !lastItemHeight) {
58
+ updatedLastItemHeight = child.getBoundingClientRect().height;
59
+ }
60
+ });
61
+ for (let i = 0; i < itemAmount; i += 1) {
62
+ if (!newTopOffsets[i] || newTopOffsets[i].isInterpolated) {
63
+ newTopOffsets[i] = {
64
+ amount: newTopOffsets[i - 1].amount + avgItemHeight,
65
+ isInterpolated: true
66
+ };
67
+ }
68
+ }
69
+ const newAvgItemHeight = Math.max(avgItemHeight, viewportNode.getBoundingClientRect().height / (viewportNode.childElementCount || 1));
70
+ const maxContentHeight = getMaxHeight(itemAmount, newTopOffsets, updatedLastItemHeight);
71
+ return {
72
+ ...prevState,
73
+ lastItemHeight: updatedLastItemHeight,
74
+ avgItemHeight,
75
+ topOffsets: newTopOffsets,
76
+ amountOfItemsInView: Math.round(maxHeight / newAvgItemHeight) + tolerance,
77
+ maxContentHeight
78
+ };
79
+ };
80
+ const reduceReset = (prevState, itemHeight, maxHeight, overscan) => ({
81
+ ...prevState,
82
+ lastItemHeight: null,
83
+ topOffsets: [{
84
+ amount: 0,
85
+ isInterpolated: false
86
+ }],
87
+ scrolledInPx: 0,
88
+ scrolledItemCount: 0,
89
+ maxHeight,
90
+ avgItemHeight: itemHeight,
91
+ overscan
92
+ });
93
+ const reduceRecommendScrollPosition = (prevState, scrollTop, itemToBeInView) => {
94
+ const {
95
+ topOffsets,
96
+ maxHeight
97
+ } = prevState;
98
+ if (!topOffsets) return prevState;
99
+ const bottomOfTarget = topOffsets[itemToBeInView + 1]?.amount;
100
+ const topOfTarget = topOffsets[itemToBeInView]?.amount;
101
+ let recommendedScrollPosition = null;
102
+ if (topOfTarget < scrollTop) {
103
+ recommendedScrollPosition = topOfTarget;
104
+ }
105
+ if (bottomOfTarget >= scrollTop + maxHeight) {
106
+ recommendedScrollPosition = bottomOfTarget - maxHeight;
107
+ }
108
+ if (itemToBeInView === topOffsets.length - 1) {
109
+ recommendedScrollPosition = topOffsets[itemToBeInView].amount;
110
+ }
111
+ return {
112
+ ...prevState,
113
+ recommendedScrollPosition
114
+ };
115
+ };
116
+ const VirtualScrollReducer = (prevState, action) => {
117
+ switch (action.type) {
118
+ case "reset":
119
+ return reduceReset(prevState, action.itemHeight, action.maxHeight, action.overscan);
120
+ case "scroll":
121
+ return reduceScroll(prevState, action.scrollTop);
122
+ case "updateViewport":
123
+ return reduceUpdateViewport(prevState, action.viewportNode, action.itemAmount);
124
+ case "recommendScrollPosition":
125
+ return reduceRecommendScrollPosition(prevState, action.scrollTop, action.itemToBeInView);
126
+ default:
127
+ throw new Error();
128
+ }
129
+ };
130
+
131
+ exports.VirtualScrollReducer = VirtualScrollReducer;