@ledgerhq/react-ui 0.53.0 → 0.53.1-nightly.20260902021544

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 (294) hide show
  1. package/README.md +3 -6
  2. package/lib/assets/logos/LedgerLiveAltRegular.d.ts.map +1 -1
  3. package/lib/assets/logos/LedgerLiveRegular.d.ts.map +1 -1
  4. package/lib/cjs/components/animations/GlitchText/index.js +16 -42
  5. package/lib/cjs/components/animations/GlitchText/index.js.map +1 -1
  6. package/lib/cjs/components/form/Radio/RadioElement.js +2 -2
  7. package/lib/cjs/components/form/Radio/RadioElement.js.map +1 -1
  8. package/lib/cjs/components/form/Radio/RadioListElement.js +2 -2
  9. package/lib/cjs/components/form/Radio/RadioListElement.js.map +1 -1
  10. package/lib/cjs/components/form/Radio/index.js +2 -2
  11. package/lib/cjs/components/form/Radio/index.js.map +1 -1
  12. package/lib/cjs/components/form/index.js +2 -2
  13. package/lib/cjs/components/form/index.js.map +1 -1
  14. package/lib/cjs/components/index.js +2 -2
  15. package/lib/cjs/components/index.js.map +1 -1
  16. package/lib/cjs/components/layout/Carousel/Footer/Pagination/bullets.js.map +1 -1
  17. package/lib/cjs/components/layout/Carousel/Footer/Pagination/index.js.map +1 -1
  18. package/lib/cjs/components/layout/Carousel/Footer/Pagination/types.js.map +1 -1
  19. package/lib/cjs/components/layout/Carousel/Footer/Pagination/utils.js.map +1 -1
  20. package/lib/cjs/components/layout/Carousel/Footer/index.js.map +1 -1
  21. package/lib/cjs/components/layout/Carousel/Footer/variantContentCard.js.map +1 -1
  22. package/lib/cjs/components/layout/Carousel/Footer/variantDefault.js.map +1 -1
  23. package/lib/cjs/components/layout/Carousel/index.js.map +1 -1
  24. package/lib/cjs/components/layout/index.js.map +1 -1
  25. package/lib/cjs/index.js +2 -2
  26. package/lib/cjs/index.js.map +1 -1
  27. package/lib/components/Table/index.d.ts +5 -11
  28. package/lib/components/Table/index.d.ts.map +1 -1
  29. package/lib/components/asorted/Divider/index.d.ts.map +1 -1
  30. package/lib/components/asorted/Icon/BoxedIcon.d.ts.map +1 -1
  31. package/lib/components/asorted/Icon/Icon.d.ts.map +1 -1
  32. package/lib/components/asorted/Text/index.d.ts.map +1 -1
  33. package/lib/components/cta/Button/index.d.ts.map +1 -1
  34. package/lib/components/cta/Link/index.d.ts.map +1 -1
  35. package/lib/components/cta/Toggle/index.d.ts.map +1 -1
  36. package/lib/components/form/BaseInput/index.d.ts +2 -2
  37. package/lib/components/form/BaseInput/index.d.ts.map +1 -1
  38. package/lib/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  39. package/lib/components/form/LegendInput/index.d.ts +2 -2
  40. package/lib/components/form/LegendInput/index.d.ts.map +1 -1
  41. package/lib/components/form/NumberInput/index.d.ts +2 -2
  42. package/lib/components/form/NumberInput/index.d.ts.map +1 -1
  43. package/lib/components/form/QrCodeInput/index.d.ts +2 -2
  44. package/lib/components/form/QrCodeInput/index.d.ts.map +1 -1
  45. package/lib/components/form/QuantityInput/index.d.ts +2 -2
  46. package/lib/components/form/QuantityInput/index.d.ts.map +1 -1
  47. package/lib/components/form/Radio/RadioElement.d.ts +6 -5
  48. package/lib/components/form/Radio/RadioElement.d.ts.map +1 -1
  49. package/lib/components/form/Radio/RadioElement.js +1 -1
  50. package/lib/components/form/Radio/RadioElement.js.map +1 -1
  51. package/lib/components/form/Radio/RadioListElement.d.ts +5 -5
  52. package/lib/components/form/Radio/RadioListElement.d.ts.map +1 -1
  53. package/lib/components/form/Radio/RadioListElement.js +1 -1
  54. package/lib/components/form/Radio/RadioListElement.js.map +1 -1
  55. package/lib/components/form/Radio/index.d.ts +7 -16
  56. package/lib/components/form/Radio/index.d.ts.map +1 -1
  57. package/lib/components/form/SearchInput/index.d.ts +2 -2
  58. package/lib/components/form/SearchInput/index.d.ts.map +1 -1
  59. package/lib/components/form/SelectInput/index.d.ts.map +1 -1
  60. package/lib/components/form/Switch/Switch.d.ts.map +1 -1
  61. package/lib/components/layout/Box/index.d.ts.map +1 -1
  62. package/lib/components/layout/Carousel/Footer/Pagination/bullets.d.ts.map +1 -1
  63. package/lib/components/layout/Carousel/Footer/Pagination/index.d.ts.map +1 -1
  64. package/lib/components/layout/Carousel/Footer/Pagination/types.d.ts +4 -4
  65. package/lib/components/layout/Carousel/Footer/Pagination/types.d.ts.map +1 -1
  66. package/lib/components/layout/Carousel/Footer/Pagination/types.js.map +1 -1
  67. package/lib/components/layout/Carousel/Footer/Pagination/utils.d.ts.map +1 -1
  68. package/lib/components/layout/Carousel/Footer/index.d.ts.map +1 -1
  69. package/lib/components/layout/Carousel/Footer/variantContentCard.d.ts.map +1 -1
  70. package/lib/components/layout/Carousel/Footer/variantDefault.d.ts.map +1 -1
  71. package/lib/components/layout/Carousel/index.d.ts.map +1 -1
  72. package/lib/components/layout/Drawer/index.d.ts.map +1 -1
  73. package/lib/components/layout/Flex/index.d.ts +1 -1
  74. package/lib/components/layout/Flex/index.d.ts.map +1 -1
  75. package/lib/components/layout/Grid/index.d.ts.map +1 -1
  76. package/lib/components/layout/List/VerticalTimeline/TimelineIndicator.d.ts +0 -3
  77. package/lib/components/layout/List/VerticalTimeline/TimelineIndicator.d.ts.map +1 -1
  78. package/lib/components/layout/List/VerticalTimeline/TimelineItem.d.ts.map +1 -1
  79. package/lib/components/layout/List/VerticalTimeline/index.d.ts.map +1 -1
  80. package/lib/components/layout/Popin/index.d.ts +26 -23
  81. package/lib/components/layout/Popin/index.d.ts.map +1 -1
  82. package/lib/components/layout/Side/Provider.d.ts.map +1 -1
  83. package/lib/components/layout/Side/index.d.ts.map +1 -1
  84. package/lib/components/message/Alert/index.d.ts +12 -10
  85. package/lib/components/message/Alert/index.d.ts.map +1 -1
  86. package/lib/components/message/ContinueOnDevice/index.d.ts.map +1 -1
  87. package/lib/components/message/Log/index.d.ts.map +1 -1
  88. package/lib/components/message/Notification/index.d.ts.map +1 -1
  89. package/lib/components/message/StatusNotification/index.d.ts.map +1 -1
  90. package/lib/components/message/Tooltip/styles.d.ts.map +1 -1
  91. package/lib/components/navigation/Aside/index.d.ts +1 -1
  92. package/lib/components/navigation/Breadcrumb/index.d.ts.map +1 -1
  93. package/lib/components/navigation/FlowStepper/index.d.ts +3 -6
  94. package/lib/components/navigation/FlowStepper/index.d.ts.map +1 -1
  95. package/lib/components/navigation/progress/ProgressBar/Onboarding.d.ts.map +1 -1
  96. package/lib/components/navigation/progress/Stepper/index.d.ts.map +1 -1
  97. package/lib/components/navigation/sideBar/Item/Item.d.ts.map +1 -1
  98. package/lib/components/navigation/sideBar/Logo/Logo.d.ts.map +1 -1
  99. package/lib/components/navigation/sideBar/SideBar/SideBar.d.ts +5 -4
  100. package/lib/components/navigation/sideBar/SideBar/SideBar.d.ts.map +1 -1
  101. package/lib/components/navigation/sideBar/Toggle/Toggle.d.ts.map +1 -1
  102. package/lib/components/navigation/sideBar/index.d.ts.map +1 -1
  103. package/lib/components/styled.d.ts.map +1 -1
  104. package/lib/components/transitions/TransitionInOut.d.ts.map +1 -1
  105. package/lib/components/transitions/TransitionScale.d.ts.map +1 -1
  106. package/lib/components/transitions/TransitionSlide.d.ts.map +1 -1
  107. package/lib/helpers.d.ts.map +1 -1
  108. package/lib/pre-ldls/components/AccountItem/AccountItem.d.ts.map +1 -1
  109. package/lib/pre-ldls/components/AccountList/AccountList.d.ts.map +1 -1
  110. package/lib/pre-ldls/components/Address/Address.d.ts.map +1 -1
  111. package/lib/pre-ldls/components/Address/formatAddress.d.ts.map +1 -1
  112. package/lib/pre-ldls/components/Address/formatAddress.js.map +1 -1
  113. package/lib/pre-ldls/components/CardButton/CardButton.d.ts.map +1 -1
  114. package/lib/pre-ldls/components/Checkbox/Checkbox.d.ts.map +1 -1
  115. package/lib/pre-ldls/components/Tag/Tag.d.ts.map +1 -1
  116. package/lib/pre-ldls/components/Tag/Tag.js +1 -1
  117. package/lib/pre-ldls/components/Tag/Tag.js.map +1 -1
  118. package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts.map +1 -1
  119. package/lib/pre-ldls/libs/design-tokens.d.ts.map +1 -1
  120. package/lib/pre-ldls/libs/index.d.ts.map +1 -1
  121. package/lib/styles/InvertTheme.d.ts.map +1 -1
  122. package/lib/styles/StyleProvider.d.ts.map +1 -1
  123. package/lib/styles/helpers.d.ts.map +1 -1
  124. package/lib/styles/styled/fontFamily.d.ts +3 -3
  125. package/lib/styles/styled/fontFamily.d.ts.map +1 -1
  126. package/lib/styles/system/gaps.d.ts.map +1 -1
  127. package/lib/styles/theme.d.ts.map +1 -1
  128. package/package.json +14 -24
  129. package/lib/cjs/components/Table/Table.stories.js +0 -1985
  130. package/lib/cjs/components/Table/Table.stories.js.map +0 -1
  131. package/lib/cjs/components/Table/stories.helper.js +0 -1188
  132. package/lib/cjs/components/Table/stories.helper.js.map +0 -1
  133. package/lib/cjs/components/Tag/Tag.stories.js +0 -918
  134. package/lib/cjs/components/Tag/Tag.stories.js.map +0 -1
  135. package/lib/cjs/components/animations/GlitchText/GlitchText.stories.js +0 -905
  136. package/lib/cjs/components/animations/GlitchText/GlitchText.stories.js.map +0 -1
  137. package/lib/cjs/components/asorted/Divider/Divider.stories.js +0 -794
  138. package/lib/cjs/components/asorted/Divider/Divider.stories.js.map +0 -1
  139. package/lib/cjs/components/asorted/Icon/BoxedIcon.stories.js +0 -393
  140. package/lib/cjs/components/asorted/Icon/BoxedIcon.stories.js.map +0 -1
  141. package/lib/cjs/components/asorted/Icon/Icons.stories.js +0 -789
  142. package/lib/cjs/components/asorted/Icon/Icons.stories.js.map +0 -1
  143. package/lib/cjs/components/asorted/Icon/IconsLegacy.stories.js +0 -1472
  144. package/lib/cjs/components/asorted/Icon/IconsLegacy.stories.js.map +0 -1
  145. package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js +0 -348
  146. package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js.map +0 -1
  147. package/lib/cjs/components/asorted/Text/Text.stories.js +0 -836
  148. package/lib/cjs/components/asorted/Text/Text.stories.js.map +0 -1
  149. package/lib/cjs/components/cta/Button/Button.stories.js +0 -1286
  150. package/lib/cjs/components/cta/Button/Button.stories.js.map +0 -1
  151. package/lib/cjs/components/cta/Link/Link.stories.js +0 -911
  152. package/lib/cjs/components/cta/Link/Link.stories.js.map +0 -1
  153. package/lib/cjs/components/cta/Toggle/Toggle.stories.js +0 -873
  154. package/lib/cjs/components/cta/Toggle/Toggle.stories.js.map +0 -1
  155. package/lib/cjs/components/form/BaseInput/Input.stories.js +0 -1310
  156. package/lib/cjs/components/form/BaseInput/Input.stories.js.map +0 -1
  157. package/lib/cjs/components/form/Checkbox/Checkbox.stories.js +0 -909
  158. package/lib/cjs/components/form/Checkbox/Checkbox.stories.js.map +0 -1
  159. package/lib/cjs/components/form/Dropdown/Dropdown.stories.js +0 -1758
  160. package/lib/cjs/components/form/Dropdown/Dropdown.stories.js.map +0 -1
  161. package/lib/cjs/components/form/LegendInput/Input.stories.js +0 -1283
  162. package/lib/cjs/components/form/LegendInput/Input.stories.js.map +0 -1
  163. package/lib/cjs/components/form/NumberInput/Input.stories.js +0 -1341
  164. package/lib/cjs/components/form/NumberInput/Input.stories.js.map +0 -1
  165. package/lib/cjs/components/form/QrCodeInput/Input.stories.js +0 -1305
  166. package/lib/cjs/components/form/QrCodeInput/Input.stories.js.map +0 -1
  167. package/lib/cjs/components/form/QuantityInput/Input.stories.js +0 -1332
  168. package/lib/cjs/components/form/QuantityInput/Input.stories.js.map +0 -1
  169. package/lib/cjs/components/form/Radio/Radio.stories.js +0 -1196
  170. package/lib/cjs/components/form/Radio/Radio.stories.js.map +0 -1
  171. package/lib/cjs/components/form/Radio/RadioElement.stories.js +0 -1084
  172. package/lib/cjs/components/form/Radio/RadioElement.stories.js.map +0 -1
  173. package/lib/cjs/components/form/Radio/RadioListElement.stories.js +0 -1052
  174. package/lib/cjs/components/form/Radio/RadioListElement.stories.js.map +0 -1
  175. package/lib/cjs/components/form/SearchInput/Input.stories.js +0 -1278
  176. package/lib/cjs/components/form/SearchInput/Input.stories.js.map +0 -1
  177. package/lib/cjs/components/form/SelectInput/Select.stories.js +0 -2175
  178. package/lib/cjs/components/form/SelectInput/Select.stories.js.map +0 -1
  179. package/lib/cjs/components/form/SplitInput/SplitInput.stories.js +0 -2020
  180. package/lib/cjs/components/form/SplitInput/SplitInput.stories.js.map +0 -1
  181. package/lib/cjs/components/form/Switch/Switch.stories.js +0 -940
  182. package/lib/cjs/components/form/Switch/Switch.stories.js.map +0 -1
  183. package/lib/cjs/components/form/TabSelector/TabSelector.stories.js +0 -837
  184. package/lib/cjs/components/form/TabSelector/TabSelector.stories.js.map +0 -1
  185. package/lib/cjs/components/layout/Banner/BannerCard/BannerCard.stories.js +0 -1625
  186. package/lib/cjs/components/layout/Banner/BannerCard/BannerCard.stories.js.map +0 -1
  187. package/lib/cjs/components/layout/Banner/NotificationCard/NotificationCard.stories.js +0 -1110
  188. package/lib/cjs/components/layout/Banner/NotificationCard/NotificationCard.stories.js.map +0 -1
  189. package/lib/cjs/components/layout/Box/Box.stories.js +0 -221
  190. package/lib/cjs/components/layout/Box/Box.stories.js.map +0 -1
  191. package/lib/cjs/components/layout/Carousel/Carousel.stories.js +0 -2064
  192. package/lib/cjs/components/layout/Carousel/Carousel.stories.js.map +0 -1
  193. package/lib/cjs/components/layout/ContentCard/PortfolioContentCard/PortfolioContentCard.stories.js +0 -1514
  194. package/lib/cjs/components/layout/ContentCard/PortfolioContentCard/PortfolioContentCard.stories.js.map +0 -1
  195. package/lib/cjs/components/layout/Drawer/Drawer.stories.js +0 -1482
  196. package/lib/cjs/components/layout/Drawer/Drawer.stories.js.map +0 -1
  197. package/lib/cjs/components/layout/Flex/Flex.stories.js +0 -491
  198. package/lib/cjs/components/layout/Flex/Flex.stories.js.map +0 -1
  199. package/lib/cjs/components/layout/Grid/Grid.stories.js +0 -959
  200. package/lib/cjs/components/layout/Grid/Grid.stories.js.map +0 -1
  201. package/lib/cjs/components/layout/List/NumberedList/NumberedList.stories.js +0 -928
  202. package/lib/cjs/components/layout/List/NumberedList/NumberedList.stories.js.map +0 -1
  203. package/lib/cjs/components/layout/List/VerticalTimeline/VerticalTimeline.stories.js +0 -1884
  204. package/lib/cjs/components/layout/List/VerticalTimeline/VerticalTimeline.stories.js.map +0 -1
  205. package/lib/cjs/components/layout/Popin/Popin.stories.js +0 -1478
  206. package/lib/cjs/components/layout/Popin/Popin.stories.js.map +0 -1
  207. package/lib/cjs/components/layout/Side/Side.stories.js +0 -1623
  208. package/lib/cjs/components/layout/Side/Side.stories.js.map +0 -1
  209. package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js +0 -262
  210. package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js.map +0 -1
  211. package/lib/cjs/components/loaders/ProgressLoader/ProgressLoader.stories.js +0 -862
  212. package/lib/cjs/components/loaders/ProgressLoader/ProgressLoader.stories.js.map +0 -1
  213. package/lib/cjs/components/message/Alert/Alert.stories.js +0 -1345
  214. package/lib/cjs/components/message/Alert/Alert.stories.js.map +0 -1
  215. package/lib/cjs/components/message/ContinueOnDevice/ContinueOnDevice.stories.js +0 -854
  216. package/lib/cjs/components/message/ContinueOnDevice/ContinueOnDevice.stories.js.map +0 -1
  217. package/lib/cjs/components/message/Log/Log.stories.js +0 -839
  218. package/lib/cjs/components/message/Log/Log.stories.js.map +0 -1
  219. package/lib/cjs/components/message/Notification/Badge.stories.js +0 -319
  220. package/lib/cjs/components/message/Notification/Badge.stories.js.map +0 -1
  221. package/lib/cjs/components/message/Notification/Notification.stories.js +0 -1085
  222. package/lib/cjs/components/message/Notification/Notification.stories.js.map +0 -1
  223. package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js +0 -977
  224. package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js.map +0 -1
  225. package/lib/cjs/components/message/Tip/Tip.stories.js +0 -812
  226. package/lib/cjs/components/message/Tip/Tip.stories.js.map +0 -1
  227. package/lib/cjs/components/message/Tooltip/Tooltip.stories.js +0 -853
  228. package/lib/cjs/components/message/Tooltip/Tooltip.stories.js.map +0 -1
  229. package/lib/cjs/components/navigation/Aside/Aside.stories.js +0 -961
  230. package/lib/cjs/components/navigation/Aside/Aside.stories.js.map +0 -1
  231. package/lib/cjs/components/navigation/Aside/stories.helper.js +0 -48
  232. package/lib/cjs/components/navigation/Aside/stories.helper.js.map +0 -1
  233. package/lib/cjs/components/navigation/Breadcrumb/Breadcrumb.stories.js +0 -1953
  234. package/lib/cjs/components/navigation/Breadcrumb/Breadcrumb.stories.js.map +0 -1
  235. package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js +0 -2054
  236. package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js.map +0 -1
  237. package/lib/cjs/components/navigation/Header/Header.stories.js +0 -815
  238. package/lib/cjs/components/navigation/Header/Header.stories.js.map +0 -1
  239. package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.stories.js +0 -822
  240. package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.stories.js.map +0 -1
  241. package/lib/cjs/components/navigation/progress/Stepper/Item.stories.js +0 -907
  242. package/lib/cjs/components/navigation/progress/Stepper/Item.stories.js.map +0 -1
  243. package/lib/cjs/components/navigation/progress/Stepper/ProgressSteps.stories.js +0 -927
  244. package/lib/cjs/components/navigation/progress/Stepper/ProgressSteps.stories.js.map +0 -1
  245. package/lib/cjs/components/navigation/sideBar/Item/Item.stories.js +0 -1030
  246. package/lib/cjs/components/navigation/sideBar/Item/Item.stories.js.map +0 -1
  247. package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js +0 -1318
  248. package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js.map +0 -1
  249. package/lib/cjs/components/styled.stories.js +0 -200
  250. package/lib/cjs/components/styled.stories.js.map +0 -1
  251. package/lib/cjs/components/tabs/Bar/Bar.stories.js +0 -808
  252. package/lib/cjs/components/tabs/Bar/Bar.stories.js.map +0 -1
  253. package/lib/cjs/components/tabs/Chip/Chip.stories.js +0 -818
  254. package/lib/cjs/components/tabs/Chip/Chip.stories.js.map +0 -1
  255. package/lib/cjs/components/tabs/Pill/Pill.stories.js +0 -873
  256. package/lib/cjs/components/tabs/Pill/Pill.stories.js.map +0 -1
  257. package/lib/cjs/components/tabs/Tabs/Tabs.stories.js +0 -1061
  258. package/lib/cjs/components/tabs/Tabs/Tabs.stories.js.map +0 -1
  259. package/lib/cjs/pre-ldls/components/AccountItem/AccountItem.stories.js +0 -2372
  260. package/lib/cjs/pre-ldls/components/AccountItem/AccountItem.stories.js.map +0 -1
  261. package/lib/cjs/pre-ldls/components/AccountList/AccountList.stories.js +0 -2513
  262. package/lib/cjs/pre-ldls/components/AccountList/AccountList.stories.js.map +0 -1
  263. package/lib/cjs/pre-ldls/components/Address/Address.stories.js +0 -1873
  264. package/lib/cjs/pre-ldls/components/Address/Address.stories.js.map +0 -1
  265. package/lib/cjs/pre-ldls/components/CardButton/CardButton.stories.js +0 -1282
  266. package/lib/cjs/pre-ldls/components/CardButton/CardButton.stories.js.map +0 -1
  267. package/lib/cjs/pre-ldls/components/Checkbox/Checkbox.stories.js +0 -1263
  268. package/lib/cjs/pre-ldls/components/Checkbox/Checkbox.stories.js.map +0 -1
  269. package/lib/cjs/pre-ldls/components/Tag/Tag.stories.js +0 -1834
  270. package/lib/cjs/pre-ldls/components/Tag/Tag.stories.js.map +0 -1
  271. package/lib/cjs/pre-ldls/components/TextInput/TextInput.stories.js +0 -1498
  272. package/lib/cjs/pre-ldls/components/TextInput/TextInput.stories.js.map +0 -1
  273. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js +0 -606
  274. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js.map +0 -1
  275. package/lib/cjs/pre-ldls/components/sharedStoryBook.js +0 -1819
  276. package/lib/cjs/pre-ldls/components/sharedStoryBook.js.map +0 -1
  277. package/lib/cjs/styles/Spacing.stories.js +0 -759
  278. package/lib/cjs/styles/Spacing.stories.js.map +0 -1
  279. package/lib/cjs/styles/breakpoints.stories.js +0 -823
  280. package/lib/cjs/styles/breakpoints.stories.js.map +0 -1
  281. package/lib/cjs/styles/palettes/colors.stories.js +0 -785
  282. package/lib/cjs/styles/palettes/colors.stories.js.map +0 -1
  283. package/lib/components/Table/stories.helper.d.ts +0 -30
  284. package/lib/components/Table/stories.helper.d.ts.map +0 -1
  285. package/lib/components/Table/stories.helper.js +0 -185
  286. package/lib/components/Table/stories.helper.js.map +0 -1
  287. package/lib/components/navigation/Aside/stories.helper.d.ts +0 -3
  288. package/lib/components/navigation/Aside/stories.helper.d.ts.map +0 -1
  289. package/lib/components/navigation/Aside/stories.helper.js +0 -3
  290. package/lib/components/navigation/Aside/stories.helper.js.map +0 -1
  291. package/lib/pre-ldls/components/sharedStoryBook.d.ts +0 -5
  292. package/lib/pre-ldls/components/sharedStoryBook.d.ts.map +0 -1
  293. package/lib/pre-ldls/components/sharedStoryBook.js +0 -15
  294. package/lib/pre-ldls/components/sharedStoryBook.js.map +0 -1
