@flipdish/portal-library 2.0.8 → 2.0.10

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 (527) hide show
  1. package/dist/components/Button/index.cjs.js +2 -0
  2. package/dist/components/Button/index.cjs.js.map +1 -0
  3. package/dist/components/Button/index.d.ts +2 -0
  4. package/dist/components/Button/index.js +2 -0
  5. package/dist/components/Button/index.js.map +1 -0
  6. package/dist/components/Chip/index.cjs.js +1 -1
  7. package/dist/components/Chip/index.cjs.js.map +1 -1
  8. package/dist/components/Chip/index.js +1 -1
  9. package/dist/components/Chip/index.js.map +1 -1
  10. package/dist/components/FDErrorBoundary/index.cjs.js.map +1 -1
  11. package/dist/components/FlipdishLogoLoader/index.cjs.js +1 -1
  12. package/dist/components/FlipdishLogoLoader/index.cjs.js.map +1 -1
  13. package/dist/components/FlipdishLogoLoader/index.js +1 -1
  14. package/dist/components/FlipdishLogoLoader/index.js.map +1 -1
  15. package/dist/components/FlipdishStaffContainer/index.cjs.js.map +1 -1
  16. package/dist/components/Form/FormItemLayout/index.cjs.js.map +1 -1
  17. package/dist/components/Form/FormItemLayout/index.js.map +1 -1
  18. package/dist/components/Form/GenericAutocompleteField/index.cjs.js.map +1 -1
  19. package/dist/components/Form/GenericAutocompleteField/index.js.map +1 -1
  20. package/dist/components/Form/GenericFormContainer/index.cjs.js.map +1 -1
  21. package/dist/components/Form/GenericFormContainer/index.js.map +1 -1
  22. package/dist/components/Form/GenericTextField/index.cjs.js.map +1 -1
  23. package/dist/components/Form/GenericTextField/index.js.map +1 -1
  24. package/dist/components/Form/PaginatedAutocompleteField/index.cjs.js.map +1 -1
  25. package/dist/components/Form/PaginatedAutocompleteField/index.js.map +1 -1
  26. package/dist/components/GenericDatePickerField/GenericDateFieldBase.cjs.js.map +1 -1
  27. package/dist/components/GenericDatePickerField/GenericDateFieldBase.js.map +1 -1
  28. package/dist/components/GenericDatePickerField/index.cjs.js.map +1 -1
  29. package/dist/components/GenericDateTimePickerField/index.cjs.js.map +1 -1
  30. package/dist/components/GenericRadioButtons/index.cjs.js.map +1 -1
  31. package/dist/components/GenericRadioButtons/index.js.map +1 -1
  32. package/dist/components/GenericTable/HighlightScrollbar.cjs.js.map +1 -1
  33. package/dist/components/GenericTable/HighlightScrollbar.js.map +1 -1
  34. package/dist/components/GenericTable/index.cjs.js.map +1 -1
  35. package/dist/components/GenericTable/index.js.map +1 -1
  36. package/dist/components/GenericTableBody/index.cjs.js.map +1 -1
  37. package/dist/components/GenericTableBody/index.js.map +1 -1
  38. package/dist/components/GenericTableBodyRow/index.cjs.js.map +1 -1
  39. package/dist/components/GenericTableBodyRow/index.js.map +1 -1
  40. package/dist/components/GenericTableTitle/index.cjs.js.map +1 -1
  41. package/dist/components/GenericTableTitle/index.js.map +1 -1
  42. package/dist/components/ListItemLink/index.cjs.js.map +1 -1
  43. package/dist/components/ListItemLink/index.js.map +1 -1
  44. package/dist/components/ListItemLinkButton/index.cjs.js.map +1 -1
  45. package/dist/components/ListItemLinkButton/index.js.map +1 -1
  46. package/dist/components/NoResults/index.cjs.js.map +1 -1
  47. package/dist/components/NotFoundPage/index.cjs.js.map +1 -1
  48. package/dist/components/PageLayout/FullWidthContainer.cjs.js.map +1 -1
  49. package/dist/components/PageLayout/FullWidthContainer.js.map +1 -1
  50. package/dist/components/PageLayout/GlobalSpacingStyles.cjs.js.map +1 -1
  51. package/dist/components/PageLayout/GlobalSpacingStyles.js +1 -1
  52. package/dist/components/PageLayout/GlobalSpacingStyles.js.map +1 -1
  53. package/dist/components/PageLayout/index.cjs.js +1 -1
  54. package/dist/components/PageLayout/index.cjs.js.map +1 -1
  55. package/dist/components/PageLayout/index.js +1 -1
  56. package/dist/components/PageLayout/index.js.map +1 -1
  57. package/dist/components/PortalMock/index.cjs.js.map +1 -1
  58. package/dist/components/PortalMock/index.js.map +1 -1
  59. package/dist/components/Switch/index.cjs.js.map +1 -1
  60. package/dist/custom-hooks/useMicroFrontendAttributes.cjs.js.map +1 -1
  61. package/dist/custom-hooks/useMicroFrontendAttributes.js.map +1 -1
  62. package/dist/custom-hooks/useRenderValidText.cjs.js.map +1 -1
  63. package/dist/custom-hooks/useToasts.cjs.js.map +1 -1
  64. package/dist/icons/AI/ai.svg.cjs.js.map +1 -1
  65. package/dist/icons/AI/ai.svg.js.map +1 -1
  66. package/dist/icons/Add/add.svg.cjs.js.map +1 -1
  67. package/dist/icons/Add/add.svg.js.map +1 -1
  68. package/dist/icons/AddCircle/add-circle.svg.cjs.js.map +1 -1
  69. package/dist/icons/AddCircle/add-circle.svg.js.map +1 -1
  70. package/dist/icons/AdvancedSettings/advanced-settings.svg.cjs.js.map +1 -1
  71. package/dist/icons/AdvancedSettings/advanced-settings.svg.js.map +1 -1
  72. package/dist/icons/Alert/alert.svg.cjs.js.map +1 -1
  73. package/dist/icons/Alert/alert.svg.js.map +1 -1
  74. package/dist/icons/Analytics/analytics.svg.cjs.js.map +1 -1
  75. package/dist/icons/Analytics/analytics.svg.js.map +1 -1
  76. package/dist/icons/Angry/angry.svg.cjs.js.map +1 -1
  77. package/dist/icons/Angry/angry.svg.js.map +1 -1
  78. package/dist/icons/AngrySolid/angry-solid.svg.cjs.js.map +1 -1
  79. package/dist/icons/AngrySolid/angry-solid.svg.js.map +1 -1
  80. package/dist/icons/ArrowDown01/arrow-down-01.svg.cjs.js.map +1 -1
  81. package/dist/icons/ArrowDown01/arrow-down-01.svg.js.map +1 -1
  82. package/dist/icons/ArrowDown01Solid/arrow-down-01-solid.svg.cjs.js.map +1 -1
  83. package/dist/icons/ArrowDown01Solid/arrow-down-01-solid.svg.js.map +1 -1
  84. package/dist/icons/ArrowDown02/arrow-down-02.svg.cjs.js.map +1 -1
  85. package/dist/icons/ArrowDown02/arrow-down-02.svg.js.map +1 -1
  86. package/dist/icons/ArrowExpand/arrow-expand.svg.cjs.js.map +1 -1
  87. package/dist/icons/ArrowExpand/arrow-expand.svg.js.map +1 -1
  88. package/dist/icons/ArrowLeft01/arrow-left-01.svg.cjs.js.map +1 -1
  89. package/dist/icons/ArrowLeft01/arrow-left-01.svg.js.map +1 -1
  90. package/dist/icons/ArrowLeft01Solid/arrow-left-01-solid.svg.cjs.js.map +1 -1
  91. package/dist/icons/ArrowLeft01Solid/arrow-left-01-solid.svg.js.map +1 -1
  92. package/dist/icons/ArrowLeft02/arrow-left-02.svg.cjs.js.map +1 -1
  93. package/dist/icons/ArrowLeft02/arrow-left-02.svg.js.map +1 -1
  94. package/dist/icons/ArrowLeft03/arrow-left-03.svg.cjs.js.map +1 -1
  95. package/dist/icons/ArrowLeft03/arrow-left-03.svg.js.map +1 -1
  96. package/dist/icons/ArrowLeftRight/arrow-left-right.svg.cjs.js.map +1 -1
  97. package/dist/icons/ArrowLeftRight/arrow-left-right.svg.js.map +1 -1
  98. package/dist/icons/ArrowRight01/arrow-right-01.svg.cjs.js.map +1 -1
  99. package/dist/icons/ArrowRight01/arrow-right-01.svg.js.map +1 -1
  100. package/dist/icons/ArrowRight01Solid/arrow-right-01-solid.svg.cjs.js.map +1 -1
  101. package/dist/icons/ArrowRight01Solid/arrow-right-01-solid.svg.js.map +1 -1
  102. package/dist/icons/ArrowRight02/arrow-right-02.svg.cjs.js.map +1 -1
  103. package/dist/icons/ArrowRight02/arrow-right-02.svg.js.map +1 -1
  104. package/dist/icons/ArrowRight03/arrow-right-03.svg.cjs.js.map +1 -1
  105. package/dist/icons/ArrowRight03/arrow-right-03.svg.js.map +1 -1
  106. package/dist/icons/ArrowShrink/arrow-shrink.svg.cjs.js.map +1 -1
  107. package/dist/icons/ArrowShrink/arrow-shrink.svg.js.map +1 -1
  108. package/dist/icons/ArrowUp01/arrow-up-01.svg.cjs.js.map +1 -1
  109. package/dist/icons/ArrowUp01/arrow-up-01.svg.js.map +1 -1
  110. package/dist/icons/ArrowUp01Solid/arrow-up-01-solid.svg.cjs.js.map +1 -1
  111. package/dist/icons/ArrowUp01Solid/arrow-up-01-solid.svg.js.map +1 -1
  112. package/dist/icons/ArrowUp02/arrow-up-02.svg.cjs.js.map +1 -1
  113. package/dist/icons/ArrowUp02/arrow-up-02.svg.js.map +1 -1
  114. package/dist/icons/ArrowVertical/arrow-vertical.svg.cjs.js.map +1 -1
  115. package/dist/icons/ArrowVertical/arrow-vertical.svg.js.map +1 -1
  116. package/dist/icons/At/at.svg.cjs.js.map +1 -1
  117. package/dist/icons/At/at.svg.js.map +1 -1
  118. package/dist/icons/Bank/bank.svg.cjs.js.map +1 -1
  119. package/dist/icons/Bank/bank.svg.js.map +1 -1
  120. package/dist/icons/BankSolid/bank-solid.svg.cjs.js.map +1 -1
  121. package/dist/icons/BankSolid/bank-solid.svg.js.map +1 -1
  122. package/dist/icons/Bluesky/bluesky.svg.cjs.js.map +1 -1
  123. package/dist/icons/Bluesky/bluesky.svg.js.map +1 -1
  124. package/dist/icons/BlueskyBrand/bluesky-brand.svg.cjs.js.map +1 -1
  125. package/dist/icons/BlueskyBrand/bluesky-brand.svg.js.map +1 -1
  126. package/dist/icons/BubbleChat/bubble-chat.svg.cjs.js.map +1 -1
  127. package/dist/icons/BubbleChat/bubble-chat.svg.js.map +1 -1
  128. package/dist/icons/BubbleChatSolid/bubble-chat-solid.svg.cjs.js.map +1 -1
  129. package/dist/icons/BubbleChatSolid/bubble-chat-solid.svg.js.map +1 -1
  130. package/dist/icons/Calculator/calculator.svg.cjs.js.map +1 -1
  131. package/dist/icons/Calculator/calculator.svg.js.map +1 -1
  132. package/dist/icons/CalculatorSolid/calculator-solid.svg.cjs.js.map +1 -1
  133. package/dist/icons/CalculatorSolid/calculator-solid.svg.js.map +1 -1
  134. package/dist/icons/Calendar/calendar.svg.cjs.js.map +1 -1
  135. package/dist/icons/Calendar/calendar.svg.js.map +1 -1
  136. package/dist/icons/Call/call.svg.cjs.js.map +1 -1
  137. package/dist/icons/Call/call.svg.js.map +1 -1
  138. package/dist/icons/CallSolid/call-solid.svg.cjs.js.map +1 -1
  139. package/dist/icons/CallSolid/call-solid.svg.js.map +1 -1
  140. package/dist/icons/Cancel/cancel.svg.cjs.js.map +1 -1
  141. package/dist/icons/Cancel/cancel.svg.js.map +1 -1
  142. package/dist/icons/CancelCircle/cancel-circle.svg.cjs.js.map +1 -1
  143. package/dist/icons/CancelCircle/cancel-circle.svg.js.map +1 -1
  144. package/dist/icons/CashDrawer/cash-drawer.svg.cjs.js.map +1 -1
  145. package/dist/icons/CashDrawer/cash-drawer.svg.js.map +1 -1
  146. package/dist/icons/CheckmarkBadge/checkmark-badge.svg.cjs.js.map +1 -1
  147. package/dist/icons/CheckmarkBadge/checkmark-badge.svg.js.map +1 -1
  148. package/dist/icons/CheckmarkBadgeSolid/checkmark-badge-solid.svg.cjs.js.map +1 -1
  149. package/dist/icons/CheckmarkBadgeSolid/checkmark-badge-solid.svg.js.map +1 -1
  150. package/dist/icons/CheckmarkCircle/checkmark-circle.svg.cjs.js.map +1 -1
  151. package/dist/icons/CheckmarkCircle/checkmark-circle.svg.js.map +1 -1
  152. package/dist/icons/Clock/clock.svg.cjs.js.map +1 -1
  153. package/dist/icons/Clock/clock.svg.js.map +1 -1
  154. package/dist/icons/Cloud/cloud.svg.cjs.js.map +1 -1
  155. package/dist/icons/Cloud/cloud.svg.js.map +1 -1
  156. package/dist/icons/CloudSolid/cloud-solid.svg.cjs.js.map +1 -1
  157. package/dist/icons/CloudSolid/cloud-solid.svg.js.map +1 -1
  158. package/dist/icons/Comment/comment.svg.cjs.js.map +1 -1
  159. package/dist/icons/Comment/comment.svg.js.map +1 -1
  160. package/dist/icons/CommentSolid/comment-solid.svg.cjs.js.map +1 -1
  161. package/dist/icons/CommentSolid/comment-solid.svg.js.map +1 -1
  162. package/dist/icons/Computer/computer.svg.cjs.js.map +1 -1
  163. package/dist/icons/Computer/computer.svg.js.map +1 -1
  164. package/dist/icons/Cookie/cookie.svg.cjs.js.map +1 -1
  165. package/dist/icons/Cookie/cookie.svg.js.map +1 -1
  166. package/dist/icons/Copy/copy.svg.cjs.js.map +1 -1
  167. package/dist/icons/Copy/copy.svg.js.map +1 -1
  168. package/dist/icons/Coupon/coupon.svg.cjs.js.map +1 -1
  169. package/dist/icons/Coupon/coupon.svg.js.map +1 -1
  170. package/dist/icons/CursorInWindow/cursor-in-window.svg.cjs.js.map +1 -1
  171. package/dist/icons/CursorInWindow/cursor-in-window.svg.js.map +1 -1
  172. package/dist/icons/CustomerSupport/customer-support.svg.cjs.js.map +1 -1
  173. package/dist/icons/CustomerSupport/customer-support.svg.js.map +1 -1
  174. package/dist/icons/Delete/delete.svg.cjs.js.map +1 -1
  175. package/dist/icons/Delete/delete.svg.js.map +1 -1
  176. package/dist/icons/Deliveroo/deliveroo.svg.cjs.js.map +1 -1
  177. package/dist/icons/Deliveroo/deliveroo.svg.js.map +1 -1
  178. package/dist/icons/DeliverooBrand/deliveroo-brand.svg.cjs.js.map +1 -1
  179. package/dist/icons/DeliverooBrand/deliveroo-brand.svg.js.map +1 -1
  180. package/dist/icons/DevMode/dev-mode.svg.cjs.js.map +1 -1
  181. package/dist/icons/DevMode/dev-mode.svg.js.map +1 -1
  182. package/dist/icons/Diamond/diamond.svg.cjs.js.map +1 -1
  183. package/dist/icons/Diamond/diamond.svg.js.map +1 -1
  184. package/dist/icons/DiamondSolid/diamond-solid.svg.cjs.js.map +1 -1
  185. package/dist/icons/DiamondSolid/diamond-solid.svg.js.map +1 -1
  186. package/dist/icons/DigitalSignage/digital-signage.svg.cjs.js.map +1 -1
  187. package/dist/icons/DigitalSignage/digital-signage.svg.js.map +1 -1
  188. package/dist/icons/DineIn/dine-in.svg.cjs.js.map +1 -1
  189. package/dist/icons/DineIn/dine-in.svg.js.map +1 -1
  190. package/dist/icons/DiscountTag/discount-tag.svg.cjs.js.map +1 -1
  191. package/dist/icons/DiscountTag/discount-tag.svg.js.map +1 -1
  192. package/dist/icons/Dish/dish.svg.cjs.js.map +1 -1
  193. package/dist/icons/Dish/dish.svg.js.map +1 -1
  194. package/dist/icons/Dollar/dollar.svg.cjs.js.map +1 -1
  195. package/dist/icons/Dollar/dollar.svg.js.map +1 -1
  196. package/dist/icons/Download/download.svg.cjs.js.map +1 -1
  197. package/dist/icons/Download/download.svg.js.map +1 -1
  198. package/dist/icons/DragDrop/drag-drop.svg.cjs.js.map +1 -1
  199. package/dist/icons/DragDrop/drag-drop.svg.js.map +1 -1
  200. package/dist/icons/DragDropHorizontal/drag-drop-horizontal.svg.cjs.js.map +1 -1
  201. package/dist/icons/DragDropHorizontal/drag-drop-horizontal.svg.js.map +1 -1
  202. package/dist/icons/DragDropVertical/drag-drop-vertical.svg.cjs.js.map +1 -1
  203. package/dist/icons/DragDropVertical/drag-drop-vertical.svg.js.map +1 -1
  204. package/dist/icons/Edit/edit.svg.cjs.js.map +1 -1
  205. package/dist/icons/Edit/edit.svg.js.map +1 -1
  206. package/dist/icons/Euro/euro.svg.cjs.js.map +1 -1
  207. package/dist/icons/Euro/euro.svg.js.map +1 -1
  208. package/dist/icons/Facebook/facebook.svg.cjs.js.map +1 -1
  209. package/dist/icons/Facebook/facebook.svg.js.map +1 -1
  210. package/dist/icons/FacebookBrand/facebook-brand.svg.cjs.js.map +1 -1
  211. package/dist/icons/FacebookBrand/facebook-brand.svg.js.map +1 -1
  212. package/dist/icons/Favourite/favourite.svg.cjs.js.map +1 -1
  213. package/dist/icons/Favourite/favourite.svg.js.map +1 -1
  214. package/dist/icons/FavouriteSolid/favourite-solid.svg.cjs.js.map +1 -1
  215. package/dist/icons/FavouriteSolid/favourite-solid.svg.js.map +1 -1
  216. package/dist/icons/Filter/filter.svg.cjs.js.map +1 -1
  217. package/dist/icons/Filter/filter.svg.js.map +1 -1
  218. package/dist/icons/Flipdish/flipdish.svg.cjs.js.map +1 -1
  219. package/dist/icons/Flipdish/flipdish.svg.js.map +1 -1
  220. package/dist/icons/FlipdishBrand/flipdish-brand.svg.cjs.js.map +1 -1
  221. package/dist/icons/FlipdishBrand/flipdish-brand.svg.js.map +1 -1
  222. package/dist/icons/Folder/folder.svg.cjs.js.map +1 -1
  223. package/dist/icons/Folder/folder.svg.js.map +1 -1
  224. package/dist/icons/Gift/gift.svg.cjs.js.map +1 -1
  225. package/dist/icons/Gift/gift.svg.js.map +1 -1
  226. package/dist/icons/GiftCard/gift-card.svg.cjs.js.map +1 -1
  227. package/dist/icons/GiftCard/gift-card.svg.js.map +1 -1
  228. package/dist/icons/Globe/globe.svg.cjs.js.map +1 -1
  229. package/dist/icons/Globe/globe.svg.js.map +1 -1
  230. package/dist/icons/Google/google.svg.cjs.js.map +1 -1
  231. package/dist/icons/Google/google.svg.js.map +1 -1
  232. package/dist/icons/GoogleBrand/google-brand.svg.cjs.js.map +1 -1
  233. package/dist/icons/GoogleBrand/google-brand.svg.js.map +1 -1
  234. package/dist/icons/Happy/happy.svg.cjs.js.map +1 -1
  235. package/dist/icons/Happy/happy.svg.js.map +1 -1
  236. package/dist/icons/HappySolid/happy-solid.svg.cjs.js.map +1 -1
  237. package/dist/icons/HappySolid/happy-solid.svg.js.map +1 -1
  238. package/dist/icons/HelpCircle/help-circle.svg.cjs.js.map +1 -1
  239. package/dist/icons/HelpCircle/help-circle.svg.js.map +1 -1
  240. package/dist/icons/Home/home.svg.cjs.js.map +1 -1
  241. package/dist/icons/Home/home.svg.js.map +1 -1
  242. package/dist/icons/HomeSolid/home-solid.svg.cjs.js.map +1 -1
  243. package/dist/icons/HomeSolid/home-solid.svg.js.map +1 -1
  244. package/dist/icons/Image/image.svg.cjs.js.map +1 -1
  245. package/dist/icons/Image/image.svg.js.map +1 -1
  246. package/dist/icons/InformationCircle/information-circle.svg.cjs.js.map +1 -1
  247. package/dist/icons/InformationCircle/information-circle.svg.js.map +1 -1
  248. package/dist/icons/Instagram/instagram.svg.cjs.js.map +1 -1
  249. package/dist/icons/Instagram/instagram.svg.js.map +1 -1
  250. package/dist/icons/InstagramBrand/instagram-brand.svg.cjs.js.map +1 -1
  251. package/dist/icons/InstagramBrand/instagram-brand.svg.js.map +1 -1
  252. package/dist/icons/Internet/internet.svg.cjs.js.map +1 -1
  253. package/dist/icons/Internet/internet.svg.js.map +1 -1
  254. package/dist/icons/InternetSolid/internet-solid.svg.cjs.js.map +1 -1
  255. package/dist/icons/InternetSolid/internet-solid.svg.js.map +1 -1
  256. package/dist/icons/JustEat/just-eat.svg.cjs.js.map +1 -1
  257. package/dist/icons/JustEat/just-eat.svg.js.map +1 -1
  258. package/dist/icons/JustEatBrand/just-eat-brand.svg.cjs.js.map +1 -1
  259. package/dist/icons/JustEatBrand/just-eat-brand.svg.js.map +1 -1
  260. package/dist/icons/Kiosk/kiosk.svg.cjs.js.map +1 -1
  261. package/dist/icons/Kiosk/kiosk.svg.js.map +1 -1
  262. package/dist/icons/KioskSolid/kiosk-solid.svg.cjs.js.map +1 -1
  263. package/dist/icons/KioskSolid/kiosk-solid.svg.js.map +1 -1
  264. package/dist/icons/KitchenDisplayScreen/kitchen-display-screen.svg.cjs.js.map +1 -1
  265. package/dist/icons/KitchenDisplayScreen/kitchen-display-screen.svg.js.map +1 -1
  266. package/dist/icons/Layout/layout.svg.cjs.js.map +1 -1
  267. package/dist/icons/Layout/layout.svg.js.map +1 -1
  268. package/dist/icons/Link/link.svg.cjs.js.map +1 -1
  269. package/dist/icons/Link/link.svg.js.map +1 -1
  270. package/dist/icons/LinkSquare/link-square.svg.cjs.js.map +1 -1
  271. package/dist/icons/LinkSquare/link-square.svg.js.map +1 -1
  272. package/dist/icons/LinkedIn/linkedIn.svg.cjs.js.map +1 -1
  273. package/dist/icons/LinkedIn/linkedIn.svg.js.map +1 -1
  274. package/dist/icons/LinkedInBrand/linkedIn-brand.svg.cjs.js.map +1 -1
  275. package/dist/icons/LinkedInBrand/linkedIn-brand.svg.js.map +1 -1
  276. package/dist/icons/Location/location.svg.cjs.js.map +1 -1
  277. package/dist/icons/Location/location.svg.js.map +1 -1
  278. package/dist/icons/Logout/logout.svg.cjs.js.map +1 -1
  279. package/dist/icons/Logout/logout.svg.js.map +1 -1
  280. package/dist/icons/Mail/mail.svg.cjs.js.map +1 -1
  281. package/dist/icons/Mail/mail.svg.js.map +1 -1
  282. package/dist/icons/Marketing/marketing.svg.cjs.js.map +1 -1
  283. package/dist/icons/Marketing/marketing.svg.js.map +1 -1
  284. package/dist/icons/MarketingSolid/marketing-solid.svg.cjs.js.map +1 -1
  285. package/dist/icons/MarketingSolid/marketing-solid.svg.js.map +1 -1
  286. package/dist/icons/Menu01/menu-01.svg.cjs.js.map +1 -1
  287. package/dist/icons/Menu01/menu-01.svg.js.map +1 -1
  288. package/dist/icons/Menu02/menu-02.svg.cjs.js.map +1 -1
  289. package/dist/icons/Menu02/menu-02.svg.js.map +1 -1
  290. package/dist/icons/MenuRestaurant/menu-restaurant.svg.cjs.js.map +1 -1
  291. package/dist/icons/MenuRestaurant/menu-restaurant.svg.js.map +1 -1
  292. package/dist/icons/MenuRestaurantSolid/menu-restaurant-solid.svg.cjs.js.map +1 -1
  293. package/dist/icons/MenuRestaurantSolid/menu-restaurant-solid.svg.js.map +1 -1
  294. package/dist/icons/Mobile/mobile.svg.cjs.js.map +1 -1
  295. package/dist/icons/Mobile/mobile.svg.js.map +1 -1
  296. package/dist/icons/MobileSolid/mobile-solid.svg.cjs.js.map +1 -1
  297. package/dist/icons/MobileSolid/mobile-solid.svg.js.map +1 -1
  298. package/dist/icons/Money/money.svg.cjs.js.map +1 -1
  299. package/dist/icons/Money/money.svg.js.map +1 -1
  300. package/dist/icons/MoneyReceive/money-receive.svg.cjs.js.map +1 -1
  301. package/dist/icons/MoneyReceive/money-receive.svg.js.map +1 -1
  302. package/dist/icons/MoneySend/money-send.svg.cjs.js.map +1 -1
  303. package/dist/icons/MoneySend/money-send.svg.js.map +1 -1
  304. package/dist/icons/MoneySolid/money-solid.svg.cjs.js.map +1 -1
  305. package/dist/icons/MoneySolid/money-solid.svg.js.map +1 -1
  306. package/dist/icons/More/more.svg.cjs.js.map +1 -1
  307. package/dist/icons/More/more.svg.js.map +1 -1
  308. package/dist/icons/MoreVertical/more-vertical.svg.cjs.js.map +1 -1
  309. package/dist/icons/MoreVertical/more-vertical.svg.js.map +1 -1
  310. package/dist/icons/MoreVerticalCircle/more-vertical-circle.svg.cjs.js.map +1 -1
  311. package/dist/icons/MoreVerticalCircle/more-vertical-circle.svg.js.map +1 -1
  312. package/dist/icons/Mortarboard/mortarboard.svg.cjs.js.map +1 -1
  313. package/dist/icons/Mortarboard/mortarboard.svg.js.map +1 -1
  314. package/dist/icons/Move/move.svg.cjs.js.map +1 -1
  315. package/dist/icons/Move/move.svg.js.map +1 -1
  316. package/dist/icons/Navigation/navigation.svg.cjs.js.map +1 -1
  317. package/dist/icons/Navigation/navigation.svg.js.map +1 -1
  318. package/dist/icons/Neutral/neutral.svg.cjs.js.map +1 -1
  319. package/dist/icons/Neutral/neutral.svg.js.map +1 -1
  320. package/dist/icons/NeutralSolid/neutral-solid.svg.cjs.js.map +1 -1
  321. package/dist/icons/NeutralSolid/neutral-solid.svg.js.map +1 -1
  322. package/dist/icons/NoteAdd/note-add.svg.cjs.js.map +1 -1
  323. package/dist/icons/NoteAdd/note-add.svg.js.map +1 -1
  324. package/dist/icons/NoteEdit/note-edit.svg.cjs.js.map +1 -1
  325. package/dist/icons/NoteEdit/note-edit.svg.js.map +1 -1
  326. package/dist/icons/Notification/notification.svg.cjs.js.map +1 -1
  327. package/dist/icons/Notification/notification.svg.js.map +1 -1
  328. package/dist/icons/NotificationSolid/notification-solid.svg.cjs.js.map +1 -1
  329. package/dist/icons/NotificationSolid/notification-solid.svg.js.map +1 -1
  330. package/dist/icons/Order/order.svg.cjs.js.map +1 -1
  331. package/dist/icons/Order/order.svg.js.map +1 -1
  332. package/dist/icons/OrderSolid/order-solid.svg.cjs.js.map +1 -1
  333. package/dist/icons/OrderSolid/order-solid.svg.js.map +1 -1
  334. package/dist/icons/OrderingPlatform/ordering-platform.svg.cjs.js.map +1 -1
  335. package/dist/icons/OrderingPlatform/ordering-platform.svg.js.map +1 -1
  336. package/dist/icons/OrderingPlatformSolid/ordering-platform-solid.svg.cjs.js.map +1 -1
  337. package/dist/icons/OrderingPlatformSolid/ordering-platform-solid.svg.js.map +1 -1
  338. package/dist/icons/Organisation/organisation.svg.cjs.js.map +1 -1
  339. package/dist/icons/Organisation/organisation.svg.js.map +1 -1
  340. package/dist/icons/PaintBrush/paint-brush.svg.cjs.js.map +1 -1
  341. package/dist/icons/PaintBrush/paint-brush.svg.js.map +1 -1
  342. package/dist/icons/Payment/payment.svg.cjs.js.map +1 -1
  343. package/dist/icons/Payment/payment.svg.js.map +1 -1
  344. package/dist/icons/Pending/pending.svg.cjs.js.map +1 -1
  345. package/dist/icons/Pending/pending.svg.js.map +1 -1
  346. package/dist/icons/PinLocation/pin-location.svg.cjs.js.map +1 -1
  347. package/dist/icons/PinLocation/pin-location.svg.js.map +1 -1
  348. package/dist/icons/Play/play.svg.cjs.js.map +1 -1
  349. package/dist/icons/Play/play.svg.js.map +1 -1
  350. package/dist/icons/PointOfSale/point-of-sale.svg.cjs.js.map +1 -1
  351. package/dist/icons/PointOfSale/point-of-sale.svg.js.map +1 -1
  352. package/dist/icons/PointOfSaleSolid/point-of-sale-solid.svg.cjs.js.map +1 -1
  353. package/dist/icons/PointOfSaleSolid/point-of-sale-solid.svg.js.map +1 -1
  354. package/dist/icons/Pound/pound.svg.cjs.js.map +1 -1
  355. package/dist/icons/Pound/pound.svg.js.map +1 -1
  356. package/dist/icons/Printer/printer.svg.cjs.js.map +1 -1
  357. package/dist/icons/Printer/printer.svg.js.map +1 -1
  358. package/dist/icons/Property/property.svg.cjs.js.map +1 -1
  359. package/dist/icons/Property/property.svg.js.map +1 -1
  360. package/dist/icons/PropertySolid/property-solid.svg.cjs.js.map +1 -1
  361. package/dist/icons/PropertySolid/property-solid.svg.js.map +1 -1
  362. package/dist/icons/Publish/publish.svg.cjs.js.map +1 -1
  363. package/dist/icons/Publish/publish.svg.js.map +1 -1
  364. package/dist/icons/Puzzle/puzzle.svg.cjs.js.map +1 -1
  365. package/dist/icons/Puzzle/puzzle.svg.js.map +1 -1
  366. package/dist/icons/QRCode/qr-code.svg.cjs.js.map +1 -1
  367. package/dist/icons/QRCode/qr-code.svg.js.map +1 -1
  368. package/dist/icons/QRCodeScan/qr-code-scan.svg.cjs.js.map +1 -1
  369. package/dist/icons/QRCodeScan/qr-code-scan.svg.js.map +1 -1
  370. package/dist/icons/QRCodeSolid/qr-code-solid.svg.cjs.js.map +1 -1
  371. package/dist/icons/QRCodeSolid/qr-code-solid.svg.js.map +1 -1
  372. package/dist/icons/Refresh/refresh.svg.cjs.js.map +1 -1
  373. package/dist/icons/Refresh/refresh.svg.js.map +1 -1
  374. package/dist/icons/Remove/remove.svg.cjs.js.map +1 -1
  375. package/dist/icons/Remove/remove.svg.js.map +1 -1
  376. package/dist/icons/RemoveCircle/remove-circle.svg.cjs.js.map +1 -1
  377. package/dist/icons/RemoveCircle/remove-circle.svg.js.map +1 -1
  378. package/dist/icons/Sad/sad.svg.cjs.js.map +1 -1
  379. package/dist/icons/Sad/sad.svg.js.map +1 -1
  380. package/dist/icons/SadSolid/sad-solid.svg.cjs.js.map +1 -1
  381. package/dist/icons/SadSolid/sad-solid.svg.js.map +1 -1
  382. package/dist/icons/Schedule/schedule.svg.cjs.js.map +1 -1
  383. package/dist/icons/Schedule/schedule.svg.js.map +1 -1
  384. package/dist/icons/Scooter/scooter.svg.cjs.js.map +1 -1
  385. package/dist/icons/Scooter/scooter.svg.js.map +1 -1
  386. package/dist/icons/ScooterSolid/scooter-solid.svg.cjs.js.map +1 -1
  387. package/dist/icons/ScooterSolid/scooter-solid.svg.js.map +1 -1
  388. package/dist/icons/Search/search.svg.cjs.js.map +1 -1
  389. package/dist/icons/Search/search.svg.js.map +1 -1
  390. package/dist/icons/SendingOrder/sending-order.svg.cjs.js.map +1 -1
  391. package/dist/icons/SendingOrder/sending-order.svg.js.map +1 -1
  392. package/dist/icons/SendingOrderSolid/sending-order-solid.svg.cjs.js.map +1 -1
  393. package/dist/icons/SendingOrderSolid/sending-order-solid.svg.js.map +1 -1
  394. package/dist/icons/Settings/settings.svg.cjs.js.map +1 -1
  395. package/dist/icons/Settings/settings.svg.js.map +1 -1
  396. package/dist/icons/SettingsSolid/settings-solid.svg.cjs.js.map +1 -1
  397. package/dist/icons/SettingsSolid/settings-solid.svg.js.map +1 -1
  398. package/dist/icons/ShoppingBag/shopping-bag.svg.cjs.js.map +1 -1
  399. package/dist/icons/ShoppingBag/shopping-bag.svg.js.map +1 -1
  400. package/dist/icons/ShoppingBagSolid/shopping-bag-solid.svg.cjs.js.map +1 -1
  401. package/dist/icons/ShoppingBagSolid/shopping-bag-solid.svg.js.map +1 -1
  402. package/dist/icons/ShoppingBasket/shopping-basket.svg.cjs.js.map +1 -1
  403. package/dist/icons/ShoppingBasket/shopping-basket.svg.js.map +1 -1
  404. package/dist/icons/SidebarLeft/sidebar-left.svg.cjs.js.map +1 -1
  405. package/dist/icons/SidebarLeft/sidebar-left.svg.js.map +1 -1
  406. package/dist/icons/Smile/smile.svg.cjs.js.map +1 -1
  407. package/dist/icons/Smile/smile.svg.js.map +1 -1
  408. package/dist/icons/SmileSolid/smile-solid.svg.cjs.js.map +1 -1
  409. package/dist/icons/SmileSolid/smile-solid.svg.js.map +1 -1
  410. package/dist/icons/Snooze/snooze.svg.cjs.js.map +1 -1
  411. package/dist/icons/Snooze/snooze.svg.js.map +1 -1
  412. package/dist/icons/SquareLock/square-lock.svg.cjs.js.map +1 -1
  413. package/dist/icons/SquareLock/square-lock.svg.js.map +1 -1
  414. package/dist/icons/SquareUnlock/square-unlock.svg.cjs.js.map +1 -1
  415. package/dist/icons/SquareUnlock/square-unlock.svg.js.map +1 -1
  416. package/dist/icons/Star/star.svg.cjs.js.map +1 -1
  417. package/dist/icons/Star/star.svg.js.map +1 -1
  418. package/dist/icons/StarHalfSolid/star-half-solid.svg.cjs.js.map +1 -1
  419. package/dist/icons/StarHalfSolid/star-half-solid.svg.js.map +1 -1
  420. package/dist/icons/StarSolid/star-solid.svg.cjs.js.map +1 -1
  421. package/dist/icons/StarSolid/star-solid.svg.js.map +1 -1
  422. package/dist/icons/Stripe/stripe.svg.cjs.js.map +1 -1
  423. package/dist/icons/Stripe/stripe.svg.js.map +1 -1
  424. package/dist/icons/StripeBrand/stripe-brand.svg.cjs.js.map +1 -1
  425. package/dist/icons/StripeBrand/stripe-brand.svg.js.map +1 -1
  426. package/dist/icons/SystemUpdate/system-update.svg.cjs.js.map +1 -1
  427. package/dist/icons/SystemUpdate/system-update.svg.js.map +1 -1
  428. package/dist/icons/TaskDaily/task-daily.svg.cjs.js.map +1 -1
  429. package/dist/icons/TaskDaily/task-daily.svg.js.map +1 -1
  430. package/dist/icons/Terminal/terminal.svg.cjs.js.map +1 -1
  431. package/dist/icons/Terminal/terminal.svg.js.map +1 -1
  432. package/dist/icons/Tick/tick.svg.cjs.js.map +1 -1
  433. package/dist/icons/Tick/tick.svg.js.map +1 -1
  434. package/dist/icons/TikTok/tiktok.svg.cjs.js.map +1 -1
  435. package/dist/icons/TikTok/tiktok.svg.js.map +1 -1
  436. package/dist/icons/TikTokBrand/tiktok-brand.svg.cjs.js.map +1 -1
  437. package/dist/icons/TikTokBrand/tiktok-brand.svg.js.map +1 -1
  438. package/dist/icons/TimeSchedule/time-schedule.svg.cjs.js.map +1 -1
  439. package/dist/icons/TimeSchedule/time-schedule.svg.js.map +1 -1
  440. package/dist/icons/Timer/timer.svg.cjs.js.map +1 -1
  441. package/dist/icons/Timer/timer.svg.js.map +1 -1
  442. package/dist/icons/UberDirect/uber-direct.svg.cjs.js.map +1 -1
  443. package/dist/icons/UberDirect/uber-direct.svg.js.map +1 -1
  444. package/dist/icons/UberDirectBrand/uber-direct-brand.svg.cjs.js.map +1 -1
  445. package/dist/icons/UberDirectBrand/uber-direct-brand.svg.js.map +1 -1
  446. package/dist/icons/UberEats/ubereats.svg.cjs.js.map +1 -1
  447. package/dist/icons/UberEats/ubereats.svg.js.map +1 -1
  448. package/dist/icons/UberEatsBrand/ubereats-brand.svg.cjs.js.map +1 -1
  449. package/dist/icons/UberEatsBrand/ubereats-brand.svg.js.map +1 -1
  450. package/dist/icons/Unlink/unlink.svg.cjs.js.map +1 -1
  451. package/dist/icons/Unlink/unlink.svg.js.map +1 -1
  452. package/dist/icons/Upload/upload.svg.cjs.js.map +1 -1
  453. package/dist/icons/Upload/upload.svg.js.map +1 -1
  454. package/dist/icons/UserAccount/user-account.svg.cjs.js.map +1 -1
  455. package/dist/icons/UserAccount/user-account.svg.js.map +1 -1
  456. package/dist/icons/UserAccountSolid/user-account-solid.svg.cjs.js.map +1 -1
  457. package/dist/icons/UserAccountSolid/user-account-solid.svg.js.map +1 -1
  458. package/dist/icons/UserCircle/user-circle.svg.cjs.js.map +1 -1
  459. package/dist/icons/UserCircle/user-circle.svg.js.map +1 -1
  460. package/dist/icons/UserMultiple/user-multiple.svg.cjs.js.map +1 -1
  461. package/dist/icons/UserMultiple/user-multiple.svg.js.map +1 -1
  462. package/dist/icons/UserMultipleSolid/user-multiple-solid.svg.cjs.js.map +1 -1
  463. package/dist/icons/UserMultipleSolid/user-multiple-solid.svg.js.map +1 -1
  464. package/dist/icons/Video/video.svg.cjs.js.map +1 -1
  465. package/dist/icons/Video/video.svg.js.map +1 -1
  466. package/dist/icons/View/view.svg.cjs.js.map +1 -1
  467. package/dist/icons/View/view.svg.js.map +1 -1
  468. package/dist/icons/ViewOff/view-off.svg.cjs.js.map +1 -1
  469. package/dist/icons/ViewOff/view-off.svg.js.map +1 -1
  470. package/dist/icons/ViewOffSolid/view-off-solid.svg.cjs.js.map +1 -1
  471. package/dist/icons/ViewOffSolid/view-off-solid.svg.js.map +1 -1
  472. package/dist/icons/ViewSolid/view-solid.svg.cjs.js.map +1 -1
  473. package/dist/icons/ViewSolid/view-solid.svg.js.map +1 -1
  474. package/dist/icons/VolumeOff/volume-off.svg.cjs.js.map +1 -1
  475. package/dist/icons/VolumeOff/volume-off.svg.js.map +1 -1
  476. package/dist/icons/VolumeOn/volume-on.svg.cjs.js.map +1 -1
  477. package/dist/icons/VolumeOn/volume-on.svg.js.map +1 -1
  478. package/dist/icons/Wallet/wallet.svg.cjs.js.map +1 -1
  479. package/dist/icons/Wallet/wallet.svg.js.map +1 -1
  480. package/dist/icons/Warehouse/warehouse.svg.cjs.js.map +1 -1
  481. package/dist/icons/Warehouse/warehouse.svg.js.map +1 -1
  482. package/dist/icons/WarehouseSolid/warehouse-solid.svg.cjs.js.map +1 -1
  483. package/dist/icons/WarehouseSolid/warehouse-solid.svg.js.map +1 -1
  484. package/dist/icons/WebsiteDesign/website-design.svg.cjs.js.map +1 -1
  485. package/dist/icons/WebsiteDesign/website-design.svg.js.map +1 -1
  486. package/dist/icons/WhatsApp/whatsapp.svg.cjs.js.map +1 -1
  487. package/dist/icons/WhatsApp/whatsapp.svg.js.map +1 -1
  488. package/dist/icons/WhatsAppBrand/whatsapp-brand.svg.cjs.js.map +1 -1
  489. package/dist/icons/WhatsAppBrand/whatsapp-brand.svg.js.map +1 -1
  490. package/dist/icons/X/x.svg.cjs.js.map +1 -1
  491. package/dist/icons/X/x.svg.js.map +1 -1
  492. package/dist/icons/XBrand/x-brand.svg.cjs.js.map +1 -1
  493. package/dist/icons/XBrand/x-brand.svg.js.map +1 -1
  494. package/dist/icons/YouTube/youtube.svg.cjs.js.map +1 -1
  495. package/dist/icons/YouTube/youtube.svg.js.map +1 -1
  496. package/dist/icons/YouTubeBrand/youtube-brand.svg.cjs.js.map +1 -1
  497. package/dist/icons/YouTubeBrand/youtube-brand.svg.js.map +1 -1
  498. package/dist/icons/logo/Deliveroo.cjs.js.map +1 -1
  499. package/dist/providers/ToastProvider.cjs.js +1 -1
  500. package/dist/providers/ToastProvider.cjs.js.map +1 -1
  501. package/dist/providers/ToastProvider.js +1 -1
  502. package/dist/providers/ToastProvider.js.map +1 -1
  503. package/dist/stories/utilities/MockPageContent.cjs.js.map +1 -1
  504. package/dist/themes/flipdishPublicTheme.cjs.js +1 -1
  505. package/dist/themes/flipdishPublicTheme.cjs.js.map +1 -1
  506. package/dist/themes/flipdishPublicTheme.js +1 -1
  507. package/dist/themes/flipdishPublicTheme.js.map +1 -1
  508. package/dist/themes/tokens/colours.cjs.js +2 -0
  509. package/dist/themes/tokens/colours.cjs.js.map +1 -0
  510. package/dist/themes/tokens/colours.d.ts +67 -0
  511. package/dist/themes/tokens/colours.js +2 -0
  512. package/dist/themes/tokens/colours.js.map +1 -0
  513. package/dist/themes/typography.cjs.js +2 -0
  514. package/dist/themes/typography.cjs.js.map +1 -0
  515. package/dist/themes/typography.d.ts +5 -0
  516. package/dist/themes/typography.js +2 -0
  517. package/dist/themes/typography.js.map +1 -0
  518. package/dist/utilities/formValidation.cjs.js.map +1 -1
  519. package/dist/utilities/formValidation.js.map +1 -1
  520. package/dist/utilities/renderUtilities.cjs.js.map +1 -1
  521. package/dist/utilities/renderUtilities.js.map +1 -1
  522. package/dist/utilities/styledUtilities.cjs.js +2 -0
  523. package/dist/utilities/styledUtilities.cjs.js.map +1 -0
  524. package/dist/utilities/styledUtilities.d.ts +2 -0
  525. package/dist/utilities/styledUtilities.js +2 -0
  526. package/dist/utilities/styledUtilities.js.map +1 -0
  527. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Form/PaginatedAutocompleteField/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormikContext } from 'formik';\nimport { type SyntheticEvent, useCallback, useEffect, useState } from 'react';\nimport GenericAutocompleteField, { type Props as GenericAutocompleteFieldProps } from '../GenericAutocompleteField';\nimport debounce from 'lodash.debounce';\nimport { useQuery } from '@tanstack/react-query';\n\ntype Props<T> = Omit<GenericAutocompleteFieldProps<T>, 'options'> & {\n fetch: (page: number, search: string) => Promise<T[]>;\n};\n\nconst PaginatedAutocompleteField = <T,>(props: Props<T>) => {\n const { fieldName, fetch, onChange, onInputChange, onScroll } = props;\n const { values } = useFormikContext<{ [key: string]: any }>();\n\n const [options, setOptions] = useState<T[]>(values[fieldName] ? [values[fieldName]] : []);\n const [page, setPage] = useState(1);\n const [searchQuery, setSearchQuery] = useState('');\n const [hasMore, setHasMore] = useState(true);\n\n const { data: queryResult, isLoading } = useQuery({\n queryKey: [`PaginatedAutocompleteField-${fieldName}`, page, searchQuery],\n queryFn: () => fetch(page, searchQuery),\n retry: 1,\n });\n\n useEffect(() => {\n if (!queryResult || queryResult.length === 0) {\n setHasMore(false);\n return;\n }\n setHasMore(true);\n if (page === 1) {\n setOptions(queryResult);\n } else {\n setOptions((prevVouchers) => [...prevVouchers, ...queryResult]);\n }\n }, [queryResult]);\n\n const loadMore = useCallback(() => {\n if (isLoading || !hasMore) {\n return;\n }\n setPage((prevPage) => prevPage + 1);\n }, [isLoading, hasMore]);\n\n const handleScroll = (event: React.UIEvent<HTMLUListElement, UIEvent>) => {\n const listboxNode = event.currentTarget;\n if (\n listboxNode.scrollTop + listboxNode.clientHeight >=\n listboxNode.scrollHeight - 100 // Trigger 100px before the bottom\n ) {\n loadMore();\n }\n };\n\n const handleInputChange = debounce((value: string) => {\n setPage(1);\n setSearchQuery(value);\n setHasMore(true);\n }, 500);\n\n useEffect(() => {\n return () => {\n handleInputChange.cancel();\n };\n }, [handleInputChange]);\n\n return (\n <GenericAutocompleteField\n {...props}\n options={options}\n loading={isLoading}\n onChange={(e: SyntheticEvent, value: T[]) => {\n setSearchQuery('');\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={(e: SyntheticEvent, value: string) => {\n handleInputChange(value);\n if (onInputChange) {\n onInputChange(e, value);\n }\n }}\n onScroll={(e: React.UIEvent<HTMLUListElement, UIEvent>) => {\n handleScroll(e);\n if (onScroll) {\n onScroll(e);\n }\n }}\n />\n );\n};\n\nexport default PaginatedAutocompleteField;\n"],"names":["PaginatedAutocompleteField","props","fieldName","fetch","onChange","onInputChange","onScroll","values","useFormikContext","options","setOptions","useState","page","setPage","searchQuery","setSearchQuery","hasMore","setHasMore","data","queryResult","isLoading","useQuery","queryKey","queryFn","retry","useEffect","length","prevVouchers","loadMore","useCallback","prevPage","handleInputChange","debounce","value","cancel","_jsx","GenericAutocompleteField","loading","e","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","handleScroll"],"mappings":"uRAWA,MAAMA,EAAkCC,IACpC,MAAMC,UAAEA,EAASC,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,SAAEA,GAAaL,GAC1DM,OAAEA,GAAWC,KAEZC,EAASC,GAAcC,EAAcJ,EAAOL,GAAa,CAACK,EAAOL,IAAc,KAC/EU,EAAMC,GAAWF,EAAS,IAC1BG,EAAaC,GAAkBJ,EAAS,KACxCK,EAASC,GAAcN,GAAS,IAE/BO,KAAMC,EAAWC,UAAEA,GAAcC,EAAS,CAC9CC,SAAU,CAAC,8BAA8BpB,IAAaU,EAAME,GAC5DS,QAAS,IAAMpB,EAAMS,EAAME,GAC3BU,MAAO,IAGXC,GAAU,KACDN,GAAsC,IAAvBA,EAAYO,QAIhCT,GAAW,GAEPP,EADS,IAATE,EACWO,EAECQ,GAAiB,IAAIA,KAAiBR,KAPlDF,GAAW,EAQd,GACF,CAACE,IAEJ,MAAMS,EAAWC,GAAY,MACrBT,GAAcJ,GAGlBH,GAASiB,GAAaA,EAAW,GAAE,GACpC,CAACV,EAAWJ,IAYTe,EAAoBC,GAAUC,IAChCpB,EAAQ,GACRE,EAAekB,GACfhB,GAAW,EAAK,GACjB,KAQH,OANAQ,GAAU,IACC,KACHM,EAAkBG,QAAQ,GAE/B,CAACH,IAGAI,EAACC,EAAwB,IACjBnC,EACJQ,QAASA,EACT4B,QAASjB,EACThB,SAAU,CAACkC,EAAmBL,KAC1BlB,EAAe,IACXX,GACAA,EAASkC,EAAGL,EACf,EAEL5B,cAAe,CAACiC,EAAmBL,KAC/BF,EAAkBE,GACd5B,GACAA,EAAciC,EAAGL,EACpB,EAEL3B,SAAWgC,IAvCE,CAACC,IAClB,MAAMC,EAAcD,EAAME,cAEtBD,EAAYE,UAAYF,EAAYG,cACpCH,EAAYI,aAAe,KAE3BhB,GACH,EAiCOiB,CAAaP,GACThC,GACAA,EAASgC,EACZ,GAGX"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Form/PaginatedAutocompleteField/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormikContext } from 'formik';\nimport { type SyntheticEvent, useCallback, useEffect, useState } from 'react';\nimport GenericAutocompleteField, { type Props as GenericAutocompleteFieldProps } from '../GenericAutocompleteField';\nimport debounce from 'lodash.debounce';\nimport { useQuery } from '@tanstack/react-query';\n\ntype Props<T> = Omit<GenericAutocompleteFieldProps<T>, 'options'> & {\n fetch: (page: number, search: string) => Promise<T[]>;\n};\n\nconst PaginatedAutocompleteField = <T,>(props: Props<T>) => {\n const { fieldName, fetch, onChange, onInputChange, onScroll } = props;\n const { values } = useFormikContext<{ [key: string]: any }>();\n\n const [options, setOptions] = useState<T[]>(values[fieldName] ? [values[fieldName]] : []);\n const [page, setPage] = useState(1);\n const [searchQuery, setSearchQuery] = useState('');\n const [hasMore, setHasMore] = useState(true);\n\n const { data: queryResult, isLoading } = useQuery({\n queryKey: [`PaginatedAutocompleteField-${fieldName}`, page, searchQuery],\n queryFn: () => fetch(page, searchQuery),\n retry: 1,\n });\n\n useEffect(() => {\n if (!queryResult || queryResult.length === 0) {\n setHasMore(false);\n return;\n }\n setHasMore(true);\n if (page === 1) {\n setOptions(queryResult);\n } else {\n setOptions((prevVouchers) => [...prevVouchers, ...queryResult]);\n }\n }, [queryResult]);\n\n const loadMore = useCallback(() => {\n if (isLoading || !hasMore) {\n return;\n }\n setPage((prevPage) => prevPage + 1);\n }, [isLoading, hasMore]);\n\n const handleScroll = (event: React.UIEvent<HTMLUListElement, UIEvent>) => {\n const listboxNode = event.currentTarget;\n if (\n listboxNode.scrollTop + listboxNode.clientHeight >=\n listboxNode.scrollHeight - 100 // Trigger 100px before the bottom\n ) {\n loadMore();\n }\n };\n\n const handleInputChange = debounce((value: string) => {\n setPage(1);\n setSearchQuery(value);\n setHasMore(true);\n }, 500);\n\n useEffect(() => {\n return () => {\n handleInputChange.cancel();\n };\n }, [handleInputChange]);\n\n return (\n <GenericAutocompleteField\n {...props}\n options={options}\n loading={isLoading}\n onChange={(e: SyntheticEvent, value: T[]) => {\n setSearchQuery('');\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={(e: SyntheticEvent, value: string) => {\n handleInputChange(value);\n if (onInputChange) {\n onInputChange(e, value);\n }\n }}\n onScroll={(e: React.UIEvent<HTMLUListElement, UIEvent>) => {\n handleScroll(e);\n if (onScroll) {\n onScroll(e);\n }\n }}\n />\n );\n};\n\nexport default PaginatedAutocompleteField;\n"],"names":["PaginatedAutocompleteField","props","fieldName","fetch","onChange","onInputChange","onScroll","values","useFormikContext","options","setOptions","useState","page","setPage","searchQuery","setSearchQuery","hasMore","setHasMore","data","queryResult","isLoading","useQuery","queryKey","queryFn","retry","useEffect","length","prevVouchers","loadMore","useCallback","prevPage","handleInputChange","debounce","value","cancel","_jsx","GenericAutocompleteField","loading","e","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","handleScroll"],"mappings":"uRAWA,MAAMA,EAAkCC,IACpC,MAAMC,UAAEA,EAASC,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,SAAEA,GAAaL,GAC1DM,OAAEA,GAAWC,KAEZC,EAASC,GAAcC,EAAcJ,EAAOL,GAAa,CAACK,EAAOL,IAAc,KAC/EU,EAAMC,GAAWF,EAAS,IAC1BG,EAAaC,GAAkBJ,EAAS,KACxCK,EAASC,GAAcN,GAAS,IAE/BO,KAAMC,EAAWC,UAAEA,GAAcC,EAAS,CAC9CC,SAAU,CAAC,8BAA8BpB,IAAaU,EAAME,GAC5DS,QAAS,IAAMpB,EAAMS,EAAME,GAC3BU,MAAO,IAGXC,GAAU,KACDN,GAAsC,IAAvBA,EAAYO,QAIhCT,GAAW,GAEPP,EADS,IAATE,EACWO,EAECQ,GAAiB,IAAIA,KAAiBR,KAPlDF,GAAW,KAShB,CAACE,IAEJ,MAAMS,EAAWC,GAAY,MACrBT,GAAcJ,GAGlBH,GAASiB,GAAaA,EAAW,GAAE,GACpC,CAACV,EAAWJ,IAYTe,EAAoBC,GAAUC,IAChCpB,EAAQ,GACRE,EAAekB,GACfhB,GAAW,EAAK,GACjB,KAQH,OANAQ,GAAU,IACC,KACHM,EAAkBG,QAAQ,GAE/B,CAACH,IAGAI,EAACC,EAAwB,IACjBnC,EACJQ,QAASA,EACT4B,QAASjB,EACThB,SAAU,CAACkC,EAAmBL,KAC1BlB,EAAe,IACXX,GACAA,EAASkC,EAAGL,IAGpB5B,cAAe,CAACiC,EAAmBL,KAC/BF,EAAkBE,GACd5B,GACAA,EAAciC,EAAGL,IAGzB3B,SAAWgC,IAvCE,CAACC,IAClB,MAAMC,EAAcD,EAAME,cAEtBD,EAAYE,UAAYF,EAAYG,cACpCH,EAAYI,aAAe,KAE3BhB,KAkCIiB,CAAaP,GACThC,GACAA,EAASgC,KAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GenericDateFieldBase.cjs.js","sources":["../../../src/components/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","jsx","component","FormItemLayout"],"mappings":"yaAWA,MAAMA,EAAmBC,EAAAA,OAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,2BAoBc,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMjB,EAAQkB,EAAAA,WAERC,EAAc,IAEZC,MAACC,EAAAA,OAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EACf,CACIH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,OAEjB,SAGJ,OACIC,EAACC,KAAAC,GAAIC,GAAI,CAAEC,aAAyB,eAAX9B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAAAA,IAACtB,EAAgB,CAAA0B,SACbJ,MAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyBgC,EAAYpC,EAE5C8B,MAAOO,EAAOC,SAASjB,EAAMS,OAAST,EAAMS,MAAQO,EAAOhB,EAAMS,OACjExB,SAAWwB,IAEP,MAAMS,EAAcF,EAAOC,SAASR,GAASA,EAAQO,EAAOP,GAE5DR,EAAKkB,cAAcnB,EAAMH,KAAMqB,GAC3BjC,GACAA,EAASiC,EACZ,EAELrB,KAAMjB,EACNwC,UAAW,CACPC,UAAW,CACPtC,UACAM,cACAiC,MAAOhB,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJgB,oBAAqB,CACjBxB,SAAU,IACVyB,MAAO,CAAEC,UAAW,YAIhCvC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbuC,cAAetC,MAGtBP,GACGc,EAAAA,IAACgC,EAAU,CAAC5C,QAAQ,UAAU8B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAWhC,SACpElB,MAIf,IAMlB,MAAe,aAAXG,EAEI0B,EAAAC,KAAAqB,WAAA,CAAAjC,SAAA,CACiB,aAAZhB,GACGY,EAAAsC,IAACN,EAAU,CAAC5C,QAAQ,YAAYmD,UAAU,KAAKN,MAAM,cAChD7B,SAAApB,IAGRe,OAKNC,EAAAsC,IAACE,EAAc,CAACxD,MAAOA,EAAQoB,SAAAL,KAA+B"}
1
+ {"version":3,"file":"GenericDateFieldBase.cjs.js","sources":["../../../src/components/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","component","FormItemLayout"],"mappings":"yaAWA,MAAMA,EAAmBC,EAAAA,OAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,2BAoBc,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMjB,EAAQkB,EAAAA,WAERC,EAAc,IAEZC,MAACC,EAAAA,OAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EACf,CACIH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,OAEjB,SAGJ,OACIC,EAACC,KAAAC,GAAIC,GAAI,CAAEC,aAAyB,eAAX9B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAAAA,IAACtB,EAAgB,CAAA0B,SACbJ,MAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyBgC,EAAYpC,EAE5C8B,MAAOO,EAAOC,SAASjB,EAAMS,OAAST,EAAMS,MAAQO,EAAOhB,EAAMS,OACjExB,SAAWwB,IAEP,MAAMS,EAAcF,EAAOC,SAASR,GAASA,EAAQO,EAAOP,GAE5DR,EAAKkB,cAAcnB,EAAMH,KAAMqB,GAC3BjC,GACAA,EAASiC,IAGjBrB,KAAMjB,EACNwC,UAAW,CACPC,UAAW,CACPtC,UACAM,cACAiC,MAAOhB,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJgB,oBAAqB,CACjBxB,SAAU,IACVyB,MAAO,CAAEC,UAAW,YAIhCvC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbuC,cAAetC,MAGtBP,GACGc,EAAAA,IAACgC,EAAU,CAAC5C,QAAQ,UAAU8B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAWhC,SACpElB,MAGP,IAO1B,MAAe,aAAXG,EAEI0B,EAAAC,KAAAqB,WAAA,CAAAjC,SAAA,CACiB,aAAZhB,GACGY,EAAAA,IAACgC,EAAU,CAAC5C,QAAQ,YAAYkD,UAAU,KAAKL,MAAM,cAChD7B,SAAApB,IAGRe,OAKNC,EAAAA,IAACuC,EAAc,CAACvD,MAAOA,EAAQoB,SAAAL,KAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"GenericDateFieldBase.js","sources":["../../../src/components/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","GenericDateFieldBase","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","component","FormItemLayout"],"mappings":"mdAWA,MAAMA,EAAmBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,YAoBTC,EAAuB,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMlB,EAAQmB,IAERC,EAAc,IAEZC,EAACC,GAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EACf,CACIH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,OAEjB,SAGJ,OACIC,EAACC,GAAIC,GAAI,CAAEC,aAAyB,eAAX7B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAACvB,EAAgB,CAAA2B,SACbJ,EAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyB+B,EAAYnC,EAE5C8B,MAAOM,EAAOC,SAAShB,EAAMS,OAAST,EAAMS,MAAQM,EAAOf,EAAMS,OACjExB,SAAWwB,IAEP,MAAMQ,EAAcF,EAAOC,SAASP,GAASA,EAAQM,EAAON,GAE5DR,EAAKiB,cAAclB,EAAMH,KAAMoB,GAC3BhC,GACAA,EAASgC,EACZ,EAELpB,KAAMjB,EACNuC,UAAW,CACPC,UAAW,CACPrC,UACAM,cACAgC,MAAOf,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJe,oBAAqB,CACjBvB,SAAU,IACVwB,MAAO,CAAEC,UAAW,YAIhCtC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbsC,cAAerC,MAGtBP,GACGc,EAAC+B,EAAU,CAAC3C,QAAQ,UAAU6B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAW/B,SACpElB,MAIf,IAMlB,MAAe,aAAXG,EAEI0B,EAAAqB,EAAA,CAAAhC,SAAA,CACiB,aAAZhB,GACGY,EAAC+B,EAAU,CAAC3C,QAAQ,YAAYiD,UAAU,KAAKL,MAAM,cAChD5B,SAAApB,IAGRe,OAKNC,EAACsC,EAAc,CAACtD,MAAOA,EAAQoB,SAAAL,KAA+B"}
1
+ {"version":3,"file":"GenericDateFieldBase.js","sources":["../../../src/components/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","GenericDateFieldBase","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","component","FormItemLayout"],"mappings":"mdAWA,MAAMA,EAAmBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,YAoBTC,EAAuB,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMlB,EAAQmB,IAERC,EAAc,IAEZC,EAACC,GAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EACf,CACIH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,OAEjB,SAGJ,OACIC,EAACC,GAAIC,GAAI,CAAEC,aAAyB,eAAX7B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAACvB,EAAgB,CAAA2B,SACbJ,EAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyB+B,EAAYnC,EAE5C8B,MAAOM,EAAOC,SAAShB,EAAMS,OAAST,EAAMS,MAAQM,EAAOf,EAAMS,OACjExB,SAAWwB,IAEP,MAAMQ,EAAcF,EAAOC,SAASP,GAASA,EAAQM,EAAON,GAE5DR,EAAKiB,cAAclB,EAAMH,KAAMoB,GAC3BhC,GACAA,EAASgC,IAGjBpB,KAAMjB,EACNuC,UAAW,CACPC,UAAW,CACPrC,UACAM,cACAgC,MAAOf,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJe,oBAAqB,CACjBvB,SAAU,IACVwB,MAAO,CAAEC,UAAW,YAIhCtC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbsC,cAAerC,MAGtBP,GACGc,EAAC+B,EAAU,CAAC3C,QAAQ,UAAU6B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAW/B,SACpElB,MAGP,IAO1B,MAAe,aAAXG,EAEI0B,EAAAqB,EAAA,CAAAhC,SAAA,CACiB,aAAZhB,GACGY,EAAC+B,EAAU,CAAC3C,QAAQ,YAAYiD,UAAU,KAAKL,MAAM,cAChD5B,SAAApB,IAGRe,OAKNC,EAACsC,EAAc,CAACtD,MAAOA,EAAQoB,SAAAL,KAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericDatePickerField/index.tsx"],"sourcesContent":["import { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from './GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDatePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DatePicker} />;\n};\n\nexport default GenericDatePickerField;\n"],"names":["props","_jsx","GenericDateFieldBase","pickerComponent","DatePicker"],"mappings":"sJAKgCA,GACrBC,EAAAA,IAACC,EAAyB,IAAAF,EAAOG,gBAAiBC,EAAUA"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericDatePickerField/index.tsx"],"sourcesContent":["import { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from './GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDatePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DatePicker} />;\n};\n\nexport default GenericDatePickerField;\n"],"names":["props","_jsx","GenericDateFieldBase","pickerComponent","DatePicker"],"mappings":"sJAKgCA,GACrBC,EAAAA,IAACC,EAAyB,IAAAF,EAAOG,gBAAiBC,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericDateTimePickerField/index.tsx"],"sourcesContent":["import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from '../GenericDatePickerField/GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDateTimePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DateTimePicker} />;\n};\n\nexport default GenericDateTimePickerField;\n"],"names":["props","_jsx","GenericDateFieldBase","pickerComponent","DateTimePicker"],"mappings":"kLAKoCA,GACzBC,EAAAA,IAACC,EAAyB,IAAAF,EAAOG,gBAAiBC,EAAcA"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericDateTimePickerField/index.tsx"],"sourcesContent":["import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from '../GenericDatePickerField/GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDateTimePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DateTimePicker} />;\n};\n\nexport default GenericDateTimePickerField;\n"],"names":["props","_jsx","GenericDateFieldBase","pickerComponent","DateTimePicker"],"mappings":"kLAKoCA,GACzBC,EAAAA,IAACC,EAAyB,IAAAF,EAAOG,gBAAiBC,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericRadioButtons/index.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { type ChangeEvent, type ReactNode } from 'react';\nimport Spacer from '../Spacer';\nimport { styled } from '@mui/material/styles';\n\ntype Props = {\n label?: string;\n fieldName: string;\n layout?: 'horizontal' | 'vertical';\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: {\n label: string;\n value: string;\n disabled?: boolean;\n selectedContent?: ReactNode;\n }[];\n};\n\ntype RadioButtonsComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: Props['options'];\n layout?: 'horizontal' | 'vertical';\n};\n\nconst StyledSelectedContent = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(4),\n}));\n\nconst StyledHelperText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'showError',\n})<{ showError: boolean }>(({ theme, showError }) => ({\n color: showError ? theme.palette.error.main : 'inherit',\n textAlign: 'right',\n}));\n\nconst RadioButtonsComponent = ({ field, form, onChange, options, layout, showHelperTextWhenValid = false }: RadioButtonsComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <RadioGroup\n name=\"radio-buttons-group\"\n value={field.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n >\n {options.map((option) => (\n <div key={option.value}>\n <FormControlLabel value={option.value} control={<Radio />} label={option.label} disabled={isSubmitting || option.disabled} />\n {option.selectedContent && field.value === option.value && (\n <StyledSelectedContent>\n {option.selectedContent}\n <Spacer size={8} variant=\"horizontal\" />\n </StyledSelectedContent>\n )}\n </div>\n ))}\n </RadioGroup>\n <StyledHelperText showError={showError}>\n {(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n </StyledHelperText>\n </Box>\n );\n};\n\nconst GenericRadioButtons = ({ label, fieldName, layout, onChange, options, showHelperTextWhenValid = false }: Props) => {\n const renderField = () => (\n <Field name={fieldName}>\n {(fieldProps: FieldProps) => (\n <RadioButtonsComponent\n {...fieldProps}\n onChange={onChange}\n options={options}\n layout={layout}\n showHelperTextWhenValid={showHelperTextWhenValid}\n />\n )}\n </Field>\n );\n\n if (layout === 'vertical') {\n return (\n <>\n {label && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericRadioButtons;\n"],"names":["StyledSelectedContent","styled","Box","theme","marginLeft","spacing","StyledHelperText","Typography","shouldForwardProp","prop","showError","color","palette","error","main","textAlign","RadioButtonsComponent","field","form","onChange","options","layout","showHelperTextWhenValid","errors","touched","isSubmitting","fieldError","name","helperText","useRenderValidText","value","_jsxs","jsxs","sx","paddingRight","children","_jsx","RadioGroup","e","setFieldValue","target","map","option","FormControlLabel","control","Radio","label","disabled","selectedContent","Spacer","size","variant","jsx","fieldName","renderField","Field","fieldProps","_Fragment","component","FormItemLayout"],"mappings":"kcAmCA,MAAMA,EAAwBC,EAAAA,OAAOC,EAAPD,EAAY,EAAGE,YAAa,CACtDC,WAAYD,EAAME,QAAQ,OAGxBC,EAAmBL,EAAMA,OAACM,EAAY,CACxCC,kBAAoBC,GAAkB,cAATA,GADRR,EAEE,EAAGE,QAAOO,gBAAiB,CAClDC,MAAOD,EAAYP,EAAMS,QAAQC,MAAMC,KAAO,UAC9CC,UAAW,YAGTC,EAAwB,EAAGC,QAAOC,OAAMC,WAAUC,UAASC,SAAQC,2BAA0B,MAC/F,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBP,EACpCQ,EAAaH,EAAON,EAAMU,MAC1BjB,IAAcgB,GAAeF,EAAQP,EAAMU,MAC3CC,EAAaC,EACf,CACIH,aACAhB,YACAc,UAAWA,EAAQP,EAAMU,MACzBG,MAAOb,EAAMa,OAEjB,SAGJ,OACIC,EAACC,KAAA9B,GAAI+B,GAAI,CAAEC,aAAyB,eAAXb,EAA0B,OAAS,GAAGc,SAAA,CAC3DC,MAACC,EAAU,CACPV,KAAK,sBACLG,MAAOb,EAAMa,MACbX,SAAWmB,IAEPpB,EAAKqB,cAActB,EAAMU,KAAMW,EAAEE,OAAOV,OACpCX,GACAA,EAASmB,EACZ,EACJH,SAEAf,EAAQqB,KAAKC,GACVX,EAAAA,KACI,MAAA,CAAAI,SAAA,CAAAC,EAAAA,IAACO,EAAiB,CAAAb,MAAOY,EAAOZ,MAAOc,QAASR,EAAAA,IAACS,MAAUC,MAAOJ,EAAOI,MAAOC,SAAUtB,GAAgBiB,EAAOK,WAChHL,EAAOM,iBAAmB/B,EAAMa,QAAUY,EAAOZ,OAC9CC,EAAAA,KAAC/B,EAAqB,CAAAmC,SAAA,CACjBO,EAAOM,gBACRZ,EAAAA,IAACa,GAAOC,KAAM,EAAGC,QAAQ,oBAL3BT,EAAOZ,WAWzBM,EAAAgB,IAAC9C,EAAiB,CAAAI,UAAWA,EAASyB,SAE1BzB,GACAY,EADkBM,OACtB,MAKd,iBAGsB,EAAGkB,QAAOO,YAAWhC,SAAQF,WAAUC,UAASE,2BAA0B,MAClG,MAAMgC,EAAc,IAChBlB,MAACmB,EAAAA,MAAK,CAAC5B,KAAM0B,WACPG,GACEpB,EAAAA,IAACpB,MACOwC,EACJrC,SAAUA,EACVC,QAASA,EACTC,OAAQA,EACRC,wBAAyBA,MAMzC,MAAe,aAAXD,EAEIU,EAAAC,KAAAyB,WAAA,CAAAtB,SAAA,CACKW,GACGV,MAAC7B,EAAU,CAAC4C,QAAQ,YAAYO,UAAU,KAAK/C,MAAM,cAAawB,SAC7DW,IAGRQ,OAKNlB,EAAAgB,IAACO,EAAc,CAACb,MAAOA,EAAQX,SAAAmB,KAA+B"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericRadioButtons/index.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { type ChangeEvent, type ReactNode } from 'react';\nimport Spacer from '../Spacer';\nimport { styled } from '@mui/material/styles';\n\ntype Props = {\n label?: string;\n fieldName: string;\n layout?: 'horizontal' | 'vertical';\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: {\n label: string;\n value: string;\n disabled?: boolean;\n selectedContent?: ReactNode;\n }[];\n};\n\ntype RadioButtonsComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: Props['options'];\n layout?: 'horizontal' | 'vertical';\n};\n\nconst StyledSelectedContent = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(4),\n}));\n\nconst StyledHelperText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'showError',\n})<{ showError: boolean }>(({ theme, showError }) => ({\n color: showError ? theme.palette.error.main : 'inherit',\n textAlign: 'right',\n}));\n\nconst RadioButtonsComponent = ({ field, form, onChange, options, layout, showHelperTextWhenValid = false }: RadioButtonsComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <RadioGroup\n name=\"radio-buttons-group\"\n value={field.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n >\n {options.map((option) => (\n <div key={option.value}>\n <FormControlLabel value={option.value} control={<Radio />} label={option.label} disabled={isSubmitting || option.disabled} />\n {option.selectedContent && field.value === option.value && (\n <StyledSelectedContent>\n {option.selectedContent}\n <Spacer size={8} variant=\"horizontal\" />\n </StyledSelectedContent>\n )}\n </div>\n ))}\n </RadioGroup>\n <StyledHelperText showError={showError}>\n {(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n </StyledHelperText>\n </Box>\n );\n};\n\nconst GenericRadioButtons = ({ label, fieldName, layout, onChange, options, showHelperTextWhenValid = false }: Props) => {\n const renderField = () => (\n <Field name={fieldName}>\n {(fieldProps: FieldProps) => (\n <RadioButtonsComponent\n {...fieldProps}\n onChange={onChange}\n options={options}\n layout={layout}\n showHelperTextWhenValid={showHelperTextWhenValid}\n />\n )}\n </Field>\n );\n\n if (layout === 'vertical') {\n return (\n <>\n {label && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericRadioButtons;\n"],"names":["StyledSelectedContent","styled","Box","theme","marginLeft","spacing","StyledHelperText","Typography","shouldForwardProp","prop","showError","color","palette","error","main","textAlign","RadioButtonsComponent","field","form","onChange","options","layout","showHelperTextWhenValid","errors","touched","isSubmitting","fieldError","name","helperText","useRenderValidText","value","_jsxs","jsxs","sx","paddingRight","children","_jsx","RadioGroup","e","setFieldValue","target","map","option","FormControlLabel","control","Radio","label","disabled","selectedContent","Spacer","size","variant","jsx","fieldName","renderField","Field","fieldProps","_Fragment","Fragment","component","FormItemLayout"],"mappings":"kcAmCA,MAAMA,EAAwBC,EAAAA,OAAOC,EAAPD,EAAY,EAAGE,YAAa,CACtDC,WAAYD,EAAME,QAAQ,OAGxBC,EAAmBL,EAAMA,OAACM,EAAY,CACxCC,kBAAoBC,GAAkB,cAATA,GADRR,EAEE,EAAGE,QAAOO,gBAAiB,CAClDC,MAAOD,EAAYP,EAAMS,QAAQC,MAAMC,KAAO,UAC9CC,UAAW,YAGTC,EAAwB,EAAGC,QAAOC,OAAMC,WAAUC,UAASC,SAAQC,2BAA0B,MAC/F,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBP,EACpCQ,EAAaH,EAAON,EAAMU,MAC1BjB,IAAcgB,GAAeF,EAAQP,EAAMU,MAC3CC,EAAaC,EACf,CACIH,aACAhB,YACAc,UAAWA,EAAQP,EAAMU,MACzBG,MAAOb,EAAMa,OAEjB,SAGJ,OACIC,EAACC,KAAA9B,GAAI+B,GAAI,CAAEC,aAAyB,eAAXb,EAA0B,OAAS,GAAGc,SAAA,CAC3DC,MAACC,EAAU,CACPV,KAAK,sBACLG,MAAOb,EAAMa,MACbX,SAAWmB,IAEPpB,EAAKqB,cAActB,EAAMU,KAAMW,EAAEE,OAAOV,OACpCX,GACAA,EAASmB,IAEhBH,SAEAf,EAAQqB,KAAKC,GACVX,EAAAA,KACI,MAAA,CAAAI,SAAA,CAAAC,EAAAA,IAACO,EAAiB,CAAAb,MAAOY,EAAOZ,MAAOc,QAASR,EAAAA,IAACS,MAAUC,MAAOJ,EAAOI,MAAOC,SAAUtB,GAAgBiB,EAAOK,WAChHL,EAAOM,iBAAmB/B,EAAMa,QAAUY,EAAOZ,OAC9CC,EAAAA,KAAC/B,EAAqB,CAAAmC,SAAA,CACjBO,EAAOM,gBACRZ,EAAAA,IAACa,GAAOC,KAAM,EAAGC,QAAQ,oBAL3BT,EAAOZ,WAWzBM,EAAAgB,IAAC9C,EAAiB,CAAAI,UAAWA,EAASyB,SAE1BzB,GACAY,EADkBM,OACtB,MAIN,iBAIc,EAAGkB,QAAOO,YAAWhC,SAAQF,WAAUC,UAASE,2BAA0B,MAClG,MAAMgC,EAAc,IAChBlB,MAACmB,EAAAA,MAAK,CAAC5B,KAAM0B,WACPG,GACEpB,EAAAA,IAACpB,MACOwC,EACJrC,SAAUA,EACVC,QAASA,EACTC,OAAQA,EACRC,wBAAyBA,MAMzC,MAAe,aAAXD,EAEIU,EAAAC,KAAAyB,EAAAC,SAAA,CAAAvB,SAAA,CACKW,GACGV,EAAAgB,IAAC7C,EAAU,CAAC4C,QAAQ,YAAYQ,UAAU,KAAKhD,MAAM,cAAawB,SAC7DW,IAGRQ,OAKNlB,EAAAA,IAACwB,EAAc,CAACd,MAAOA,EAAQX,SAAAmB,KAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/GenericRadioButtons/index.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { type ChangeEvent, type ReactNode } from 'react';\nimport Spacer from '../Spacer';\nimport { styled } from '@mui/material/styles';\n\ntype Props = {\n label?: string;\n fieldName: string;\n layout?: 'horizontal' | 'vertical';\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: {\n label: string;\n value: string;\n disabled?: boolean;\n selectedContent?: ReactNode;\n }[];\n};\n\ntype RadioButtonsComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: Props['options'];\n layout?: 'horizontal' | 'vertical';\n};\n\nconst StyledSelectedContent = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(4),\n}));\n\nconst StyledHelperText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'showError',\n})<{ showError: boolean }>(({ theme, showError }) => ({\n color: showError ? theme.palette.error.main : 'inherit',\n textAlign: 'right',\n}));\n\nconst RadioButtonsComponent = ({ field, form, onChange, options, layout, showHelperTextWhenValid = false }: RadioButtonsComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <RadioGroup\n name=\"radio-buttons-group\"\n value={field.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n >\n {options.map((option) => (\n <div key={option.value}>\n <FormControlLabel value={option.value} control={<Radio />} label={option.label} disabled={isSubmitting || option.disabled} />\n {option.selectedContent && field.value === option.value && (\n <StyledSelectedContent>\n {option.selectedContent}\n <Spacer size={8} variant=\"horizontal\" />\n </StyledSelectedContent>\n )}\n </div>\n ))}\n </RadioGroup>\n <StyledHelperText showError={showError}>\n {(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n </StyledHelperText>\n </Box>\n );\n};\n\nconst GenericRadioButtons = ({ label, fieldName, layout, onChange, options, showHelperTextWhenValid = false }: Props) => {\n const renderField = () => (\n <Field name={fieldName}>\n {(fieldProps: FieldProps) => (\n <RadioButtonsComponent\n {...fieldProps}\n onChange={onChange}\n options={options}\n layout={layout}\n showHelperTextWhenValid={showHelperTextWhenValid}\n />\n )}\n </Field>\n );\n\n if (layout === 'vertical') {\n return (\n <>\n {label && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericRadioButtons;\n"],"names":["StyledSelectedContent","styled","Box","theme","marginLeft","spacing","StyledHelperText","Typography","shouldForwardProp","prop","showError","color","palette","error","main","textAlign","RadioButtonsComponent","field","form","onChange","options","layout","showHelperTextWhenValid","errors","touched","isSubmitting","fieldError","name","helperText","useRenderValidText","value","_jsxs","sx","paddingRight","children","_jsx","RadioGroup","e","setFieldValue","target","map","option","FormControlLabel","control","Radio","label","disabled","selectedContent","Spacer","size","variant","GenericRadioButtons","fieldName","renderField","Field","fieldProps","_Fragment","component","FormItemLayout"],"mappings":"seAmCA,MAAMA,EAAwBC,EAAOC,EAAPD,EAAY,EAAGE,YAAa,CACtDC,WAAYD,EAAME,QAAQ,OAGxBC,EAAmBL,EAAOM,EAAY,CACxCC,kBAAoBC,GAAkB,cAATA,GADRR,EAEE,EAAGE,QAAOO,gBAAiB,CAClDC,MAAOD,EAAYP,EAAMS,QAAQC,MAAMC,KAAO,UAC9CC,UAAW,YAGTC,EAAwB,EAAGC,QAAOC,OAAMC,WAAUC,UAASC,SAAQC,2BAA0B,MAC/F,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBP,EACpCQ,EAAaH,EAAON,EAAMU,MAC1BjB,IAAcgB,GAAeF,EAAQP,EAAMU,MAC3CC,EAAaC,EACf,CACIH,aACAhB,YACAc,UAAWA,EAAQP,EAAMU,MACzBG,MAAOb,EAAMa,OAEjB,SAGJ,OACIC,EAAC7B,GAAI8B,GAAI,CAAEC,aAAyB,eAAXZ,EAA0B,OAAS,GAAGa,SAAA,CAC3DC,EAACC,EAAU,CACPT,KAAK,sBACLG,MAAOb,EAAMa,MACbX,SAAWkB,IAEPnB,EAAKoB,cAAcrB,EAAMU,KAAMU,EAAEE,OAAOT,OACpCX,GACAA,EAASkB,EACZ,EACJH,SAEAd,EAAQoB,KAAKC,GACVV,EACI,MAAA,CAAAG,SAAA,CAAAC,EAACO,EAAiB,CAAAZ,MAAOW,EAAOX,MAAOa,QAASR,EAACS,MAAUC,MAAOJ,EAAOI,MAAOC,SAAUrB,GAAgBgB,EAAOK,WAChHL,EAAOM,iBAAmB9B,EAAMa,QAAUW,EAAOX,OAC9CC,EAAC/B,EAAqB,CAAAkC,SAAA,CACjBO,EAAOM,gBACRZ,EAACa,GAAOC,KAAM,EAAGC,QAAQ,oBAL3BT,EAAOX,WAWzBK,EAAC7B,EAAiB,CAAAI,UAAWA,EAASwB,SAE1BxB,GACAY,EADkBM,OACtB,MAKd,EAGAuB,EAAsB,EAAGN,QAAOO,YAAW/B,SAAQF,WAAUC,UAASE,2BAA0B,MAClG,MAAM+B,EAAc,IAChBlB,EAACmB,EAAK,CAAC3B,KAAMyB,WACPG,GACEpB,EAACnB,MACOuC,EACJpC,SAAUA,EACVC,QAASA,EACTC,OAAQA,EACRC,wBAAyBA,MAMzC,MAAe,aAAXD,EAEIU,EAAAyB,EAAA,CAAAtB,SAAA,CACKW,GACGV,EAAC5B,EAAU,CAAC2C,QAAQ,YAAYO,UAAU,KAAK9C,MAAM,cAAauB,SAC7DW,IAGRQ,OAKNlB,EAACuB,EAAc,CAACb,MAAOA,EAAQX,SAAAmB,KAA+B"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/GenericRadioButtons/index.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { type ChangeEvent, type ReactNode } from 'react';\nimport Spacer from '../Spacer';\nimport { styled } from '@mui/material/styles';\n\ntype Props = {\n label?: string;\n fieldName: string;\n layout?: 'horizontal' | 'vertical';\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: {\n label: string;\n value: string;\n disabled?: boolean;\n selectedContent?: ReactNode;\n }[];\n};\n\ntype RadioButtonsComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n showHelperTextWhenValid?: boolean;\n options: Props['options'];\n layout?: 'horizontal' | 'vertical';\n};\n\nconst StyledSelectedContent = styled(Box)(({ theme }) => ({\n marginLeft: theme.spacing(4),\n}));\n\nconst StyledHelperText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'showError',\n})<{ showError: boolean }>(({ theme, showError }) => ({\n color: showError ? theme.palette.error.main : 'inherit',\n textAlign: 'right',\n}));\n\nconst RadioButtonsComponent = ({ field, form, onChange, options, layout, showHelperTextWhenValid = false }: RadioButtonsComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText(\n {\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n },\n 'Valid',\n );\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <RadioGroup\n name=\"radio-buttons-group\"\n value={field.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n >\n {options.map((option) => (\n <div key={option.value}>\n <FormControlLabel value={option.value} control={<Radio />} label={option.label} disabled={isSubmitting || option.disabled} />\n {option.selectedContent && field.value === option.value && (\n <StyledSelectedContent>\n {option.selectedContent}\n <Spacer size={8} variant=\"horizontal\" />\n </StyledSelectedContent>\n )}\n </div>\n ))}\n </RadioGroup>\n <StyledHelperText showError={showError}>\n {(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n </StyledHelperText>\n </Box>\n );\n};\n\nconst GenericRadioButtons = ({ label, fieldName, layout, onChange, options, showHelperTextWhenValid = false }: Props) => {\n const renderField = () => (\n <Field name={fieldName}>\n {(fieldProps: FieldProps) => (\n <RadioButtonsComponent\n {...fieldProps}\n onChange={onChange}\n options={options}\n layout={layout}\n showHelperTextWhenValid={showHelperTextWhenValid}\n />\n )}\n </Field>\n );\n\n if (layout === 'vertical') {\n return (\n <>\n {label && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericRadioButtons;\n"],"names":["StyledSelectedContent","styled","Box","theme","marginLeft","spacing","StyledHelperText","Typography","shouldForwardProp","prop","showError","color","palette","error","main","textAlign","RadioButtonsComponent","field","form","onChange","options","layout","showHelperTextWhenValid","errors","touched","isSubmitting","fieldError","name","helperText","useRenderValidText","value","_jsxs","sx","paddingRight","children","_jsx","RadioGroup","e","setFieldValue","target","map","option","FormControlLabel","control","Radio","label","disabled","selectedContent","Spacer","size","variant","GenericRadioButtons","fieldName","renderField","Field","fieldProps","_Fragment","component","FormItemLayout"],"mappings":"seAmCA,MAAMA,EAAwBC,EAAOC,EAAPD,EAAY,EAAGE,YAAa,CACtDC,WAAYD,EAAME,QAAQ,OAGxBC,EAAmBL,EAAOM,EAAY,CACxCC,kBAAoBC,GAAkB,cAATA,GADRR,EAEE,EAAGE,QAAOO,gBAAiB,CAClDC,MAAOD,EAAYP,EAAMS,QAAQC,MAAMC,KAAO,UAC9CC,UAAW,YAGTC,EAAwB,EAAGC,QAAOC,OAAMC,WAAUC,UAASC,SAAQC,2BAA0B,MAC/F,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBP,EACpCQ,EAAaH,EAAON,EAAMU,MAC1BjB,IAAcgB,GAAeF,EAAQP,EAAMU,MAC3CC,EAAaC,EACf,CACIH,aACAhB,YACAc,UAAWA,EAAQP,EAAMU,MACzBG,MAAOb,EAAMa,OAEjB,SAGJ,OACIC,EAAC7B,GAAI8B,GAAI,CAAEC,aAAyB,eAAXZ,EAA0B,OAAS,GAAGa,SAAA,CAC3DC,EAACC,EAAU,CACPT,KAAK,sBACLG,MAAOb,EAAMa,MACbX,SAAWkB,IAEPnB,EAAKoB,cAAcrB,EAAMU,KAAMU,EAAEE,OAAOT,OACpCX,GACAA,EAASkB,IAEhBH,SAEAd,EAAQoB,KAAKC,GACVV,EACI,MAAA,CAAAG,SAAA,CAAAC,EAACO,EAAiB,CAAAZ,MAAOW,EAAOX,MAAOa,QAASR,EAACS,MAAUC,MAAOJ,EAAOI,MAAOC,SAAUrB,GAAgBgB,EAAOK,WAChHL,EAAOM,iBAAmB9B,EAAMa,QAAUW,EAAOX,OAC9CC,EAAC/B,EAAqB,CAAAkC,SAAA,CACjBO,EAAOM,gBACRZ,EAACa,GAAOC,KAAM,EAAGC,QAAQ,oBAL3BT,EAAOX,WAWzBK,EAAC7B,EAAiB,CAAAI,UAAWA,EAASwB,SAE1BxB,GACAY,EADkBM,OACtB,MAIN,EAIRuB,EAAsB,EAAGN,QAAOO,YAAW/B,SAAQF,WAAUC,UAASE,2BAA0B,MAClG,MAAM+B,EAAc,IAChBlB,EAACmB,EAAK,CAAC3B,KAAMyB,WACPG,GACEpB,EAACnB,MACOuC,EACJpC,SAAUA,EACVC,QAASA,EACTC,OAAQA,EACRC,wBAAyBA,MAMzC,MAAe,aAAXD,EAEIU,EAAAyB,EAAA,CAAAtB,SAAA,CACKW,GACGV,EAAC5B,EAAU,CAAC2C,QAAQ,YAAYO,UAAU,KAAK9C,MAAM,cAAauB,SAC7DW,IAGRQ,OAKNlB,EAACuB,EAAc,CAACb,MAAOA,EAAQX,SAAAmB,KAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightScrollbar.cjs.js","sources":["../../../src/components/GenericTable/HighlightScrollbar.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport React, { useState } from 'react';\n\ntype HighlightScrollbarProps = {\n children: React.ReactNode;\n onScroll?: () => void;\n setIsScrolling?: React.Dispatch<React.SetStateAction<boolean>>;\n setScrollStarted?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\ninterface ContainerProps {\n hovered: boolean;\n isScrolling: boolean;\n}\n\nconst StyledContainer = styled('div')<ContainerProps>(({ hovered, isScrolling }) => ({\n overflowX: 'auto',\n '&::-webkit-scrollbar': {\n padding: '2px 0',\n height: '6px',\n border: '1px solid #d5d5d5',\n },\n '&::-webkit-scrollbar-track': {\n background: '#f1f1f1',\n },\n '&::-webkit-scrollbar-thumb': {\n background: hovered ? 'rgba(5, 20, 158, 0.3)' : '#f5f5f5',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb:horizontal:active, &::-webkit-scrollbar-thumb:vertical:active': {\n background: hovered ? 'rgba(5, 20, 158, 0.6)' : '#f5f5f5',\n },\n '&:hover .sticky': {\n boxShadow: isScrolling ? '0px 2px 6px rgba(0, 0, 0, 0.5)' : 'none',\n transition: 'box-shadow 200ms',\n },\n}));\n\nconst HighlightScrollbar: React.FC<React.PropsWithChildren<HighlightScrollbarProps>> = (props) => {\n const { children, onScroll, setIsScrolling, setScrollStarted } = props;\n const [hoveredTable, setHoveredTable] = useState(false);\n\n const highlightScrollbar = () => setHoveredTable(true);\n\n const fadeScrollbar = () => {\n setHoveredTable(false);\n if (setIsScrolling) setIsScrolling(false);\n if (setScrollStarted) setScrollStarted(false);\n };\n\n return (\n <StyledContainer\n hovered={hoveredTable}\n isScrolling={!!setIsScrolling}\n onMouseEnter={highlightScrollbar}\n onMouseLeave={fadeScrollbar}\n onScroll={onScroll}\n >\n {children}\n </StyledContainer>\n );\n};\n\nexport default HighlightScrollbar;\n"],"names":["StyledContainer","styled","hovered","isScrolling","overflowX","padding","height","border","background","borderRadius","boxShadow","transition","props","children","onScroll","setIsScrolling","setScrollStarted","hoveredTable","setHoveredTable","useState","_jsx","onMouseEnter","onMouseLeave"],"mappings":"qGAeA,MAAMA,EAAkBC,EAAMA,OAAC,MAAPA,EAA8B,EAAGC,UAASC,kBAAmB,CACjFC,UAAW,OACX,uBAAwB,CACpBC,QAAS,QACTC,OAAQ,MACRC,OAAQ,qBAEZ,6BAA8B,CAC1BC,WAAY,WAEhB,6BAA8B,CAC1BA,WAAYN,EAAU,wBAA0B,UAChDO,aAAc,OAElB,2FAA4F,CACxFD,WAAYN,EAAU,wBAA0B,WAEpD,kBAAmB,CACfQ,UAAWP,EAAc,iCAAmC,OAC5DQ,WAAY,uCAIoEC,IACpF,MAAMC,SAAEA,EAAQC,SAAEA,EAAQC,eAAEA,EAAcC,iBAAEA,GAAqBJ,GAC1DK,EAAcC,GAAmBC,EAAQA,UAAC,GAUjD,OACIC,EAAAA,IAACpB,EAAe,CACZE,QAASe,EACTd,cAAeY,EACfM,aAZmB,IAAMH,GAAgB,GAazCI,aAXc,KAClBJ,GAAgB,GACZH,GAAgBA,GAAe,GAC/BC,GAAkBA,GAAiB,EAAM,EASzCF,SAAUA,EAAQD,SAEjBA,GAEP"}
1
+ {"version":3,"file":"HighlightScrollbar.cjs.js","sources":["../../../src/components/GenericTable/HighlightScrollbar.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport React, { useState } from 'react';\n\ntype HighlightScrollbarProps = {\n children: React.ReactNode;\n onScroll?: () => void;\n setIsScrolling?: React.Dispatch<React.SetStateAction<boolean>>;\n setScrollStarted?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\ninterface ContainerProps {\n hovered: boolean;\n isScrolling: boolean;\n}\n\nconst StyledContainer = styled('div')<ContainerProps>(({ hovered, isScrolling }) => ({\n overflowX: 'auto',\n '&::-webkit-scrollbar': {\n padding: '2px 0',\n height: '6px',\n border: '1px solid #d5d5d5',\n },\n '&::-webkit-scrollbar-track': {\n background: '#f1f1f1',\n },\n '&::-webkit-scrollbar-thumb': {\n background: hovered ? 'rgba(5, 20, 158, 0.3)' : '#f5f5f5',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb:horizontal:active, &::-webkit-scrollbar-thumb:vertical:active': {\n background: hovered ? 'rgba(5, 20, 158, 0.6)' : '#f5f5f5',\n },\n '&:hover .sticky': {\n boxShadow: isScrolling ? '0px 2px 6px rgba(0, 0, 0, 0.5)' : 'none',\n transition: 'box-shadow 200ms',\n },\n}));\n\nconst HighlightScrollbar: React.FC<React.PropsWithChildren<HighlightScrollbarProps>> = (props) => {\n const { children, onScroll, setIsScrolling, setScrollStarted } = props;\n const [hoveredTable, setHoveredTable] = useState(false);\n\n const highlightScrollbar = () => setHoveredTable(true);\n\n const fadeScrollbar = () => {\n setHoveredTable(false);\n if (setIsScrolling) setIsScrolling(false);\n if (setScrollStarted) setScrollStarted(false);\n };\n\n return (\n <StyledContainer\n hovered={hoveredTable}\n isScrolling={!!setIsScrolling}\n onMouseEnter={highlightScrollbar}\n onMouseLeave={fadeScrollbar}\n onScroll={onScroll}\n >\n {children}\n </StyledContainer>\n );\n};\n\nexport default HighlightScrollbar;\n"],"names":["StyledContainer","styled","hovered","isScrolling","overflowX","padding","height","border","background","borderRadius","boxShadow","transition","props","children","onScroll","setIsScrolling","setScrollStarted","hoveredTable","setHoveredTable","useState","_jsx","onMouseEnter","onMouseLeave"],"mappings":"qGAeA,MAAMA,EAAkBC,EAAMA,OAAC,MAAPA,EAA8B,EAAGC,UAASC,kBAAmB,CACjFC,UAAW,OACX,uBAAwB,CACpBC,QAAS,QACTC,OAAQ,MACRC,OAAQ,qBAEZ,6BAA8B,CAC1BC,WAAY,WAEhB,6BAA8B,CAC1BA,WAAYN,EAAU,wBAA0B,UAChDO,aAAc,OAElB,2FAA4F,CACxFD,WAAYN,EAAU,wBAA0B,WAEpD,kBAAmB,CACfQ,UAAWP,EAAc,iCAAmC,OAC5DQ,WAAY,uCAIoEC,IACpF,MAAMC,SAAEA,EAAQC,SAAEA,EAAQC,eAAEA,EAAcC,iBAAEA,GAAqBJ,GAC1DK,EAAcC,GAAmBC,EAAAA,UAAS,GAUjD,OACIC,EAAAA,IAACpB,EAAe,CACZE,QAASe,EACTd,cAAeY,EACfM,aAZmB,IAAMH,GAAgB,GAazCI,aAXc,KAClBJ,GAAgB,GACZH,GAAgBA,GAAe,GAC/BC,GAAkBA,GAAiB,EAAM,EASzCF,SAAUA,EAAQD,SAEjBA,GACa"}
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightScrollbar.js","sources":["../../../src/components/GenericTable/HighlightScrollbar.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport React, { useState } from 'react';\n\ntype HighlightScrollbarProps = {\n children: React.ReactNode;\n onScroll?: () => void;\n setIsScrolling?: React.Dispatch<React.SetStateAction<boolean>>;\n setScrollStarted?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\ninterface ContainerProps {\n hovered: boolean;\n isScrolling: boolean;\n}\n\nconst StyledContainer = styled('div')<ContainerProps>(({ hovered, isScrolling }) => ({\n overflowX: 'auto',\n '&::-webkit-scrollbar': {\n padding: '2px 0',\n height: '6px',\n border: '1px solid #d5d5d5',\n },\n '&::-webkit-scrollbar-track': {\n background: '#f1f1f1',\n },\n '&::-webkit-scrollbar-thumb': {\n background: hovered ? 'rgba(5, 20, 158, 0.3)' : '#f5f5f5',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb:horizontal:active, &::-webkit-scrollbar-thumb:vertical:active': {\n background: hovered ? 'rgba(5, 20, 158, 0.6)' : '#f5f5f5',\n },\n '&:hover .sticky': {\n boxShadow: isScrolling ? '0px 2px 6px rgba(0, 0, 0, 0.5)' : 'none',\n transition: 'box-shadow 200ms',\n },\n}));\n\nconst HighlightScrollbar: React.FC<React.PropsWithChildren<HighlightScrollbarProps>> = (props) => {\n const { children, onScroll, setIsScrolling, setScrollStarted } = props;\n const [hoveredTable, setHoveredTable] = useState(false);\n\n const highlightScrollbar = () => setHoveredTable(true);\n\n const fadeScrollbar = () => {\n setHoveredTable(false);\n if (setIsScrolling) setIsScrolling(false);\n if (setScrollStarted) setScrollStarted(false);\n };\n\n return (\n <StyledContainer\n hovered={hoveredTable}\n isScrolling={!!setIsScrolling}\n onMouseEnter={highlightScrollbar}\n onMouseLeave={fadeScrollbar}\n onScroll={onScroll}\n >\n {children}\n </StyledContainer>\n );\n};\n\nexport default HighlightScrollbar;\n"],"names":["StyledContainer","styled","hovered","isScrolling","overflowX","padding","height","border","background","borderRadius","boxShadow","transition","HighlightScrollbar","props","children","onScroll","setIsScrolling","setScrollStarted","hoveredTable","setHoveredTable","useState","_jsx","onMouseEnter","onMouseLeave"],"mappings":"uHAeA,MAAMA,EAAkBC,EAAO,MAAPA,EAA8B,EAAGC,UAASC,kBAAmB,CACjFC,UAAW,OACX,uBAAwB,CACpBC,QAAS,QACTC,OAAQ,MACRC,OAAQ,qBAEZ,6BAA8B,CAC1BC,WAAY,WAEhB,6BAA8B,CAC1BA,WAAYN,EAAU,wBAA0B,UAChDO,aAAc,OAElB,2FAA4F,CACxFD,WAAYN,EAAU,wBAA0B,WAEpD,kBAAmB,CACfQ,UAAWP,EAAc,iCAAmC,OAC5DQ,WAAY,wBAIdC,EAAkFC,IACpF,MAAMC,SAAEA,EAAQC,SAAEA,EAAQC,eAAEA,EAAcC,iBAAEA,GAAqBJ,GAC1DK,EAAcC,GAAmBC,GAAS,GAUjD,OACIC,EAACrB,EAAe,CACZE,QAASgB,EACTf,cAAea,EACfM,aAZmB,IAAMH,GAAgB,GAazCI,aAXc,KAClBJ,GAAgB,GACZH,GAAgBA,GAAe,GAC/BC,GAAkBA,GAAiB,EAAM,EASzCF,SAAUA,EAAQD,SAEjBA,GAEP"}
1
+ {"version":3,"file":"HighlightScrollbar.js","sources":["../../../src/components/GenericTable/HighlightScrollbar.tsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport React, { useState } from 'react';\n\ntype HighlightScrollbarProps = {\n children: React.ReactNode;\n onScroll?: () => void;\n setIsScrolling?: React.Dispatch<React.SetStateAction<boolean>>;\n setScrollStarted?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\ninterface ContainerProps {\n hovered: boolean;\n isScrolling: boolean;\n}\n\nconst StyledContainer = styled('div')<ContainerProps>(({ hovered, isScrolling }) => ({\n overflowX: 'auto',\n '&::-webkit-scrollbar': {\n padding: '2px 0',\n height: '6px',\n border: '1px solid #d5d5d5',\n },\n '&::-webkit-scrollbar-track': {\n background: '#f1f1f1',\n },\n '&::-webkit-scrollbar-thumb': {\n background: hovered ? 'rgba(5, 20, 158, 0.3)' : '#f5f5f5',\n borderRadius: '3px',\n },\n '&::-webkit-scrollbar-thumb:horizontal:active, &::-webkit-scrollbar-thumb:vertical:active': {\n background: hovered ? 'rgba(5, 20, 158, 0.6)' : '#f5f5f5',\n },\n '&:hover .sticky': {\n boxShadow: isScrolling ? '0px 2px 6px rgba(0, 0, 0, 0.5)' : 'none',\n transition: 'box-shadow 200ms',\n },\n}));\n\nconst HighlightScrollbar: React.FC<React.PropsWithChildren<HighlightScrollbarProps>> = (props) => {\n const { children, onScroll, setIsScrolling, setScrollStarted } = props;\n const [hoveredTable, setHoveredTable] = useState(false);\n\n const highlightScrollbar = () => setHoveredTable(true);\n\n const fadeScrollbar = () => {\n setHoveredTable(false);\n if (setIsScrolling) setIsScrolling(false);\n if (setScrollStarted) setScrollStarted(false);\n };\n\n return (\n <StyledContainer\n hovered={hoveredTable}\n isScrolling={!!setIsScrolling}\n onMouseEnter={highlightScrollbar}\n onMouseLeave={fadeScrollbar}\n onScroll={onScroll}\n >\n {children}\n </StyledContainer>\n );\n};\n\nexport default HighlightScrollbar;\n"],"names":["StyledContainer","styled","hovered","isScrolling","overflowX","padding","height","border","background","borderRadius","boxShadow","transition","HighlightScrollbar","props","children","onScroll","setIsScrolling","setScrollStarted","hoveredTable","setHoveredTable","useState","_jsx","onMouseEnter","onMouseLeave"],"mappings":"uHAeA,MAAMA,EAAkBC,EAAO,MAAPA,EAA8B,EAAGC,UAASC,kBAAmB,CACjFC,UAAW,OACX,uBAAwB,CACpBC,QAAS,QACTC,OAAQ,MACRC,OAAQ,qBAEZ,6BAA8B,CAC1BC,WAAY,WAEhB,6BAA8B,CAC1BA,WAAYN,EAAU,wBAA0B,UAChDO,aAAc,OAElB,2FAA4F,CACxFD,WAAYN,EAAU,wBAA0B,WAEpD,kBAAmB,CACfQ,UAAWP,EAAc,iCAAmC,OAC5DQ,WAAY,wBAIdC,EAAkFC,IACpF,MAAMC,SAAEA,EAAQC,SAAEA,EAAQC,eAAEA,EAAcC,iBAAEA,GAAqBJ,GAC1DK,EAAcC,GAAmBC,GAAS,GAUjD,OACIC,EAACrB,EAAe,CACZE,QAASgB,EACTf,cAAea,EACfM,aAZmB,IAAMH,GAAgB,GAazCI,aAXc,KAClBJ,GAAgB,GACZH,GAAgBA,GAAe,GAC/BC,GAAkBA,GAAiB,EAAM,EASzCF,SAAUA,EAAQD,SAEjBA,GACa"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTable/index.tsx"],"sourcesContent":["import { styled, useTheme } from '@mui/material/styles';\n\nimport Table from '@mui/material/Table';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport GenericTableTitle from '../GenericTableTitle';\nimport HighlightScrollbar from './HighlightScrollbar';\nimport GenericTableBody, { type GenericTableColumns } from '../GenericTableBody';\nimport Card from '@mui/material/Card';\nimport InfoOutlinedIcon from '../../icons/InformationCircle';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\ntype GenericTableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n metadata: GenericTableColumns[];\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n showTitle?: boolean;\n subTitle?: string;\n title?: string;\n titleVariant?: 'default' | 'light';\n};\n\nconst StyledContainer = styled('div')`\n overflow-x: auto;\n &::-webkit-scrollbar {\n padding: 2px 0;\n height: 6px;\n border: 1px solid #d5d5d5;\n }\n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n &::-webkit-scrollbar-thumb {\n background: #f5f5f5;\n border-radius: 3px;\n }\n`;\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'isSticky' && prop !== 'titleVariant',\n})<{ isSticky: boolean; titleVariant: 'default' | 'light' }>(({ theme, isSticky, titleVariant }) => ({\n fontSize: 13,\n fontWeight: titleVariant === 'light' ? 400 : theme.typography.fontWeightMedium,\n color: titleVariant === 'light' ? 'rgba(0, 0, 0, 0.54)' : theme.palette.text.primary,\n padding: theme.spacing(1.25, 2),\n whiteSpace: 'nowrap',\n position: isSticky ? 'sticky' : 'relative',\n zIndex: isSticky ? 1 : 'auto',\n}));\n\nconst StyledPaper = styled(Card)`\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n svg: {\n fontSize: theme.typography.body1.fontSize,\n },\n}));\n\nconst GenericTable = ({ data, title, subTitle, showTitle = true, onRowClick, loading, metadata, titleVariant = 'default' }: GenericTableProps) => {\n const columns = new Set(\n metadata\n .filter((m) => m.isVisible)\n .sort((a, b) => a.ordinal - b.ordinal)\n .map((m) => m.columnName),\n );\n const tableMeta = metadata.reduce<{ [key: string]: GenericTableColumns }>((obj, mData) => {\n obj[mData.columnName] = mData;\n return obj;\n }, {});\n\n const theme = useTheme();\n const isMobile = !useMediaQuery(theme.breakpoints.up('sm'));\n\n // We never want sticky on mobile - only on desktop\n const firstColumnStylePosition = isMobile ? 'normal' : 'sticky';\n\n const renderTableHeader = () => (\n <TableHead>\n <TableRow>\n {Array.from(columns).map((prop, idx) => {\n const { columnName, columnTitle, align = 'left', tooltip } = tableMeta[prop];\n return (\n <StyledTableCell key={columnName} align={align} isSticky={idx === 0 && !isMobile} titleVariant={titleVariant}>\n <div>\n <span>{columnTitle}</span>\n {tooltip && (\n <StyledTooltip title={tooltip} placement=\"right-start\">\n <IconButton size=\"small\">\n <InfoOutlinedIcon data-testid=\"InfoOutlinedIcon\" size=\"sm\" />\n </IconButton>\n </StyledTooltip>\n )}\n </div>\n </StyledTableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n\n return (\n <StyledContainer>\n {showTitle && <GenericTableTitle title={title} subTitle={subTitle}></GenericTableTitle>}\n <StyledPaper>\n <HighlightScrollbar>\n <Table aria-label={title} data-testid={`generic-table` + (showTitle ? `-${title.replace(' ', '-').toLowerCase()}` : '')}>\n {renderTableHeader()}\n <GenericTableBody\n type={firstColumnStylePosition}\n data={data}\n columns={columns}\n onRowClick={onRowClick}\n loading={loading}\n meta={tableMeta}\n />\n </Table>\n </HighlightScrollbar>\n </StyledPaper>\n </StyledContainer>\n );\n};\n\nexport default GenericTable;\n"],"names":["StyledContainer","styled","StyledTableCell","TableCell","shouldForwardProp","prop","theme","isSticky","titleVariant","fontSize","fontWeight","typography","fontWeightMedium","color","palette","text","primary","padding","spacing","whiteSpace","position","zIndex","StyledPaper","Card","StyledTooltip","Tooltip","marginLeft","svg","body1","data","title","subTitle","showTitle","onRowClick","loading","metadata","columns","Set","filter","m","isVisible","sort","a","b","ordinal","map","columnName","tableMeta","reduce","obj","mData","useTheme","isMobile","useMediaQuery","breakpoints","up","firstColumnStylePosition","_jsxs","jsxs","_jsx","GenericTableTitle","children","HighlightScrollbar","Table","replace","toLowerCase","jsx","TableHead","TableRow","Array","from","idx","columnTitle","align","tooltip","placement","IconButton","size","InfoOutlinedIcon","GenericTableBody","type","meta"],"mappings":"ijBA4BA,MAAMA,EAAkBC,EAAAA,OAAO,MAAM;;;;;;;;;;;;;;EAgB/BC,EAAkBD,EAAMA,OAACE,EAAW,CACtCC,kBAAoBC,GAAkB,aAATA,GAAgC,iBAATA,GADhCJ,EAEqC,EAAGK,QAAOC,WAAUC,mBAAoB,CACjGC,SAAU,GACVC,WAA6B,UAAjBF,EAA2B,IAAMF,EAAMK,WAAWC,iBAC9DC,MAAwB,UAAjBL,EAA2B,sBAAwBF,EAAMQ,QAAQC,KAAKC,QAC7EC,QAASX,EAAMY,QAAQ,KAAM,GAC7BC,WAAY,SACZC,SAAUb,EAAW,SAAW,WAChCc,OAAQd,EAAW,EAAI,WAGrBe,EAAcrB,EAAAA,OAAOsB,EAAK;;EAI1BC,EAAgBvB,EAAAA,OAAOwB,EAAPxB,EAAgB,EAAGK,YAAa,CAClDoB,WAAYpB,EAAMY,QAAQ,IAC1BS,IAAK,CACDlB,SAAUH,EAAMK,WAAWiB,MAAMnB,6BAIpB,EAAGoB,OAAMC,QAAOC,WAAUC,aAAY,EAAMC,aAAYC,UAASC,WAAU3B,eAAe,cAC3G,MAAM4B,EAAU,IAAIC,IAChBF,EACKG,QAAQC,GAAMA,EAAEC,YAChBC,MAAK,CAACC,EAAGC,IAAMD,EAAEE,QAAUD,EAAEC,UAC7BC,KAAKN,GAAMA,EAAEO,cAEhBC,EAAYZ,EAASa,QAA+C,CAACC,EAAKC,KAC5ED,EAAIC,EAAMJ,YAAcI,EACjBD,IACR,CAAE,GAEC3C,EAAQ6C,EAAAA,WACRC,GAAYC,EAAc/C,EAAMgD,YAAYC,GAAG,OAG/CC,EAA2BJ,EAAW,SAAW,SA0BvD,OACIK,EAACC,KAAA1D,aACIgC,GAAa2B,MAACC,EAAiB,CAAC9B,MAAOA,EAAOC,SAAUA,IACzD4B,EAAAA,IAACrC,EAAW,CAAAuC,SACRF,MAACG,EAAkB,CAAAD,SACfJ,EAAAA,KAACM,EAAK,CAAA,aAAajC,EAAoB,cAAA,iBAAmBE,EAAY,IAAIF,EAAMkC,QAAQ,IAAK,KAAKC,gBAAkB,IAC/GJ,SAAA,CA7BjBF,EAAAO,IAACC,EAAS,CAAAN,SACNF,EAAAA,IAACS,EACI,CAAAP,SAAAQ,MAAMC,KAAKlC,GAASS,KAAI,CAACxC,EAAMkE,KAC5B,MAAMzB,WAAEA,EAAU0B,YAAEA,EAAWC,MAAEA,EAAQ,OAAMC,QAAEA,GAAY3B,EAAU1C,GACvE,OACIsD,MAACzD,EAAe,CAAkBuE,MAAOA,EAAOlE,SAAkB,IAARgE,IAAcnB,EAAU5C,aAAcA,EAAYqD,SACxGJ,EAAAA,KACI,MAAA,CAAAI,SAAA,CAAAF,EAAAA,IAAA,OAAA,CAAAE,SAAOW,IACNE,GACGf,EAAAA,IAACnC,EAAa,CAACM,MAAO4C,EAASC,UAAU,cAAad,SAClDF,MAACiB,EAAW,CAAAC,KAAK,iBACblB,EAACO,IAAAY,EAA6B,CAAA,cAAA,mBAAmBD,KAAK,eANpD/B,EAYxB,QAaEa,EAAAO,IAACa,EACG,CAAAC,KAAMxB,EACN3B,KAAMA,EACNO,QAASA,EACTH,WAAYA,EACZC,QAASA,EACT+C,KAAMlC,aAM5B"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTable/index.tsx"],"sourcesContent":["import { styled, useTheme } from '@mui/material/styles';\n\nimport Table from '@mui/material/Table';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport GenericTableTitle from '../GenericTableTitle';\nimport HighlightScrollbar from './HighlightScrollbar';\nimport GenericTableBody, { type GenericTableColumns } from '../GenericTableBody';\nimport Card from '@mui/material/Card';\nimport InfoOutlinedIcon from '../../icons/InformationCircle';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\ntype GenericTableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n metadata: GenericTableColumns[];\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n showTitle?: boolean;\n subTitle?: string;\n title?: string;\n titleVariant?: 'default' | 'light';\n};\n\nconst StyledContainer = styled('div')`\n overflow-x: auto;\n &::-webkit-scrollbar {\n padding: 2px 0;\n height: 6px;\n border: 1px solid #d5d5d5;\n }\n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n &::-webkit-scrollbar-thumb {\n background: #f5f5f5;\n border-radius: 3px;\n }\n`;\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'isSticky' && prop !== 'titleVariant',\n})<{ isSticky: boolean; titleVariant: 'default' | 'light' }>(({ theme, isSticky, titleVariant }) => ({\n fontSize: 13,\n fontWeight: titleVariant === 'light' ? 400 : theme.typography.fontWeightMedium,\n color: titleVariant === 'light' ? 'rgba(0, 0, 0, 0.54)' : theme.palette.text.primary,\n padding: theme.spacing(1.25, 2),\n whiteSpace: 'nowrap',\n position: isSticky ? 'sticky' : 'relative',\n zIndex: isSticky ? 1 : 'auto',\n}));\n\nconst StyledPaper = styled(Card)`\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n svg: {\n fontSize: theme.typography.body1.fontSize,\n },\n}));\n\nconst GenericTable = ({ data, title, subTitle, showTitle = true, onRowClick, loading, metadata, titleVariant = 'default' }: GenericTableProps) => {\n const columns = new Set(\n metadata\n .filter((m) => m.isVisible)\n .sort((a, b) => a.ordinal - b.ordinal)\n .map((m) => m.columnName),\n );\n const tableMeta = metadata.reduce<{ [key: string]: GenericTableColumns }>((obj, mData) => {\n obj[mData.columnName] = mData;\n return obj;\n }, {});\n\n const theme = useTheme();\n const isMobile = !useMediaQuery(theme.breakpoints.up('sm'));\n\n // We never want sticky on mobile - only on desktop\n const firstColumnStylePosition = isMobile ? 'normal' : 'sticky';\n\n const renderTableHeader = () => (\n <TableHead>\n <TableRow>\n {Array.from(columns).map((prop, idx) => {\n const { columnName, columnTitle, align = 'left', tooltip } = tableMeta[prop];\n return (\n <StyledTableCell key={columnName} align={align} isSticky={idx === 0 && !isMobile} titleVariant={titleVariant}>\n <div>\n <span>{columnTitle}</span>\n {tooltip && (\n <StyledTooltip title={tooltip} placement=\"right-start\">\n <IconButton size=\"small\">\n <InfoOutlinedIcon data-testid=\"InfoOutlinedIcon\" size=\"sm\" />\n </IconButton>\n </StyledTooltip>\n )}\n </div>\n </StyledTableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n\n return (\n <StyledContainer>\n {showTitle && <GenericTableTitle title={title} subTitle={subTitle}></GenericTableTitle>}\n <StyledPaper>\n <HighlightScrollbar>\n <Table aria-label={title} data-testid={`generic-table` + (showTitle ? `-${title.replace(' ', '-').toLowerCase()}` : '')}>\n {renderTableHeader()}\n <GenericTableBody\n type={firstColumnStylePosition}\n data={data}\n columns={columns}\n onRowClick={onRowClick}\n loading={loading}\n meta={tableMeta}\n />\n </Table>\n </HighlightScrollbar>\n </StyledPaper>\n </StyledContainer>\n );\n};\n\nexport default GenericTable;\n"],"names":["StyledContainer","styled","StyledTableCell","TableCell","shouldForwardProp","prop","theme","isSticky","titleVariant","fontSize","fontWeight","typography","fontWeightMedium","color","palette","text","primary","padding","spacing","whiteSpace","position","zIndex","StyledPaper","Card","StyledTooltip","Tooltip","marginLeft","svg","body1","data","title","subTitle","showTitle","onRowClick","loading","metadata","columns","Set","filter","m","isVisible","sort","a","b","ordinal","map","columnName","tableMeta","reduce","obj","mData","useTheme","isMobile","useMediaQuery","breakpoints","up","firstColumnStylePosition","_jsxs","jsxs","_jsx","GenericTableTitle","children","HighlightScrollbar","Table","replace","toLowerCase","jsx","TableHead","TableRow","Array","from","idx","columnTitle","align","tooltip","placement","IconButton","size","InfoOutlinedIcon","GenericTableBody","type","meta"],"mappings":"ijBA4BA,MAAMA,EAAkBC,EAAAA,OAAO,MAAM;;;;;;;;;;;;;;EAgB/BC,EAAkBD,EAAMA,OAACE,EAAW,CACtCC,kBAAoBC,GAAkB,aAATA,GAAgC,iBAATA,GADhCJ,EAEqC,EAAGK,QAAOC,WAAUC,mBAAoB,CACjGC,SAAU,GACVC,WAA6B,UAAjBF,EAA2B,IAAMF,EAAMK,WAAWC,iBAC9DC,MAAwB,UAAjBL,EAA2B,sBAAwBF,EAAMQ,QAAQC,KAAKC,QAC7EC,QAASX,EAAMY,QAAQ,KAAM,GAC7BC,WAAY,SACZC,SAAUb,EAAW,SAAW,WAChCc,OAAQd,EAAW,EAAI,WAGrBe,EAAcrB,EAAAA,OAAOsB,EAAK;;EAI1BC,EAAgBvB,EAAAA,OAAOwB,EAAPxB,EAAgB,EAAGK,YAAa,CAClDoB,WAAYpB,EAAMY,QAAQ,IAC1BS,IAAK,CACDlB,SAAUH,EAAMK,WAAWiB,MAAMnB,6BAIpB,EAAGoB,OAAMC,QAAOC,WAAUC,aAAY,EAAMC,aAAYC,UAASC,WAAU3B,eAAe,cAC3G,MAAM4B,EAAU,IAAIC,IAChBF,EACKG,QAAQC,GAAMA,EAAEC,YAChBC,MAAK,CAACC,EAAGC,IAAMD,EAAEE,QAAUD,EAAEC,UAC7BC,KAAKN,GAAMA,EAAEO,cAEhBC,EAAYZ,EAASa,QAA+C,CAACC,EAAKC,KAC5ED,EAAIC,EAAMJ,YAAcI,EACjBD,IACR,IAEG3C,EAAQ6C,EAAAA,WACRC,GAAYC,EAAc/C,EAAMgD,YAAYC,GAAG,OAG/CC,EAA2BJ,EAAW,SAAW,SA0BvD,OACIK,EAACC,KAAA1D,aACIgC,GAAa2B,MAACC,EAAiB,CAAC9B,MAAOA,EAAOC,SAAUA,IACzD4B,EAAAA,IAACrC,EAAW,CAAAuC,SACRF,MAACG,EAAkB,CAAAD,SACfJ,EAAAA,KAACM,EAAK,CAAA,aAAajC,EAAoB,cAAA,iBAAmBE,EAAY,IAAIF,EAAMkC,QAAQ,IAAK,KAAKC,gBAAkB,IAC/GJ,SAAA,CA7BjBF,EAAAO,IAACC,EAAS,CAAAN,SACNF,EAAAA,IAACS,EACI,CAAAP,SAAAQ,MAAMC,KAAKlC,GAASS,KAAI,CAACxC,EAAMkE,KAC5B,MAAMzB,WAAEA,EAAU0B,YAAEA,EAAWC,MAAEA,EAAQ,OAAMC,QAAEA,GAAY3B,EAAU1C,GACvE,OACIsD,MAACzD,EAAe,CAAkBuE,MAAOA,EAAOlE,SAAkB,IAARgE,IAAcnB,EAAU5C,aAAcA,EAAYqD,SACxGJ,EAAAA,KACI,MAAA,CAAAI,SAAA,CAAAF,EAAAO,IAAA,OAAA,CAAAL,SAAOW,IACNE,GACGf,MAACnC,EAAa,CAACM,MAAO4C,EAASC,UAAU,cAAad,SAClDF,EAACO,IAAAU,EAAW,CAAAC,KAAK,iBACblB,EAAAA,IAACmB,EAA6B,CAAA,cAAA,mBAAmBD,KAAK,eANpD/B,EAWJ,QAclBa,EAAAA,IAACoB,EACG,CAAAC,KAAMxB,EACN3B,KAAMA,EACNO,QAASA,EACTH,WAAYA,EACZC,QAASA,EACT+C,KAAMlC,aAKR"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/GenericTable/index.tsx"],"sourcesContent":["import { styled, useTheme } from '@mui/material/styles';\n\nimport Table from '@mui/material/Table';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport GenericTableTitle from '../GenericTableTitle';\nimport HighlightScrollbar from './HighlightScrollbar';\nimport GenericTableBody, { type GenericTableColumns } from '../GenericTableBody';\nimport Card from '@mui/material/Card';\nimport InfoOutlinedIcon from '../../icons/InformationCircle';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\ntype GenericTableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n metadata: GenericTableColumns[];\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n showTitle?: boolean;\n subTitle?: string;\n title?: string;\n titleVariant?: 'default' | 'light';\n};\n\nconst StyledContainer = styled('div')`\n overflow-x: auto;\n &::-webkit-scrollbar {\n padding: 2px 0;\n height: 6px;\n border: 1px solid #d5d5d5;\n }\n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n &::-webkit-scrollbar-thumb {\n background: #f5f5f5;\n border-radius: 3px;\n }\n`;\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'isSticky' && prop !== 'titleVariant',\n})<{ isSticky: boolean; titleVariant: 'default' | 'light' }>(({ theme, isSticky, titleVariant }) => ({\n fontSize: 13,\n fontWeight: titleVariant === 'light' ? 400 : theme.typography.fontWeightMedium,\n color: titleVariant === 'light' ? 'rgba(0, 0, 0, 0.54)' : theme.palette.text.primary,\n padding: theme.spacing(1.25, 2),\n whiteSpace: 'nowrap',\n position: isSticky ? 'sticky' : 'relative',\n zIndex: isSticky ? 1 : 'auto',\n}));\n\nconst StyledPaper = styled(Card)`\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n svg: {\n fontSize: theme.typography.body1.fontSize,\n },\n}));\n\nconst GenericTable = ({ data, title, subTitle, showTitle = true, onRowClick, loading, metadata, titleVariant = 'default' }: GenericTableProps) => {\n const columns = new Set(\n metadata\n .filter((m) => m.isVisible)\n .sort((a, b) => a.ordinal - b.ordinal)\n .map((m) => m.columnName),\n );\n const tableMeta = metadata.reduce<{ [key: string]: GenericTableColumns }>((obj, mData) => {\n obj[mData.columnName] = mData;\n return obj;\n }, {});\n\n const theme = useTheme();\n const isMobile = !useMediaQuery(theme.breakpoints.up('sm'));\n\n // We never want sticky on mobile - only on desktop\n const firstColumnStylePosition = isMobile ? 'normal' : 'sticky';\n\n const renderTableHeader = () => (\n <TableHead>\n <TableRow>\n {Array.from(columns).map((prop, idx) => {\n const { columnName, columnTitle, align = 'left', tooltip } = tableMeta[prop];\n return (\n <StyledTableCell key={columnName} align={align} isSticky={idx === 0 && !isMobile} titleVariant={titleVariant}>\n <div>\n <span>{columnTitle}</span>\n {tooltip && (\n <StyledTooltip title={tooltip} placement=\"right-start\">\n <IconButton size=\"small\">\n <InfoOutlinedIcon data-testid=\"InfoOutlinedIcon\" size=\"sm\" />\n </IconButton>\n </StyledTooltip>\n )}\n </div>\n </StyledTableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n\n return (\n <StyledContainer>\n {showTitle && <GenericTableTitle title={title} subTitle={subTitle}></GenericTableTitle>}\n <StyledPaper>\n <HighlightScrollbar>\n <Table aria-label={title} data-testid={`generic-table` + (showTitle ? `-${title.replace(' ', '-').toLowerCase()}` : '')}>\n {renderTableHeader()}\n <GenericTableBody\n type={firstColumnStylePosition}\n data={data}\n columns={columns}\n onRowClick={onRowClick}\n loading={loading}\n meta={tableMeta}\n />\n </Table>\n </HighlightScrollbar>\n </StyledPaper>\n </StyledContainer>\n );\n};\n\nexport default GenericTable;\n"],"names":["StyledContainer","styled","StyledTableCell","TableCell","shouldForwardProp","prop","theme","isSticky","titleVariant","fontSize","fontWeight","typography","fontWeightMedium","color","palette","text","primary","padding","spacing","whiteSpace","position","zIndex","StyledPaper","Card","StyledTooltip","Tooltip","marginLeft","svg","body1","GenericTable","data","title","subTitle","showTitle","onRowClick","loading","metadata","columns","Set","filter","m","isVisible","sort","a","b","ordinal","map","columnName","tableMeta","reduce","obj","mData","useTheme","isMobile","useMediaQuery","breakpoints","up","firstColumnStylePosition","_jsxs","_jsx","GenericTableTitle","children","HighlightScrollbar","Table","replace","toLowerCase","TableHead","TableRow","Array","from","idx","columnTitle","align","tooltip","placement","IconButton","size","InfoOutlinedIcon","GenericTableBody","type","meta"],"mappings":"qlBA4BA,MAAMA,EAAkBC,EAAO,MAAM;;;;;;;;;;;;;;EAgB/BC,EAAkBD,EAAOE,EAAW,CACtCC,kBAAoBC,GAAkB,aAATA,GAAgC,iBAATA,GADhCJ,EAEqC,EAAGK,QAAOC,WAAUC,mBAAoB,CACjGC,SAAU,GACVC,WAA6B,UAAjBF,EAA2B,IAAMF,EAAMK,WAAWC,iBAC9DC,MAAwB,UAAjBL,EAA2B,sBAAwBF,EAAMQ,QAAQC,KAAKC,QAC7EC,QAASX,EAAMY,QAAQ,KAAM,GAC7BC,WAAY,SACZC,SAAUb,EAAW,SAAW,WAChCc,OAAQd,EAAW,EAAI,WAGrBe,EAAcrB,EAAOsB,EAAK;;EAI1BC,EAAgBvB,EAAOwB,EAAPxB,EAAgB,EAAGK,YAAa,CAClDoB,WAAYpB,EAAMY,QAAQ,IAC1BS,IAAK,CACDlB,SAAUH,EAAMK,WAAWiB,MAAMnB,cAInCoB,EAAe,EAAGC,OAAMC,QAAOC,WAAUC,aAAY,EAAMC,aAAYC,UAASC,WAAU5B,eAAe,cAC3G,MAAM6B,EAAU,IAAIC,IAChBF,EACKG,QAAQC,GAAMA,EAAEC,YAChBC,MAAK,CAACC,EAAGC,IAAMD,EAAEE,QAAUD,EAAEC,UAC7BC,KAAKN,GAAMA,EAAEO,cAEhBC,EAAYZ,EAASa,QAA+C,CAACC,EAAKC,KAC5ED,EAAIC,EAAMJ,YAAcI,EACjBD,IACR,CAAE,GAEC5C,EAAQ8C,IACRC,GAAYC,EAAchD,EAAMiD,YAAYC,GAAG,OAG/CC,EAA2BJ,EAAW,SAAW,SA0BvD,OACIK,EAAC1D,aACIiC,GAAa0B,EAACC,EAAiB,CAAC7B,MAAOA,EAAOC,SAAUA,IACzD2B,EAACrC,EAAW,CAAAuC,SACRF,EAACG,EAAkB,CAAAD,SACfH,EAACK,EAAK,CAAA,aAAahC,EAAoB,cAAA,iBAAmBE,EAAY,IAAIF,EAAMiC,QAAQ,IAAK,KAAKC,gBAAkB,IAC/GJ,SAAA,CA7BjBF,EAACO,EAAS,CAAAL,SACNF,EAACQ,EACI,CAAAN,SAAAO,MAAMC,KAAKhC,GAASS,KAAI,CAACzC,EAAMiE,KAC5B,MAAMvB,WAAEA,EAAUwB,YAAEA,EAAWC,MAAEA,EAAQ,OAAMC,QAAEA,GAAYzB,EAAU3C,GACvE,OACIsD,EAACzD,EAAe,CAAkBsE,MAAOA,EAAOjE,SAAkB,IAAR+D,IAAcjB,EAAU7C,aAAcA,EAAYqD,SACxGH,EACI,MAAA,CAAAG,SAAA,CAAAF,EAAA,OAAA,CAAAE,SAAOU,IACNE,GACGd,EAACnC,EAAa,CAACO,MAAO0C,EAASC,UAAU,cAAab,SAClDF,EAACgB,EAAW,CAAAC,KAAK,iBACbjB,EAACkB,EAA6B,CAAA,cAAA,mBAAmBD,KAAK,eANpD7B,EAYxB,QAaEY,EAACmB,EACG,CAAAC,KAAMtB,EACN3B,KAAMA,EACNO,QAASA,EACTH,WAAYA,EACZC,QAASA,EACT6C,KAAMhC,aAM5B"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/GenericTable/index.tsx"],"sourcesContent":["import { styled, useTheme } from '@mui/material/styles';\n\nimport Table from '@mui/material/Table';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport GenericTableTitle from '../GenericTableTitle';\nimport HighlightScrollbar from './HighlightScrollbar';\nimport GenericTableBody, { type GenericTableColumns } from '../GenericTableBody';\nimport Card from '@mui/material/Card';\nimport InfoOutlinedIcon from '../../icons/InformationCircle';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\ntype GenericTableProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n metadata: GenericTableColumns[];\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n showTitle?: boolean;\n subTitle?: string;\n title?: string;\n titleVariant?: 'default' | 'light';\n};\n\nconst StyledContainer = styled('div')`\n overflow-x: auto;\n &::-webkit-scrollbar {\n padding: 2px 0;\n height: 6px;\n border: 1px solid #d5d5d5;\n }\n &::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n &::-webkit-scrollbar-thumb {\n background: #f5f5f5;\n border-radius: 3px;\n }\n`;\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'isSticky' && prop !== 'titleVariant',\n})<{ isSticky: boolean; titleVariant: 'default' | 'light' }>(({ theme, isSticky, titleVariant }) => ({\n fontSize: 13,\n fontWeight: titleVariant === 'light' ? 400 : theme.typography.fontWeightMedium,\n color: titleVariant === 'light' ? 'rgba(0, 0, 0, 0.54)' : theme.palette.text.primary,\n padding: theme.spacing(1.25, 2),\n whiteSpace: 'nowrap',\n position: isSticky ? 'sticky' : 'relative',\n zIndex: isSticky ? 1 : 'auto',\n}));\n\nconst StyledPaper = styled(Card)`\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n marginLeft: theme.spacing(0.5),\n svg: {\n fontSize: theme.typography.body1.fontSize,\n },\n}));\n\nconst GenericTable = ({ data, title, subTitle, showTitle = true, onRowClick, loading, metadata, titleVariant = 'default' }: GenericTableProps) => {\n const columns = new Set(\n metadata\n .filter((m) => m.isVisible)\n .sort((a, b) => a.ordinal - b.ordinal)\n .map((m) => m.columnName),\n );\n const tableMeta = metadata.reduce<{ [key: string]: GenericTableColumns }>((obj, mData) => {\n obj[mData.columnName] = mData;\n return obj;\n }, {});\n\n const theme = useTheme();\n const isMobile = !useMediaQuery(theme.breakpoints.up('sm'));\n\n // We never want sticky on mobile - only on desktop\n const firstColumnStylePosition = isMobile ? 'normal' : 'sticky';\n\n const renderTableHeader = () => (\n <TableHead>\n <TableRow>\n {Array.from(columns).map((prop, idx) => {\n const { columnName, columnTitle, align = 'left', tooltip } = tableMeta[prop];\n return (\n <StyledTableCell key={columnName} align={align} isSticky={idx === 0 && !isMobile} titleVariant={titleVariant}>\n <div>\n <span>{columnTitle}</span>\n {tooltip && (\n <StyledTooltip title={tooltip} placement=\"right-start\">\n <IconButton size=\"small\">\n <InfoOutlinedIcon data-testid=\"InfoOutlinedIcon\" size=\"sm\" />\n </IconButton>\n </StyledTooltip>\n )}\n </div>\n </StyledTableCell>\n );\n })}\n </TableRow>\n </TableHead>\n );\n\n return (\n <StyledContainer>\n {showTitle && <GenericTableTitle title={title} subTitle={subTitle}></GenericTableTitle>}\n <StyledPaper>\n <HighlightScrollbar>\n <Table aria-label={title} data-testid={`generic-table` + (showTitle ? `-${title.replace(' ', '-').toLowerCase()}` : '')}>\n {renderTableHeader()}\n <GenericTableBody\n type={firstColumnStylePosition}\n data={data}\n columns={columns}\n onRowClick={onRowClick}\n loading={loading}\n meta={tableMeta}\n />\n </Table>\n </HighlightScrollbar>\n </StyledPaper>\n </StyledContainer>\n );\n};\n\nexport default GenericTable;\n"],"names":["StyledContainer","styled","StyledTableCell","TableCell","shouldForwardProp","prop","theme","isSticky","titleVariant","fontSize","fontWeight","typography","fontWeightMedium","color","palette","text","primary","padding","spacing","whiteSpace","position","zIndex","StyledPaper","Card","StyledTooltip","Tooltip","marginLeft","svg","body1","GenericTable","data","title","subTitle","showTitle","onRowClick","loading","metadata","columns","Set","filter","m","isVisible","sort","a","b","ordinal","map","columnName","tableMeta","reduce","obj","mData","useTheme","isMobile","useMediaQuery","breakpoints","up","firstColumnStylePosition","_jsxs","_jsx","GenericTableTitle","children","HighlightScrollbar","Table","replace","toLowerCase","TableHead","TableRow","Array","from","idx","columnTitle","align","tooltip","placement","IconButton","size","InfoOutlinedIcon","GenericTableBody","type","meta"],"mappings":"qlBA4BA,MAAMA,EAAkBC,EAAO,MAAM;;;;;;;;;;;;;;EAgB/BC,EAAkBD,EAAOE,EAAW,CACtCC,kBAAoBC,GAAkB,aAATA,GAAgC,iBAATA,GADhCJ,EAEqC,EAAGK,QAAOC,WAAUC,mBAAoB,CACjGC,SAAU,GACVC,WAA6B,UAAjBF,EAA2B,IAAMF,EAAMK,WAAWC,iBAC9DC,MAAwB,UAAjBL,EAA2B,sBAAwBF,EAAMQ,QAAQC,KAAKC,QAC7EC,QAASX,EAAMY,QAAQ,KAAM,GAC7BC,WAAY,SACZC,SAAUb,EAAW,SAAW,WAChCc,OAAQd,EAAW,EAAI,WAGrBe,EAAcrB,EAAOsB,EAAK;;EAI1BC,EAAgBvB,EAAOwB,EAAPxB,EAAgB,EAAGK,YAAa,CAClDoB,WAAYpB,EAAMY,QAAQ,IAC1BS,IAAK,CACDlB,SAAUH,EAAMK,WAAWiB,MAAMnB,cAInCoB,EAAe,EAAGC,OAAMC,QAAOC,WAAUC,aAAY,EAAMC,aAAYC,UAASC,WAAU5B,eAAe,cAC3G,MAAM6B,EAAU,IAAIC,IAChBF,EACKG,QAAQC,GAAMA,EAAEC,YAChBC,MAAK,CAACC,EAAGC,IAAMD,EAAEE,QAAUD,EAAEC,UAC7BC,KAAKN,GAAMA,EAAEO,cAEhBC,EAAYZ,EAASa,QAA+C,CAACC,EAAKC,KAC5ED,EAAIC,EAAMJ,YAAcI,EACjBD,IACR,IAEG5C,EAAQ8C,IACRC,GAAYC,EAAchD,EAAMiD,YAAYC,GAAG,OAG/CC,EAA2BJ,EAAW,SAAW,SA0BvD,OACIK,EAAC1D,aACIiC,GAAa0B,EAACC,EAAiB,CAAC7B,MAAOA,EAAOC,SAAUA,IACzD2B,EAACrC,EAAW,CAAAuC,SACRF,EAACG,EAAkB,CAAAD,SACfH,EAACK,EAAK,CAAA,aAAahC,EAAoB,cAAA,iBAAmBE,EAAY,IAAIF,EAAMiC,QAAQ,IAAK,KAAKC,gBAAkB,IAC/GJ,SAAA,CA7BjBF,EAACO,EAAS,CAAAL,SACNF,EAACQ,EACI,CAAAN,SAAAO,MAAMC,KAAKhC,GAASS,KAAI,CAACzC,EAAMiE,KAC5B,MAAMvB,WAAEA,EAAUwB,YAAEA,EAAWC,MAAEA,EAAQ,OAAMC,QAAEA,GAAYzB,EAAU3C,GACvE,OACIsD,EAACzD,EAAe,CAAkBsE,MAAOA,EAAOjE,SAAkB,IAAR+D,IAAcjB,EAAU7C,aAAcA,EAAYqD,SACxGH,EACI,MAAA,CAAAG,SAAA,CAAAF,EAAA,OAAA,CAAAE,SAAOU,IACNE,GACGd,EAACnC,EAAa,CAACO,MAAO0C,EAASC,UAAU,cAAab,SAClDF,EAACgB,EAAW,CAAAC,KAAK,iBACbjB,EAACkB,EAA6B,CAAA,cAAA,mBAAmBD,KAAK,eANpD7B,EAWJ,QAclBY,EAACmB,EACG,CAAAC,KAAMtB,EACN3B,KAAMA,EACNO,QAASA,EACTH,WAAYA,EACZC,QAASA,EACT6C,KAAMhC,aAKR"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport type GenericTableColumns = {\n columnName: string;\n columnTitle: string;\n columnType: 'String' | 'Custom';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n};\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'align' && prop !== 'titleCell' && prop !== 'warning' && prop !== 'sticky' && prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport type TableCellProps = {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'sticky' | 'normal';\n};\n\nconst RenderTableCell: React.FC<TableCellProps> = ({ colIdx, colName, hasWarning, hasTitle, meta, row, type }) => {\n const prop = row[colName];\n const align = meta[colName].align ?? 'left';\n const hideWhenEmpty = meta[colName].hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning,\n titleCell: hasTitle,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n isTitleRow: row.isTitleRow ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName].columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return <StyledTableCell {...tableCellProps}>{prop ? meta[colName].customComponent(prop, row) : fallbackValue}</StyledTableCell>;\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ntype TableBodyProps = {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'sticky' | 'normal';\n};\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n titleCell={false}\n warning={false}\n sticky={false}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n >\n <Skeleton width=\"90%\" height={22} />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow key={`row-${rowIdx}`} onRowClick={onRowClick} row={row} tableRowTestKey={rowIdx.toString()}>\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n row={row}\n type={type}\n meta={meta}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","jsx","customComponent","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","width","height","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"wSAsBA,MAAMA,EAAkBC,EAAMA,OAACC,EAAW,CACtCC,kBAAoBC,GAAkB,UAATA,GAA6B,cAATA,GAAiC,YAATA,GAA+B,WAATA,GAA8B,eAATA,GADhGH,EAGpB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACpDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAehCM,EAA4C,EAAGC,SAAQC,UAASC,aAAYC,WAAUC,OAAMC,MAAKC,WACnG,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,GAASX,OAAS,OAE/BiB,EADgBH,EAAKH,GAASO,gBAAiB,EACf,GAAK,IACrCC,EAAiB,CACnBnB,QACAE,QAASU,EACTX,UAAWY,EACXV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IACtBP,WAAYW,EAAIX,aAAc,GAKlC,GAAIgB,EAAMC,eAAetB,GACrB,OAAOuB,EAAAA,IAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAGjD,OAAQe,EAAKH,GAASa,YAClB,IAAK,SAIL,QACI,OAAOF,EAAAG,IAAC9B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAHzD,IAAK,SACD,OAAOK,EAAAA,IAAC3B,EAAe,IAAKwB,EAAcI,SAAGxB,EAAOe,EAAKH,GAASe,gBAAgB3B,EAAMgB,GAAOE,IAGtG,iBAc8C,EAAGU,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAGxFQ,MAACS,EAAY,CAAAR,SACRM,EACKG,MAAMC,KAAKD,MAJL,IAIyBE,KAAI,CAACC,EAAGC,IACnCd,EAAAA,IAACe,iBAA+C,aAAYd,SACvDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IAClCY,EAAAA,IAAC3B,EAAe,CAEZK,MAAO,OACPC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACK,cAAA,OAAOmC,IACpBlC,YAAY,EAEZmB,SAAAD,EAAAG,IAACc,EAAQ,CAACC,MAAM,MAAMC,OAAQ,MARzB,OAAOH,YAAqB5B,QAH9B,cAAc0B,OAgBjCR,GAAMM,KAAI,CAACnB,EAAK2B,IACZpB,EAAAA,IAACqB,GAA0Cb,WAAYA,EAAYf,IAAKA,EAAK6B,gBAAiBF,EAAOG,WAChGtB,SAAAS,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IAC/BY,EAAAA,IAACb,EAEG,CAAAC,OAAQA,EACRC,QAASA,EACTI,IAAKA,EACLC,KAAMA,EACNF,KAAMA,GALD,QAAQH,KAAWD,QAHV,OAAOgC"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport type GenericTableColumns = {\n columnName: string;\n columnTitle: string;\n columnType: 'String' | 'Custom';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n};\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'align' && prop !== 'titleCell' && prop !== 'warning' && prop !== 'sticky' && prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport type TableCellProps = {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'sticky' | 'normal';\n};\n\nconst RenderTableCell: React.FC<TableCellProps> = ({ colIdx, colName, hasWarning, hasTitle, meta, row, type }) => {\n const prop = row[colName];\n const align = meta[colName].align ?? 'left';\n const hideWhenEmpty = meta[colName].hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning,\n titleCell: hasTitle,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n isTitleRow: row.isTitleRow ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName].columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return <StyledTableCell {...tableCellProps}>{prop ? meta[colName].customComponent(prop, row) : fallbackValue}</StyledTableCell>;\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ntype TableBodyProps = {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'sticky' | 'normal';\n};\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n titleCell={false}\n warning={false}\n sticky={false}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n >\n <Skeleton width=\"90%\" height={22} />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow key={`row-${rowIdx}`} onRowClick={onRowClick} row={row} tableRowTestKey={rowIdx.toString()}>\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n row={row}\n type={type}\n meta={meta}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","jsx","customComponent","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","width","height","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"wSAsBA,MAAMA,EAAkBC,EAAMA,OAACC,EAAW,CACtCC,kBAAoBC,GAAkB,UAATA,GAA6B,cAATA,GAAiC,YAATA,GAA+B,WAATA,GAA8B,eAATA,GADhGH,EAGpB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACpDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAehCM,EAA4C,EAAGC,SAAQC,UAASC,aAAYC,WAAUC,OAAMC,MAAKC,WACnG,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,GAASX,OAAS,OAE/BiB,EADgBH,EAAKH,GAASO,gBAAiB,EACf,GAAK,IACrCC,EAAiB,CACnBnB,QACAE,QAASU,EACTX,UAAWY,EACXV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IACtBP,WAAYW,EAAIX,aAAc,GAKlC,GAAIgB,EAAMC,eAAetB,GACrB,OAAOuB,EAAAA,IAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAGjD,OAAQe,EAAKH,GAASa,YAClB,IAAK,SAIL,QACI,OAAOF,EAAAA,IAAC3B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAHzD,IAAK,SACD,OAAOK,EAAAG,IAAC9B,EAAe,IAAKwB,EAAcI,SAAGxB,EAAOe,EAAKH,GAASe,gBAAgB3B,EAAMgB,GAAOE,qBAiBxD,EAAGU,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAGxFQ,EAAAG,IAACM,EAAY,CAAAR,SACRM,EACKG,MAAMC,KAAKD,MAJL,IAIyBE,KAAI,CAACC,EAAGC,IACnCd,EAAAA,IAACe,iBAA+C,aAAYd,SACvDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IAClCY,EAAAA,IAAC3B,EAAe,CAEZK,MAAO,OACPC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACK,cAAA,OAAOmC,IACpBlC,YAAY,EAEZmB,SAAAD,EAAAG,IAACc,EAAQ,CAACC,MAAM,MAAMC,OAAQ,MARzB,OAAOH,YAAqB5B,QAH9B,cAAc0B,OAgBjCR,GAAMM,KAAI,CAACnB,EAAK2B,IACZpB,EAAAA,IAACqB,GAA0Cb,WAAYA,EAAYf,IAAKA,EAAK6B,gBAAiBF,EAAOG,WAChGtB,SAAAS,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IAC/BY,EAAAA,IAACb,EAEG,CAAAC,OAAQA,EACRC,QAASA,EACTI,IAAKA,EACLC,KAAMA,EACNF,KAAMA,GALD,QAAQH,KAAWD,QAHV,OAAOgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport type GenericTableColumns = {\n columnName: string;\n columnTitle: string;\n columnType: 'String' | 'Custom';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n};\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'align' && prop !== 'titleCell' && prop !== 'warning' && prop !== 'sticky' && prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport type TableCellProps = {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'sticky' | 'normal';\n};\n\nconst RenderTableCell: React.FC<TableCellProps> = ({ colIdx, colName, hasWarning, hasTitle, meta, row, type }) => {\n const prop = row[colName];\n const align = meta[colName].align ?? 'left';\n const hideWhenEmpty = meta[colName].hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning,\n titleCell: hasTitle,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n isTitleRow: row.isTitleRow ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName].columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return <StyledTableCell {...tableCellProps}>{prop ? meta[colName].customComponent(prop, row) : fallbackValue}</StyledTableCell>;\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ntype TableBodyProps = {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'sticky' | 'normal';\n};\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n titleCell={false}\n warning={false}\n sticky={false}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n >\n <Skeleton width=\"90%\" height={22} />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow key={`row-${rowIdx}`} onRowClick={onRowClick} row={row} tableRowTestKey={rowIdx.toString()}>\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n row={row}\n type={type}\n meta={meta}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","customComponent","GenericTableBody","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","width","height","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"oTAsBA,MAAMA,EAAkBC,EAAOC,EAAW,CACtCC,kBAAoBC,GAAkB,UAATA,GAA6B,cAATA,GAAiC,YAATA,GAA+B,WAATA,GAA8B,eAATA,GADhGH,EAGpB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACpDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAehCM,EAA4C,EAAGC,SAAQC,UAASC,aAAYC,WAAUC,OAAMC,MAAKC,WACnG,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,GAASX,OAAS,OAE/BiB,EADgBH,EAAKH,GAASO,gBAAiB,EACf,GAAK,IACrCC,EAAiB,CACnBnB,QACAE,QAASU,EACTX,UAAWY,EACXV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IACtBP,WAAYW,EAAIX,aAAc,GAKlC,GAAIgB,EAAMC,eAAetB,GACrB,OAAOuB,EAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAGjD,OAAQe,EAAKH,GAASa,YAClB,IAAK,SAIL,QACI,OAAOF,EAAC3B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAHzD,IAAK,SACD,OAAOK,EAAC3B,EAAe,IAAKwB,EAAcI,SAAGxB,EAAOe,EAAKH,GAASc,gBAAgB1B,EAAMgB,GAAOE,IAGtG,EAcCS,EAA6C,EAAGC,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAGxFQ,EAACS,EAAY,CAAAR,SACRM,EACKG,MAAMC,KAAKD,MAJL,IAIyBE,KAAI,CAACC,EAAGC,IACnCd,EAACe,iBAA+C,aAAYd,SACvDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IAClCY,EAAC3B,EAAe,CAEZK,MAAO,OACPC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACK,cAAA,OAAOmC,IACpBlC,YAAY,EAEZmB,SAAAD,EAACiB,EAAQ,CAACC,MAAM,MAAMC,OAAQ,MARzB,OAAOH,YAAqB5B,QAH9B,cAAc0B,OAgBjCR,GAAMM,KAAI,CAACnB,EAAK2B,IACZpB,EAACqB,GAA0Cb,WAAYA,EAAYf,IAAKA,EAAK6B,gBAAiBF,EAAOG,WAChGtB,SAAAS,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IAC/BY,EAACb,EAEG,CAAAC,OAAQA,EACRC,QAASA,EACTI,IAAKA,EACLC,KAAMA,EACNF,KAAMA,GALD,QAAQH,KAAWD,QAHV,OAAOgC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport type GenericTableColumns = {\n columnName: string;\n columnTitle: string;\n columnType: 'String' | 'Custom';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n};\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) => prop !== 'align' && prop !== 'titleCell' && prop !== 'warning' && prop !== 'sticky' && prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport type TableCellProps = {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'sticky' | 'normal';\n};\n\nconst RenderTableCell: React.FC<TableCellProps> = ({ colIdx, colName, hasWarning, hasTitle, meta, row, type }) => {\n const prop = row[colName];\n const align = meta[colName].align ?? 'left';\n const hideWhenEmpty = meta[colName].hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning,\n titleCell: hasTitle,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n isTitleRow: row.isTitleRow ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName].columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return <StyledTableCell {...tableCellProps}>{prop ? meta[colName].customComponent(prop, row) : fallbackValue}</StyledTableCell>;\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ntype TableBodyProps = {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'sticky' | 'normal';\n};\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n titleCell={false}\n warning={false}\n sticky={false}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n >\n <Skeleton width=\"90%\" height={22} />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow key={`row-${rowIdx}`} onRowClick={onRowClick} row={row} tableRowTestKey={rowIdx.toString()}>\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n row={row}\n type={type}\n meta={meta}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","customComponent","GenericTableBody","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","width","height","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"oTAsBA,MAAMA,EAAkBC,EAAOC,EAAW,CACtCC,kBAAoBC,GAAkB,UAATA,GAA6B,cAATA,GAAiC,YAATA,GAA+B,WAATA,GAA8B,eAATA,GADhGH,EAGpB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACpDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAehCM,EAA4C,EAAGC,SAAQC,UAASC,aAAYC,WAAUC,OAAMC,MAAKC,WACnG,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,GAASX,OAAS,OAE/BiB,EADgBH,EAAKH,GAASO,gBAAiB,EACf,GAAK,IACrCC,EAAiB,CACnBnB,QACAE,QAASU,EACTX,UAAWY,EACXV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IACtBP,WAAYW,EAAIX,aAAc,GAKlC,GAAIgB,EAAMC,eAAetB,GACrB,OAAOuB,EAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAGjD,OAAQe,EAAKH,GAASa,YAClB,IAAK,SAIL,QACI,OAAOF,EAAC3B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAHzD,IAAK,SACD,OAAOK,EAAC3B,EAAe,IAAKwB,EAAcI,SAAGxB,EAAOe,EAAKH,GAASc,gBAAgB1B,EAAMgB,GAAOE,MAiBrGS,EAA6C,EAAGC,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAGxFQ,EAACS,EAAY,CAAAR,SACRM,EACKG,MAAMC,KAAKD,MAJL,IAIyBE,KAAI,CAACC,EAAGC,IACnCd,EAACe,iBAA+C,aAAYd,SACvDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IAClCY,EAAC3B,EAAe,CAEZK,MAAO,OACPC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACK,cAAA,OAAOmC,IACpBlC,YAAY,EAEZmB,SAAAD,EAACiB,EAAQ,CAACC,MAAM,MAAMC,OAAQ,MARzB,OAAOH,YAAqB5B,QAH9B,cAAc0B,OAgBjCR,GAAMM,KAAI,CAACnB,EAAK2B,IACZpB,EAACqB,GAA0Cb,WAAYA,EAAYf,IAAKA,EAAK6B,gBAAiBF,EAAOG,WAChGtB,SAAAS,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IAC/BY,EAACb,EAEG,CAAAC,OAAQA,EACRC,QAASA,EACTI,IAAKA,EACLC,KAAMA,EACNF,KAAMA,GALD,QAAQH,KAAWD,QAHV,OAAOgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport TableRow from '@mui/material/TableRow';\nimport { styled } from '@mui/material/styles';\n\nexport type TableBodyRowProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n};\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.grey[100],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (e) => {\n e.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n onClick={onClick}\n hover={onClick !== undefined}\n data-testid={`row-clickable-${tableRowTestKey}`}\n isTitleRow={row.isTitleRow ?? false}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","grey","props","onRowClick","row","children","tableRowTestKey","onClick","e","preventDefault","_jsx","jsx","hover","undefined"],"mappings":"yGAaA,MAAMA,kCAAuBC,OAACC,EAAU,CACpCC,kBAAoBC,GAAkB,eAATA,GADVH,EAEK,EAAGI,QAAOC,gBAC7BA,EAIE,CACHC,gBAAiBF,EAAMG,QAAQC,KAAK,MAJ7B,oBAUmEC,IAC9E,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IACbA,EAAEC,iBACFN,IAAaC,EAAI,EAGrB,OAAID,EAEIO,EAAAC,IAACnB,EAAc,CACXe,QAASA,EACTK,WAAmBC,IAAZN,EAAqB,cACf,iBAAiBD,IAC9BR,WAAYM,EAAIN,aAAc,EAAKO,SAElCA,IAKNK,MAAChB,EAAsB,CAAA,cAAA,OAAOY,IAAiBD,SAAGA,GAAoB"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport TableRow from '@mui/material/TableRow';\nimport { styled } from '@mui/material/styles';\n\nexport type TableBodyRowProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n};\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.grey[100],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (e) => {\n e.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n onClick={onClick}\n hover={onClick !== undefined}\n data-testid={`row-clickable-${tableRowTestKey}`}\n isTitleRow={row.isTitleRow ?? false}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","grey","props","onRowClick","row","children","tableRowTestKey","onClick","e","preventDefault","_jsx","jsx","hover","undefined"],"mappings":"yGAaA,MAAMA,kCAAuBC,OAACC,EAAU,CACpCC,kBAAoBC,GAAkB,eAATA,GADVH,EAEK,EAAGI,QAAOC,gBAC7BA,EAIE,CACHC,gBAAiBF,EAAMG,QAAQC,KAAK,MAJ7B,CAAE,mBAUiEC,IAC9E,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IACbA,EAAEC,iBACFN,IAAaC,EAAI,EAGrB,OAAID,EAEIO,EAAAC,IAACnB,EAAc,CACXe,QAASA,EACTK,WAAmBC,IAAZN,EAAqB,cACf,iBAAiBD,IAC9BR,WAAYM,EAAIN,aAAc,EAAKO,SAElCA,IAKNK,EAAAC,IAACjB,EAAsB,CAAA,cAAA,OAAOY,IAAiBD,SAAGA,GAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport TableRow from '@mui/material/TableRow';\nimport { styled } from '@mui/material/styles';\n\nexport type TableBodyRowProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n};\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.grey[100],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (e) => {\n e.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n onClick={onClick}\n hover={onClick !== undefined}\n data-testid={`row-clickable-${tableRowTestKey}`}\n isTitleRow={row.isTitleRow ?? false}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","grey","GenericTableBodyRow","props","onRowClick","row","children","tableRowTestKey","onClick","e","preventDefault","_jsx","hover","undefined"],"mappings":"0IAaA,MAAMA,EAAiBC,EAAOC,EAAU,CACpCC,kBAAoBC,GAAkB,eAATA,GADVH,EAEK,EAAGI,QAAOC,gBAC7BA,EAIE,CACHC,gBAAiBF,EAAMG,QAAQC,KAAK,MAJ7B,KAUTC,EAA4EC,IAC9E,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IACbA,EAAEC,iBACFN,IAAaC,EAAI,EAGrB,OAAID,EAEIO,EAACnB,EAAc,CACXgB,QAASA,EACTI,WAAmBC,IAAZL,EAAqB,cACf,iBAAiBD,IAC9BT,WAAYO,EAAIP,aAAc,EAAKQ,SAElCA,IAKNK,EAACjB,EAAsB,CAAA,cAAA,OAAOa,IAAiBD,SAAGA,GAAoB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport TableRow from '@mui/material/TableRow';\nimport { styled } from '@mui/material/styles';\n\nexport type TableBodyRowProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n};\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.grey[100],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (e) => {\n e.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n onClick={onClick}\n hover={onClick !== undefined}\n data-testid={`row-clickable-${tableRowTestKey}`}\n isTitleRow={row.isTitleRow ?? false}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","grey","GenericTableBodyRow","props","onRowClick","row","children","tableRowTestKey","onClick","e","preventDefault","_jsx","hover","undefined"],"mappings":"0IAaA,MAAMA,EAAiBC,EAAOC,EAAU,CACpCC,kBAAoBC,GAAkB,eAATA,GADVH,EAEK,EAAGI,QAAOC,gBAC7BA,EAIE,CACHC,gBAAiBF,EAAMG,QAAQC,KAAK,MAJ7B,CAAE,IAUXC,EAA4EC,IAC9E,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IACbA,EAAEC,iBACFN,IAAaC,EAAI,EAGrB,OAAID,EAEIO,EAACnB,EAAc,CACXgB,QAASA,EACTI,WAAmBC,IAAZL,EAAqB,cACf,iBAAiBD,IAC9BT,WAAYO,EAAIP,aAAc,EAAKQ,SAElCA,IAKNK,EAACjB,EAAsB,CAAA,cAAA,OAAOa,IAAiBD,SAAGA,GAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableTitle/index.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\n\ntype OuterProps = {\n maxGridWidth?: boolean | 'auto' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n subTitle?: string;\n title?: string;\n children?: ReactNode;\n titlePadding?: 'small' | 'medium';\n};\n\nconst HeaderContainer = styled(Grid, {\n shouldForwardProp: (prop) => prop !== 'titlePadding',\n})<{ titlePadding: OuterProps['titlePadding'] }>(({ theme, titlePadding }) => {\n switch (titlePadding) {\n case 'small':\n return {\n padding: theme.spacing(3, 0, 1.5),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(3, 2, 1.5),\n },\n };\n case 'medium':\n return {\n padding: theme.spacing(4, 0, 2),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(4, 2, 2),\n },\n };\n default:\n return { padding: 0 };\n }\n});\n\nconst SubTitle = styled(Typography)({\n width: 191,\n height: 16,\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: 1.33,\n letterSpacing: 0.4,\n color: 'rgba(0, 0, 0, 0.38)',\n});\n\nconst GenericTableTitle = ({ maxGridWidth = 12, subTitle, title, children, titlePadding = 'medium' }: OuterProps) => {\n return (\n <HeaderContainer container titlePadding={titlePadding}>\n <Grid item xs={maxGridWidth} sm={maxGridWidth}>\n {title && <Typography variant=\"h5\">{title}</Typography>}\n {subTitle && (\n <div>\n <SubTitle variant=\"caption\">{subTitle}</SubTitle>\n </div>\n )}\n </Grid>\n\n {children}\n </HeaderContainer>\n );\n};\n\nexport default GenericTableTitle;\n"],"names":["HeaderContainer","styled","Grid","shouldForwardProp","prop","theme","titlePadding","padding","spacing","breakpoints","down","SubTitle","Typography","width","height","fontSize","fontWeight","lineHeight","letterSpacing","color","maxGridWidth","subTitle","title","children","_jsxs","jsxs","container","item","xs","sm","_jsx","jsx","variant"],"mappings":"6KAaA,MAAMA,EAAkBC,EAAMA,OAACC,EAAM,CACjCC,kBAAoBC,GAAkB,iBAATA,GADTH,EAEyB,EAAGI,QAAOC,mBACvD,OAAQA,GACJ,IAAK,QACD,MAAO,CACHC,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,OAGzC,IAAK,SACD,MAAO,CACHD,QAASF,EAAMG,QAAQ,EAAG,EAAG,GAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAGzC,QACI,MAAO,CAAED,QAAS,GACzB,IAGCI,EAAWV,EAAAA,OAAOW,EAAPX,CAAmB,CAChCY,MAAO,IACPC,OAAQ,GACRC,SAAU,GACVC,WAAY,SACZC,WAAY,KACZC,cAAe,GACfC,MAAO,uCAGe,EAAGC,eAAe,GAAIC,WAAUC,QAAOC,WAAUjB,eAAe,YAElFkB,EAACC,KAAAzB,EAAgB,CAAA0B,aAAUpB,aAAcA,EAAYiB,SAAA,CACjDC,EAAAA,KAACtB,GAAKyB,MAAI,EAACC,GAAIR,EAAcS,GAAIT,EAAYG,SAAA,CACxCD,GAASQ,EAACC,IAAAnB,GAAWoB,QAAQ,KAAIT,SAAED,IACnCD,GACGS,EACIC,IAAA,MAAA,CAAAR,SAAAO,EAAAA,IAACnB,EAAQ,CAACqB,QAAQ,UAAWT,SAAAF,SAKxCE"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableTitle/index.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\n\ntype OuterProps = {\n maxGridWidth?: boolean | 'auto' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n subTitle?: string;\n title?: string;\n children?: ReactNode;\n titlePadding?: 'small' | 'medium';\n};\n\nconst HeaderContainer = styled(Grid, {\n shouldForwardProp: (prop) => prop !== 'titlePadding',\n})<{ titlePadding: OuterProps['titlePadding'] }>(({ theme, titlePadding }) => {\n switch (titlePadding) {\n case 'small':\n return {\n padding: theme.spacing(3, 0, 1.5),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(3, 2, 1.5),\n },\n };\n case 'medium':\n return {\n padding: theme.spacing(4, 0, 2),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(4, 2, 2),\n },\n };\n default:\n return { padding: 0 };\n }\n});\n\nconst SubTitle = styled(Typography)({\n width: 191,\n height: 16,\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: 1.33,\n letterSpacing: 0.4,\n color: 'rgba(0, 0, 0, 0.38)',\n});\n\nconst GenericTableTitle = ({ maxGridWidth = 12, subTitle, title, children, titlePadding = 'medium' }: OuterProps) => {\n return (\n <HeaderContainer container titlePadding={titlePadding}>\n <Grid item xs={maxGridWidth} sm={maxGridWidth}>\n {title && <Typography variant=\"h5\">{title}</Typography>}\n {subTitle && (\n <div>\n <SubTitle variant=\"caption\">{subTitle}</SubTitle>\n </div>\n )}\n </Grid>\n\n {children}\n </HeaderContainer>\n );\n};\n\nexport default GenericTableTitle;\n"],"names":["HeaderContainer","styled","Grid","shouldForwardProp","prop","theme","titlePadding","padding","spacing","breakpoints","down","SubTitle","Typography","width","height","fontSize","fontWeight","lineHeight","letterSpacing","color","maxGridWidth","subTitle","title","children","_jsxs","jsxs","container","item","xs","sm","_jsx","variant"],"mappings":"6KAaA,MAAMA,EAAkBC,EAAMA,OAACC,EAAM,CACjCC,kBAAoBC,GAAkB,iBAATA,GADTH,EAEyB,EAAGI,QAAOC,mBACvD,OAAQA,GACJ,IAAK,QACD,MAAO,CACHC,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,OAGzC,IAAK,SACD,MAAO,CACHD,QAASF,EAAMG,QAAQ,EAAG,EAAG,GAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAGzC,QACI,MAAO,CAAED,QAAS,OAIxBI,EAAWV,EAAAA,OAAOW,EAAPX,CAAmB,CAChCY,MAAO,IACPC,OAAQ,GACRC,SAAU,GACVC,WAAY,SACZC,WAAY,KACZC,cAAe,GACfC,MAAO,uCAGe,EAAGC,eAAe,GAAIC,WAAUC,QAAOC,WAAUjB,eAAe,YAElFkB,EAACC,KAAAzB,EAAgB,CAAA0B,aAAUpB,aAAcA,EAAYiB,SAAA,CACjDC,OAACtB,GAAKyB,MAAI,EAACC,GAAIR,EAAcS,GAAIT,EAAYG,SAAA,CACxCD,GAASQ,EAAAA,IAAClB,GAAWmB,QAAQ,KAAIR,SAAED,IACnCD,GACGS,EAAAA,IACI,MAAA,CAAAP,SAAAO,MAACnB,EAAQ,CAACoB,QAAQ,UAAWR,SAAAF,SAKxCE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableTitle/index.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\n\ntype OuterProps = {\n maxGridWidth?: boolean | 'auto' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n subTitle?: string;\n title?: string;\n children?: ReactNode;\n titlePadding?: 'small' | 'medium';\n};\n\nconst HeaderContainer = styled(Grid, {\n shouldForwardProp: (prop) => prop !== 'titlePadding',\n})<{ titlePadding: OuterProps['titlePadding'] }>(({ theme, titlePadding }) => {\n switch (titlePadding) {\n case 'small':\n return {\n padding: theme.spacing(3, 0, 1.5),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(3, 2, 1.5),\n },\n };\n case 'medium':\n return {\n padding: theme.spacing(4, 0, 2),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(4, 2, 2),\n },\n };\n default:\n return { padding: 0 };\n }\n});\n\nconst SubTitle = styled(Typography)({\n width: 191,\n height: 16,\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: 1.33,\n letterSpacing: 0.4,\n color: 'rgba(0, 0, 0, 0.38)',\n});\n\nconst GenericTableTitle = ({ maxGridWidth = 12, subTitle, title, children, titlePadding = 'medium' }: OuterProps) => {\n return (\n <HeaderContainer container titlePadding={titlePadding}>\n <Grid item xs={maxGridWidth} sm={maxGridWidth}>\n {title && <Typography variant=\"h5\">{title}</Typography>}\n {subTitle && (\n <div>\n <SubTitle variant=\"caption\">{subTitle}</SubTitle>\n </div>\n )}\n </Grid>\n\n {children}\n </HeaderContainer>\n );\n};\n\nexport default GenericTableTitle;\n"],"names":["HeaderContainer","styled","Grid","shouldForwardProp","prop","theme","titlePadding","padding","spacing","breakpoints","down","SubTitle","Typography","width","height","fontSize","fontWeight","lineHeight","letterSpacing","color","GenericTableTitle","maxGridWidth","subTitle","title","children","_jsxs","container","item","xs","sm","_jsx","variant"],"mappings":"wLAaA,MAAMA,EAAkBC,EAAOC,EAAM,CACjCC,kBAAoBC,GAAkB,iBAATA,GADTH,EAEyB,EAAGI,QAAOC,mBACvD,OAAQA,GACJ,IAAK,QACD,MAAO,CACHC,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,OAGzC,IAAK,SACD,MAAO,CACHD,QAASF,EAAMG,QAAQ,EAAG,EAAG,GAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAGzC,QACI,MAAO,CAAED,QAAS,GACzB,IAGCI,EAAWV,EAAOW,EAAPX,CAAmB,CAChCY,MAAO,IACPC,OAAQ,GACRC,SAAU,GACVC,WAAY,SACZC,WAAY,KACZC,cAAe,GACfC,MAAO,wBAGLC,EAAoB,EAAGC,eAAe,GAAIC,WAAUC,QAAOC,WAAUlB,eAAe,YAElFmB,EAACzB,EAAgB,CAAA0B,aAAUpB,aAAcA,EAAYkB,SAAA,CACjDC,EAACvB,GAAKyB,MAAI,EAACC,GAAIP,EAAcQ,GAAIR,EAAYG,SAAA,CACxCD,GAASO,EAAClB,GAAWmB,QAAQ,KAAIP,SAAED,IACnCD,GACGQ,EACI,MAAA,CAAAN,SAAAM,EAACnB,EAAQ,CAACoB,QAAQ,UAAWP,SAAAF,SAKxCE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/GenericTableTitle/index.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\n\ntype OuterProps = {\n maxGridWidth?: boolean | 'auto' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n subTitle?: string;\n title?: string;\n children?: ReactNode;\n titlePadding?: 'small' | 'medium';\n};\n\nconst HeaderContainer = styled(Grid, {\n shouldForwardProp: (prop) => prop !== 'titlePadding',\n})<{ titlePadding: OuterProps['titlePadding'] }>(({ theme, titlePadding }) => {\n switch (titlePadding) {\n case 'small':\n return {\n padding: theme.spacing(3, 0, 1.5),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(3, 2, 1.5),\n },\n };\n case 'medium':\n return {\n padding: theme.spacing(4, 0, 2),\n [theme.breakpoints.down('md')]: {\n padding: theme.spacing(4, 2, 2),\n },\n };\n default:\n return { padding: 0 };\n }\n});\n\nconst SubTitle = styled(Typography)({\n width: 191,\n height: 16,\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: 1.33,\n letterSpacing: 0.4,\n color: 'rgba(0, 0, 0, 0.38)',\n});\n\nconst GenericTableTitle = ({ maxGridWidth = 12, subTitle, title, children, titlePadding = 'medium' }: OuterProps) => {\n return (\n <HeaderContainer container titlePadding={titlePadding}>\n <Grid item xs={maxGridWidth} sm={maxGridWidth}>\n {title && <Typography variant=\"h5\">{title}</Typography>}\n {subTitle && (\n <div>\n <SubTitle variant=\"caption\">{subTitle}</SubTitle>\n </div>\n )}\n </Grid>\n\n {children}\n </HeaderContainer>\n );\n};\n\nexport default GenericTableTitle;\n"],"names":["HeaderContainer","styled","Grid","shouldForwardProp","prop","theme","titlePadding","padding","spacing","breakpoints","down","SubTitle","Typography","width","height","fontSize","fontWeight","lineHeight","letterSpacing","color","GenericTableTitle","maxGridWidth","subTitle","title","children","_jsxs","container","item","xs","sm","_jsx","variant"],"mappings":"wLAaA,MAAMA,EAAkBC,EAAOC,EAAM,CACjCC,kBAAoBC,GAAkB,iBAATA,GADTH,EAEyB,EAAGI,QAAOC,mBACvD,OAAQA,GACJ,IAAK,QACD,MAAO,CACHC,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,OAGzC,IAAK,SACD,MAAO,CACHD,QAASF,EAAMG,QAAQ,EAAG,EAAG,GAC7B,CAACH,EAAMI,YAAYC,KAAK,OAAQ,CAC5BH,QAASF,EAAMG,QAAQ,EAAG,EAAG,KAGzC,QACI,MAAO,CAAED,QAAS,OAIxBI,EAAWV,EAAOW,EAAPX,CAAmB,CAChCY,MAAO,IACPC,OAAQ,GACRC,SAAU,GACVC,WAAY,SACZC,WAAY,KACZC,cAAe,GACfC,MAAO,wBAGLC,EAAoB,EAAGC,eAAe,GAAIC,WAAUC,QAAOC,WAAUlB,eAAe,YAElFmB,EAACzB,EAAgB,CAAA0B,aAAUpB,aAAcA,EAAYkB,SAAA,CACjDC,EAACvB,GAAKyB,MAAI,EAACC,GAAIP,EAAcQ,GAAIR,EAAYG,SAAA,CACxCD,GAASO,EAAClB,GAAWmB,QAAQ,KAAIP,SAAED,IACnCD,GACGQ,EACI,MAAA,CAAAN,SAAAM,EAACnB,EAAQ,CAACoB,QAAQ,UAAWP,SAAAF,SAKxCE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../src/components/ListItemLink/index.tsx"],"sourcesContent":["import MuiListItem, { type ListItemProps } from '@mui/material/ListItem';\nimport { type LinkProps, Link } from 'react-router-dom';\n\ntype ListItemLinkProps = ListItemProps & LinkProps & { fdKey: string } & { button?: boolean } & { children?: React.ReactNode };\n\nconst ListItem = MuiListItem as React.ComponentType<ListItemProps & LinkProps>;\n\nconst ListItemLink = ({ fdKey, ...rest }: ListItemLinkProps) => {\n // no Link for external URL\n return <ListItem {...rest} data-fd={fdKey} {...(rest.to ? { component: Link } : {})} />;\n};\n\nexport default ListItemLink;\n"],"names":["ListItem","MuiListItem","fdKey","rest","_jsx","to","component","Link"],"mappings":"kHAKA,MAAMA,EAAWC,iBAEI,EAAGC,WAAUC,KAEvBC,EAAAA,IAACJ,EAAQ,IAAKG,EAAI,UAAWD,KAAYC,EAAKE,GAAK,CAAEC,UAAWC,EAAAA,MAAS,CAAE"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/components/ListItemLink/index.tsx"],"sourcesContent":["import MuiListItem, { type ListItemProps } from '@mui/material/ListItem';\nimport { type LinkProps, Link } from 'react-router-dom';\n\ntype ListItemLinkProps = ListItemProps & LinkProps & { fdKey: string } & { button?: boolean } & { children?: React.ReactNode };\n\nconst ListItem = MuiListItem as React.ComponentType<ListItemProps & LinkProps>;\n\nconst ListItemLink = ({ fdKey, ...rest }: ListItemLinkProps) => {\n // no Link for external URL\n return <ListItem {...rest} data-fd={fdKey} {...(rest.to ? { component: Link } : {})} />;\n};\n\nexport default ListItemLink;\n"],"names":["ListItem","MuiListItem","fdKey","rest","_jsx","jsx","to","component","Link"],"mappings":"kHAKA,MAAMA,EAAWC,iBAEI,EAAGC,WAAUC,KAEvBC,EAAAC,IAACL,EAAQ,IAAKG,EAAI,UAAWD,KAAYC,EAAKG,GAAK,CAAEC,UAAWC,EAAIA,MAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/ListItemLink/index.tsx"],"sourcesContent":["import MuiListItem, { type ListItemProps } from '@mui/material/ListItem';\nimport { type LinkProps, Link } from 'react-router-dom';\n\ntype ListItemLinkProps = ListItemProps & LinkProps & { fdKey: string } & { button?: boolean } & { children?: React.ReactNode };\n\nconst ListItem = MuiListItem as React.ComponentType<ListItemProps & LinkProps>;\n\nconst ListItemLink = ({ fdKey, ...rest }: ListItemLinkProps) => {\n // no Link for external URL\n return <ListItem {...rest} data-fd={fdKey} {...(rest.to ? { component: Link } : {})} />;\n};\n\nexport default ListItemLink;\n"],"names":["ListItem","MuiListItem","ListItemLink","fdKey","rest","_jsx","to","component","Link"],"mappings":"sHAKA,MAAMA,EAAWC,EAEXC,EAAe,EAAGC,WAAUC,KAEvBC,EAACL,EAAQ,IAAKI,EAAI,UAAWD,KAAYC,EAAKE,GAAK,CAAEC,UAAWC,GAAS,CAAE"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/ListItemLink/index.tsx"],"sourcesContent":["import MuiListItem, { type ListItemProps } from '@mui/material/ListItem';\nimport { type LinkProps, Link } from 'react-router-dom';\n\ntype ListItemLinkProps = ListItemProps & LinkProps & { fdKey: string } & { button?: boolean } & { children?: React.ReactNode };\n\nconst ListItem = MuiListItem as React.ComponentType<ListItemProps & LinkProps>;\n\nconst ListItemLink = ({ fdKey, ...rest }: ListItemLinkProps) => {\n // no Link for external URL\n return <ListItem {...rest} data-fd={fdKey} {...(rest.to ? { component: Link } : {})} />;\n};\n\nexport default ListItemLink;\n"],"names":["ListItem","MuiListItem","ListItemLink","fdKey","rest","_jsx","to","component","Link"],"mappings":"sHAKA,MAAMA,EAAWC,EAEXC,EAAe,EAAGC,WAAUC,KAEvBC,EAACL,EAAQ,IAAKI,EAAI,UAAWD,KAAYC,EAAKE,GAAK,CAAEC,UAAWC,GAAS,CAAA"}