@@ -1,606 +0,0 @@
1
- (() => {
2
- "use strict";
3
- var __webpack_modules__ = ({
4
- 3696(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
- /* import */ var _styled__rspack_import_0 = __webpack_require__(7680);
6
-
7
- const FlexBox = _styled__rspack_import_0["default"].div.attrs({
8
- display: "flex",
9
- minWidth: 0
10
- })``;
11
- /* export default */ const __rspack_default_export = (FlexBox);
12
-
13
- __webpack_require__.d(__webpack_exports__, {
14
- }, {
15
- "default": __rspack_default_export
16
- });
17
-
18
-
19
- },
20
- 1422(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
21
- /* import */ var react__rspack_import_0 = __webpack_require__(2015);
22
- /* import */ var react__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_0);
23
- /* import */ var styled_components__rspack_import_1 = __webpack_require__(2770);
24
- /* import */ var styled_components__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(styled_components__rspack_import_1);
25
- /* import */ var styled_system__rspack_import_2 = __webpack_require__(9351);
26
- /* import */ var styled_system__rspack_import_2_default = /*#__PURE__*/__webpack_require__.n(styled_system__rspack_import_2);
27
-
28
-
29
-
30
- const rotate = (0,styled_components__rspack_import_1.keyframes)`
31
- 0% {
32
- transform: rotate(0deg);
33
- }
34
- 100% {
35
- transform: rotate(360deg);
36
- }
37
- `;
38
- const Loader = (styled_components__rspack_import_1_default().svg)`
39
- animation: ${rotate} 1s linear infinite;
40
- ${styled_system__rspack_import_2.size}
41
- ${(0,styled_system__rspack_import_2.system)({
42
- stroke: {
43
- property: "stroke",
44
- scale: "colors"
45
- }
46
- })}
47
- `;
48
- function InfiniteLoader({ size = 38, color = "primary.c50", ...extraProps }) {
49
- return /*#__PURE__*/ react__rspack_import_0_default().createElement(Loader, {
50
- size: size,
51
- stroke: color,
52
- viewBox: "0 0 38 38",
53
- fill: "none",
54
- xmlns: "http://www.w3.org/2000/svg",
55
- ...extraProps
56
- }, /*#__PURE__*/ react__rspack_import_0_default().createElement("linearGradient", {
57
- id: "gradient-start",
58
- gradientUnits: "userSpaceOnUse",
59
- gradientTransform: "rotate(-20)"
60
- }, /*#__PURE__*/ react__rspack_import_0_default().createElement("stop", {
61
- offset: "0",
62
- stopColor: "white",
63
- stopOpacity: "0.5"
64
- }), /*#__PURE__*/ react__rspack_import_0_default().createElement("stop", {
65
- offset: "1",
66
- stopColor: "white",
67
- stopOpacity: "1"
68
- })), /*#__PURE__*/ react__rspack_import_0_default().createElement("linearGradient", {
69
- id: "gradient-end",
70
- gradientUnits: "userSpaceOnUse",
71
- gradientTransform: "rotate(-20)"
72
- }, /*#__PURE__*/ react__rspack_import_0_default().createElement("stop", {
73
- offset: "0",
74
- stopColor: "white",
75
- stopOpacity: "0.5"
76
- }), /*#__PURE__*/ react__rspack_import_0_default().createElement("stop", {
77
- offset: "1",
78
- stopColor: "white",
79
- stopOpacity: "0"
80
- })), /*#__PURE__*/ react__rspack_import_0_default().createElement("mask", {
81
- id: "gradient-mask",
82
- maskUnits: "userSpaceOnUse"
83
- }, /*#__PURE__*/ react__rspack_import_0_default().createElement("rect", {
84
- x: "-0",
85
- y: "-4",
86
- width: "44",
87
- height: "22",
88
- strokeWidth: "0",
89
- fill: "url(#gradient-start)",
90
- transform: "rotate(10)"
91
- }), /*#__PURE__*/ react__rspack_import_0_default().createElement("rect", {
92
- x: "0",
93
- y: "18",
94
- width: "44",
95
- height: "21",
96
- strokeWidth: "0",
97
- fill: "url(#gradient-end)",
98
- transform: "rotate(10)"
99
- })), /*#__PURE__*/ react__rspack_import_0_default().createElement("path", {
100
- d: "M34.8807 20.9499C35.3608 17.0398 34.3815 13.09 32.1304 9.85712C29.8793 6.6242 26.5146 4.33541 22.6808 3.42914C18.847 2.52287 14.8136 3.06283 11.3532 4.94559C7.89277 6.82836 5.24858 9.92158 3.92708 13.6328C2.60558 17.344 2.69968 21.4123 4.19135 25.0584C5.68302 28.7045 8.4674 31.6722 12.0112 33.3929C15.5549 35.1137 19.609 35.4666 23.3968 34.384C27.1846 33.3015 30.4398 30.8596 32.5391 27.526",
101
- strokeWidth: "6",
102
- strokeLinecap: "round",
103
- strokeLinejoin: "round",
104
- mask: "url(#gradient-mask)"
105
- }));
106
- }
107
-
108
- __webpack_require__.d(__webpack_exports__, {
109
- "default": () => (InfiniteLoader)
110
- });
111
-
112
-
113
- },
114
- 7680(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
115
- /* import */ var _styles_system_gaps__rspack_import_2 = __webpack_require__(4182);
116
- /* import */ var styled_components__rspack_import_0 = __webpack_require__(2770);
117
- /* import */ var styled_components__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(styled_components__rspack_import_0);
118
- /* import */ var styled_system__rspack_import_1 = __webpack_require__(9351);
119
- /* import */ var styled_system__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(styled_system__rspack_import_1);
120
-
121
-
122
-
123
- const baseStyles = (0,styled_system__rspack_import_1.compose)(styled_system__rspack_import_1.flexbox, styled_system__rspack_import_1.space, styled_system__rspack_import_1.position, styled_system__rspack_import_1.color, styled_system__rspack_import_1.layout, styled_system__rspack_import_1.overflow, _styles_system_gaps__rspack_import_2["default"], styled_system__rspack_import_1.border);
124
- const proxyStyled = new Proxy((styled_components__rspack_import_0_default()), {
125
- apply (target, thisArg, argumentsList) {
126
- return styled_components__rspack_import_0_default()(target.apply(thisArg, argumentsList)(baseStyles));
127
- },
128
- get (target, property) {
129
- if (typeof target[property] === "function") {
130
- return styled_components__rspack_import_0_default()(target[property].apply((styled_components__rspack_import_0_default()), [
131
- baseStyles
132
- ]));
133
- }
134
- return target[property];
135
- }
136
- });
137
- /* export default */ const __rspack_default_export = (proxyStyled);
138
-
139
- __webpack_require__.d(__webpack_exports__, {
140
- }, {
141
- "default": __rspack_default_export
142
- });
143
-
144
-
145
- },
146
- 9535(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
147
-
148
- // EXPORTS
149
- __webpack_require__.d(__webpack_exports__, {
150
- VirtualList: () => (/* binding */ VirtualList)
151
- });
152
-
153
- // EXTERNAL MODULE: external "react"
154
- var external_react_ = __webpack_require__(2015);
155
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
156
- ;// CONCATENATED MODULE: external "@tanstack/react-virtual"
157
- const react_virtual_namespaceObject = require("@tanstack/react-virtual");
158
- // EXTERNAL MODULE: ./src/components/layout/Flex/index.ts
159
- var Flex = __webpack_require__(3696);
160
- // EXTERNAL MODULE: ./src/components/loaders/InfiniteLoader/index.tsx
161
- var InfiniteLoader = __webpack_require__(1422);
162
- ;// CONCATENATED MODULE: ./src/pre-ldls/components/VirtualList/VirtualList.tsx
163
-
164
-
165
-
166
- const DefaultLoadingComponent = ()=>/*#__PURE__*/ external_react_default().createElement(Flex["default"], {
167
- justifyContent: "center",
168
- alignItems: "center",
169
- height: "76px"
170
- }, /*#__PURE__*/ external_react_default().createElement(InfiniteLoader["default"], null));
171
- function easeInOutCubic(t) {
172
- return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
173
- }
174
- const VirtualList = ({ gap, hasNextPage = false, isLoading, itemHeight, items, LoadingComponent, onVisibleItemsScrollEnd, overscan = 5, renderItem, scrollToTop = false, bottomComponent, threshold = 5 })=>{
175
- const parentRef = (0,external_react_.useRef)(null);
176
- const scrollToFn = (0,external_react_.useCallback)((offset, options, instance)=>{
177
- const element = instance.scrollElement;
178
- if (!element) return;
179
- const duration = options.behavior === "smooth" ? 100 : 0;
180
- if (duration === 0) {
181
- element.scrollTop = offset;
182
- return;
183
- }
184
- const startTime = performance.now();
185
- const startTop = element.scrollTop;
186
- const distanceToScroll = offset - startTop;
187
- const scrollStep = (currentTime)=>{
188
- const elapsed = currentTime - startTime;
189
- const progress = Math.min(elapsed / duration, 1);
190
- const easedProgress = easeInOutCubic(progress);
191
- element.scrollTop = startTop + distanceToScroll * easedProgress;
192
- if (progress < 1) {
193
- requestAnimationFrame(scrollStep);
194
- }
195
- };
196
- requestAnimationFrame(scrollStep);
197
- }, []);
198
- const rowVirtualizer = (0,react_virtual_namespaceObject.useVirtualizer)({
199
- gap,
200
- count: hasNextPage ? items.length + 1 : items.length,
201
- overscan,
202
- getScrollElement: ()=>parentRef.current,
203
- estimateSize: ()=>itemHeight,
204
- scrollToFn
205
- });
206
- (0,external_react_.useEffect)(()=>{
207
- if (scrollToTop && parentRef.current) {
208
- scrollToFn(0, {
209
- behavior: "smooth"
210
- }, {
211
- scrollElement: parentRef.current
212
- });
213
- }
214
- }, [
215
- scrollToTop,
216
- scrollToFn
217
- ]);
218
- const virtualItems = rowVirtualizer.getVirtualItems();
219
- (0,external_react_.useEffect)(()=>{
220
- if (!virtualItems.length) return;
221
- const lastItem = virtualItems[virtualItems.length - 1];
222
- if (lastItem.index >= items.length - 1 - threshold && hasNextPage && !isLoading && onVisibleItemsScrollEnd) {
223
- onVisibleItemsScrollEnd();
224
- }
225
- }, [
226
- hasNextPage,
227
- onVisibleItemsScrollEnd,
228
- items.length,
229
- isLoading,
230
- threshold,
231
- virtualItems
232
- ]);
233
- const showCustomLoadingComponent = !!LoadingComponent;
234
- const Loading = (0,external_react_.useCallback)(()=>showCustomLoadingComponent ? LoadingComponent : /*#__PURE__*/ external_react_default().createElement(DefaultLoadingComponent, null), [
235
- showCustomLoadingComponent,
236
- LoadingComponent
237
- ]);
238
- return /*#__PURE__*/ external_react_default().createElement("div", {
239
- ref: parentRef,
240
- style: {
241
- width: "100%",
242
- height: "100%",
243
- overflow: "auto",
244
- scrollbarWidth: "none"
245
- }
246
- }, /*#__PURE__*/ external_react_default().createElement("div", {
247
- style: {
248
- height: `${rowVirtualizer.getTotalSize()}px`,
249
- width: "100%",
250
- display: "flex",
251
- flexDirection: "column",
252
- position: "relative"
253
- }
254
- }, rowVirtualizer.getVirtualItems().map((virtualRow)=>{
255
- const item = items[virtualRow.index];
256
- return /*#__PURE__*/ external_react_default().createElement("div", {
257
- key: virtualRow.index,
258
- "data-index": virtualRow.index,
259
- ref: rowVirtualizer.measureElement,
260
- style: {
261
- position: "absolute",
262
- top: 0,
263
- left: 0,
264
- transform: `translateY(${virtualRow.start}px)`,
265
- height: `${itemHeight}px`,
266
- width: "100%"
267
- }
268
- }, item ? renderItem(item) : /*#__PURE__*/ external_react_default().createElement(Loading, null));
269
- }), bottomComponent && /*#__PURE__*/ external_react_default().createElement("div", {
270
- style: {
271
- position: "absolute",
272
- top: `${rowVirtualizer.getTotalSize()}px`,
273
- left: 0,
274
- width: "100%"
275
- }
276
- }, bottomComponent)), isLoading && /*#__PURE__*/ external_react_default().createElement(Loading, null));
277
- };
278
-
279
-
280
- },
281
- 4182(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
282
- /* import */ var styled_system__rspack_import_0 = __webpack_require__(9351);
283
- /* import */ var styled_system__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(styled_system__rspack_import_0);
284
-
285
- const gaps = (0,styled_system__rspack_import_0.system)({
286
- rowGap: {
287
- property: "rowGap",
288
- scale: "space"
289
- },
290
- columnGap: {
291
- property: "columnGap",
292
- scale: "space"
293
- }
294
- });
295
- /* export default */ const __rspack_default_export = (gaps);
296
-
297
- __webpack_require__.d(__webpack_exports__, {
298
- }, {
299
- "default": __rspack_default_export
300
- });
301
-
302
-
303
- },
304
- 2015(module) {
305
- module.exports = require("react");
306
-
307
- },
308
- 2770(module) {
309
- module.exports = require("styled-components");
310
-
311
- },
312
- 9351(module) {
313
- module.exports = require("styled-system");
314
-
315
- },
316
-
317
- });
318
- // The module cache
319
- var __webpack_module_cache__ = {};
320
-
321
- // The require function
322
- function __webpack_require__(moduleId) {
323
-
324
- // Check if module is in cache
325
- var cachedModule = __webpack_module_cache__[moduleId];
326
- if (cachedModule !== undefined) {
327
- return cachedModule.exports;
328
- }
329
- // Create a new module (and put it into the cache)
330
- var module = (__webpack_module_cache__[moduleId] = {
331
- exports: {}
332
- });
333
- // Execute the module function
334
- __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
335
-
336
- // Return the exports of the module
337
- return module.exports;
338
-
339
- }
340
-
341
- // webpack/runtime/compat_get_default_export
342
- (() => {
343
- // getDefaultExport function for compatibility with non-ESM modules
344
- __webpack_require__.n = (module) => {
345
- var getter = module && module.__esModule ?
346
- () => (module['default']) :
347
- () => (module);
348
- __webpack_require__.d(getter, { a: getter });
349
- return getter;
350
- };
351
-
352
- })();
353
- // webpack/runtime/define_property_getters
354
- (() => {
355
- __webpack_require__.d = (exports, getters, values) => {
356
- var define = (defs, kind) => {
357
- for(var key in defs) {
358
- if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
359
- Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
360
- }
361
- }
362
- };
363
- define(getters, "get");
364
- define(values, "value");
365
- };
366
- })();
367
- // webpack/runtime/has_own_property
368
- (() => {
369
- __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
370
- })();
371
- // webpack/runtime/make_namespace_object
372
- (() => {
373
- // define __esModule on exports
374
- __webpack_require__.r = (exports) => {
375
- if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
376
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
377
- }
378
- Object.defineProperty(exports, '__esModule', { value: true });
379
- };
380
- })();
381
- var __webpack_exports__ = {};
382
- // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
383
- (() => {
384
- // ESM COMPAT FLAG
385
- __webpack_require__.r(__webpack_exports__);
386
-
387
- // EXPORTS
388
- __webpack_require__.d(__webpack_exports__, {
389
- Default: () => (/* binding */ Default),
390
- TestVirtualList: () => (/* binding */ TestVirtualList),
391
- WithCustomLastRow: () => (/* binding */ WithCustomLastRow),
392
- WithPagination: () => (/* binding */ WithPagination),
393
- "default": () => (/* binding */ VirtualList_stories)
394
- });
395
-
396
- // EXTERNAL MODULE: external "react"
397
- var external_react_ = __webpack_require__(2015);
398
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
399
- // EXTERNAL MODULE: ./src/pre-ldls/components/VirtualList/VirtualList.tsx + 1 modules
400
- var VirtualList = __webpack_require__(9535);
401
- ;// CONCATENATED MODULE: external "@storybook/test"
402
- const test_namespaceObject = require("@storybook/test");
403
- ;// CONCATENATED MODULE: ./src/pre-ldls/components/VirtualList/VirtualList.stories.tsx
404
-
405
-
406
-
407
- const VirtualList_stories_items = Array.from({
408
- length: 50
409
- }, (_, i)=>({
410
- i
411
- }));
412
- const meta = {
413
- component: VirtualList.VirtualList,
414
- decorators: [
415
- (Story)=>/*#__PURE__*/ external_react_default().createElement("div", {
416
- style: {
417
- height: "400px"
418
- }
419
- }, /*#__PURE__*/ external_react_default().createElement(Story, null))
420
- ],
421
- title: "PreLdls/Components/VirtualList",
422
- tags: [
423
- "autodocs"
424
- ],
425
- parameters: {
426
- layout: "fullscreen",
427
- docs: {
428
- description: {
429
- component: "A virtualized list component that renders only the visible items in a scrollable container using the `useVirtualizer` hook from `@tanstack/react-virtual`. It supports pagination and custom item rendering."
430
- }
431
- }
432
- },
433
- argTypes: {
434
- gap: {
435
- description: "Gap between items in the list.",
436
- defaultValue: {
437
- summary: 0
438
- }
439
- },
440
- itemHeight: {
441
- description: "Height of each item in the list."
442
- },
443
- overscan: {
444
- description: "Number of extra items to render outside the visible viewport for smoother scrolling.",
445
- table: {
446
- defaultValue: {
447
- summary: "5"
448
- }
449
- }
450
- },
451
- LoadingComponent: {
452
- description: "React component or node to display when the list is loading additional items. If not provided, a default loading spinner will be used."
453
- },
454
- isLoading: {
455
- description: "Indicates whether new items are currently being loaded."
456
- },
457
- hasNextPage: {
458
- description: "Indicates if there are more items to load. If true, the list will trigger loading more items when scrolled to the end.",
459
- defaultValue: {
460
- summary: "false"
461
- }
462
- },
463
- threshold: {
464
- description: "Number of items to check before the end of the list to trigger loading more items.",
465
- defaultValue: {
466
- summary: "5"
467
- }
468
- },
469
- onVisibleItemsScrollEnd: {
470
- description: "Callback function to be called when the user scrolls to the end of the visible items. This can be used to load more items when the user reaches the end of the list."
471
- },
472
- renderItem: {
473
- description: "Function to render each item in the list. Receives the index of the item as an argument and should return a React node."
474
- },
475
- scrollToTop: {
476
- description: "When set to true, the list will scroll to the top. This is useful when the items change and you want to reset the scroll position."
477
- }
478
- },
479
- args: {
480
- gap: 0,
481
- itemHeight: 64,
482
- LoadingComponent: undefined,
483
- isLoading: false,
484
- overscan: 5,
485
- hasNextPage: false,
486
- threshold: 5,
487
- onVisibleItemsScrollEnd: ()=>{},
488
- items: VirtualList_stories_items,
489
- renderItem: ({ i })=>/*#__PURE__*/ external_react_default().createElement("h1", {
490
- tabIndex: i
491
- }, "Item #", i),
492
- scrollToTop: false
493
- }
494
- };
495
- /* export default */ const VirtualList_stories = (meta);
496
- const Default = {
497
- args: {
498
- itemHeight: 50,
499
- overscan: 5,
500
- items: VirtualList_stories_items,
501
- renderItem: ({ i })=>/*#__PURE__*/ external_react_default().createElement("div", {
502
- style: {
503
- height: 50,
504
- backgroundColor: "lightblue",
505
- border: "1px solid black"
506
- }
507
- }, "Item ", i)
508
- }
509
- };
510
- const WithCustomLastRow = {
511
- render: (args)=>{
512
- const items = Array.from({
513
- length: 5
514
- }, (_, i)=>i + 1);
515
- return /*#__PURE__*/ external_react_default().createElement(VirtualList.VirtualList, {
516
- ...args,
517
- items: items,
518
- renderItem: (item)=>/*#__PURE__*/ external_react_default().createElement("div", {
519
- style: {
520
- height: 50,
521
- backgroundColor: "lightgreen",
522
- border: "1px solid black"
523
- }
524
- }, "Item ", item),
525
- bottomComponent: /*#__PURE__*/ external_react_default().createElement("div", {
526
- style: {
527
- height: 50,
528
- backgroundColor: "lightcoral"
529
- }
530
- }, "End of List")
531
- });
532
- }
533
- };
534
- const WithPagination = {
535
- render: (args)=>{
536
- const [items, setItems] = (0,external_react_.useState)(Array.from({
537
- length: 50
538
- }, (_, i)=>i));
539
- const [isFetching, setIsFetching] = (0,external_react_.useState)(false);
540
- const handleFetchNextPage = async ()=>{
541
- const logFetchNextPage = ()=>{};
542
- logFetchNextPage();
543
- if (isFetching) return;
544
- setIsFetching(true);
545
- await new Promise((resolve)=>setTimeout(resolve, 1000));
546
- setItems((prev)=>[
547
- ...prev,
548
- ...Array.from({
549
- length: 50
550
- }, (_, i)=>prev.length + i)
551
- ]);
552
- setIsFetching(false);
553
- };
554
- return /*#__PURE__*/ external_react_default().createElement(VirtualList.VirtualList, {
555
- ...args,
556
- isLoading: isFetching,
557
- onVisibleItemsScrollEnd: handleFetchNextPage,
558
- hasNextPage: true,
559
- items: items,
560
- renderItem: (item)=>/*#__PURE__*/ external_react_default().createElement("div", {
561
- style: {
562
- height: 50,
563
- backgroundColor: "lightgreen",
564
- border: "1px solid black"
565
- }
566
- }, "Item ", item)
567
- });
568
- },
569
- args: {
570
- itemHeight: 50,
571
- overscan: 5,
572
- hasNextPage: true,
573
- isLoading: false
574
- }
575
- };
576
- const TestVirtualList = {
577
- play: async ({ canvasElement })=>{
578
- const canvas = (0,test_namespaceObject.within)(canvasElement);
579
- const visibleItems = canvas.getAllByText(/Item #/i);
580
- const firstVisibleItem = visibleItems[0];
581
- const lastVisibleItem = visibleItems[visibleItems.length - 1];
582
- // need to add 5 due to the overscan set to 5 (it renders 5 items before and after the visible items)
583
- await (0,test_namespaceObject.expect)(visibleItems.length).toBeLessThanOrEqual(12);
584
- await (0,test_namespaceObject.expect)(firstVisibleItem).toBeInTheDocument();
585
- await test_namespaceObject.userEvent.pointer([
586
- {
587
- keys: "[TouchA>]",
588
- target: lastVisibleItem
589
- },
590
- {
591
- target: firstVisibleItem
592
- },
593
- {
594
- keys: "[/TouchA]"
595
- }
596
- ]);
597
- await (0,test_namespaceObject.waitFor)(()=>(0,test_namespaceObject.expect)(firstVisibleItem).not.toBeInTheDocument());
598
- }
599
- };
600
-
601
- })();
602
-
603
- module.exports = __webpack_exports__;
604
- })()
605
- ;
606
- //# sourceMappingURL=VirtualList.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pre-ldls/components/VirtualList/VirtualList.stories.js","sources":["webpack://@ledgerhq/react-ui/./src/components/layout/Flex/index.ts","webpack://@ledgerhq/react-ui/./src/components/loaders/InfiniteLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/styled.ts","webpack://@ledgerhq/react-ui/./src/pre-ldls/components/VirtualList/VirtualList.tsx","webpack://@ledgerhq/react-ui/./src/styles/system/gaps.ts","webpack://@ledgerhq/react-ui/webpack/runtime/compat_get_default_export","webpack://@ledgerhq/react-ui/webpack/runtime/define_property_getters","webpack://@ledgerhq/react-ui/webpack/runtime/has_own_property","webpack://@ledgerhq/react-ui/webpack/runtime/make_namespace_object","webpack://@ledgerhq/react-ui/./src/pre-ldls/components/VirtualList/VirtualList.stories.tsx"],"sourcesContent":["import baseStyled, { BaseStyledProps } from \"../../styled\";\n\nconst FlexBox = baseStyled.div.attrs<BaseStyledProps, BaseStyledProps>({\n display: \"flex\",\n minWidth: 0,\n})``;\nexport type FlexBoxProps = BaseStyledProps & React.HTMLAttributes<HTMLDivElement>;\n\nexport default FlexBox;\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport { system, size, SizeProps } from \"styled-system\";\n\nconst rotate = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst Loader = styled.svg<SizeProps>`\n animation: ${rotate} 1s linear infinite;\n ${size}\n ${system({\n stroke: {\n property: \"stroke\",\n scale: \"colors\",\n },\n })}\n`;\nexport type Props = React.ComponentProps<typeof Loader> & {\n color?: string;\n};\n\nexport default function InfiniteLoader({\n size = 38,\n color = \"primary.c50\",\n ...extraProps\n}: Props): React.JSX.Element {\n return (\n <Loader\n size={size}\n stroke={color}\n viewBox=\"0 0 38 38\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...extraProps}\n >\n <linearGradient\n id=\"gradient-start\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"1\" />\n </linearGradient>\n <linearGradient\n id=\"gradient-end\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n\n <mask id=\"gradient-mask\" maskUnits=\"userSpaceOnUse\">\n <rect\n x=\"-0\"\n y=\"-4\"\n width=\"44\"\n height=\"22\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-start)\"\n transform=\"rotate(10)\"\n />\n <rect\n x=\"0\"\n y=\"18\"\n width=\"44\"\n height=\"21\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-end)\"\n transform=\"rotate(10)\"\n />\n </mask>\n <path\n d=\"M34.8807 20.9499C35.3608 17.0398 34.3815 13.09 32.1304 9.85712C29.8793 6.6242 26.5146 4.33541 22.6808 3.42914C18.847 2.52287 14.8136 3.06283 11.3532 4.94559C7.89277 6.82836 5.24858 9.92158 3.92708 13.6328C2.60558 17.344 2.69968 21.4123 4.19135 25.0584C5.68302 28.7045 8.4674 31.6722 12.0112 33.3929C15.5549 35.1137 19.609 35.4666 23.3968 34.384C27.1846 33.3015 30.4398 30.8596 32.5391 27.526\"\n strokeWidth=\"6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#gradient-mask)\"\n />\n </Loader>\n );\n}\n","import React from \"react\";\nimport gaps from \"../styles/system/gaps\";\nimport styled, { StyledInterface, InterpolationFunction } from \"styled-components\";\nimport {\n compose,\n flexbox,\n FlexboxProps,\n space,\n SpaceProps,\n position,\n PositionProps,\n color,\n ColorProps,\n layout,\n LayoutProps,\n overflow,\n OverflowProps,\n border,\n BorderProps,\n} from \"styled-system\";\n\nexport type BaseStyledProps = SpaceProps &\n FlexboxProps &\n PositionProps &\n ColorProps &\n LayoutProps &\n BorderProps &\n OverflowProps & {\n /**\n * The columnGap CSS property sets the size of the gap (gutter) between an element's grid columns.\n */\n columnGap?: string | number;\n /**\n * The rowGap CSS property sets the size of the gap (gutter) between an element's grid rows.\n */\n rowGap?: string | number;\n color?: string;\n children?: React.ReactNode;\n };\n\nexport const baseStyles: InterpolationFunction<unknown> = compose(\n flexbox,\n space,\n position,\n color,\n layout,\n overflow,\n gaps,\n border,\n);\n\nconst proxyStyled = new Proxy(styled, {\n apply(target: typeof styled, thisArg, argumentsList: Parameters<typeof styled>) {\n return styled(target.apply(thisArg, argumentsList)(baseStyles));\n },\n get(target, property: keyof typeof styled) {\n if (typeof target[property] === \"function\") {\n return styled(target[property].apply(styled, [baseStyles]));\n }\n return target[property];\n },\n});\n\nexport default <StyledInterface>proxyStyled;\n","import React, { useEffect, useRef, useCallback } from \"react\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport { Flex, InfiniteLoader } from \"../../../components\";\n\ninterface VirtualItem {\n key: string | number | bigint;\n index: number;\n start: number;\n end: number;\n size: number;\n}\n\n/**\n * Props for the VirtualList component, which efficiently renders large lists\n * by virtualizing DOM nodes to improve performance.\n */\ntype VirtualListProps<T> = {\n /**\n * Gap between items in the list.\n */\n gap?: number;\n /**\n * Height of each item in the list.\n * This is used to calculate the total height of the list and the position of each item.\n */\n itemHeight: number;\n /**\n * Number of extra items to render outside the visible viewport for smoother scrolling.\n * Defaults to 5.\n */\n overscan?: number;\n /**\n * React component or node to display when the list is loading additional items.\n * If not provided, a default loading spinner will be used.\n */\n LoadingComponent?: React.ReactNode;\n /**\n * Indicates whether new items are currently being loaded.\n */\n isLoading?: boolean;\n /**\n * Indicates if there are more items to load.\n */\n hasNextPage?: boolean;\n /**\n * Number of items to check before the end of the list to trigger loading more items.\n * Defaults to 5.\n */\n threshold?: number;\n /**\n * Callback function to be called when the user scrolls to the end of the visible items.\n * This can be used to load more items when the user reaches the end of the list.\n */\n onVisibleItemsScrollEnd?: () => void;\n /**\n * Function to render each item in the list.\n * Receives a single value from the items array as an argument and should return a React node.\n */\n renderItem: (item: T) => React.ReactNode;\n /**\n * The array of items which will be rendered\n */\n items: T[];\n /**\n * When set to true, the list will scroll to the top\n */\n scrollToTop?: boolean;\n /**\n * React component or node to display at the bottom of the list, after all items.\n */\n bottomComponent?: React.ReactNode;\n};\n\nconst DefaultLoadingComponent = () => (\n <Flex justifyContent=\"center\" alignItems=\"center\" height=\"76px\">\n <InfiniteLoader />\n </Flex>\n);\n\nfunction easeInOutCubic(t: number) {\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n}\n\nexport const VirtualList = <T,>({\n gap,\n hasNextPage = false,\n isLoading,\n itemHeight,\n items,\n LoadingComponent,\n onVisibleItemsScrollEnd,\n overscan = 5,\n renderItem,\n scrollToTop = false,\n bottomComponent,\n threshold = 5,\n}: VirtualListProps<T>) => {\n const parentRef = useRef<HTMLDivElement>(null);\n\n const scrollToFn = useCallback(\n (\n offset: number,\n options: { adjustments?: number; behavior?: \"auto\" | \"smooth\" },\n instance: { scrollElement: HTMLElement | null },\n ) => {\n const element = instance.scrollElement;\n if (!element) return;\n\n const duration = options.behavior === \"smooth\" ? 100 : 0;\n\n if (duration === 0) {\n element.scrollTop = offset;\n return;\n }\n\n const startTime = performance.now();\n const startTop = element.scrollTop;\n const distanceToScroll = offset - startTop;\n\n const scrollStep = (currentTime: number) => {\n const elapsed = currentTime - startTime;\n const progress = Math.min(elapsed / duration, 1);\n\n const easedProgress = easeInOutCubic(progress);\n\n element.scrollTop = startTop + distanceToScroll * easedProgress;\n\n if (progress < 1) {\n requestAnimationFrame(scrollStep);\n }\n };\n\n requestAnimationFrame(scrollStep);\n },\n [],\n );\n\n const rowVirtualizer = useVirtualizer({\n gap,\n count: hasNextPage ? items.length + 1 : items.length,\n overscan,\n getScrollElement: () => parentRef.current,\n estimateSize: () => itemHeight,\n scrollToFn,\n });\n\n useEffect(() => {\n if (scrollToTop && parentRef.current) {\n scrollToFn(0, { behavior: \"smooth\" }, { scrollElement: parentRef.current });\n }\n }, [scrollToTop, scrollToFn]);\n\n const virtualItems = rowVirtualizer.getVirtualItems();\n\n useEffect(() => {\n if (!virtualItems.length) return;\n const lastItem = virtualItems[virtualItems.length - 1];\n\n if (\n lastItem.index >= items.length - 1 - threshold &&\n hasNextPage &&\n !isLoading &&\n onVisibleItemsScrollEnd\n ) {\n onVisibleItemsScrollEnd();\n }\n }, [hasNextPage, onVisibleItemsScrollEnd, items.length, isLoading, threshold, virtualItems]);\n\n const showCustomLoadingComponent = !!LoadingComponent;\n\n const Loading = useCallback(\n () => (showCustomLoadingComponent ? LoadingComponent : <DefaultLoadingComponent />),\n [showCustomLoadingComponent, LoadingComponent],\n );\n\n return (\n <div\n ref={parentRef}\n style={{ width: \"100%\", height: \"100%\", overflow: \"auto\", scrollbarWidth: \"none\" }}\n >\n <div\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n }}\n >\n {rowVirtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {\n const item = items[virtualRow.index];\n\n return (\n <div\n key={virtualRow.index}\n data-index={virtualRow.index}\n ref={rowVirtualizer.measureElement}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n transform: `translateY(${virtualRow.start}px)`,\n height: `${itemHeight}px`,\n width: \"100%\",\n }}\n >\n {item ? renderItem(item) : <Loading />}\n </div>\n );\n })}\n {bottomComponent && (\n <div\n style={{\n position: \"absolute\",\n top: `${rowVirtualizer.getTotalSize()}px`,\n left: 0,\n width: \"100%\",\n }}\n >\n {bottomComponent}\n </div>\n )}\n </div>\n {isLoading && <Loading />}\n </div>\n );\n};\n","import { system } from \"styled-system\";\n\nconst gaps = system({\n rowGap: { property: \"rowGap\", scale: \"space\" },\n columnGap: { property: \"columnGap\", scale: \"space\" },\n});\n\nexport default gaps;\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React, { useState } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { VirtualList } from \"./VirtualList\";\nimport { expect, userEvent, waitFor, within } from \"@storybook/test\";\n\nconst items = Array.from({ length: 50 }, (_, i) => ({ i }));\n\nconst meta: Meta<typeof VirtualList<{ i: number }>> = {\n component: VirtualList,\n decorators: [\n Story => (\n <div style={{ height: \"400px\" }}>\n <Story />\n </div>\n ),\n ],\n title: \"PreLdls/Components/VirtualList\",\n tags: [\"autodocs\"],\n parameters: {\n layout: \"fullscreen\",\n docs: {\n description: {\n component:\n \"A virtualized list component that renders only the visible items in a scrollable container using the `useVirtualizer` hook from `@tanstack/react-virtual`. It supports pagination and custom item rendering.\",\n },\n },\n },\n argTypes: {\n gap: { description: \"Gap between items in the list.\", defaultValue: { summary: 0 } },\n itemHeight: {\n description: \"Height of each item in the list.\",\n },\n overscan: {\n description:\n \"Number of extra items to render outside the visible viewport for smoother scrolling.\",\n table: {\n defaultValue: {\n summary: \"5\",\n },\n },\n },\n LoadingComponent: {\n description:\n \"React component or node to display when the list is loading additional items. If not provided, a default loading spinner will be used.\",\n },\n isLoading: {\n description: \"Indicates whether new items are currently being loaded.\",\n },\n hasNextPage: {\n description:\n \"Indicates if there are more items to load. If true, the list will trigger loading more items when scrolled to the end.\",\n defaultValue: {\n summary: \"false\",\n },\n },\n threshold: {\n description:\n \"Number of items to check before the end of the list to trigger loading more items.\",\n defaultValue: {\n summary: \"5\",\n },\n },\n onVisibleItemsScrollEnd: {\n description:\n \"Callback function to be called when the user scrolls to the end of the visible items. This can be used to load more items when the user reaches the end of the list.\",\n },\n renderItem: {\n description:\n \"Function to render each item in the list. Receives the index of the item as an argument and should return a React node.\",\n },\n scrollToTop: {\n description:\n \"When set to true, the list will scroll to the top. This is useful when the items change and you want to reset the scroll position.\",\n },\n },\n args: {\n gap: 0,\n itemHeight: 64,\n LoadingComponent: undefined,\n isLoading: false,\n overscan: 5,\n hasNextPage: false,\n threshold: 5,\n onVisibleItemsScrollEnd: () => {},\n items,\n renderItem: ({ i }: { i: number }) => <h1 tabIndex={i}>Item #{i}</h1>,\n scrollToTop: false,\n },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof VirtualList<{ i: number }>>;\n\nexport const Default: Story = {\n args: {\n itemHeight: 50,\n overscan: 5,\n items,\n renderItem: ({ i }: { i: number }) => (\n <div style={{ height: 50, backgroundColor: \"lightblue\", border: \"1px solid black\" }}>\n Item {i}\n </div>\n ),\n },\n};\n\nexport const WithCustomLastRow: Story = {\n render: args => {\n const items = Array.from({ length: 5 }, (_, i) => i + 1);\n\n return (\n <VirtualList\n {...args}\n items={items}\n renderItem={item => (\n <div style={{ height: 50, backgroundColor: \"lightgreen\", border: \"1px solid black\" }}>\n Item {item}\n </div>\n )}\n bottomComponent={\n <div style={{ height: 50, backgroundColor: \"lightcoral\" }}>End of List</div>\n }\n />\n );\n },\n};\nexport const WithPagination: Story = {\n render: args => {\n const [items, setItems] = useState(Array.from({ length: 50 }, (_, i) => i));\n const [isFetching, setIsFetching] = useState(false);\n\n const handleFetchNextPage = async () => {\n const logFetchNextPage = () => {};\n logFetchNextPage();\n if (isFetching) return;\n setIsFetching(true);\n await new Promise(resolve => setTimeout(resolve, 1000));\n setItems(prev => [...prev, ...Array.from({ length: 50 }, (_, i) => prev.length + i)]);\n setIsFetching(false);\n };\n\n return (\n <VirtualList\n {...args}\n isLoading={isFetching}\n onVisibleItemsScrollEnd={handleFetchNextPage}\n hasNextPage={true}\n items={items}\n renderItem={item => (\n <div style={{ height: 50, backgroundColor: \"lightgreen\", border: \"1px solid black\" }}>\n Item {item}\n </div>\n )}\n />\n );\n },\n args: {\n itemHeight: 50,\n overscan: 5,\n hasNextPage: true,\n isLoading: false,\n },\n};\n\nexport const TestVirtualList: Story = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const visibleItems = canvas.getAllByText(/Item #/i);\n const firstVisibleItem = visibleItems[0];\n const lastVisibleItem = visibleItems[visibleItems.length - 1];\n\n // need to add 5 due to the overscan set to 5 (it renders 5 items before and after the visible items)\n await expect(visibleItems.length).toBeLessThanOrEqual(12);\n\n await expect(firstVisibleItem).toBeInTheDocument();\n\n await userEvent.pointer([\n { keys: \"[TouchA>]\", target: lastVisibleItem },\n { target: firstVisibleItem },\n { keys: \"[/TouchA]\" },\n ]);\n\n await waitFor(() => expect(firstVisibleItem).not.toBeInTheDocument());\n },\n};\n"],"names":["baseStyled","FlexBox","React","styled","keyframes","system","size","rotate","Loader","InfiniteLoader","color","extraProps","gaps","compose","flexbox","space","position","layout","overflow","border","baseStyles","proxyStyled","Proxy","target","thisArg","argumentsList","property","useEffect","useRef","useCallback","useVirtualizer","Flex","DefaultLoadingComponent","easeInOutCubic","t","Math","VirtualList","gap","hasNextPage","isLoading","itemHeight","items","LoadingComponent","onVisibleItemsScrollEnd","overscan","renderItem","scrollToTop","bottomComponent","threshold","parentRef","scrollToFn","offset","options","instance","element","duration","startTime","performance","startTop","distanceToScroll","scrollStep","currentTime","elapsed","progress","easedProgress","requestAnimationFrame","rowVirtualizer","virtualItems","lastItem","showCustomLoadingComponent","Loading","virtualRow","item","useState","expect","userEvent","waitFor","within","Array","_","i","meta","Story","undefined","Default","WithCustomLastRow","args","WithPagination","setItems","isFetching","setIsFetching","handleFetchNextPage","logFetchNextPage","Promise","resolve","setTimeout","prev","TestVirtualList","canvasElement","canvas","visibleItems","firstVisibleItem","lastVisibleItem"],"mappings":"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"}